/*
Theme Name: CheProxi
Theme URI: https://cheproxi.fr
Author: CheProxi
Description: Thème de l'annuaire CheProxi – Cherche Professionnels à Proximité (Vaucluse, Drôme, Gard, Ardèche).
Version: 2.3.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cheproxi
*/

:root{
  --navy:#0b2a6f; --blue:#1d4ed8; --orange:#f26a1b; --orange-d:#d9560c;
  --green:#2e9e3e; --red:#e03131; --bg:#f4f7fc; --card:#fff; --text:#1c2541;
  --muted:#5b6785; --line:#e1e7f2; --radius:14px; --shadow:0 6px 20px rgba(11,42,111,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Nunito","Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
a{color:var(--blue);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.cp-wrap{max-width:1200px;margin:0 auto;padding:0 16px}

/* ---------- En-tête ---------- */
.cp-header{background:#fff;box-shadow:0 2px 10px rgba(11,42,111,.08);position:sticky;top:0;z-index:50}
.cp-header .cp-wrap{display:flex;align-items:center;gap:18px;min-height:72px}
.cp-logo{display:flex;flex-direction:column;line-height:1}
.cp-logo-txt{font-weight:900;font-style:italic;font-size:32px;letter-spacing:-1px}
.cp-logo-txt .che{color:var(--navy)} .cp-logo-txt .proxi{color:var(--orange)}
.cp-logo small{font-size:11px;color:var(--navy);font-weight:700;margin-top:3px}
.cp-nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.cp-nav a{color:var(--navy);font-weight:700;font-size:14px;padding:8px 10px;border-radius:8px}
.cp-nav a:hover{background:var(--bg)}
.cp-btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font-weight:800;font-family:inherit;
  border-radius:10px;padding:11px 18px;font-size:15px;transition:transform .1s,background .2s}
.cp-btn:active{transform:translateY(1px)}
.cp-btn-orange{background:var(--orange);color:#fff}
.cp-btn-orange:hover{background:var(--orange-d);color:#fff}
.cp-header .cp-btn{margin-left:8px}
.cp-burger,.cp-icons{display:none}

/* ---------- Bandeau d'accueil ---------- */
.cp-hero{position:relative;overflow:hidden;
  background:linear-gradient(180deg,#e9f2ff 0%,#fff6ec 100%)}
.cp-hero::before{content:"";position:absolute;inset:auto 0 0 0;height:55%;
  background:
   radial-gradient(ellipse 60% 70% at 15% 100%,rgba(140,102,200,.35),transparent 70%),
   radial-gradient(ellipse 70% 60% at 50% 100%,rgba(70,140,80,.35),transparent 70%),
   radial-gradient(ellipse 60% 50% at 85% 100%,rgba(242,106,27,.25),transparent 70%)}
.cp-hero .cp-wrap{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;padding-top:40px;padding-bottom:70px}
.cp-hero h1{margin:0;font-size:46px;line-height:1.05;font-weight:900;color:var(--navy)}
.cp-hero h1 span{color:var(--orange);display:block}
.cp-hero p.lead{font-size:18px;font-weight:700;color:var(--navy);margin:14px 0 18px}
.cp-badges{display:flex;flex-wrap:wrap;gap:14px}
.cp-badges span{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px;color:var(--navy)}
.cp-badges i{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:12px}
.cp-map{max-width:420px;margin-left:auto;width:100%}
.cp-map a path{cursor:pointer;transition:filter .2s,transform .2s}
.cp-map a:hover path{filter:brightness(1.15)}
.cp-map text{pointer-events:none;font-weight:900;fill:#fff;font-family:inherit}

/* ---------- Recherche ---------- */
.cp-search{position:relative;margin-top:-42px;z-index:5}
.cp-search form{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:12px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr .6fr auto;gap:10px}
.cp-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff}
.cp-field input,.cp-field select{border:0;outline:0;font:inherit;font-size:15px;padding:12px 0;width:100%;background:transparent;color:var(--text)}
.cp-field svg{flex:none;color:var(--muted)}

/* ---------- Départements ---------- */
.cp-depts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.cp-depts strong{color:var(--navy);font-size:14px}
.cp-dept{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800;border-radius:10px;padding:8px 16px;font-size:14px}
.cp-dept b{background:rgba(255,255,255,.25);border-radius:20px;padding:1px 8px;font-size:12px}
.cp-dept:hover{filter:brightness(1.08);color:#fff}
.d84{background:var(--orange)} .d26{background:var(--blue)} .d30{background:var(--green)} .d07{background:var(--red)}

/* ---------- Métiers ---------- */
.cp-section-title{font-size:22px;font-weight:900;color:var(--navy);margin:26px 0 14px}
.cp-metiers{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cp-metier{background:var(--card);border-radius:12px;box-shadow:0 3px 10px rgba(11,42,111,.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.cp-metier:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cp-metier .pic{height:96px;display:flex;align-items:center;justify-content:center;font-size:46px;background-size:cover;background-position:center}
.cp-metier .name{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;font-weight:800;font-size:14px;color:var(--navy)}
.cp-metier .go{width:20px;height:20px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}

/* ---------- Avantages ---------- */
.cp-avantages{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 40px}
.cp-avantage{background:#fff;border-radius:var(--radius);box-shadow:0 3px 10px rgba(11,42,111,.06);padding:18px;display:flex;gap:14px;align-items:center}
.cp-avantage .ico{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;color:#fff}
.cp-avantage h3{margin:0;font-size:16px;color:var(--blue);font-weight:900}
.cp-avantage p{margin:2px 0 0;font-size:14px;color:var(--muted)}

/* ---------- Nom ---------- */
.cp-nom{background:var(--navy);color:#fff;border-radius:var(--radius);padding:20px 24px;margin-bottom:40px;text-align:center}
.cp-nom strong{color:var(--orange)}

/* ---------- Pages / résultats ---------- */
.cp-page{padding:30px 0 50px}
.cp-page h1{color:var(--navy)}
.cp-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cp-card{background:#fff;border-radius:var(--radius);box-shadow:0 3px 10px rgba(11,42,111,.08);padding:16px}
.cp-card h2{font-size:18px;margin:0 0 6px;color:var(--navy)}
.cp-tag{display:inline-block;background:var(--bg);color:var(--blue);font-weight:800;font-size:12px;border-radius:20px;padding:3px 10px;margin-right:6px}
.cp-empty{background:#fff;border-radius:var(--radius);padding:30px;text-align:center;color:var(--muted)}

/* ---------- Pied de page ---------- */
.cp-footer{background:var(--navy);color:#cfd8ee;padding:24px 0;font-size:14px;text-align:center}
.cp-footer a{color:#fff}
.cp-bottom{display:none}

/* ---------- Téléphone ---------- */
@media (max-width:900px){
  .cp-nav,.cp-header .cp-btn{display:none}
  .cp-header .cp-wrap{justify-content:space-between;min-height:60px}
  .cp-burger,.cp-icons{display:flex;gap:14px;background:none;border:0;color:var(--navy);cursor:pointer;padding:0}
  .cp-logo{align-items:center}
  .cp-logo-txt{font-size:26px}
  .cp-hero .cp-wrap{grid-template-columns:1fr;text-align:center;padding-top:22px;padding-bottom:60px}
  .cp-hero h1{font-size:30px}
  .cp-hero p.lead{font-size:15px}
  .cp-badges{justify-content:center;gap:8px 12px}
  .cp-map{margin:0 auto;max-width:280px}
  .cp-search form{grid-template-columns:1fr}
  .cp-depts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  .cp-depts strong{grid-column:1/-1}
  .cp-dept{flex-direction:column;gap:0;padding:6px 4px;font-size:11px;text-align:center}
  .cp-dept b{background:none;padding:0;font-size:13px}
  .cp-metiers{grid-template-columns:repeat(3,1fr);gap:8px}
  .cp-metier .pic{height:64px;font-size:32px}
  .cp-metier .name{font-size:11px;padding:6px}
  .cp-metier .go{width:16px;height:16px;font-size:10px}
  .cp-avantages{grid-template-columns:1fr}
  body{padding-bottom:70px}
  .cp-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;box-shadow:0 -2px 12px rgba(11,42,111,.12);z-index:60;justify-content:space-around;align-items:flex-end;padding:6px 0 8px}
  .cp-bottom a{display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:700;color:var(--muted);gap:2px}
  .cp-bottom a.on{color:var(--blue)}
  .cp-bottom .plus{width:46px;height:46px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;margin-top:-22px;box-shadow:0 4px 12px rgba(242,106,27,.4)}
  .cp-bottom a.pro{color:var(--navy)}
  .cp-menu-open .cp-nav{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:#fff;padding:10px 16px;box-shadow:var(--shadow);align-items:stretch}
}

/* ===== v1.1.0 : images de la maquette ===== */
:root{--purple:#7a1fd1;--pink:#e3123f}
.admin-bar .cp-header{top:32px}
@media (max-width:782px){.admin-bar .cp-header{top:46px}}
.cp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cp-logo img{height:58px;width:auto}
.cp-hero{background:none}
.cp-hero::before{display:none}
.cp-hero .cp-wrap{display:block;padding:14px 16px 0}
.cp-hero-img{position:relative;border-radius:18px;overflow:hidden}
.cp-hero-img img{width:100%}
.cp-hero-mob{display:none}
.cp-zone{position:absolute;border-radius:40%;transition:background .2s}
.cp-zone:hover{background:rgba(255,255,255,.18)}
.cp-search{margin-top:-28px}
.d07{background:var(--purple)} .d13{background:var(--pink)}
.cp-dept{font-size:16px;padding:9px 18px}
.cp-dept b{background:none;padding:0;font-size:16px}
.cp-metiers{margin-top:18px}
.cp-metier .pic{height:105px;background-size:cover;background-position:center}
.cp-metier .name{font-size:16px;padding:10px}
.cp-metier .go{width:22px;height:22px;font-size:12px}
.cp-avantage .ico{width:64px;height:64px;object-fit:contain;flex:none}
.cp-avantage h3{font-size:18px;color:var(--navy)}
@media (max-width:900px){
  .cp-logo img{height:40px}
  .cp-hero .cp-wrap{padding:10px 12px 0}
  .cp-hero-pc{display:none}
  .cp-hero-mob{display:block;max-width:520px;margin:0 auto}
  .cp-search{margin-top:-14px}
  .cp-depts{grid-template-columns:repeat(5,1fr)}
  .cp-dept{padding:6px 2px;font-size:10px;line-height:1.15}
  .cp-dept b{font-size:15px}
  .cp-metiers{grid-template-columns:repeat(4,1fr);gap:6px}
  .cp-metier .pic{height:58px}
  .cp-metier .name{font-size:10.5px;padding:5px}
  .cp-metier .go{width:14px;height:14px;font-size:8px}
  .cp-avantage .ico{width:48px;height:48px}
}

/* ===== v1.2.0 : métiers en ronds défilants ===== */
.cp-cats{position:relative;margin:4px 0 10px}
.cp-cats-track{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  padding:22px 40px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cp-cats-track::-webkit-scrollbar{display:none}
.cp-cat{flex:0 0 130px;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;
  text-align:center;transition:transform .25s}
.cp-cat .ring{display:block;width:118px;height:118px;border-radius:50%;padding:4px;background:var(--c,var(--blue));
  box-shadow:0 6px 16px rgba(11,42,111,.18);transition:transform .25s,box-shadow .25s}
.cp-cat .ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff;border:3px solid #fff}
.cp-cat .name{font-weight:900;font-size:15px;color:var(--navy);line-height:1.15}
.cp-cat.mid .ring{transform:scale(1.22);box-shadow:0 10px 26px rgba(11,42,111,.28)}
.cp-cat.mid .name{transform:translateY(12px);color:var(--orange)}
.cp-cat:hover .ring{transform:scale(1.08)}
.cp-cat.mid:hover .ring{transform:scale(1.26)}
.cp-cats-arrow{position:absolute;top:58px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
  background:#fff;color:var(--navy);font-size:30px;line-height:40px;font-weight:900;box-shadow:0 4px 14px rgba(11,42,111,.2)}
.cp-cats-arrow:hover{background:var(--orange);color:#fff}
.cp-cats-arrow.prev{left:-6px} .cp-cats-arrow.next{right:-6px}
@media (max-width:900px){
  .cp-cats-track{gap:10px;padding:18px 30px 10px}
  .cp-cat{flex-basis:92px}
  .cp-cat .ring{width:84px;height:84px;padding:3px}
  .cp-cat .name{font-size:12px}
  .cp-cats-arrow{width:34px;height:34px;font-size:24px;line-height:30px;top:42px}
  .cp-cats-arrow.prev{left:-4px} .cp-cats-arrow.next{right:-4px}
}

/* ===== v1.2.1 : rond du milieu encore plus grand ===== */
.cp-cats-track{padding:40px 40px 22px}
.cp-cat.mid .ring{transform:scale(1.5);box-shadow:0 14px 30px rgba(11,42,111,.32)}
.cp-cat.mid:hover .ring{transform:scale(1.54)}
.cp-cat.mid .name{transform:translateY(26px);font-size:17px}
.cp-cat.mid{z-index:1}
.cp-cat{position:relative;margin:0 6px}
.cp-cats-arrow{top:72px}
@media (max-width:900px){
  .cp-cats-track{padding:30px 30px 18px}
  .cp-cat{margin:0 4px}
  .cp-cat.mid .name{transform:translateY(20px);font-size:13px}
  .cp-cats-arrow{top:52px}
}

/* ===== v1.2.2 : images rondes déjà encadrées ===== */
.cp-cat .ring.bare{background:transparent;padding:0}
.cp-cat .ring.bare img{border:0;background:transparent;object-fit:contain}

/* ===== v1.3.0 : sous-catégories ===== */
.cp-type{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;background:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 3px 10px rgba(11,42,111,.08)}
.cp-type label{font-weight:900;color:var(--navy)}
.cp-type select{font:inherit;font-size:15px;padding:10px 12px;border:2px solid var(--orange);border-radius:10px;min-width:240px;background:#fff;color:var(--text)}
@media (max-width:900px){.cp-type select{width:100%;min-width:0}}

/* ===== v1.4.0 : liste des pros + contact ===== */
.cp-back{display:inline-block;font-weight:800;color:var(--navy);margin-bottom:6px}
.cp-page h1{margin:4px 0 2px}
.cp-count{color:var(--muted);font-weight:700;margin:0 0 16px}
.cp-results{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.cp-pro{background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(11,42,111,.09);padding:16px;display:flex;flex-direction:column;gap:10px}
.cp-pro-top{display:flex;align-items:center;gap:12px;color:inherit}
.cp-pro-top h2,.cp-pro-top h1{margin:0;font-size:19px;color:var(--navy);line-height:1.2}
.cp-pro-fiche .cp-pro-top h1{font-size:26px}
.cp-pro-logo{flex:none;width:60px;height:60px;border-radius:50%;overflow:hidden;border:3px solid var(--orange);display:flex;align-items:center;justify-content:center;background:#fff}
.cp-pro-logo img{width:100%;height:100%;object-fit:cover}
.cp-pro-ini{background:var(--navy);color:#fff;font-weight:900;font-size:26px}
.cp-pro-fiche .cp-pro-logo{width:90px;height:90px}
.cp-pro-ville{display:block;color:var(--muted);font-weight:700;font-size:14px;margin-top:3px}
.cp-pro-tags{margin:0;display:flex;flex-wrap:wrap;gap:6px}
.cp-pro-tags .cp-tag{margin:0}
.cp-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.cp-c{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:15px;border-radius:10px;padding:11px 8px;color:#fff;text-align:center}
.cp-c:hover{filter:brightness(1.08);color:#fff}
.cp-c-tel{background:var(--orange)} .cp-c-wa{background:#25d366} .cp-c-mail{background:var(--blue)} .cp-c-site{background:var(--navy)}
.cp-pro-more{font-weight:800;color:var(--blue);align-self:flex-end}
.cp-pro-desc{color:var(--text)}
.cp-empty p{margin:0 0 8px}
.cp-empty .cp-btn{margin-top:8px}
.cp-type{display:none}
.cp-wrap.cp-page{padding:24px 16px 50px}
.cp-c{white-space:nowrap;font-size:14px;padding:11px 6px}
.cp-contact{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}

/* ===== v1.5.0 : liaison avec l'extension CHEPROXI ===== */
.cp-c-devis{background:var(--green)}
.cp-page-content .cx{margin-top:0}

/* ===== v1.6.0 : formulaire d'inscription en 3 étapes ===== */
.cp-insc{max-width:860px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:26px}
.cp-insc h1{margin:0;color:var(--navy);font-size:28px}
.cp-insc-sub{color:var(--muted);font-weight:700;margin:4px 0 18px}
.cp-insc-err{background:#fff0eb;border-left:4px solid var(--orange);padding:12px 14px;border-radius:8px;font-weight:700}
.cp-steps{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 20px}
.cp-steps li{flex:1;display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:var(--muted);border-bottom:4px solid var(--line);padding-bottom:8px}
.cp-steps li span{width:28px;height:28px;border-radius:50%;background:var(--line);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.cp-steps li.on{color:var(--navy);border-color:var(--orange)}
.cp-steps li.on span{background:var(--orange)}
.cp-insc-form fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}
.cp-insc-form legend{font-size:20px;font-weight:900;color:var(--navy);margin-bottom:6px}
.cp-insc-form label{display:grid;gap:6px;font-weight:800;color:var(--navy);font-size:15px}
.cp-insc-form small{color:var(--muted);font-weight:600}
.cp-insc-form input[type=text],.cp-insc-form input[type=tel],.cp-insc-form input[type=email],.cp-insc-form input[type=url],.cp-insc-form input[type=password],.cp-insc-form select,.cp-insc-form textarea{
  font:inherit;font-size:16px;padding:12px;border:2px solid var(--line);border-radius:10px;width:100%;background:#fff;color:var(--text)}
.cp-insc-form input:focus,.cp-insc-form select:focus,.cp-insc-form textarea:focus{outline:0;border-color:var(--blue)}
.cp-insc-form .cp-bad{border-color:var(--red)!important;background:#fff6f6}
.cp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cp-lab{margin:0;font-weight:800;color:var(--navy)}
.cp-metier-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.cp-mp{position:relative;display:flex!important;flex-direction:column;align-items:center;gap:6px!important;text-align:center;cursor:pointer;
  border:2px solid var(--line);border-radius:14px;padding:10px 6px;font-size:13px!important;transition:border-color .15s,background .15s}
.cp-mp input{position:absolute;opacity:0;pointer-events:none}
.cp-mp img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.cp-mp:has(input:checked){border-color:var(--orange);background:#fff4ec}
.cp-mp:has(input:checked)::after{content:"✓";position:absolute;top:6px;right:8px;background:var(--orange);color:#fff;width:20px;height:20px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center}
.cp-metier-pick:has(.cp-bad) .cp-mp{border-color:var(--red)}
.cp-check{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:10px!important;font-weight:700!important}
.cp-check input{width:22px;height:22px;flex:none;accent-color:var(--orange)}
.cp-insc-note{background:#eef4ff;border-radius:10px;padding:12px 14px;margin:0;color:var(--navy);font-weight:600}
.cp-insc-msg{color:var(--red);font-weight:800;min-height:1.2em;margin:12px 0 0}
.cp-insc-nav{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.cp-insc-nav [data-next],.cp-insc-nav [data-send]{margin-left:auto}
.cp-btn-ghost{background:#fff;color:var(--navy);border:2px solid var(--line)}
.cp-hp{position:absolute!important;left:-9999px}
.cp-insc-ok{text-align:center}
.cp-insc-okicon{width:70px;height:70px;border-radius:50%;background:var(--green);color:#fff;font-size:38px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.cp-insc-ok p{color:var(--muted);font-size:17px}
@media (max-width:700px){
  .cp-insc{padding:18px 14px;border-radius:14px}
  .cp-insc h1{font-size:23px}
  .cp-row{grid-template-columns:1fr}
  .cp-steps li{font-size:0;justify-content:center}
  .cp-steps li span{font-size:14px}
  .cp-metier-pick{grid-template-columns:repeat(3,1fr);gap:8px}
  .cp-mp img{width:54px;height:54px}
  .cp-insc-nav .cp-btn{flex:1;justify-content:center}
}

.cp-insc [hidden]{display:none!important}

.cp-dem-btn{margin:8px 0 12px}

/* ===== v1.7.1 : nom CHEPROXI aux couleurs du site ===== */
.cp-logo{display:flex;flex-direction:column;align-items:flex-start;line-height:1;text-decoration:none}
.cp-logo-name{font-family:"Nunito","Segoe UI",Arial,sans-serif;font-weight:900;font-size:40px;letter-spacing:-1px}
.cp-logo-name .che{color:var(--navy)}
.cp-logo-name .proxi{color:var(--orange)}
.cp-logo-sub{font-weight:800;font-size:13px;color:var(--navy);margin-top:4px}
@media (max-width:900px){
  .cp-logo{align-items:center}
  .cp-logo-name{font-size:28px}
  .cp-logo-sub{font-size:10px;margin-top:2px}
}

.cp-logo-name .xi{color:var(--green)}

/* ===== v1.7.3 : rappel du vert (comme le XI du logo) ===== */
.cp-header{border-bottom:4px solid transparent;border-image:linear-gradient(90deg,var(--navy) 0 33.3%,var(--orange) 33.3% 66.6%,var(--green) 66.6% 100%) 1}
.cp-nav a{position:relative}
.cp-nav a::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:3px;border-radius:3px;background:var(--green);transform:scaleX(0);transition:transform .2s}
.cp-nav a:hover::after{transform:scaleX(1)}
.cp-section-title{display:flex;align-items:center;gap:10px}
.cp-section-title::before{content:"";width:6px;height:26px;border-radius:4px;background:var(--green)}
.cp-avantage:nth-child(3) .ico{filter:none}
.cp-pro-more{color:var(--green)}
.cp-footer{border-top:5px solid transparent;border-image:linear-gradient(90deg,#3b63c4 0 33.3%,var(--orange) 33.3% 66.6%,var(--green) 66.6% 100%) 1}
.cp-footer strong{color:#7ad48a}
.cp-insc-okicon{background:var(--green)}

/* v1.8.0 : précision « Autres métiers » */
.cp-autres-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.cp-autres-chips a{background:#fff;border:2px solid var(--line);color:var(--navy);font-weight:800;font-size:14px;border-radius:999px;padding:8px 14px}
.cp-autres-chips a.on,.cp-autres-chips a:hover{background:var(--green);border-color:var(--green);color:#fff}
.cp-tag-autre{background:#e9f7ec!important;color:var(--green)!important}
.cp-insc .cp-autre[hidden]{display:none!important}

/* v1.8.4 : « Soyez le premier » */
.cp-empty{background:linear-gradient(180deg,#fff,#fff6ee);border:2px dashed var(--orange)}
.cp-first-ico{font-size:40px;margin-bottom:4px}
.cp-first-t{color:var(--navy);font-size:18px}

/* ===== v1.8.5 : boutons en relief qui s'enfoncent au clic ===== */
.cp-btn,.cp-c,.cp-dept,.cp-autres-chips a,.cp-cats-arrow,.cp-bottom .plus,.cp-search button,.cp-type select,
.cx .cx-btn,.cx button{position:relative;transition:transform .08s ease,box-shadow .08s ease,filter .15s;
  -webkit-tap-highlight-color:transparent;user-select:none}
.cp-btn-orange,.cp-search .cp-btn-orange,.cx .cx-btn,.cx button{box-shadow:0 5px 0 #b44a0d,0 7px 12px rgba(0,0,0,.18)}
.cp-btn-ghost{box-shadow:0 5px 0 #c9d2e3,0 7px 12px rgba(0,0,0,.08)}
.cp-c-tel{box-shadow:0 4px 0 #b44a0d}
.cp-c-wa{box-shadow:0 4px 0 #189a4b}
.cp-c-mail{box-shadow:0 4px 0 #1338a6}
.cp-c-site{box-shadow:0 4px 0 #061a47}
.cp-c-devis{box-shadow:0 4px 0 #1d6f2a}
.d84{box-shadow:0 4px 0 #b44a0d}.d26{box-shadow:0 4px 0 #1338a6}.d30{box-shadow:0 4px 0 #1d6f2a}.d07{box-shadow:0 4px 0 #4f1390}.d13{box-shadow:0 4px 0 #9b0b2b}
.cp-autres-chips a{box-shadow:0 4px 0 #c9d2e3}
.cp-autres-chips a.on{box-shadow:0 4px 0 #1d6f2a}
.cp-cats-arrow{box-shadow:0 4px 0 #c9d2e3,0 6px 12px rgba(11,42,111,.18)}
.cp-bottom .plus{box-shadow:0 4px 0 #b44a0d,0 6px 12px rgba(242,106,27,.35)}
.cx .cx-btn.secondary{box-shadow:0 5px 0 #c9d2e3}
/* l'appui : le bouton descend et son ombre disparaît */
.cp-btn:active,.cp-c:active,.cp-dept:active,.cp-autres-chips a:active,.cx .cx-btn:active,.cx button:active{transform:translateY(4px)!important;box-shadow:0 1px 0 rgba(0,0,0,.25)!important}
.cp-cats-arrow:active{transform:translateY(4px)!important;box-shadow:0 1px 0 #c9d2e3!important}
.cp-bottom a:active .plus{transform:translateY(4px);box-shadow:0 1px 0 #b44a0d}
.cp-btn:disabled{transform:translateY(4px);box-shadow:0 1px 0 rgba(0,0,0,.2)!important;opacity:.85}
/* les cases métier du formulaire s'enfoncent aussi */
.cp-mp{box-shadow:0 4px 0 var(--line);transition:transform .08s,box-shadow .08s,border-color .15s,background .15s}
.cp-mp:active{transform:translateY(3px);box-shadow:0 1px 0 var(--line)}
.cp-mp:has(input:checked){box-shadow:0 4px 0 var(--orange)}

/* ===== v1.9.0 : accueil – messages qui défilent + carte ===== */
.cp-hero2 .cp-h2-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:stretch}
.cp-msgs{position:relative;background:linear-gradient(135deg,#ffffff 0%,#eef4ff 60%,#fff3e8 100%);border-radius:18px;
  padding:28px 30px 22px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 4px 16px rgba(11,42,111,.08);overflow:hidden;min-height:300px}
.cp-msgs::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--navy) 0 33.3%,var(--orange) 33.3% 66.6%,var(--green) 66.6% 100%)}
.cp-msg-track{position:relative;min-height:150px}
.cp-msg{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateX(40px);transition:opacity .5s,transform .5s;pointer-events:none}
.cp-msg.on{opacity:1;transform:none;pointer-events:auto}
.cp-msg .t1{margin:0;font-size:42px;line-height:1.08;font-weight:900;color:var(--navy)}
.cp-msg .t2{margin:8px 0 0;font-size:24px;line-height:1.2;font-weight:800;color:var(--orange)}
.cp-msg-dots{display:flex;gap:8px;margin:10px 0 16px}
.cp-msg-dots button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#c9d2e3;cursor:pointer;transition:width .2s,background .2s}
.cp-msg-dots button.on{width:26px;border-radius:6px;background:var(--orange)}
.cp-badges2{display:flex;flex-wrap:wrap;gap:8px 16px}
.cp-badges2 span{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px;color:var(--navy)}
.cp-badges2 i{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:11px}
.cp-carte{border-radius:18px;overflow:hidden;position:relative}
.cp-carte img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){
  .cp-hero2 .cp-h2-grid{grid-template-columns:1fr;gap:10px}
  .cp-msgs{padding:18px 16px 16px;min-height:0;text-align:center}
  .cp-msg-track{min-height:104px}
  .cp-msg .t1{font-size:26px}
  .cp-msg .t2{font-size:17px}
  .cp-msg-dots{justify-content:center;margin:8px 0 10px}
  .cp-badges2{justify-content:center;gap:6px 12px}
  .cp-badges2 span{font-size:12px}
  .cp-carte img{height:auto}
}

.cp-hero2 ~ .cp-wrap .cp-search{margin-top:14px}
@media (max-width:900px){.cp-hero2 ~ .cp-wrap .cp-search{margin-top:10px}}

/* v1.9.4 — le dégradé occupe toute la largeur, derrière la carte intacte. */
.cp-hero.cp-hero2{
  background:linear-gradient(105deg,#b9e5f8 0%,#dceef2 45%,#f7d4b0 100%)!important;
}
.cp-hero2 .cp-wrap{position:relative;z-index:1}
.cp-hero2 .cp-h2-grid{
  gap:18px!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.cp-hero2 .cp-msgs{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:18px!important;
}
.cp-hero2 .cp-msgs::after{display:none!important}
/* La carte conserve son image, ses coins arrondis et ses zones cliquables. */
.cp-hero2 .cp-carte{border-radius:18px!important;overflow:hidden!important;box-shadow:0 4px 16px rgba(11,42,111,.08)!important}
@media(max-width:900px){.cp-hero.cp-hero2{background:linear-gradient(180deg,#b9e5f8 0%,#dceef2 45%,#f7d4b0 100%)!important}}

/* v1.9.5 : reprendre exactement les teintes bleu/orange du fond de la carte,
   sur toute la largeur du bandeau, sans toucher à l'image ni aux zones cliquables. */
.cp-hero.cp-hero2 {
  position:relative;
  isolation:isolate;
  background:linear-gradient(100deg,#54bdf4 0%,#a9d8ef 30%,#e6d8c7 60%,#ffb365 100%) !important;
  overflow:hidden;
}
.cp-hero.cp-hero2::before { display:none !important; }
.cp-hero2 .cp-wrap { position:relative; z-index:1; }
.cp-hero2 .cp-msgs { background:transparent !important; box-shadow:none !important; }
@media(max-width:900px) {
  .cp-hero.cp-hero2 { background:linear-gradient(160deg,#54bdf4 0%,#a9d8ef 35%,#e6d8c7 65%,#ffb365 100%) !important; }
}

/* v1.9.6 — carte sans cadre : fusion visuelle avec le dégradé du bandeau. */
.cp-hero2 .cp-carte,
.cp-hero2 .cp-hero-img.cp-carte {
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:visible !important;
}
.cp-hero2 .cp-carte > img {
  display:block;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 7%,#000 24%,#000 90%,rgba(0,0,0,.8) 100%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 7%,#000 24%,#000 90%,rgba(0,0,0,.8) 100%);
}

/* CHEPROXI 1.9.7 : un seul fond doux pour l'ensemble du site.
   Illustration nouvelle, non encadrée, sans image de texte figé. */
:root{--bg:#f8fbff}
body{background:linear-gradient(105deg,#e4f5ff 0%,#fbfdff 47%,#fff1e3 100%) fixed!important}
.cp-hero.cp-hero2{background:linear-gradient(105deg,#bcecff 0%,#f7fcff 49%,#ffd6a7 100%)!important}
.cp-hero2 .cp-h2-grid{grid-template-columns:1.15fr 1fr!important;gap:0!important;align-items:center!important}
.cp-hero2 .cp-msgs{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;z-index:2}
.cp-hero2 .cp-carte,.cp-hero2 .cp-hero-img.cp-carte{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;align-self:stretch}
.cp-hero2 .cp-carte img{width:100%;height:100%;object-fit:contain;object-position:center right;border:0!important;filter:none!important;mask-image:none!important;-webkit-mask-image:none!important}
.cp-hero2 .cp-carte::before,.cp-hero2 .cp-carte::after{display:none!important}
.cp-hero2 .cp-msgs::after{display:none!important}
@media(max-width:900px){
 .cp-hero2 .cp-h2-grid{grid-template-columns:1fr!important}
 .cp-hero2 .cp-carte img{height:auto!important;object-fit:contain!important}
 .cp-hero.cp-hero2{background:linear-gradient(155deg,#c9efff 0%,#fff 50%,#ffddb8 100%)!important}
}

/* 1.9.8 : carte grand format sans cadre, fond continu, messages HTML actifs */
.cp-hero.cp-hero2{background:linear-gradient(105deg,#61c9f7 0%,#b8e9fa 28%,#f8fcff 50%,#f8d6b6 78%,#f5a14c 100%)!important}
.cp-hero2 .cp-wrap{max-width:1500px!important;padding:0 0 0 2.8%!important}
.cp-hero2 .cp-h2-grid{display:grid!important;grid-template-columns:48% 52%!important;gap:0!important;align-items:center!important}
.cp-hero2 .cp-msgs{padding:36px 12px 32px 0!important;min-width:0!important}
.cp-hero2 .cp-carte{align-self:stretch!important;position:relative!important;min-width:0!important;overflow:visible!important}
.cp-hero2 .cp-carte img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;mask-image:none!important;-webkit-mask-image:none!important}
.cp-hero2 .cp-carte::before,.cp-hero2 .cp-carte::after{display:none!important}
@media(max-width:900px){.cp-hero2 .cp-wrap{padding:0 12px!important}.cp-hero2 .cp-h2-grid{grid-template-columns:1fr!important}.cp-hero2 .cp-msgs{padding:24px 8px!important}.cp-hero2 .cp-carte img{height:auto!important;object-fit:contain!important}}

/* CHEPROXI 1.9.9 — arrière-plan léger et uniforme, sans couleurs saturées */
:root{--bg:#f9fbff}
html,body{background:#fafcff!important}
body{background:linear-gradient(105deg,#f0f8ff 0%,#ffffff 52%,#fff8f1 100%) fixed!important}
.cp-hero.cp-hero2{background:linear-gradient(105deg,#f1f9ff 0%,#ffffff 52%,#fff9f4 100%)!important}
.cp-hero2 .cp-carte{background:transparent!important}
.cp-hero2 .cp-carte img{border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:contain!important}
.cp-hero2 .cp-msgs{background:transparent!important}
@media(max-width:900px){.cp-hero.cp-hero2{background:linear-gradient(160deg,#f1f9ff 0%,#fff 55%,#fff9f4 100%)!important}}

/* CHEPROXI 2.0.0 : carte détourée et fond discret homogène */
html,body{background:#fbfcfe!important}
body{background:linear-gradient(105deg,#f0f7ff 0%,#fff 51%,#fff7ef 100%) fixed!important}
.cp-hero.cp-hero2{background:linear-gradient(105deg,#f0f7ff 0%,#fff 51%,#fff7ef 100%)!important}
.cp-hero2 .cp-carte,.cp-hero2 .cp-carte img{background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;mask-image:none!important;-webkit-mask-image:none!important}
.cp-hero2 .cp-carte img{object-fit:contain!important}

/* v2.0.2: messages seuls */
.cp-hero.cp-hero2{background:linear-gradient(105deg,#f0f7ff 0%,#fff 52%,#fff7ef 100%)!important}
.cp-hero2 .cp-wrap{max-width:1200px!important;padding:0 24px!important;margin:auto!important}
.cp-hero2 .cp-h2-grid{display:block!important;grid-template-columns:none!important}
.cp-hero2 .cp-msgs{width:100%!important;max-width:none!important;min-height:270px;padding:42px 12px!important}
@media(max-width:700px){.cp-hero2 .cp-wrap{padding:0 16px!important}.cp-hero2 .cp-msgs{min-height:240px;padding:28px 4px!important}}

/* CHEPROXI v2.0.2 — carte détourée à droite, fond discret inchangé */
.cp-hero2 .cp-h2-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;align-items:center!important;gap:10px!important}
.cp-hero2 .cp-msgs{width:100%!important;min-width:0!important;max-width:none!important;position:relative!important;z-index:1!important}
.cp-hero2 .cp-map-right{width:100%;min-width:0;align-self:center;display:flex;align-items:center;justify-content:center;background:transparent!important;border:0!important;box-shadow:none!important}
.cp-hero2 .cp-map-right img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important}
@media(max-width:750px){.cp-hero2 .cp-h2-grid{grid-template-columns:1fr!important;gap:0!important}.cp-hero2 .cp-msgs{min-height:215px!important;padding:28px 8px 6px!important}.cp-hero2 .cp-map-right img{max-height:290px!important;width:100%!important}}

/* v2.0.4 — supprime les caractères parasites des diapositives et débordements */
.cp-hero2 .cp-msg-track{overflow:hidden!important;isolation:isolate!important}
.cp-hero2 .cp-msg{visibility:hidden!important;opacity:0!important;overflow:hidden!important;max-width:100%!important;transform:none!important}
.cp-hero2 .cp-msg.on{visibility:visible!important;opacity:1!important}
.cp-hero2 .cp-msgs{overflow:hidden!important}
.cp-hero2 .cp-map-right{overflow:hidden!important}

/* v2.0.5 : les messages inactifs ne peuvent plus laisser de caractères visibles */
.cp-hero2 .cp-msg-track {position:relative!important;overflow:hidden!important;isolation:isolate!important;min-width:0!important}
.cp-hero2 .cp-msg-track > .cp-msg {display:none!important;opacity:0!important;visibility:hidden!important;transform:none!important;transition:none!important;pointer-events:none!important}
.cp-hero2 .cp-msg-track > .cp-msg.on {display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.cp-hero2 .cp-msg-track > .cp-msg p {overflow-wrap:break-word!important;max-width:100%!important}

/* v2.0.6 : suppression complete de la carte, messages sur toute la largeur */
.cp-hero2 .cp-h2-grid.cp-no-map{display:block!important;grid-template-columns:none!important}
.cp-hero2 .cp-h2-grid.cp-no-map .cp-msgs{width:100%!important;max-width:none!important;min-height:270px!important}
.cp-hero2 .cp-map-right{display:none!important}

/* 2.0.7 : rétablir la carte sans fragments de texte parasites */
.cp-hero2 .cp-map-right{display:flex!important;overflow:visible!important;position:relative!important;z-index:1!important}
.cp-hero2 .cp-h2-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;gap:12px!important;align-items:center!important}
.cp-hero2 .cp-msgs{overflow:hidden!important;isolation:isolate!important;z-index:2!important}
.cp-hero2 .cp-msg-track{overflow:hidden!important;position:relative!important;contain:layout paint!important}
.cp-hero2 .cp-msg-track>.cp-msg:not(.on){display:none!important;visibility:hidden!important;opacity:0!important}
.cp-hero2 .cp-msg-track>.cp-msg.on{display:flex!important;visibility:visible!important;opacity:1!important;max-width:100%!important}
.cp-hero2 .cp-map-right img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
@media(max-width:750px){.cp-hero2 .cp-h2-grid{grid-template-columns:1fr!important}}

/* v2.0.8 : carte fournie par utilisateur */
.cp-hero2 .cp-map-right img{width:100%!important;max-height:470px!important;object-fit:contain!important}

/* v2.0.9 — dégradé bleu foncé, blanc au centre, orange à droite */
body{background:linear-gradient(105deg,#d1e2fa 0%,#fdfefe 50%,#ffe0bd 100%) fixed!important}
.cp-hero.cp-hero2{background:linear-gradient(105deg,#154d9b 0%,#5b93d0 24%,#f9fcff 49%,#fffefd 56%,#f6b56c 80%,#ed812c 100%)!important}
@media(max-width:900px){.cp-hero.cp-hero2{background:linear-gradient(155deg,#154d9b 0%,#8eb8e5 26%,#ffffff 52%,#f7c18b 76%,#ed812c 100%)!important}}

/* v2.1.0 — dégradé plus nuancé : bleu foncé → bleus → un peu de blanc → pêche → orange */
.cp-hero.cp-hero2{background:linear-gradient(100deg,
  #0b2a6f 0%,#123d8c 10%,#1d5bb0 20%,#3f7fcb 29%,#7aa9de 37%,#b9d3f0 43%,
  #f4f8fd 48%,#ffffff 50%,#fff6ec 53%,
  #ffdcb5 59%,#ffc184 66%,#fba45a 74%,#f58a37 84%,#ec7420 100%)!important}
@media(max-width:900px){.cp-hero.cp-hero2{background:linear-gradient(165deg,
  #0b2a6f 0%,#1d5bb0 14%,#5d93d3 26%,#a8c8ee 36%,#f4f8fd 45%,#ffffff 50%,#fff3e6 55%,
  #ffd2a3 64%,#fba45a 78%,#ec7420 100%)!important}}
/* le reste du site : même passage de couleurs, en plus doux pour garder le texte lisible */
body{background:linear-gradient(100deg,#c7d9f5 0%,#dce8f9 18%,#eef4fc 34%,#fbfdff 48%,#ffffff 50%,#fff8f0 56%,#ffe9d2 72%,#ffd8b0 100%) fixed!important}
/* titre des messages bien lisible sur la partie bleu foncé */
.cp-hero2 .cp-msg .t1{color:#ffffff!important;text-shadow:0 2px 10px rgba(5,20,60,.55)}
.cp-hero2 .cp-msg .t2{color:#ffb36b!important;text-shadow:0 1px 6px rgba(5,20,60,.5)}
.cp-hero2 .cp-badges2 span{color:#fff!important;text-shadow:0 1px 4px rgba(5,20,60,.5)}
.cp-hero2 .cp-msg-dots button:not(.on){background:rgba(255,255,255,.55)}
@media(max-width:900px){
  .cp-hero2 .cp-msg .t1{font-size:26px}
}
@media(max-width:900px){
  .cp-hero2 .cp-badges2 span{color:#0b2a6f!important;text-shadow:none!important;background:rgba(255,255,255,.75);border-radius:999px;padding:3px 9px 3px 4px}
  .cp-hero2 .cp-msg-dots button:not(.on){background:rgba(11,42,111,.25)}
}

/* v2.1.1 — barre de recherche : seulement les champs/boutons, plus de grand cadre blanc derrière */
.cp-search form{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
.cp-search .cp-field{background:#fff;border:2px solid #fff;border-radius:12px;box-shadow:0 4px 0 #c9d2e3,0 6px 14px rgba(11,42,111,.12)}
.cp-search .cp-field:focus-within{border-color:var(--orange)}

/* v2.1.2 — « Quel professionnel recherchez-vous ? » devient la liste des métiers (plus de « Toutes les catégories ») */
.cp-search form{grid-template-columns:1.6fr 1.2fr .6fr auto!important}
.cp-field-metier select{font-weight:700;color:var(--navy);cursor:pointer}
@media (max-width:900px){.cp-search form{grid-template-columns:1fr!important}}

/* v2.1.3 — « Ville ou code postal » écrit en noir */
.cp-search input[name="cp_ville"]{color:#111!important;font-weight:700}
.cp-search input[name="cp_ville"]::placeholder{color:#111!important;opacity:1;font-weight:700}

/* v2.1.4 — nouveau logo (image) */
.cp-logo{display:block!important;line-height:0}
.cp-logo-img{height:62px;width:auto;display:block}
.cp-header .cp-wrap{min-height:80px}
@media (max-width:900px){.cp-logo-img{height:42px}.cp-header .cp-wrap{min-height:60px}}
.cp-logo-img{height:74px}
.cp-header .cp-wrap{min-height:90px}
@media (max-width:900px){.cp-logo-img{height:48px}.cp-header .cp-wrap{min-height:62px}}
.cp-header .cp-logo .cp-logo-img{height:74px!important;width:auto!important;max-width:none!important}
@media (max-width:900px){.cp-header .cp-logo .cp-logo-img{height:48px!important}}

/* v2.1.5 — même teinte que le bandeau (bleu → blanc → orange) sur toutes les pages, un peu moins foncée */
html,body{background:#f6f9ff!important}
body{background:linear-gradient(100deg,
  #3a6cbd 0%,#5687cf 10%,#82a9e0 21%,#b7d0f0 33%,#e6effa 43%,#ffffff 50%,#fff3e6 56%,
  #ffdcb8 65%,#ffc690 75%,#fbac64 87%,#f39645 100%) fixed!important}
@media (max-width:900px){
  body{background:linear-gradient(170deg,#3a6cbd 0%,#82a9e0 18%,#d7e5f7 34%,#ffffff 50%,#ffe6cc 66%,#fbb06a 86%,#f39645 100%) fixed!important}
}
/* textes posés sur le fond : un léger halo blanc pour rester lisibles sur le bleu et l'orange */
.cp-section-title,.cp-depts strong,.cp-back,.cp-count,.cp-page h1,.cp-cat .name,.cp-insc-sub{
  text-shadow:0 0 6px #fff,0 0 3px #fff,0 0 1px #fff}

/* v2.1.6 — fond des pages plus clair */
body{background:linear-gradient(100deg,
  #8fb3e6 0%,#a6c3ec 12%,#c3d7f3 25%,#e0ebf9 38%,#f6f9fe 46%,#ffffff 50%,#fff8f0 55%,
  #ffead5 66%,#ffdbb8 78%,#ffcb9a 90%,#fbbb80 100%) fixed!important}
@media (max-width:900px){
  body{background:linear-gradient(170deg,#8fb3e6 0%,#c3d7f3 20%,#eef4fc 36%,#ffffff 50%,#fff0e0 66%,#ffd2a6 86%,#fbbb80 100%) fixed!important}
}

/* v2.1.7 — bandeau (carte + messages) plus clair */
.cp-hero.cp-hero2{background:linear-gradient(100deg,
  #4f86d4 0%,#6496dc 12%,#86afe6 24%,#b2cdf1 35%,#dce9f9 44%,#ffffff 50%,#fff3e6 56%,
  #ffdfbd 65%,#ffca94 75%,#fbb46e 87%,#f7a055 100%)!important}
@media(max-width:900px){.cp-hero.cp-hero2{background:linear-gradient(165deg,
  #4f86d4 0%,#86afe6 18%,#c6dbf5 32%,#ffffff 48%,#fff0e0 60%,#ffcf9c 80%,#f7a055 100%)!important}}
.cp-hero2 .cp-msg .t1{text-shadow:0 2px 10px rgba(5,20,60,.6),0 0 2px rgba(5,20,60,.5)!important}
.cp-hero2 .cp-msg .t2{color:#ffd29e!important;text-shadow:0 1px 6px rgba(5,20,60,.6)!important}
.cp-hero2 .cp-badges2 span{color:#0b2a6f!important;text-shadow:none!important;background:rgba(255,255,255,.82);border-radius:999px;padding:4px 10px 4px 4px}

/* v2.2.1 — en-tête : même dégradé que le site (bleu → blanc → orange) */
.cp-header{background:linear-gradient(100deg,#ffffff 0%,#ffffff 50%,#fff3e6 56%,#ffdfbd 65%,#ffca94 75%,#fbb46e 87%,#f7a055 100%)!important}
.cp-header .cp-logo-img{filter:drop-shadow(0 2px 4px rgba(5,20,60,.25))}
.cp-nav a{color:#0b2a6f;text-shadow:0 0 6px #fff,0 0 2px #fff}
.cp-nav a:hover{background:rgba(255,255,255,.55)}
@media (max-width:900px){
  .cp-header .cp-burger{color:#0b2a6f}
  .cp-header .cp-icons a{color:#0b2a6f}
}

/* v2.2.4 — tout le site : blanc à gauche → orange à droite (plus de bleu) */
body{background:linear-gradient(100deg,#ffffff 0%,#ffffff 50%,#fff8f0 55%,#ffead5 66%,#ffdbb8 78%,#ffcb9a 90%,#fbbb80 100%) fixed!important}
@media (max-width:900px){body{background:linear-gradient(170deg,#ffffff 0%,#ffffff 50%,#fff0e0 66%,#ffd2a6 86%,#fbbb80 100%) fixed!important}}
.cp-hero.cp-hero2{background:linear-gradient(100deg,#ffffff 0%,#ffffff 50%,#fff3e6 56%,#ffdfbd 65%,#ffca94 75%,#fbb46e 87%,#f7a055 100%)!important}
@media(max-width:900px){.cp-hero.cp-hero2{background:linear-gradient(165deg,#ffffff 0%,#ffffff 48%,#fff0e0 60%,#ffcf9c 80%,#f7a055 100%)!important}}
.cp-hero2 .cp-msg .t1{color:#0b2a6f!important;text-shadow:none!important}
.cp-hero2 .cp-msg .t2{color:#ed6a12!important;text-shadow:none!important}
.cp-hero2 .cp-msg-dots button:not(.on){background:rgba(11,42,111,.22)!important}
.cp-hero2 .cp-badges2 span{background:#fff!important;box-shadow:0 2px 8px rgba(11,42,111,.12)}

/* v2.2.5 — orange plus clair, le même partout (en-tête, carte, pages) */
.cp-header,.cp-hero.cp-hero2{background:linear-gradient(100deg,#ffffff 0%,#ffffff 50%,#fff8f0 55%,#ffead5 66%,#ffdbb8 78%,#ffcb9a 90%,#fbbb80 100%)!important}
@media(max-width:900px){.cp-hero.cp-hero2{background:linear-gradient(165deg,#ffffff 0%,#ffffff 48%,#fff0e0 62%,#ffd2a6 84%,#fbbb80 100%)!important}}

/* v2.2.8 — départements du zoom : cliquables, s'enfoncent au clic */
.cp-hero2 .cp-map3d{position:relative;display:block;width:100%}
.cp-hero2 .cp-map3d-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cp-map3d-svg image{pointer-events:none}
.cp-map3d-svg .cp-s{transition:opacity .12s}
.cp-map3d-svg .cp-f{transition:transform .12s ease-out,filter .15s;transform-box:view-box}
.cp-map3d-svg .cp-dz{cursor:pointer;outline:none}
.cp-map3d-svg .cp-dz polygon{fill:transparent;stroke:none;pointer-events:all}
.cp-map3d-svg .cp-dz:focus-visible polygon{stroke:#0b2a6f;stroke-width:6;stroke-dasharray:14 8}
.cp-map3d-svg.h07 .cp-f07{filter:brightness(1.1)}
.cp-map3d-svg.p07 .cp-s07{opacity:0}
.cp-map3d-svg.p07 .cp-f07{transform:translate(7px,20px)}
.cp-map3d-svg.h26 .cp-f26{filter:brightness(1.1)}
.cp-map3d-svg.p26 .cp-s26{opacity:0}
.cp-map3d-svg.p26 .cp-f26{transform:translate(7px,20px)}
.cp-map3d-svg.h30 .cp-f30{filter:brightness(1.1)}
.cp-map3d-svg.p30 .cp-s30{opacity:0}
.cp-map3d-svg.p30 .cp-f30{transform:translate(7px,20px)}
.cp-map3d-svg.h84 .cp-f84{filter:brightness(1.1)}
.cp-map3d-svg.p84 .cp-s84{opacity:0}
.cp-map3d-svg.p84 .cp-f84{transform:translate(7px,20px)}
.cp-map3d-svg.h13 .cp-f13{filter:brightness(1.1)}
.cp-map3d-svg.p13 .cp-s13{opacity:0}
.cp-map3d-svg.p13 .cp-f13{transform:translate(7px,20px)}

/* v2.3.2 — Artisans à la une : grille de 12 places (4 x 3) qui change toutes les 4 s */
.cp-vit{margin:34px 0 10px}
.cp-vit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;transition:opacity .35s}
.cp-vit-grid.cp-vit-out{opacity:0}
.cp-vit-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 16px rgba(11,42,111,.13);display:flex;flex-direction:column;min-width:0}
.cp-vit-card.cp-vit-in{animation:cpVitIn .5s ease both}
@keyframes cpVitIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.cp-vit-ph{position:relative;display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#0b2a6f,#2f6fd1);overflow:hidden}
.cp-vit-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease,transform 4s ease;transform:scale(1.04)}
.cp-vit-ph img.on{opacity:1;transform:scale(1)}
.cp-vit-ini,.cp-vit-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:56px;font-weight:900}
.cp-vit-libre .cp-vit-ph{background:linear-gradient(135deg,#ffe9d4,#f8ae6a)}
.cp-vit-libre{opacity:.92}
.cp-vit-badge{position:absolute;left:8px;top:8px;background:#fff;color:#0b2a6f;font-weight:800;font-size:12px;padding:4px 9px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.cp-vit-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.cp-vit-body h3{margin:0;font-size:16px;color:#0b2a6f;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-vit-meta{margin:0;color:#555;font-size:13px;flex:1;line-height:1.3}
.cp-vit-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.cp-vit-btns .cp-btn{padding:7px 11px;font-size:13px}
.cp-vit-tel{background:#2e9b3e!important;color:#fff!important}
.cp-vit-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}
.cp-vit-dots i{width:9px;height:9px;border-radius:9px;background:rgba(11,42,111,.22);transition:all .3s}
.cp-vit-dots i.on{width:26px;background:var(--orange)}
@media(max-width:999px){.cp-vit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:699px){.cp-vit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cp-vit-body{padding:8px 9px 10px}.cp-vit-body h3{font-size:14px}.cp-vit-meta{font-size:12px}.cp-vit-btns .cp-btn{padding:6px 8px;font-size:12px}.cp-vit-badge{font-size:10px;padding:3px 7px}.cp-vit-ico,.cp-vit-ini{font-size:40px}}

/* flèches du carrousel des métiers : bien placées à gauche et à droite */
.cp-cats .cp-cats-arrow{position:absolute!important;top:50%!important;margin-top:-22px}
.cp-cats .cp-cats-arrow:active{transform:translateY(4px)!important}
@media(max-width:699px){.cp-vit-tel span{display:none}.cp-vit-btns{flex-wrap:nowrap}}
/* v2.3.3 — inscription : métier choisi dans une simple liste */
.cp-metier-list select{font-weight:700;color:var(--navy)}

/* v2.3.4 — SIRET vérifié */
.cp-siret small{font-weight:400;color:#666}
.cp-siret-res{margin:-4px 0 10px;font-size:14px;color:#555;min-height:1em}
.cp-siret-res.cp-siret-ok{color:#1d6f2a}
.cp-siret-res.cp-siret-ko{color:#c0262d;font-weight:600}
.cp-verif-badge{display:inline-block;background:#e7f6ea;color:#1d6f2a;font-weight:800;font-size:12px;border-radius:999px;padding:3px 9px;margin:2px 0;white-space:nowrap}
