 

 

:root {
   
  --accent: #154285;
  --accent2: #0D2D60;
  --accent-rgb: 21, 66, 133;

  --navy: #0A1628;
  --ink: #0D1B2E;
  --slate: #55637A;

   
  --r-page: #FAFBFD;
  --r-card: #FFFFFF;
  --r-line: #E3E9F1;
  --r-line-soft: #EEF2F7;

   
  --dc-ok: #00744A;
  --dc-ok-bg: #E4F7EC;
  --dc-warn: #B45309;
  --dc-warn-bg: #FEF6E7;
  --dc-warn-line: #F3DCB0;
  --dc-alert: #B42318;

   
  --dc-shadow-soft: 0 1px 1px rgb(10 22 40 / 0.05), 0 4px 14px -8px rgb(10 22 40 / 0.10);
  --dc-shadow-lift: 0 16px 36px -14px rgb(10 22 40 / 0.20);

  --dc-radius: 12px;
  --dc-radius-lg: 16px;
}

 
body[data-sec="colo"], body[data-sec="resil"] { --accent: #154285; --accent2: #0D2D60; --accent-rgb: 21, 66, 133; }
body[data-sec="sub"]  { --accent: #B4650F; --accent2: #8A4C08; --accent-rgb: 180, 101, 15; }
body[data-sec="conn"] { --accent: #0A7A72; --accent2: #065C56; --accent-rgb: 10, 122, 114; }
body[data-sec="tech"] { --accent: #5B3FC4; --accent2: #452F9B; --accent-rgb: 91, 63, 196; }

 

body {
  background: var(--r-page);
  color: var(--ink);
  letter-spacing: -0.008em;
}
#bgfx { background: var(--r-page); }

h1, .shtitle, .ptitle, .hn-title, .cname, .xp-title {
  letter-spacing: -0.022em;
}

 
.price, .hbn, .spec .v, .ctable td, .pb-tab td, .xp-prog-top b {
  font-variant-numeric: tabular-nums;
}

 

.bar {
  background: var(--navy);
  border-bottom: 1px solid rgb(255 255 255 / 0.07);
  box-shadow: none;
  padding: 8px 28px;
}
.bar .login {
  border-color: rgb(255 255 255 / 0.22);
  color: #EAF0F8;
  border-radius: 8px;
  font-weight: 600;
}
.bar .login:hover {
  border-color: rgb(255 255 255 / 0.45);
  background: rgb(255 255 255 / 0.07);
  color: #fff;
}
.bar .partner {
  background: var(--accent);
  border-radius: 8px;
  font-weight: 600;
  box-shadow: none;
   
  color: #fff;
}
.bar .partner:hover {
  background: #2456A0;
  transform: none;
  box-shadow: 0 6px 16px -6px rgb(21 66 133 / 0.55);
}
.langbtn {
  background: rgb(255 255 255 / 0.06);
  border-color: rgb(255 255 255 / 0.18);
  color: #EAF0F8;
  border-radius: 8px;
}
.langbtn:hover { border-color: rgb(255 255 255 / 0.4); background: rgb(255 255 255 / 0.1); }
.topnav a { color: #B9C7D9; font-weight: 500; }
.topnav a:hover { color: #fff; }

 
.promo {
  background: var(--navy);
  font-weight: 500;
  letter-spacing: 0;
  font-size: 12.5px;
  padding: 8px;
  border-bottom: 1px solid rgb(255 255 255 / 0.08);
}

 
#adminbar, #partnerbar, #buyerbar, #connbar, #techbar {
  background: #12213A !important;  
  border-bottom: 1px solid rgb(255 255 255 / 0.08);
}
#adminbar .voir, #partnerbar .voir, #buyerbar .voir, #connbar .voir, #techbar .voir {
  background: rgb(255 255 255 / 0.07);
  border-color: rgb(255 255 255 / 0.16);
  color: #E7EEF8;
}
#adminbar .voir:hover, #partnerbar .voir:hover, #buyerbar .voir:hover,
#connbar .voir:hover, #techbar .voir:hover {
  background: rgb(255 255 255 / 0.14);
  border-color: rgb(255 255 255 / 0.3);
  color: #fff;
}

 

 
.heronavy {
  background:
    radial-gradient(120% 100% at 100% 0%, rgb(21 66 133 / 0.10) 0%, transparent 62%),
    linear-gradient(180deg, #F3F7FC 0%, #F8FAFD 58%, var(--r-page) 100%);
  border-bottom: 1px solid var(--r-line);
  padding: 30px clamp(20px, 4vw, 60px) 24px;
}
.hn-eyebrow {
  color: var(--slate);
  font-size: 10.5px;
  letter-spacing: 1.4px;
  font-weight: 700;
}
.hn-title { color: var(--ink); font-size: 30px; font-weight: 800; }
.hn-sub { color: var(--slate); font-size: 14px; }
.hn-trust b { color: var(--ink); }

 
.searchwrap input {
  height: 58px;
  font-size: 16.5px;
  border-color: #D8E1EC;
  border-radius: 999px;
  padding-left: 56px;
  box-shadow: var(--dc-shadow-soft);
}
.searchwrap input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb) / 0.14);
}
.searchwrap .mg { top: 17px; color: var(--accent); }
.shbtn {
  background: var(--accent);
  border-radius: 999px;
  height: 44px;
  font-weight: 700;
  font-size: 14px;
}
.shbtn:hover { background: var(--accent2); box-shadow: 0 8px 20px -8px rgb(var(--accent-rgb) / 0.5); transform: none; }

 
.heronavy .hb {
  background: var(--r-card);
  border: 1px solid var(--r-line);
  border-radius: var(--dc-radius-lg);
  box-shadow: var(--dc-shadow-soft);
}
.heronavy .hbn { color: var(--ink); font-size: 27px; font-weight: 800; }
.heronavy .hbl { color: var(--slate); font-size: 9.5px; letter-spacing: 0.7px; }

.brandstrip .bslabel { color: #5B6B80; }  
.truststrip b { color: var(--ink); }

 

.filters {
  background: var(--r-card);
  border-color: var(--r-line);
  border-radius: var(--dc-radius-lg) var(--dc-radius-lg) 0 0;
  padding: 16px;
}
.filters label { color: var(--slate); font-size: 11.5px; font-weight: 600; }
.filters select, .sortwrap select {
  height: 42px;
  border-color: #D8E1EC;
  border-radius: 9px;
  font-size: 13.5px;
}
.pills {
  background: var(--r-card);
  border-color: var(--r-line);
  border-top-color: var(--r-line-soft);
  border-radius: 0 0 var(--dc-radius-lg) var(--dc-radius-lg);
  box-shadow: var(--dc-shadow-soft);
}
.pill {
  border-color: #DCE4EE;
  color: var(--slate);
  font-weight: 600;
  padding: 5px 12px;
}
.pill:hover:not(.on) { border-color: var(--accent); color: var(--accent); }
.pill.on {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.tab {
  border-color: #DCE4EE;
  border-radius: 10px;
  font-weight: 600;
  color: var(--slate);
}
.tab:hover:not(.on) { border-color: var(--accent); color: var(--accent); }
.tab.on { background: var(--accent); border-color: var(--accent); box-shadow: none; }

.count { color: var(--slate); }
.count b { color: var(--ink); }

 

.card {
  border-color: var(--r-line);
  border-radius: var(--dc-radius);
  box-shadow: var(--dc-shadow-soft);
  padding: 12px 18px;
}
.card:hover {
  border-color: var(--accent);
  box-shadow: var(--dc-shadow-lift);
  transform: translateY(-2px);
}
 
.card.inview {
  transform: none;
  border-color: var(--accent);
  box-shadow: var(--dc-shadow-lift);
}
.card.best { border: 1px solid var(--accent); box-shadow: 0 0 0 1px var(--accent), var(--dc-shadow-soft); }

.logo {
  border-radius: var(--dc-radius);
  box-shadow: none;
  font-weight: 800;
  font-size: 18px;
}
.cname { color: var(--ink); font-weight: 800; font-size: 16px; }
.cop, .cloc { color: var(--slate); }
.price { font-weight: 800; letter-spacing: -0.02em; }
.per { color: var(--slate); }

.voir {
  border-color: #D8E1EC;
  border-radius: 9px;
  font-weight: 600;
}
.voir:hover { border-color: var(--accent); color: var(--accent); background: #fff; }
.card .voir, .offercard .voir {
  background: var(--accent);
  border-color: var(--accent);
  font-weight: 700;
}
.card .voir:hover, .offercard .voir:hover { background: var(--accent2); border-color: var(--accent2); color: #fff; }
.cmp { color: var(--slate); }
.more { border-color: #D8E1EC; border-radius: 999px; font-weight: 600; }
.more:hover { border-color: var(--accent); color: var(--accent); }

 

 
.badge { border-radius: 6px; font-weight: 700; font-size: 10.5px; padding: 3px 8px; }
.badge.b { background: #E6EEFA; color: var(--accent); }
.badge.s { background: #EEF2F7; color: var(--slate); }
.badge.p { background: var(--dc-warn-bg); color: var(--dc-warn); }

.tag {
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  background: #EEF2F7;
  color: var(--slate);
  border: none;
}
.tag.tl { background: #E6EEFA; color: var(--accent); }
.tag.tg { background: var(--dc-ok-bg); color: var(--dc-ok); }
.real { background: var(--dc-ok-bg); color: var(--dc-ok); border-radius: 6px; font-weight: 700; font-size: 10.5px; }

 
.mwp .mwb { background: #12213A; border-radius: 10px; box-shadow: 0 10px 30px -12px rgb(10 22 40 / 0.45); }
.mwp.mwt { background: #EDF2FA; border-color: #D3DFEF; }
.mwp.mwt .mwbig { color: var(--accent); font-weight: 800; }

 

.ov { background: rgb(10 22 40 / 0.5); }
.panel {
  border-radius: var(--dc-radius-lg);
  box-shadow: 0 24px 64px -20px rgb(10 22 40 / 0.35);
  border: 1px solid var(--r-line);
  padding: 26px;
}
.ptitle { color: var(--ink); font-weight: 800; }
.x { background: #EEF2F7; border-radius: 8px; color: var(--slate); }
.x:hover { background: #E2E8F1; color: var(--ink); }

.spec {
  background: var(--r-card);
  border: 1px solid var(--r-line);
  border-radius: var(--dc-radius);
  padding: 12px 14px;
}
.spec .l { color: var(--slate); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.spec .v { color: var(--ink); font-size: 16px; font-weight: 700; }
.sec { color: var(--slate); font-size: 10.5px; letter-spacing: 0.09em; }

 
.dsec {
  background: var(--r-card);
  border: 1px solid var(--r-line);
  border-radius: var(--dc-radius);
  padding: 0 14px;
}
.dsec:hover { border-color: #CFDCEC; }
.dsec > summary { color: var(--ink); font-size: 13.5px; font-weight: 700; padding: 11px 0; }
.dsec[open] { padding-bottom: 12px; }

 
.calcbox {
  border: 1px solid var(--accent);
  background: #F4F8FD;
  border-radius: var(--dc-radius-lg);
  box-shadow: none;
  padding: 14px 16px;
}
.calctitle { color: var(--ink); font-weight: 800; font-size: 15px; }
.keybox { background: #EDF3FB; border-color: #D3E0F0; border-radius: var(--dc-radius); }
.resilbox { border-color: var(--r-line); border-radius: var(--dc-radius-lg); box-shadow: var(--dc-shadow-soft); }

 

.ctable { font-size: 12.5px; }
.ctable th {
  background: var(--r-page);
  color: var(--slate);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border-color: var(--r-line);
}
.ctable td { border-color: var(--r-line-soft); }

 

.btn { border-radius: 10px; font-weight: 700; }
.btn.p { background: var(--accent); color: #fff; box-shadow: none; }
.btn.p:hover { background: var(--accent2); box-shadow: 0 8px 20px -8px rgb(var(--accent-rgb) / 0.45); transform: none; filter: none; }
.btn.s { border-color: #D8E1EC; color: var(--ink); }
.btn.s:hover { border-color: var(--accent); color: var(--accent); background: #fff; }

.form label { color: var(--ink); font-size: 12.5px; font-weight: 600; }
.form input, .form select, .form textarea {
  border-color: #D8E1EC;
  border-radius: 9px;
  padding: 10px 12px;
  font-size: 13.5px;
}
.form input:focus, .form select:focus, .form textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / 0.14);
}
.req { color: var(--dc-alert); }
.xp-chip { border-color: #DCE4EE; border-radius: 999px; }
.xp-card { border-color: var(--r-line); border-radius: var(--dc-radius-lg); box-shadow: var(--dc-shadow-soft); }
.xp-num { border-radius: 8px; }
.xp-progbar > div { background: var(--accent); }
.xp-prog-top b { color: var(--accent); }

 

 
.adbanner {
  background: var(--r-page);
  border: 1px dashed #D3DDEA;
  border-radius: var(--dc-radius);
  padding: 12px 16px;
}
.adbanner .lab {
  color: var(--slate);
  font-size: 9.5px;
  letter-spacing: 0.1em;
  background: #fff;
  border: 1px solid var(--r-line);
  border-radius: 5px;
  padding: 2px 6px;
}

 

.spacecard {
  background: var(--r-card);
  border: 1px solid var(--r-line);
  border-radius: var(--dc-radius-lg);
  box-shadow: var(--dc-shadow-soft);
}
.spacecard:hover { border-color: var(--accent); box-shadow: var(--dc-shadow-lift); transform: translateY(-2px); }
.spacecard h3 { color: var(--ink); font-weight: 800; }
.spacecard .k { color: var(--accent); letter-spacing: 0.1em; }
.spacecard p { color: var(--slate); }
.spacecard .from { color: var(--accent); }

.step { background: var(--r-card); border: 1px solid var(--r-line); border-radius: var(--dc-radius); color: var(--ink); }
.step span { background: var(--accent); }

.footlinks button { border-color: #D8E1EC; border-radius: 8px; color: var(--slate); font-weight: 600; }
.footlinks button:hover { border-color: var(--accent); color: var(--accent); }
.foot, .legal { color: var(--slate); }
.seo h2 { color: var(--ink); font-weight: 800; }
.seo { color: var(--slate); border-top-color: var(--r-line); }

.chatbtn { background: var(--accent); box-shadow: 0 10px 26px -10px rgb(var(--accent-rgb) / 0.6); }
.chathead { background: var(--navy); }
.cmsg.me { background: var(--accent); }
.cmsg.bot { border-color: var(--r-line); }

 

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
::selection { background: rgb(var(--accent-rgb) / 0.16); }
::-webkit-scrollbar-thumb { background: #CBD5E1; border: 2px solid var(--r-page); }
::-webkit-scrollbar-thumb:hover { background: #AEBBCC; }

@media (prefers-reduced-motion: reduce) {
  .card:hover, .spacecard:hover { transform: none; }
}


 

 

h1 { font-size: 30px; line-height: 1.14; }
.shtitle, .hn-title { font-size: 30px; line-height: 1.14; }
.ptitle { font-size: 21px; line-height: 1.2; }
.seo h2 { font-size: 21px; }
.calctitle, .xp-title, .spacecard h3 { font-size: 17px; }
.sub, .shsub, .hn-sub { font-size: 14px; line-height: 1.55; }
.cop, .cloc, .cmp, .foot, .legal, .pb-hint, .xp-sub { font-size: 12.5px; }
.sec, .spec .l, .hbl, .badge, .real, .adbanner .lab, .xp-svc {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

 
.sub, .shsub, .hn-sub, .seo p, .pb-explain-b, .xp-explain,
details.intro p, .legaldoc p {
  max-width: 74ch;
  text-wrap: pretty;
}
.seo p { max-width: 78ch; }

 
h1, .hn-title, .ptitle, .cname { text-wrap: balance; }

 

.list { gap: 10px; }
.list .card { margin-bottom: 0; }  
.wrap { padding: 16px 32px 48px; }
.specs { gap: 12px; }
.row { gap: 8px; }
.pact { gap: 10px; margin-top: 20px; }

 
.dsec { margin-top: 12px; }
.calcbox { margin: 16px 0; }

 

.dc-real, .dc-decl, .dc-est, .dc-nd {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.dc-real::after {
  content: "réel";
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--dc-ok-bg);
  color: var(--dc-ok);
  border-radius: 5px;
  padding: 2px 5px;
}
.dc-decl::after {
  content: "déclaré";
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #E6EEFA;
  color: var(--accent);
  border-radius: 5px;
  padding: 2px 5px;
}
.dc-est::after {
  content: "estimation";
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--dc-warn-bg);
  color: var(--dc-warn);
  border: 1px solid var(--dc-warn-line);
  border-radius: 5px;
  padding: 1px 5px;
}
 
.dc-nd {
  color: var(--slate);
  font-style: normal;
  border-bottom: 1px dotted #B7C2D2;
}
.dc-locked {
  color: var(--accent);
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
}
.dc-locked:hover { text-decoration: underline; }

 
.dc-gap {
  background: var(--dc-warn-bg);
  border: 1px solid var(--dc-warn-line);
  border-radius: var(--dc-radius);
  padding: 12px 14px;
  font-size: 12.5px;
  color: var(--dc-warn);
  line-height: 1.55;
}
.dc-gap b { color: #8A3F07; }

 

 
.resilbox { padding: 20px; }
.resilres { margin-top: 18px; }
.resilres .spec .v { font-size: 17px; }

 
.card.subcard:hover { border-color: var(--accent); box-shadow: var(--dc-shadow-lift); }

 
.offercard { border-color: var(--r-line); border-radius: var(--dc-radius); box-shadow: var(--dc-shadow-soft); }
.offercard:hover { border-color: var(--accent); box-shadow: var(--dc-shadow-lift); transform: translateY(-2px); }

 
.card.techcard:hover { border-color: var(--accent); box-shadow: var(--dc-shadow-lift); }

 

.dc-skel {
  height: 84px;
  border-radius: var(--dc-radius);
  border: 1px solid var(--r-line);
  background:
    linear-gradient(90deg, #F1F5FA 0%, #F8FAFD 40%, #F1F5FA 80%) 0 0 / 300% 100%;
  animation: dcSkel 1.4s ease-in-out infinite;
}
@keyframes dcSkel { to { background-position: -150% 0; } }
@media (prefers-reduced-motion: reduce) { .dc-skel { animation: none; } }

 
.dc-empty {
  background: var(--r-card);
  border: 1px solid var(--r-line);
  border-radius: var(--dc-radius-lg);
  padding: 40px 24px;
  text-align: center;
}
.dc-empty b { display: block; font-size: 15px; color: var(--ink); margin-bottom: 6px; }
.dc-empty span { font-size: 13px; color: var(--slate); }

 

@media print {
  .bar, .promo, #adminbar, #partnerbar, #buyerbar, #connbar, #techbar,
  .chatbtn, .chatpanel, #cookiebar, .adbanner, .footlinks, .tray,
  .filters, .pills, .tabs, .more, #bgfx { display: none !important; }

  body { background: #fff; }
  .ov { position: static; background: none; display: block; padding: 0; }
  .panel { max-width: none; box-shadow: none; border: none; padding: 0; max-height: none; overflow: visible; }
  .card, .spec, .dsec, .calcbox { box-shadow: none; break-inside: avoid; }
   
  details { display: block !important; }
  details > *:not(summary) { display: block !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 10px; color: #555; }
}

 

 
 
.dc-guide{width:100%;max-width:1600px;margin:0 auto;padding:6px 16px 0}
.dc-guide-main{min-width:0;max-width:1216px;margin:0 auto}
 
.dc-rail{display:none}
@media (min-width:1280px){
  .dc-guide{display:grid;grid-template-columns:168px minmax(0,1fr) 168px;gap:24px;align-items:start;padding-left:40px;padding-right:40px}
  .dc-guide-main{max-width:none;margin:0}
  .dc-rail{display:block;min-width:0}
}
@media (min-width:1280px){.dc-guide{padding-left:40px;padding-right:40px}}

 
.stepper{display:flex;justify-content:safe center;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px;margin:10px 0 6px}
.stepper::-webkit-scrollbar{height:4px}
.stepper::-webkit-scrollbar-thumb{background:var(--dc-line-strong);border-radius:2px}
.step-btn{flex:0 0 auto;font:500 12px/1.4 var(--dc-font);padding:5px 12px;border-radius:var(--dc-r-pill);
  border:1px solid var(--dc-line);background:var(--dc-surface);color:#96A3B5;cursor:default;white-space:nowrap;
  transition:border-color .15s,color .15s,background .15s}
.step-btn.reach{cursor:pointer}
.step-btn.reach:hover{border-color:var(--dc-action);background:#FFFFFF}
 
 
.step-btn.done{color:var(--dc-proof);border-color:#B9E6CE;background:#FFFFFF}
 
.step-btn[aria-current="step"]{background:#FFFFFF;border-color:var(--dc-action);color:var(--dc-action);font-weight:700;cursor:default}
.step-btn:focus-visible{outline:2px solid var(--dc-action);outline-offset:2px}

 
.prog{height:3px;background:var(--dc-line);border-radius:var(--dc-r-pill);overflow:hidden;margin:0 0 16px}
.prog>i{display:block;height:100%;background:linear-gradient(90deg,var(--dc-action),#1552F0);border-radius:var(--dc-r-pill);transition:width .45s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.prog>i{transition:none}}

 
.studio{background:#F2F6FC;border:1px solid var(--dc-line);border-radius:var(--dc-r-4);position:relative;overflow:hidden;
  box-shadow:inset 0 1px 0 #fff,0 12px 30px -22px rgba(10,22,52,.28)}
.studio::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(21,66,133,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(21,66,133,.055) 1px,transparent 1px);
  background-size:32px 32px;mask-image:radial-gradient(130% 100% at 28% 0%,#000 25%,transparent 82%)}
.studio>*{position:relative}

 
.dc-guide-main{container-type:inline-size;container-name:dcguide}
.dc-split{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
 
.dc-split-aside{min-width:0;position:static;display:flex;flex-direction:column;gap:12px}
.dc-split-aside>*{margin-bottom:0!important;margin-top:0!important}
@media (min-width:1024px){
  .dc-split{grid-template-columns:minmax(0,1fr) var(--dc-aside,340px)}
  .dc-split-aside{position:sticky;top:74px}
}
 
@container (max-width:939px){
  .dc-split{grid-template-columns:minmax(0,1fr)}
  .dc-split-aside{position:static}
}
@container (min-width:940px){
  .dc-split{grid-template-columns:minmax(0,1fr) var(--dc-aside,340px)}
  .dc-split-aside{position:sticky;top:74px}
}

 
 
.dc-secs{container-type:inline-size;container-name:dcsec}
.dc-secs .sec{position:relative;padding:15px 22px;border-bottom:1px solid var(--dc-line);display:grid;gap:10px}
.dc-secs .sec:last-child{border-bottom:0}
 
.dc-secs .sec::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:2px;background:transparent;transition:background .2s ease}
.dc-secs .sec:focus-within::before{background:var(--dc-action)}
.dc-secs .sec-t{font:700 10.5px/1.4 var(--dc-font);text-transform:uppercase;letter-spacing:.1em;color:var(--dc-ink-2);transition:color .2s ease}
.dc-secs .sec:focus-within .sec-t{color:var(--dc-action)}
.dc-secs .sec-t span{text-transform:none;letter-spacing:normal;font-weight:400;font-size:11px;color:var(--dc-ink-3)}
.dc-secs .sec>div{display:grid;gap:12px;align-content:start}
 
.dc-secs .sec>div>*{margin-top:0!important}
 
@media (min-width:1024px){.dc-secs .sec{grid-template-columns:178px minmax(0,1fr);gap:10px 24px}.dc-secs .sec-t{padding-top:3px}}
@container dcsec (max-width:559px){.dc-secs .sec{grid-template-columns:minmax(0,1fr)}.dc-secs .sec-t{padding-top:0}}
@container dcsec (min-width:560px){.dc-secs .sec{grid-template-columns:178px minmax(0,1fr);gap:10px 24px}.dc-secs .sec-t{padding-top:3px}}

 
.dc-qnum{font:700 10px/1.4 var(--dc-font);letter-spacing:.08em;color:var(--dc-ink-2);font-variant-numeric:tabular-nums;margin-bottom:3px}

 
.dc-qnum{font:700 10px/1.4 var(--dc-font);letter-spacing:.08em;color:var(--dc-ink-2);font-variant-numeric:tabular-nums;margin-bottom:3px}

 
[aria-pressed]:focus-visible{outline:2px solid var(--dc-action);outline-offset:2px}

 
.dc-narrow{max-width:1000px;margin-left:auto;margin-right:auto}

 
 
body.dashmode.esp-dc .wrap{max-width:1900px}
body.dashmode.esp-client .wrap,body.dashmode.esp-admin .wrap{max-width:1600px}

 
.hero-vp{overflow:hidden}
.hero-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}
.hero-slide{flex:0 0 100%;min-width:100%}
 
 
.hero-slide{opacity:.3;transition:opacity .5s ease}
.hero-slide.is-active{opacity:1}
.hero-dots{display:flex;gap:7px;margin-top:12px}
 
.hero-dots:empty{display:flex;min-height:25px}
.hero-dot{width:26px;height:3px;border:0;padding:0;border-radius:99px;background:rgba(9,15,30,.15);cursor:pointer;transition:background .3s ease,width .3s ease}
.hero-dot.is-active{background-color:var(--dc-action)}
.hero-dot:focus-visible{outline:2px solid var(--dc-action);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.hero-track{transition:none}}

 
 
.searchwrap{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;max-width:1160px;margin:0 auto;
  background:var(--dc-surface);border:1px solid var(--dc-line);border-radius:var(--dc-r-pill);
  padding:8px 8px 8px 22px;box-shadow:var(--dc-sh-2);transition:box-shadow .2s,border-color .2s}
 
.searchwrap:focus-within{border-color:var(--dc-action);box-shadow:var(--dc-sh-2),0 0 0 4px rgba(21,66,133,.22)}
.sh-champ{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px}
.sh-loupe{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--dc-action);line-height:1}
.searchwrap #q{flex:1 1 auto;min-width:0;width:100%;height:auto;border:0;background:transparent;outline:none;
  padding:19px 4px;font:400 17px/1.3 var(--dc-font);color:var(--dc-ink);box-shadow:none}
.searchwrap #q::placeholder{color:var(--dc-ink-3)}
.shbtn{flex:0 0 auto;border:0;background:var(--dc-action);color:var(--dc-ink-inv);
  border-radius:var(--dc-r-pill);padding:0 24px;height:46px;font:600 14px/1 var(--dc-font);cursor:pointer;
  transition:background .15s}
.shbtn:hover{background:var(--dc-action-hover)}
.shbtn:focus-visible{outline:2px solid var(--dc-action);outline-offset:3px}
 
@media (max-width:639px){
  .searchwrap{flex-wrap:wrap;border-radius:var(--dc-r-4);padding:12px}
  .searchwrap #q{padding:12px 4px;font-size:16px}  
  .shbtn{width:100%}
}
 
body.guidemode .searchwrap{max-width:900px;padding:5px 5px 5px 16px;box-shadow:var(--dc-sh-1)}
body.guidemode .searchwrap #q{padding:11px 4px;font-size:15px}
body.guidemode .shbtn{height:38px;padding:0 18px;font-size:13px}

 
.adm-nav{display:none}
 
@media (min-width:1024px){
  body.dashmode.esp-admin:not(.dc-fiche) .wrap{display:grid;grid-template-columns:212px minmax(0,1fr);gap:24px;align-items:start}
  body.dashmode.esp-admin .wrap > *{grid-column:1 / -1}
  body.dashmode.esp-admin .wrap > #admNav{grid-column:1;grid-row:1}
  body.dashmode.esp-admin .wrap > #list{grid-column:2;grid-row:1}
  body.dashmode.esp-admin .adm-nav{display:block;position:sticky;top:74px;
    background:var(--dc-surface);border:1px solid var(--dc-line);border-radius:var(--dc-r-4);
    box-shadow:var(--dc-sh-1);padding:10px}
}
.adm-titre{font:var(--dc-t-meta);letter-spacing:var(--dc-ls-meta);text-transform:uppercase;
  color:var(--dc-ink-3);margin:0;padding:6px 10px 8px}
.adm-liste{display:flex;flex-direction:column;gap:2px}
.adm-item{display:block;width:100%;text-align:left;border:0;background:none;cursor:pointer;
  padding:8px 11px;border-radius:9px;font:600 13px/1.35 var(--dc-font);color:var(--dc-ink-2);
  transition:background .15s,color .15s}
.adm-item:hover{background:var(--dc-surface-3);color:var(--dc-ink)}
.adm-item.on,.adm-item[aria-current="page"]{background:#E6EEFA;color:var(--dc-action)}
.adm-item:focus-visible{outline:2px solid var(--dc-action);outline-offset:2px}

 
.dc-foot{border-top:1px solid var(--dc-line);margin-top:32px;padding-top:8px}
.dc-foot-in{max-width:1600px;margin:0 auto;padding:36px 4px 20px;display:grid;gap:32px;
  grid-template-columns:minmax(0,1fr);font:var(--dc-t-caption);color:var(--dc-ink-2)}
@media (min-width:640px){.dc-foot-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){
  .dc-foot-in{grid-template-columns:1.6fr repeat(4,minmax(0,1fr));padding-left:8px;padding-right:8px}
}
.dc-foot-marque img{height:44px;width:auto}
.dc-foot-desc{margin:12px 0 0;line-height:1.6;max-width:44ch}
.dc-foot-mail{display:inline-block;margin-top:12px;font-weight:600;color:var(--dc-ink);text-decoration:none}
.dc-foot-mail:hover{color:var(--dc-action);text-decoration:underline}
.dc-foot-t{margin:0 0 12px;font:700 13px/1.3 var(--dc-font);color:var(--dc-ink)}
.dc-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dc-foot-col a{color:var(--dc-ink-2);text-decoration:none}
.dc-foot-col a:hover{color:var(--dc-action);text-decoration:underline}
.dc-foot-col a:focus-visible{outline:2px solid var(--dc-action);outline-offset:2px;border-radius:3px}
 
.foot{border-top:1px solid var(--dc-line);padding-top:14px;margin-top:0}

 
 
#filtresToggle {border-radius:var(--dc-r-pill);border:1px solid var(--dc-line);
  padding:8px 16px;font:600 12.5px/1.2 var(--dc-font);color:var(--dc-ink);transition:border-color .15s}
#filtresToggle:hover{border-color:var(--dc-ink)}
.toprow #resetBtn{border-radius:var(--dc-r-pill);border:1px solid var(--dc-line);background:var(--dc-surface);
  padding:7px 16px;color:var(--dc-ink-2);transition:border-color .15s,color .15s}
.toprow #resetBtn:hover{border-color:var(--dc-ink);color:var(--dc-ink)}
.toprow .sortwrap select{border-radius:var(--dc-r-pill);border:1px solid var(--dc-line);background:var(--dc-surface);
  padding:7px 14px;font-weight:600}
.toprow #resetBtn:focus-visible,.toprow .sortwrap select:focus-visible,#filtresToggle:focus-visible{
  outline:2px solid var(--dc-action);outline-offset:2px}

 
.grp{border:1px solid var(--dc-line-strong);border-radius:var(--dc-r-4);background:var(--dc-surface-2);
  padding:12px;margin:8px 0;display:flex;flex-direction:column;gap:8px}
.grp-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:2px 4px 10px;
  border-bottom:1px dashed var(--dc-line-strong)}
.grp-id{display:flex;align-items:center;gap:10px;min-width:0}
.grp-nom{font:700 15px/1.2 var(--dc-font);color:var(--dc-ink)}
.grp-sub{font:var(--dc-t-caption);color:var(--dc-ink-2);margin-top:2px}
.grp-prix{margin-left:auto;font:600 13px/1.2 var(--dc-font);color:var(--dc-ink);white-space:nowrap}
.grp-tags{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.grp-lbl{font:var(--dc-t-meta);letter-spacing:var(--dc-ls-meta);text-transform:uppercase;color:var(--dc-ink-3);margin-right:2px}
 
.grp .card{box-shadow:none;margin:0}

 
.grp-plus{margin-top:2px}
.grp-plus>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border:1px solid var(--dc-line);border-radius:var(--dc-r-pill);
  background:var(--dc-surface);font:600 12.5px/1.2 var(--dc-font);color:var(--dc-action);
  transition:border-color .15s,background .15s}
.grp-plus>summary::-webkit-details-marker{display:none}
.grp-plus>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.grp-plus[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.grp-plus>summary:hover{border-color:var(--dc-action);background:#FFFFFF}
.grp-plus>summary:focus-visible{outline:2px solid var(--dc-action);outline-offset:2px}
.grp-plus[open]>summary{margin-bottom:8px}
.grp-plus .card+.card{margin-top:8px}

 
.spon-lbl{flex-wrap:wrap}
 
@media (max-width:520px){
  .spon-lbl>span:nth-child(2){flex:1 1 100%!important}
  .spon-lbl>span:last-child{display:none}
}

 
.vuetog{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--dc-line);border-radius:var(--dc-r-pill);background:var(--dc-surface)}
.vuetog button{border:0;background:none;cursor:pointer;padding:5px 14px;border-radius:var(--dc-r-pill);
  font:600 12.5px/1.2 var(--dc-font);color:var(--dc-ink-2);transition:background .15s,color .15s}
.vuetog button.on{background:var(--dc-ink);color:var(--dc-ink-inv);font-weight:700}
.vuetog button:not(.on):hover{color:var(--dc-ink)}
.vuetog button:focus-visible{outline:2px solid var(--dc-action);outline-offset:2px}
 
.carte-plein{position:static}
.carte-plein .vmap{height:min(72vh,680px)}
.carte-info{font:var(--dc-t-caption);color:var(--dc-ink-2);margin:2px 2px 10px}
.carte-info b{color:var(--dc-ink)}

 
.filters{border-radius:var(--dc-r-4) var(--dc-r-4) 0 0;padding:14px 16px;gap:12px}
.filters label{gap:6px}
.filters label>span{font:var(--dc-t-meta);letter-spacing:var(--dc-ls-meta);text-transform:uppercase;color:var(--dc-ink-3)}
.filters select{height:42px;border-radius:var(--dc-r-pill);border:1px solid var(--dc-line);
  padding:0 16px;font:400 13.5px/1.2 var(--dc-font);color:var(--dc-ink);background:var(--dc-surface);
  transition:border-color .15s,box-shadow .15s}
.filters select:hover{border-color:var(--dc-line-strong)}
.filters select:focus{outline:none;border-color:var(--dc-action);box-shadow:0 0 0 3px rgba(21,66,133,.14)}

 
#toprow{position:sticky;top:var(--dc-bar-h,48px);z-index:6;
  background:var(--dc-surface);border-radius:0 0 var(--dc-r-3) var(--dc-r-3);
  box-shadow:0 6px 14px -12px rgba(10,22,52,.45)}
@media (prefers-reduced-motion:no-preference){#toprow{transition:box-shadow .2s}}

 
@media (max-width:639px){
  .wrap{display:flex;flex-direction:column}
  .wrap>*{order:1}
  .wrap>#accueilGuide{order:2}
  .wrap>#accueilGuide2,.wrap>#howBlock,.wrap>#refBand,
  .wrap>.foot,.wrap>.dc-foot,.wrap>.legal{order:3}
   
  .heronavy .hn-title{font-size:26px;line-height:1.15}
  .heronavy .hn-sub{font-size:13px;line-height:1.45}
  .heronavy .hn-in{padding-top:10px;padding-bottom:10px}
}

 
.vlist,.dc-split>div:first-child,.grp{container-type:inline-size;container-name:dclist}

 
.vlist .card,.dc-split>div:first-child .card{flex-wrap:nowrap;align-items:center;padding:10px 12px;gap:12px}
.vlist .card .cr-h,.dc-split>div:first-child .card .cr-h{display:none}
.vlist .card .cr-specs,.dc-split>div:first-child .card .cr-specs{display:none}
.vlist .card .cr-id{flex:1 1 auto;min-width:0;flex-direction:row;align-items:center;gap:10px}
.vlist .card .cr-id>.cr-h{display:none}
.vlist .card .logo,.vlist .card .cr-id>img{width:40px;height:40px;flex:0 0 auto;font-size:14px}
.vlist .card .cr-cost,.vlist .card .cr-score,.vlist .card .cr-act{flex:0 0 auto;border-left:0;padding-left:0}
.vlist .card .cr-cost{max-width:180px}
.vlist .card .cr-act{min-width:0}
 
.vlist .cols-head,.dc-split>div:first-child .cols-head{display:none}

 
@media (max-width:639px){
  #list>.adbanner{order:5}
}

 
#cmpBaseWrap{font:var(--dc-t-caption);color:var(--dc-ink-2);margin:6px 2px 10px}
#cmpBaseWrap:empty{display:none}
@media (max-width:639px){
   
  #toprow{gap:8px;padding:8px 10px}
  #toprow .count{flex:0 1 auto;order:0;white-space:nowrap}
  #toprow .sortwrap label{display:contents}
  #toprow .sortwrap label>:not(select){display:none}
  #toprow .sortwrap select{padding:0 12px}
  #toprow #resetBtn{font-size:0;padding:0 12px;min-width:44px;min-height:44px;
    display:inline-flex;align-items:center;justify-content:center}
  #toprow #resetBtn svg{margin:0}
  #toprow .vuetog{order:1}
  #toprow .sortwrap{order:2}
  #toprow #resetBtn{order:3}
}

 
#list > h1.dcx-h1, #list > h1.dcx-h2, #list > h1.dcx-h3 { text-align: start; }
#list > .dcx-btn, #list > .dcx-chip, #list > .dcx-pill, #list > .dcx-badge { align-self: flex-start; }
#list > .dcx-row { align-items: center; }

 
.besoins{max-width:none;margin:26px 0 8px;padding:0;text-align:left}
.besoins .bes-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 12px;margin:0 0 12px}
.besoins .bes-h2{font-size:19px;font-weight:800;letter-spacing:-.022em;line-height:1.2;color:var(--dc-ink);margin:0;text-wrap:balance}
.besoins .bes-chapo{font-size:12.5px;color:var(--dc-ink-2);margin:0}
.besoins .bes-libre{font-size:11.5px;color:var(--dc-ink-2);margin:0 0 0 auto}

 
.besoins .bes-portes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:12px}

.besoins .bes-porte{position:relative;overflow:hidden;padding:14px 16px;cursor:pointer;text-decoration:none;color:inherit}
.besoins .bes-porte:focus-visible{outline:2px solid var(--dc-brand);outline-offset:3px}
 
.besoins .bes-porte::before{content:"";position:absolute;inset:0 0 auto;height:2px}
.besoins .bes-construire::before{background:linear-gradient(90deg,#154285,#2E6BC4)}
.besoins .bes-trouver::before{background:linear-gradient(90deg,#006C46,#17A06B)}
 
.besoins .bes-porte::after{content:"";position:absolute;right:-60px;top:-70px;width:240px;height:240px;border-radius:50%;pointer-events:none;opacity:.5;transition:opacity .18s}
.besoins .bes-construire::after{background:radial-gradient(closest-side,rgba(21,66,133,.10),transparent 70%)}
.besoins .bes-trouver::after{background:radial-gradient(closest-side,rgba(0,108,70,.10),transparent 70%)}
.besoins .bes-porte:hover::after{opacity:.9}

.besoins .bes-tete{position:relative;display:flex;align-items:center;gap:12px}
.besoins .bes-ico{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--dc-brand);color:#fff;display:flex;align-items:center;justify-content:center}
.besoins .bes-txt{min-width:0}
.besoins .bes-eyebrow{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;margin:0}
.besoins .bes-construire .bes-eyebrow,.besoins .bes-construire .bes-go{color:#154285}
.besoins .bes-trouver .bes-eyebrow,.besoins .bes-trouver .bes-go{color:#006C46}
.besoins .bes-t{font-size:15.5px;font-weight:800;line-height:1.25;margin:0}
.besoins .bes-s{font-size:12.5px;color:var(--dc-ink-2);margin:2px 0 0;line-height:1.3}
.besoins .bes-pied{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:10px}
.besoins .bes-go{font-size:12.5px;font-weight:700}
.besoins .bes-note{font-size:11px;color:var(--dc-ink-2);margin-left:auto}

.besoins .bes-ou{font-size:12.5px;font-weight:800;color:var(--dc-ink);margin:14px 0 8px}
.besoins .bes-fams{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(168px,100%),1fr));gap:8px}
@media(max-width:520px){.besoins .bes-fams{grid-template-columns:repeat(2,1fr)}}
.besoins .bes-fam{position:relative;display:flex;align-items:center;gap:9px;background:var(--dc-surface);border:1px solid var(--dc-line);border-radius:10px;padding:8px 10px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.besoins .bes-fam:hover{border-color:var(--dc-brand);box-shadow:0 10px 24px -14px rgba(10,22,52,.22);transform:translateY(-1px)}
.besoins .bes-fam:focus-visible{outline:2px solid var(--dc-brand);outline-offset:2px}
.besoins .bes-fam-ico{flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:#E6EEFA;color:#154285;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.besoins .bes-fam:hover .bes-fam-ico{background:#154285;color:#fff}
.besoins .bes-fam-ico svg{width:15px;height:15px}
.besoins .bes-fam-txt{min-width:0;display:block}
.besoins .bes-fam-t{display:block;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.besoins .bes-fam-e{display:block;font-size:10.5px;color:var(--dc-ink-2);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 
.besoins .bes-fam-tag{position:absolute;top:-6px;right:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#A35A00;background:#FDF6E9;border:1px solid #F0DCBE;border-radius:5px;padding:0 6px;line-height:15px}
@media(prefers-reduced-motion:reduce){.besoins .bes-porte:hover,.besoins .bes-fam:hover{transform:none}}

 
h1.hn-title { text-align: start; }

@media (pointer: coarse) {
  .pill { min-height: 44px; padding-top: 0; padding-bottom: 0; display: inline-flex; align-items: center; }
  .vuetog { align-items: center; }
  .vuetog button { min-height: 40px; padding-left: 16px; padding-right: 16px; }
  .voir, .btn, .tab { min-height: 44px; }
  .besoins .bes-fam { min-height: 48px; }
  .dc-foot-col a, .legal button, .legal a { display: inline-block; min-height: 40px; line-height: 40px; }
  select, input[type="text"], input[type="number"], input[type="email"], input[type="password"] { min-height: 44px; }
}

 
 
.dcx-reslist .dcx-res > .cr-col { order: 0; align-self: start; justify-content: flex-start; }
.dcx-reslist .dcx-res > .cr-col > .cr-h + * { min-height: 46px; }
.dcx-reslist .dcx-res > .cr-col.cr-cost > .cr-h + *,
.dcx-reslist .dcx-res > .cr-col.cr-score > .cr-h + * { display: flex; align-items: center; }
.dcx-reslist .dcx-res > .cr-col.cr-specs > .tags { align-content: flex-start; }
.dcx-reslist .dcx-res > .cr-col.cr-id { align-items: center; }
 
.dcx-reslist .dcx-res-sub { min-height: 0 !important; margin-top: 2px; flex: 0 0 auto; }

 
.vlist { container-type: inline-size; container-name: reslist; }

 
@media (max-width: 640px) {
   
  .tabs, .pills {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 30px), transparent);
            mask-image: linear-gradient(to right, #000 calc(100% - 30px), transparent);
  }
  .tabs > *, .pills > * { scroll-snap-align: start; flex: 0 0 auto; }
  .tabs { padding-bottom: 2px; }

   
  .toprow { gap: 6px 10px; padding: 5px 10px; }
  .toprow .count { flex: 1 1 auto; }
  .toprow .voir { min-height: 38px; }

   
  .heronavy { padding-top: 8px; padding-bottom: 6px; }
  .hn-in { padding-top: 4px; padding-bottom: 4px; }

   
  .heroband { padding-top: 6px; padding-bottom: 6px; gap: 6px; }
  .hbfoot { margin-top: 4px; line-height: 1.35; }

   
  .hn-trust {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 26px), transparent);
            mask-image: linear-gradient(to right, #000 calc(100% - 26px), transparent);
  }
  .hn-trust > * { flex: 0 0 auto; }
}

 
body:not(.vue-accueil) #besoins { display: none !important; }
body.guidemode #besoins, body.dashmode #besoins, body.marchemode #besoins { display: none !important; }

 
 
.dcx-reslist {
  container-type: inline-size;
  container-name: res;
  --dcx-res-grid: minmax(180px, 1.6fr) minmax(132px, 1fr) 92px minmax(132px, 1fr) 150px;
}
.dcx-reslist .dcx-res { grid-template-columns: var(--dcx-res-grid); }

 
.dcx-reslist .dcx-res > .cr-col > .cr-h + * { min-height: var(--dcx-head, 44px); }

@container res (max-width: 1040px) {
  .dcx-reslist .dcx-res { grid-template-columns: minmax(0, 1fr) 150px; }
  .dcx-reslist .dcx-res { --dcx-head: 0px; }
  .dcx-reslist .dcx-res > .cr-col > .cr-h + * { min-height: 0; }
}

 
.dcx-reslist .dcx-res > .cr-col { min-width: 0; }

@container res (max-width: 680px) {
  .dcx-reslist .dcx-res { grid-template-columns: minmax(0, 1fr); }
  .dcx-reslist .dcx-res > .cr-col { grid-column: 1; }
  .dcx-reslist .dcx-res > .cr-act { border-left: 0; padding-left: 0; }
  .dcx-reslist .dcx-res .voir { width: 100%; }
}

 
 
.dcx #hbDcCount, .dcx #hbOpCount, .dcx .count b, .dcx .count strong,
.dcx .hcm-num, .dcx .grp-prix, .dcx .per,
.dcx .heroband .n, .dcx .stat-v, .dcx .kpi-n {
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-variant-numeric: tabular-nums;
}
 
.dcx .tag { font-variant-numeric: tabular-nums; }

 
@media (min-width: 1024px) {
  .dcx-reslist .dcx-res > .cr-col > .cr-h:first-child { display: none; }
}
.dcx-reslist .dcx-res > .cr-col { order: 0; align-self: start; justify-content: flex-start; }
.dcx-reslist .dcx-res > .cr-col > .cr-h + * { min-height: var(--dcx-head, 44px); }
.dcx-reslist .dcx-res > .cr-col.cr-specs > .tags { align-content: flex-start; }
.dcx-reslist .dcx-res-sub { min-height: 0 !important; margin-top: 2px; flex: 0 0 auto; }

 
#cmpBase { display: block; max-width: 100%; }

 
 
body > .bar { position: sticky; top: 0; }

 
.ov .panel,
.ov .card,
.ov .xp-card,
.ov .offercard {
  background: var(--dcx-panel, #FFFFFF);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

 
:root:root {
  --glass: #FFFFFF;
}

 
.dcx .card, .dcx .offercard, .dcx .spacecard, .dcx .xp-card, .dcx .resilbox,
.dcx .panel, .dcx .spec, .dcx .dsec, .dcx .keybox,
.dcx .filters, .dcx .pills, .dcx .step, .dcx .heronavy .hb {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

 
.dcx .card, .dcx .offercard, .dcx .spacecard, .dcx .xp-card, .dcx .resilbox,
.dcx .panel, .dcx .spec, .dcx .dsec, .dcx .keybox, .dcx .heronavy .hb {
  border-color: #FFFFFF;
}

 
.dcx .dcx-card, .dcx .dcx-res, .dcx .dcx-res:hover {
  background: #FFFFFF;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-color: #FFFFFF;
}
 
.dcx .dcx-res:hover { border-color: var(--acc, #1B4FD1); }

 
.dcx .card:hover, .dcx .offercard:hover, .dcx .spacecard:hover,
.dcx .calcbox, .dcx .heronavy .hb {
  background: #FFFFFF;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

 
.dcx .btn.s:hover, .dcx .voir:hover, .dcx .more:hover,
.dcx .footlinks button:hover, .dcx .partner:hover,
.dcx .navdd-menu button:hover, .dcx .tab:hover, .dcx .pill:hover {
  background: #FFFFFF;
}
.dcx .x, .dcx .x:hover { background: #FFFFFF; }
.dcx .dc-sp-card > .filters > label:focus-within,
.dcx .dc-sp-card > .filters > .f:focus-within { background: #FFFFFF; }

 
.dcx .xp-dom > summary, .dcx .xp-dom > summary:hover { background: #FFFFFF; }

 
.dcx .advf, .dcx .advf > summary { background: #FFFFFF; }


 
.hero-dot {
  height: 25px;
  padding: 11px 0;
  background-clip: content-box;
}
.dc-foot-col ul a {
  display: inline-block;
  padding: 3px 0;
  min-height: 24px;
}

 
.searchwrap{animation:dcBarPulse 2s ease-in-out infinite}
.searchwrap .sh-loupe{animation:dcLoupePulse 2s ease-in-out infinite}
.searchwrap:hover,.searchwrap:focus-within{animation:none;border-color:var(--dc-action);
  box-shadow:var(--dc-sh-2),0 0 0 4px rgba(21,66,133,.14),0 0 18px 1px var(--dc-halo,rgba(224,137,46,.28))}
@keyframes dcBarPulse{0%{box-shadow:var(--dc-sh-2),0 0 0 0 rgba(21,66,133,.45)}70%,100%{box-shadow:var(--dc-sh-2),0 0 0 12px rgba(21,66,133,0)}}
@keyframes dcLoupePulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.22);opacity:1}}
@media (prefers-reduced-motion:reduce){.searchwrap,.searchwrap .sh-loupe{animation:none}}

 
.dc-guide{
   
  --dc-r-1: 4px;
  --dc-r-2: 8px;
  --dc-r-3: 12px;
  --dc-r-4: 16px;
  --dc-r-pill: 999px;
  --dc-radius: 8px;
  --dc-radius-lg: 12px;
   
  --r-1: 8px;
}

 
.dc-guide .ctable th, .dc-guide .ctable td, .dc-guide .badge,
.dc-guide .tag, .dc-guide .real{border-radius:0}

 
 
.dc-guide .step-btn{padding:8px 12px}
.dc-guide input[type=checkbox]{width:20px;height:20px;accent-color:var(--dc-action)}

 
@media (min-width:1280px) and (max-width:1599.98px){
  #list .dc-guide{display:block;padding-left:16px;padding-right:16px}
  #list .dc-guide-main{max-width:1216px;margin:0 auto}
  #list .dc-rail{display:none}
}

 
body.vue-finder{
  --dc-r-1: 4px;
  --dc-r-2: 8px;
  --dc-r-3: 12px;
  --dc-r-4: 16px;
  --dc-r-pill: 999px;
  --dc-radius: 8px;
  --dc-radius-lg: 12px;
  --r-1: 8px;
}

 
body.vue-finder .ctable th, body.vue-finder .ctable td,
body.vue-finder .badge, body.vue-finder .tag, body.vue-finder .real{border-radius:0}

 
input[type="number"]::placeholder,
input[inputmode="numeric"]::placeholder,
input[inputmode="decimal"]::placeholder{font-family:var(--font-sans);font-variant-numeric:normal}
