/* ==========================================================================
   DS DÉPARTEMENTS — styles des pages locales
   ========================================================================== */
.dsd{
  --bg:#0B0B0D;--bg2:#0F0F13;--surf:#16161B;--surf2:#1D1D24;
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
  --tx:#F4F4F6;--mut:#9E9EAB;--dim:#6F6F7C;
  --red:#E11D2A;--red2:#FF3B45;--redk:#A9121C;
  --redsoft:rgba(225,29,42,.12);--glow:rgba(225,29,42,.35);
  --r:18px;--ez:cubic-bezier(.22,.61,.36,1);
  --font:"Inter",system-ui,-apple-system,sans-serif;
  --disp:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  background:var(--bg);color:var(--tx);font-family:var(--font);display:block;
}
.dsd *{box-sizing:border-box}
.dsd a{color:inherit;text-decoration:none}
.dsd h1,.dsd h2,.dsd h3{font-family:var(--disp);font-weight:800;letter-spacing:-.025em;
  line-height:1.14;color:var(--tx);margin:0}
.dsd h1{font-size:clamp(1.9rem,4vw,3rem);margin:18px 0 16px}
.dsd h2{font-size:clamp(1.5rem,2.8vw,2.1rem);margin:0 0 20px}
.dsd h3{font-size:1.08rem;margin:0 0 8px}
.dsd p{margin:0 0 14px;color:var(--mut)}

.dsd__wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.dsd__sec{padding:64px 0}
.dsd__sec--alt{background:linear-gradient(180deg,var(--bg),var(--bg2) 50%,var(--bg))}

.dsd__hero{position:relative;overflow:hidden;padding:56px 0 52px;
  background:linear-gradient(165deg,#15151B,#0B0B0D 62%)}
.dsd__hero::before{content:"";position:absolute;top:-190px;left:14%;width:680px;height:440px;
  background:radial-gradient(50% 50% at 50% 50%,var(--glow) 0%,transparent 70%);
  filter:blur(56px);pointer-events:none}
.dsd__hero .dsd__wrap{position:relative}

.dsd__fil{font-size:.82rem;color:var(--dim);margin-bottom:18px}
.dsd__fil a{color:var(--mut)}
.dsd__fil a:hover{color:var(--red2)}

.dsd__eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red2);background:var(--redsoft);
  border:1px solid rgba(225,29,42,.28);border-radius:999px;padding:7px 15px}
.dsd__lead{max-width:70ch;font-size:1.02rem}

.dsd__cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.dsd__btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:600;font-size:.95rem;padding:13px 26px;border-radius:999px;
  background:linear-gradient(135deg,var(--red),var(--redk));color:#fff;
  border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 40px -18px var(--glow);
  transition:transform .22s var(--ez),filter .22s var(--ez)}
.dsd__btn:hover{transform:translateY(-2px);filter:brightness(1.08);color:#fff}
.dsd__btn--ghost{background:rgba(255,255,255,.04);border:1px solid var(--line2);
  box-shadow:none;color:var(--tx)}
.dsd__btn--ghost:hover{background:rgba(255,255,255,.09);border-color:var(--red)}

.dsd__stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.dsd__stats div{background:var(--surf);border:1px solid var(--line);border-radius:14px;
  padding:14px 18px;min-width:120px}
.dsd__stats b{display:block;font-family:var(--disp);font-size:1.3rem;color:#fff;line-height:1.2}
.dsd__stats span{font-size:.78rem;color:var(--dim)}

.dsd__grid{display:grid;gap:20px}
.dsd__grid--3{grid-template-columns:repeat(3,1fr)}
.dsd__card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);
  padding:24px;transition:transform .3s var(--ez),border-color .3s var(--ez)}
.dsd__card:hover{transform:translateY(-4px);border-color:var(--line2)}
.dsd__card p{font-size:.94rem;margin-bottom:12px}
.dsd__card a{color:var(--red2);font-weight:600;font-size:.9rem}

.dsd__villes{display:flex;flex-wrap:wrap;gap:10px}
.dsd__villes span{background:var(--surf);border:1px solid var(--line);border-radius:999px;
  padding:10px 17px;font-size:.9rem;color:var(--mut)}

.dsd__faq details{background:var(--surf);border:1px solid var(--line);border-radius:14px;
  margin-bottom:11px;overflow:hidden}
.dsd__faq details[open]{border-color:rgba(225,29,42,.4)}
.dsd__faq summary{cursor:pointer;list-style:none;padding:18px 52px 18px 22px;position:relative;
  font-family:var(--disp);font-weight:700;font-size:1rem}
.dsd__faq summary::-webkit-details-marker{display:none}
.dsd__faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-size:1.45rem;font-weight:400;color:var(--red2);transition:transform .25s var(--ez)}
.dsd__faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.dsd__faq details>div{padding:0 22px 20px;color:var(--mut);font-size:.95rem}
.dsd__faq a{color:var(--red2)}

.dsd__final{background:linear-gradient(140deg,#17171D,#0C0C10);border:1px solid var(--line2);
  border-radius:26px;padding:44px 34px;text-align:center}
.dsd__final .dsd__cta{justify-content:center}
.dsd__final p{max-width:56ch;margin-left:auto;margin-right:auto}
.dsd__mail{margin-top:22px;font-size:.88rem;color:var(--dim)}
.dsd__mail a{color:var(--tx);font-weight:600}

.dsd__region{font-size:1.1rem!important;margin:34px 0 14px!important;padding-left:13px;
  border-left:3px solid var(--red)}
.dsd__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.dsd__list a{background:var(--surf);border:1px solid var(--line);border-radius:13px;
  padding:14px 17px;display:block;transition:border-color .25s var(--ez),transform .25s var(--ez)}
.dsd__list a:hover{border-color:var(--red);transform:translateY(-2px)}
.dsd__list b{display:block;color:var(--tx);font-weight:600;font-size:.95rem}
.dsd__list span{color:var(--dim);font-size:.8rem}
.dsd__all{margin-top:22px}
.dsd__all a{color:var(--red2);font-weight:600}

@media (max-width:1024px){.dsd__grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){
  .dsd__sec{padding:46px 0}
  .dsd__hero{padding:38px 0 40px}
  .dsd__grid--3{grid-template-columns:1fr}
  .dsd__final{padding:32px 20px;border-radius:20px}
  .dsd__btn{width:100%}
  .dsd__list{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.dsd *{transition:none!important}}
