/* Feuille de style de l'annuaire — portée limitée à .msp-fiche.
   Tout est en px : le theme declare html{font-size:10px}, donc les rem
   y valent 10px et rapetissent toute la fiche. */
:root{--ground:#FFFFFF;--alt:#F4F7F7;--ink:#14201F;--muted:#5A6A6C;--line:#DCE4E4;--line-2:#B7C5C5;--accent:#0F5257;--accent-soft:#E4F0F0;--warn:#8A5A00;--warn-soft:#FBF1DC;--ok:#256B4A;--ok-soft:#E3F1E9;--f-head:Georgia,"Times New Roman",serif;--f-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--f-data:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
@media (prefers-color-scheme:dark){:root{--ground:#0F1616;--alt:#161F1F;--ink:#E6EDEC;--muted:#98A8A8;--line:#243030;--line-2:#334141;--accent:#6FBFC4;--accent-soft:#132A2C;--warn:#DDAE5C;--warn-soft:#2C2314;--ok:#69C093;--ok-soft:#122C1F}}
.msp-fiche *{box-sizing:border-box}
.msp-fiche{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.msp-fiche .wrap{max-width:840px;margin:0 auto;padding:0 20px}
.msp-fiche a{color:var(--accent);text-underline-offset:2px}
.msp-fiche .top{background:var(--alt);border-bottom:1px solid var(--line);padding:10px 0;font-size:12.8px;color:var(--muted)}
.msp-fiche .top nav ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.msp-fiche .top nav li::after{content:"›";margin-left:6px;color:var(--line-2)}
.msp-fiche .top nav li:last-child::after{content:""}
.msp-fiche header.hd{padding:32px 0 24px;border-bottom:2px solid var(--line-2)}
.msp-fiche h1{font-family:var(--f-head);font-size:clamp(25.6px,4.4vw,35.2px);line-height:1.2;margin:0 0 10px;font-weight:700}
.msp-fiche .sub{color:var(--muted);font-size:16px;margin:0 0 14px}
.msp-fiche .stamp{display:inline-block;font-family:var(--f-data);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ok);background:var(--ok-soft);padding:5px 11px;border-radius:2px}
.msp-fiche .key{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--line-2);margin:22px 0 4px}
.msp-fiche .key div{padding:13px 15px;border-right:1px solid var(--line)}
.msp-fiche .key div:last-child{border-right:0}
.msp-fiche .key .k{font-size:11.2px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}
.msp-fiche .key .v{font-family:var(--f-data);font-size:15.2px;font-weight:600}
.msp-fiche h2{font-family:var(--f-head);font-size:22.1px;margin:40px 0 4px;padding-top:22px;border-top:1px solid var(--line);font-weight:700}
.msp-fiche h3{font-size:16px;margin:24px 0 8px;font-weight:600;color:var(--accent)}
.msp-fiche p{margin:0 0 12px}
.msp-fiche table.data{width:100%;border-collapse:collapse;margin:10px 0 6px;font-size:15px}
.msp-fiche table.data th, .msp-fiche table.data td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.msp-fiche table.data th{width:32%;font-weight:600;color:var(--muted);font-size:13.6px}
.msp-fiche table.data td{font-family:var(--f-data);font-size:14.4px}
.msp-fiche table.data td.txt{font-family:var(--f-body);font-size:15px}
.msp-fiche table.data tr:last-child th, .msp-fiche table.data tr:last-child td{border-bottom:0}
.msp-fiche .gap{color:var(--warn);background:var(--warn-soft);padding:1px 7px;border-radius:2px;font-size:13.1px;font-family:var(--f-body)}
.msp-fiche .badge{display:inline-block;font-family:var(--f-data);font-size:10.6px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);padding:1px 6px;border-radius:2px;margin-left:6px;white-space:nowrap}
.msp-fiche .diverge{background:var(--warn-soft);border-left:3px solid var(--warn);padding:18px 20px;margin:16px 0}
.msp-fiche .diverge p:last-child{margin-bottom:0}
.msp-fiche .diverge h3{margin-top:0;color:var(--warn)}
.msp-fiche ul.srcs{list-style:none;margin:10px 0;padding:0}
.msp-fiche ul.srcs li{padding:7px 0;border-bottom:1px dotted var(--line-2);font-size:14.4px}
.msp-fiche ul.srcs li:last-child{border-bottom:0}
.msp-fiche ul.srcs .a{font-family:var(--f-data);font-size:14.1px}
.msp-fiche ul.srcs .s{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.msp-fiche .note{font-size:13.8px;color:var(--muted);border-left:2px solid var(--line-2);padding-left:12px;margin:14px 0}
.msp-fiche .pros{border:1px solid var(--line);margin:12px 0}
.msp-fiche .pro{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:baseline}
.msp-fiche .pro:last-child{border-bottom:0}
.msp-fiche .pro .n{font-weight:600;font-size:15.5px}
.msp-fiche .pro .r{color:var(--muted);font-size:13.6px;grid-column:1}
.msp-fiche .pro .t{font-family:var(--f-data);font-size:13.8px;color:var(--accent);white-space:nowrap;text-align:right}
.msp-fiche .cta{background:var(--accent-soft);border:1px solid var(--accent);padding:24px;margin:28px 0}
.msp-fiche .cta h2{margin-top:0;border-top:0;padding-top:0;font-size:19.5px}
.msp-fiche .field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.msp-fiche .field label{font-size:13.6px;font-weight:600}
.msp-fiche .field input, .msp-fiche .field select, .msp-fiche .field textarea{font:inherit;font-size:15.2px;padding:9px 11px;border:1px solid var(--line-2);border-radius:2px;background:var(--ground);color:var(--ink);width:100%}
.msp-fiche .field textarea{min-height:90px;resize:vertical}
.msp-fiche .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.msp-fiche button{font:inherit;font-weight:600;padding:11px 22px;border:0;border-radius:2px;background:var(--accent);color:#fff;cursor:pointer}
.msp-fiche .legal{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.msp-fiche footer{margin-top:48px;border-top:1px solid var(--line);padding:22px 0 40px;font-size:13.1px;color:var(--muted)}
.msp-fiche footer h2{font-size:16.8px;border-top:0;padding-top:0;margin-top:0}
.msp-fiche footer ol{padding-left:18px}
.msp-fiche footer li{margin-bottom:6px}
@media (max-width:560px){.msp-fiche{font-size:16px}
.msp-fiche table.data th{width:42%;font-size:12.8px}
.msp-fiche .row2{grid-template-columns:1fr}
.msp-fiche .pro{grid-template-columns:1fr}
.msp-fiche .pro .t{text-align:left}
.msp-fiche .key div{border-right:0;border-bottom:1px solid var(--line)}}

/* ------------------------------------------------------------------
   Reprise de la main sur le thème.
   Le thème impose sa police, sa couleur de titre et sa largeur de
   conteneur ; ces règles-ci sont volontairement prioritaires et
   limitées à la fiche, elles ne touchent à rien d'autre du site.
   ------------------------------------------------------------------ */
.msp-fiche{
  font-family:var(--f-body) !important;
  font-size:17px !important;
  line-height:1.6 !important;
  color:var(--ink) !important;
  background:var(--ground) !important;
  max-width:none !important;
}
.msp-fiche .wrap{max-width:840px !important;margin:0 auto !important;padding:0 20px !important;float:none !important;width:auto !important}
.msp-fiche h1,
.msp-fiche h2,
.msp-fiche footer h2{font-family:var(--f-head) !important;color:var(--ink) !important;text-transform:none !important;letter-spacing:normal !important}
.msp-fiche h1{font-size:clamp(25.6px,4.4vw,35.2px) !important;line-height:1.2 !important;margin:0 0 10px !important;font-weight:700 !important}
.msp-fiche h2{font-size:22.1px !important;margin:40px 0 4px !important;padding:22px 0 0 !important;border-top:1px solid var(--line) !important;border-bottom:0 !important;font-weight:700 !important}
.msp-fiche h3{font-family:var(--f-body) !important;font-size:16px !important;color:var(--accent) !important;margin:24px 0 8px !important;padding:0 !important;border:0 !important;font-weight:600 !important;text-transform:none !important}
.msp-fiche p{margin:0 0 12px !important;font-size:inherit !important;line-height:inherit !important}
.msp-fiche a{color:var(--accent) !important;text-decoration:underline !important;box-shadow:none !important}
.msp-fiche table.data{width:100% !important;border-collapse:collapse !important;margin:10px 0 6px !important;display:table !important}
.msp-fiche table.data th,
.msp-fiche table.data td{background:transparent !important;border:0 !important;border-bottom:1px solid var(--line) !important;padding:9px 12px !important;text-align:left !important}
.msp-fiche table.data tr:last-child th,
.msp-fiche table.data tr:last-child td{border-bottom:0 !important}
.msp-fiche ul,.msp-fiche ol{margin:10px 0 !important}
.msp-fiche ul.srcs{list-style:none !important;padding:0 !important}
.msp-fiche button{background:var(--accent) !important;color:#fff !important;border:0 !important;border-radius:2px !important;font:inherit !important;font-weight:600 !important;padding:11px 22px !important;text-transform:none !important}
.msp-fiche .cta h2{border-top:0 !important;padding-top:0 !important;margin-top:0 !important;font-size:19.5px !important}
.msp-fiche footer h2{border-top:0 !important;padding-top:0 !important;margin-top:0 !important;font-size:16.8px !important}
.msp-fiche .top nav ol{list-style:none !important;display:flex !important;flex-wrap:wrap !important;gap:6px !important;margin:0 !important;padding:0 !important}

/* ------------------------------------------------------------------
   Lisibilite des tableaux et du bandeau de chiffres.
   Les valeurs etaient composees en chasse fixe a 14.4px, ce qui parait
   nettement plus petit que le corps de texte a 17px : on remonte les
   tailles et on aere les cellules.
   ------------------------------------------------------------------ */
.msp-fiche table.data{font-size:16px !important}
.msp-fiche table.data th{font-family:var(--f-body) !important;font-size:15.5px !important;color:var(--muted) !important;width:30% !important;padding:13px 14px !important;line-height:1.5 !important}
.msp-fiche table.data td{font-size:16.3px !important;padding:13px 14px !important;line-height:1.55 !important}
.msp-fiche table.data td.txt{font-size:16.3px !important}
.msp-fiche .key div{padding:16px 18px !important}
.msp-fiche .key .k{font-size:11.8px !important}
.msp-fiche .key .v{font-size:17.9px !important;line-height:1.35 !important}
.msp-fiche .gap{font-size:14.7px !important}
.msp-fiche .badge{font-size:11.5px !important}
.msp-fiche .note{font-size:15px !important}
.msp-fiche ul.srcs li{font-size:16px !important;padding:9px 0 !important}
.msp-fiche ul.srcs .a{font-size:15.7px !important}
.msp-fiche ul.srcs .s{font-size:13.8px !important}
.msp-fiche .pro .n{font-size:16.6px !important}
.msp-fiche .pro .r{font-size:14.7px !important}
.msp-fiche .pro .t{font-size:15.2px !important}
@media (max-width:560px){
.msp-fiche table.data tr{display:block !important;border-bottom:1px solid var(--line) !important}
.msp-fiche table.data tr:last-child{border-bottom:0 !important}
.msp-fiche table.data th{display:block !important;width:auto !important;padding:12px 0 2px !important;font-size:14.4px !important;border-bottom:0 !important}
.msp-fiche table.data td{display:block !important;padding:0 0 12px !important;border-bottom:0 !important}
}

/* ------------------------------------------------------------------
   Debordement de la liste des praticiens.
   grid-template-columns:1fr auto donne a la premiere colonne un minimum
   egal a son contenu insecable : le badge de sources, long et en
   white-space:nowrap, poussait la colonne du telephone hors du cadre.
   ------------------------------------------------------------------ */
.msp-fiche .pro{grid-template-columns:minmax(0,1fr) auto !important}
.msp-fiche .pro > *{min-width:0}
.msp-fiche .badge{white-space:normal !important;overflow-wrap:anywhere;line-height:1.55}
.msp-fiche .pro .badge{margin-left:0;margin-top:5px}
.msp-fiche .key{grid-template-columns:repeat(auto-fit,minmax(185px,1fr)) !important}

/* ------------------------------------------------------------------
   Sommaire de l'annuaire : la grille des departements.
   ------------------------------------------------------------------ */
.msp-fiche ul.deps{list-style:none !important;margin:26px 0 8px !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(auto-fill,minmax(235px,1fr)) !important;gap:0 28px !important}
.msp-fiche ul.deps li{display:flex !important;justify-content:space-between !important;align-items:baseline !important;gap:10px !important;padding:10px 0 !important;border-bottom:1px solid var(--line) !important;margin:0 !important}
.msp-fiche ul.deps a{text-decoration:none !important;border-bottom:1px solid transparent}
.msp-fiche ul.deps a:hover{border-bottom-color:var(--accent) !important}
.msp-fiche ul.deps .n{font-family:var(--f-data) !important;font-size:13px !important;color:var(--muted) !important}

/* =====================================================================
   digital-sante.fr — habillage du site
   Reprend la charte des fiches de l'annuaire et l'etend a l'ensemble
   des pages. Tout est en pixels : le theme declare html{font-size:10px},
   donc les rem y valent 10px et rapetissent tout.
   Le theme etant charge avant, les proprietes qu'il impose sont reprises
   explicitement.
   ===================================================================== */

:root{
  --ground:#FFFFFF; --alt:#F4F7F7; --ink:#14201F; --muted:#5A6A6C;
  --line:#DCE4E4; --line-2:#B7C5C5; --accent:#0F5257; --accent-soft:#E4F0F0;
  --warn:#8A5A00; --warn-soft:#FBF1DC; --ok:#256B4A; --ok-soft:#E3F1E9;
  --f-head:Georgia,"Times New Roman",serif;
  --f-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --f-data:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* --- fond et texte courant ------------------------------------------ */
body{
  background:var(--ground) !important;
  color:var(--ink) !important;
  font-family:var(--f-body) !important;
  font-size:17px !important;
  line-height:1.6 !important;
  -webkit-font-smoothing:antialiased;
}
#page.site{background:var(--ground) !important}

/* --- titres ---------------------------------------------------------- */
h1,h2,h3,h4,h5,h6,
.entry-title,.penci-entry-title,.page-title,.archive-title{
  font-family:var(--f-head) !important;
  color:var(--ink) !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  font-weight:700 !important;
}

/* --- liens ----------------------------------------------------------- */
a{color:var(--accent) !important}
a:hover{color:var(--accent) !important}

/* =====================================================================
   1. Elements de demonstration du theme
   ===================================================================== */
.penci-topbar,                  /* barre « TRENDING NOW » + reseaux      */
.header__banner,                /* banniere publicitaire 728x90          */
.header__social-media,
.sidebar-nav-social,
.footer__social-media,
.penci-instagram,               /* widget Instagram de demonstration     */
.penci-topbar__right{
  display:none !important;
}

/* =====================================================================
   2. En-tete
   ===================================================================== */
.site-header-wrapper{
  background:var(--ground) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:none !important;
}
.header__top,.header--s2,
header#masthead.site-header{
  background:var(--ground) !important;
  border:0 !important;
  box-shadow:none !important;
}
.header-top__container,
.header-content__container,
.penci-container,
.penci-container-fluid{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
  float:none !important;
}
.header__top{padding:22px 0 14px !important}

/* Le logo livre avec le theme porte encore le nom de la demonstration :
   on le masque et on compose un nom en toutes lettres, dans la police
   des titres. A remplacer par une vraie image quand elle existera. */
.site-branding h2{margin:0 !important;line-height:1 !important}
.site-branding img.custom-logo{
  max-height:52px !important;
  width:auto !important;
  height:auto !important;
  display:inline-block !important;
}
@media (max-width:782px){.site-branding img.custom-logo{max-height:40px !important}}

/* --- menu principal --------------------------------------------------- */
#site-navigation .menu > li > a,
.main-navigation .menu > li > a{
  font-family:var(--f-body) !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:var(--ink) !important;
  padding:16px 14px !important;
}
#site-navigation .menu > li > a:hover,
#site-navigation .menu > li.current-menu-item > a,
#site-navigation .menu > li.current-menu-parent > a{color:var(--accent) !important}
#site-navigation .menu > li > a::before,
#site-navigation .menu > li > a::after{display:none !important}
#site-navigation .sub-menu{
  background:var(--ground) !important;
  border:1px solid var(--line) !important;
  box-shadow:0 6px 20px rgba(20,32,31,.08) !important;
}
#site-navigation .sub-menu a{
  font-size:14px !important;text-transform:none !important;
  letter-spacing:normal !important;color:var(--ink) !important;
}
.header__search,#top-search a,.header__social-search i{color:var(--ink) !important}
#top-search .penci-search-form,.header__search-popup{background:var(--ground) !important}

/* =====================================================================
   3. Colonne de contenu
   ===================================================================== */
#content.site-content{padding-top:34px !important}
.penci-container__content{max-width:1180px !important;margin:0 auto !important}
/* Les articles et les pages occupent toute la largeur du conteneur.
   Les fiches de l'annuaire gardent leur colonne de lecture de 840 px,
   fixee separement par .msp-fiche .wrap. */
.single .penci-wide-content,
.page .penci-wide-content,
.single .penci-content-post,
.page .penci-content-post{max-width:1180px !important;margin-left:auto !important;margin-right:auto !important;float:none !important;width:auto !important}
.single-post .entry-content,.single-post .penci-entry-content,
.page .entry-content,.page .penci-entry-content{max-width:none !important}
/* Le panneau de devis n'est pas pose dans la colonne de lecture d'une
   fiche : sur une page passee en pleine largeur, on lui rend la largeur
   pour laquelle il est dessine. */
.page .msp-fiche > .cta{max-width:840px;margin-left:auto;margin-right:auto}

/* Champ piege du formulaire d'enrichissement : hors de l'ecran pour
   l'humain, visible et rempli par les robots. */
.msp-piege{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important}

/* Les sources sont une bibliographie : leurs liens sont soulignes, la
   couleur seule ne suffisant pas a signaler un lien (RGAA 3.1). */
.single-post .entry-content li a[target="_blank"],
.single-post .penci-entry-content li a[target="_blank"]{text-decoration:underline !important;text-underline-offset:2px}

/* --- fil d'ariane ------------------------------------------------------ */
.penci_breadcrumbs{
  font-size:13px !important;color:var(--muted) !important;
  border-bottom:1px solid var(--line) !important;
  padding-bottom:12px !important;margin-bottom:26px !important;
  text-transform:none !important;letter-spacing:normal !important;
}
.penci_breadcrumbs a{color:var(--muted) !important}
.penci_breadcrumbs a:hover{color:var(--accent) !important}

/* --- titre et chapo ----------------------------------------------------- */
.single .entry-title,.single .penci-entry-title,
.page .entry-title,.page .penci-entry-title{
  font-size:34px !important;line-height:1.2 !important;
  margin:0 0 14px !important;
}
.penci-entry-meta,.entry-meta,.penci-post-meta{
  font-size:13px !important;color:var(--muted) !important;
  text-transform:none !important;letter-spacing:normal !important;
}
.penci-entry-meta a,.entry-meta a{color:var(--muted) !important}

/* --- corps de l'article ------------------------------------------------- */
.entry-content,.penci-entry-content,.post-entry{
  font-size:17px !important;line-height:1.65 !important;color:var(--ink) !important;
}
.entry-content p,.penci-entry-content p{margin:0 0 16px !important;font-size:17px !important;line-height:1.65 !important}
.entry-content h2,.penci-entry-content h2{
  font-size:25px !important;margin:44px 0 6px !important;
  padding:24px 0 0 !important;border-top:1px solid var(--line) !important;
  border-bottom:0 !important;
}
.entry-content h3,.penci-entry-content h3{
  font-family:var(--f-body) !important;font-size:17px !important;
  color:var(--accent) !important;margin:28px 0 8px !important;
  padding:0 !important;border:0 !important;font-weight:600 !important;
}
.entry-content h4,.penci-entry-content h4{
  font-family:var(--f-body) !important;font-size:16px !important;
  color:var(--muted) !important;font-weight:600 !important;margin:22px 0 6px !important;
}
.entry-content ul,.entry-content ol,
.penci-entry-content ul,.penci-entry-content ol{margin:12px 0 18px !important;padding-left:22px !important}
.entry-content li,.penci-entry-content li{margin:0 0 7px !important;line-height:1.6 !important}
.entry-content blockquote,.penci-entry-content blockquote{
  border-left:3px solid var(--accent) !important;background:var(--alt) !important;
  padding:16px 20px !important;margin:22px 0 !important;font-style:normal !important;
  font-size:16px !important;color:var(--ink) !important;
}
.entry-content blockquote p{margin:0 !important}
.entry-content blockquote::before,.entry-content blockquote::after{display:none !important}
.entry-content img,.penci-entry-content img{border-radius:2px}
.entry-content strong{color:var(--ink) !important}

/* Le chapeau « En bref » place en tete de chaque article. */
.en-bref{
  background:var(--accent-soft) !important;
  border-left:3px solid var(--accent) !important;
  padding:16px 20px !important;margin:0 0 26px !important;
  font-size:16px !important;line-height:1.6 !important;
}
.en-bref strong:first-child{
  display:block;font-family:var(--f-data);font-size:11.5px;
  letter-spacing:.07em;text-transform:uppercase;color:var(--accent);
  margin-bottom:5px;font-weight:600;
}
.en-bref p:last-child{margin-bottom:0 !important}

/* --- tableaux ----------------------------------------------------------- */
.entry-content table,.penci-entry-content table{
  width:100% !important;border-collapse:collapse !important;
  margin:18px 0 !important;font-size:16px !important;border:0 !important;
}
.entry-content table th,.entry-content table td,
.penci-entry-content table th,.penci-entry-content table td{
  border:0 !important;border-bottom:1px solid var(--line) !important;
  padding:11px 12px !important;text-align:left !important;background:transparent !important;
}
.entry-content table th,.penci-entry-content table th{
  font-weight:600 !important;color:var(--muted) !important;font-size:15px !important;
}

/* =====================================================================
   4. Listes d'articles et pages d'archive
   ===================================================================== */
.penci-archive__list_posts article,
.penci-post-item,.penci-grid li{border-bottom:1px solid var(--line) !important}
.penci-archive .page-title,.archive-title,.penci-archive__title{
  font-size:30px !important;margin-bottom:8px !important;
}
.penci-post-title a,.entry-title a{color:var(--ink) !important}
.penci-post-title a:hover,.entry-title a:hover{color:var(--accent) !important}
.penci-cat-name,.penci-cat-links a,.cat-links a{
  background:var(--accent-soft) !important;color:var(--accent) !important;
  font-family:var(--f-body) !important;font-size:11.5px !important;
  letter-spacing:.05em !important;text-transform:uppercase !important;
  padding:3px 8px !important;border-radius:2px !important;font-weight:600 !important;
}

/* =====================================================================
   5. Colonne laterale et pied de page
   ===================================================================== */
.widget-title,.penci-widget-title,.footer-widget .widget-title{
  font-family:var(--f-body) !important;font-size:12.5px !important;
  font-weight:600 !important;letter-spacing:.08em !important;
  text-transform:uppercase !important;color:var(--muted) !important;
  border:0 !important;border-bottom:1px solid var(--line) !important;
  background:none !important;padding:0 0 9px !important;margin:0 0 14px !important;
}
.widget-title span,.penci-widget-title span{background:none !important;padding:0 !important;border:0 !important}
.widget{font-size:15px !important}
.widget a{color:var(--ink) !important}
.widget a:hover{color:var(--accent) !important}

#colophon.site-footer{
  background:var(--alt) !important;color:var(--muted) !important;
  border-top:1px solid var(--line) !important;margin-top:56px !important;
}
#colophon a{color:var(--muted) !important}
#colophon a:hover{color:var(--accent) !important}
.footer__sidebars{padding:38px 0 8px !important}
.footer__bottom,.footer__copyright_menu{border-top:1px solid var(--line) !important}
.site-info{font-size:12.5px !important;color:var(--muted) !important}
.footer__logo img{display:none !important}

/* =====================================================================
   6. Boutons, formulaires, recherche
   ===================================================================== */
button,input[type="submit"],input[type="button"],
.penci-btn,.wpcf7-submit,.more-link{
  background:var(--accent) !important;color:#fff !important;border:0 !important;
  border-radius:2px !important;font-family:var(--f-body) !important;
  font-size:15px !important;font-weight:600 !important;
  padding:12px 24px !important;text-transform:none !important;letter-spacing:normal !important;
}
button:hover,input[type="submit"]:hover,.wpcf7-submit:hover{opacity:.9 !important}
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],
input[type="search"],select,textarea{
  font-family:var(--f-body) !important;font-size:16px !important;
  border:1px solid var(--line-2) !important;border-radius:2px !important;
  padding:10px 12px !important;background:var(--ground) !important;color:var(--ink) !important;
}
input:focus,select:focus,textarea:focus{border-color:var(--accent) !important;outline:none !important}
.wpcf7-form label{font-size:14px !important;font-weight:600 !important;color:var(--ink) !important}
.wpcf7-list-item{margin:0 18px 6px 0 !important}
#scroll-to-top{background:var(--accent) !important;border-radius:2px !important}

/* =====================================================================
   7. Petits ecrans
   ===================================================================== */
@media (max-width:782px){
  body{font-size:16px !important}
  .single .entry-title,.page .entry-title{font-size:27px !important}
  .entry-content h2,.penci-entry-content h2{font-size:21px !important;margin-top:34px !important}
  .header-top__container,.header-content__container,.penci-container,.penci-container-fluid{padding-left:16px !important;padding-right:16px !important}
  .site-branding .custom-logo-link::after{font-size:23px}
}

/* --- Rattrapage : le theme peignait l'entree de menu active en aplat.
   Transpose en sarcelle, l'aplat masquait le libelle. On garde le
   soulignement et la couleur du texte, sans fond. --- */
body #site-navigation .menu > li > a,
body #site-navigation .menu > li:hover > a,
body #site-navigation .menu > li.current-menu-item > a,
body #site-navigation .menu > li.current-menu-parent > a,
body #site-navigation .menu > li.current_page_item > a,
body #site-navigation .menu > li.current-menu-ancestor > a,
body .main-navigation .menu > li > a,
body .main-navigation .menu > li:hover > a{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
}
body #site-navigation .menu > li:hover > a,
body #site-navigation .menu > li.current-menu-item > a,
body #site-navigation .menu > li.current-menu-parent > a,
body #site-navigation .menu > li.current_page_item > a,
body #site-navigation .menu > li.current-menu-ancestor > a{
  color:var(--accent) !important;
  box-shadow:inset 0 -2px 0 var(--accent) !important;
}
body #site-navigation .sub-menu li > a{
  background:transparent !important;background-color:transparent !important;
  box-shadow:none !important;
}
body #site-navigation .sub-menu li:hover > a,
body #site-navigation .sub-menu li.current-menu-item > a{
  background-color:var(--accent-soft) !important;color:var(--accent) !important;
}
/* Le bouton de recherche, lui, reste un aplat plein. */
body a.search-click{background-color:var(--accent) !important;color:#fff !important;box-shadow:none !important}
body a.search-click:hover{background-color:var(--ink) !important}

/* =====================================================================
   Page d'accueil
   ===================================================================== */
.home .penci-wide-content,
.home .penci-content-post{max-width:1180px !important}
.home .penci_breadcrumbs,
.home .entry-title,.home .penci-entry-title{display:none !important}

.ds-hero{display:grid;grid-template-columns:1fr 372px;gap:52px;align-items:start;padding:8px 0 46px;border-bottom:1px solid var(--line)}
.ds-eyebrow{display:inline-block;font-family:var(--f-data);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:6px 12px;border-radius:2px;margin-bottom:20px}
.ds-hero h1{font-size:44px !important;line-height:1.12 !important;margin:0 0 18px !important;display:block !important}
.ds-hero p.ds-chapo{font-size:18.5px !important;line-height:1.62 !important;color:var(--ink) !important;margin:0 0 26px !important}
.ds-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ds-bouton{display:inline-block;background:var(--accent) !important;color:#fff !important;text-decoration:none !important;font-weight:600;font-size:16px;padding:13px 26px;border-radius:2px}
.ds-bouton:hover{background:var(--ink) !important;color:#fff !important}
.ds-lien{display:inline-block;color:var(--accent) !important;text-decoration:none !important;font-weight:600;font-size:16px;padding:13px 4px;border-bottom:1px solid var(--line-2)}
.ds-lien:hover{border-bottom-color:var(--accent) !important}

.ds-carte{border:1px solid var(--line-2);padding:24px 24px 20px}
.ds-carte h2{font-size:19px !important;margin:0 0 6px !important;padding:0 !important;border:0 !important}
.ds-carte p{font-size:15px !important;color:var(--muted) !important;margin:0 0 4px !important}
.ds-carte .key{grid-template-columns:1fr 1fr !important;border:0 !important;margin:14px 0 6px !important}
.ds-carte .key div{border-right:0 !important;border-bottom:1px solid var(--line) !important;padding:12px 0 !important}
.ds-carte .key div:nth-child(odd){padding-right:14px !important}
.ds-carte .key div:nth-last-child(-n+2){border-bottom:0 !important}
.ds-note{font-size:13px !important;color:var(--muted) !important;line-height:1.5 !important;margin-top:10px !important}

.ds-section{padding:46px 0;border-bottom:1px solid var(--line)}
.ds-section > h2{font-size:27px !important;margin:0 0 6px !important;padding:0 !important;border:0 !important}
.ds-section > p.ds-intro{font-size:17px !important;color:var(--muted) !important;margin:0 0 28px !important;max-width:720px}

.ds-trois{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.ds-trois h3{font-family:var(--f-head) !important;font-size:19px !important;color:var(--ink) !important;margin:0 0 8px !important;font-weight:700 !important}
.ds-trois p{font-size:16px !important;color:var(--muted) !important;margin:0 !important;line-height:1.6 !important}

.ds-branches{display:grid;grid-template-columns:repeat(3,1fr);gap:0 34px}
.ds-branches a{display:block;text-decoration:none !important;padding:20px 0;border-top:1px solid var(--line)}
.ds-branches a:hover .ds-b-titre{color:var(--accent)}
.ds-b-titre{display:block;font-family:var(--f-head);font-size:18px;font-weight:700;color:var(--ink);margin-bottom:5px}
.ds-b-texte{display:block;font-size:15px;color:var(--muted);line-height:1.55}
.ds-b-n{display:inline-block;font-family:var(--f-data);font-size:12px;color:var(--muted);margin-top:7px}

.ds-metiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:0 28px}
.ds-metiers a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none !important;color:var(--ink) !important;font-size:16px}
.ds-metiers a:hover{color:var(--accent) !important}

.ds-final{background:var(--alt);border:1px solid var(--line);padding:36px 40px;margin:46px 0 8px}
.ds-final h2{font-size:25px !important;margin:0 0 10px !important;padding:0 !important;border:0 !important}
.ds-final p{font-size:17px !important;margin:0 0 20px !important;max-width:680px}

@media (max-width:980px){
  .ds-hero{grid-template-columns:1fr;gap:34px}
  .ds-trois,.ds-branches{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .ds-hero h1{font-size:31px !important}
  .ds-trois,.ds-branches{grid-template-columns:1fr}
  .ds-final{padding:26px 22px}
}

/* WordPress insere un <br> entre deux balises separees par un saut de
   ligne. Dans une grille, ces retours occupent une cellule et decalent
   toute la composition. */
.ds-branches > br,.ds-metiers > br,.ds-actions > br,.ds-trois > br,
.ds-hero > br,.ds-carte > br,.ds-final > br,.ds-section > br{display:none !important}
.ds-branches > p:empty,.ds-metiers > p:empty,.ds-section > p:empty{display:none !important}

/* La page d'accueil se passe de colonne laterale : les blocs de widgets
   du theme y font doublon avec les sections editoriales. */
.home aside.widget-area{display:none !important}
.home .penci-wide-content{width:100% !important;max-width:1180px !important;float:none !important;margin:0 auto !important}

/* Formulaire de devis : il reutilise le panneau des fiches. Restent les
   groupes de cases a cocher, absents des fiches. */
.msp-fiche .field label{text-transform:none !important;letter-spacing:normal !important}
.msp-fiche .cta .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:7px 22px;margin-top:5px}
.msp-fiche .cta .wpcf7-list-item{margin:0 !important}
.msp-fiche .cta .wpcf7-list-item label{display:flex;align-items:flex-start;gap:8px;font-weight:400 !important;font-size:15px !important;text-transform:none !important;line-height:1.45}
.msp-fiche .cta .accord .wpcf7-list-item label{font-size:14px !important;color:var(--muted) !important}
.msp-fiche .cta input[type="submit"],.msp-fiche .cta .wpcf7-submit{margin-top:8px}
.msp-fiche .cta .wpcf7-not-valid-tip{font-size:13px !important;color:var(--warn) !important}
.msp-fiche .cta .wpcf7-response-output{border:1px solid var(--line-2) !important;font-size:15px !important;padding:12px 14px !important;margin:16px 0 0 !important;border-radius:2px}
.msp-fiche .cta p{margin:0 0 14px !important}

.msp-fiche .cta .field input[type="text"],.msp-fiche .cta .field input[type="email"],
.msp-fiche .cta .field input[type="tel"],.msp-fiche .cta .field select,
.msp-fiche .cta .field textarea,.msp-fiche .cta .wpcf7-form-control-wrap{width:100% !important;max-width:none !important;display:block}
.msp-fiche .cta .field textarea{min-height:120px !important;height:120px !important;resize:vertical}
.msp-fiche .cta .accord{margin-top:4px}

/* Le theme impose une hauteur fixe aux boutons, qui rogne la descendante. */
.msp-fiche .cta input[type="submit"],.msp-fiche .cta .wpcf7-submit,
.ds-bouton,button,input[type="submit"]{height:auto !important;line-height:1.3 !important}
.msp-fiche .cta .wpcf7-spinner{margin:0 0 0 12px}
