/* ==========================================================================
   Droit administratif — composants page-only (préfixe adm-)
   Chargé uniquement par avocat-droit-administratif-strasbourg.html.
   Aucun JavaScript. Palette site : marine #07111f, bleu #163dff, citron #d8ff72.
   ========================================================================== */
/* —— Hero CTAs sur fond sombre —— */
.adm-hero .guide-hero-actions{margin-top:28px}
.adm-hero .adm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 22px;border-radius:12px;font-size:12px;font-weight:800;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.adm-hero .adm-btn:hover{transform:translateY(-1px)}
.adm-hero .adm-btn-gold{background:var(--gold);color:var(--ink)}
.adm-hero .adm-btn-gold:hover{background:#fff}
.adm-hero .adm-btn-ghost{
  color:#fff;background:transparent;border:1px solid #ffffff55;
}
.adm-hero .adm-btn-ghost:hover{background:#ffffff18;border-color:#fff}
.adm-hero .adm-btn-phone{color:var(--gold);padding:0 4px;min-height:44px;font-weight:750}
.adm-hero .adm-btn-phone:hover{color:#fff}
.adm-hero .guide-hero-copy{min-width:0}
.adm-urgency{
  display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:22px;
  color:var(--ink);background:var(--gold);border-radius:999px;
  padding:8px 14px;font-size:10px;font-weight:800;letter-spacing:.04em;
  width:auto;max-width:100%;white-space:normal;box-sizing:border-box;
}
.adm-urgency span{opacity:.7;font-weight:700}

/* —— Entrée par situation —— */
.adm-situations{
  margin:28px 0 8px;padding:clamp(28px,4vw,48px);
  background:#fff;border:1px solid var(--line);border-radius:28px;
  scroll-margin-top:125px;
}
.adm-situations-head{display:grid;gap:10px;margin-bottom:22px;max-width:640px}
.adm-situations-head .section-number{color:var(--forest)}
.adm-situations-head h2{
  letter-spacing:-.05em;margin:0;
  font:630 clamp(28px,3.6vw,44px)/1.05 Inter,ui-sans-serif,system-ui,sans-serif;
}
.adm-situations-head p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}
.adm-situations-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
}
.adm-sit-card{
  display:flex;flex-direction:column;gap:14px;min-height:168px;
  padding:20px 18px;border-radius:18px;background:var(--cream);
  border:1px solid #0c172412;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;
}
.adm-sit-card:hover{
  transform:translateY(-3px);border-color:#163dff52;background:#fff;
  box-shadow:0 16px 40px #07111f12;
}
.adm-sit-card.adm-sit-urgent{
  background:linear-gradient(160deg,#07111f 30%,#163dff 140%);color:#fff;
  border-color:transparent;
}
.adm-sit-card.adm-sit-urgent:hover{
  box-shadow:0 18px 44px #163dff44;border-color:#d8ff7255;
}
.adm-sit-card>span{
  color:var(--forest);letter-spacing:.12em;text-transform:uppercase;
  font-size:8px;font-weight:850;
}
.adm-sit-card.adm-sit-urgent>span{color:var(--gold)}
.adm-sit-card strong{
  letter-spacing:-.035em;margin-top:auto;
  font:620 clamp(15px,1.4vw,18px)/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
}
.adm-sit-card small{color:var(--muted);font-size:10px;line-height:1.45}
.adm-sit-card.adm-sit-urgent small{color:#b8c4d4}
.adm-sit-card b{
  color:var(--forest);font-size:14px;font-weight:400;align-self:flex-end;
}
.adm-sit-card.adm-sit-urgent b{color:var(--gold)}

/* —— Cartes d’intervention détaillées —— */
.adm-interventions-grid{
  display:grid;grid-template-columns:1fr;gap:12px;margin:28px 0 0;
}
.adm-int-card{
  background:#fff;border:1px solid #0c172414;border-radius:20px;
  padding:clamp(22px,3vw,28px);scroll-margin-top:130px;
  display:grid;grid-template-columns:64px 1fr;gap:18px 22px;
}
.adm-ancre{display:block;height:0;scroll-margin-top:140px}
.adm-int-card>span{
  width:52px;height:52px;border-radius:14px;place-items:center;display:grid;
  background:var(--cream);color:var(--forest);
  font:800 12px/1 Inter,ui-sans-serif,system-ui,sans-serif;
}
.adm-int-card.adm-int-urgent>span{background:var(--ink);color:var(--gold)}
.adm-int-card h3{
  letter-spacing:-.04em;margin:0 0 8px;
  font:620 clamp(20px,2.2vw,26px)/1.15 Inter,ui-sans-serif,system-ui,sans-serif;
}
.adm-int-card p{color:#354353;margin:0 0 12px;font-size:13px;line-height:1.7}
.adm-int-card ul{
  display:grid;gap:8px;margin:0;padding:0;list-style:none;
  grid-column:2;
}
.adm-int-card li{
  color:#263545;background:var(--cream);border-radius:12px;
  padding:12px 14px 12px 40px;font-size:12px;line-height:1.5;position:relative;
}
.adm-int-card li:before{
  content:"→";color:var(--forest);font-weight:900;position:absolute;left:16px;
}
.adm-int-meta{
  grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;
}
.adm-int-meta span{
  border:1px solid #0c17241f;border-radius:999px;padding:6px 11px;
  font-size:9px;font-weight:750;color:#3a4a5c;background:#fff;
}
.adm-int-meta .adm-tag-urgent{
  background:var(--ink);color:var(--gold);border-color:transparent;
}
.adm-int-meta a{
  border:1px solid #0c17241f;border-radius:999px;padding:6px 11px;
  font-size:9px;font-weight:750;color:#3a4a5c;background:#fff;text-decoration:none;
}
.adm-int-meta a:hover{border-color:var(--forest);color:var(--forest)}

/* —— Timeline 4 étapes —— */
.adm-timeline{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;margin:30px 0 0;padding:0;list-style:none;position:relative;
}
.adm-timeline:before{
  content:"";position:absolute;top:28px;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,var(--forest),#163dff33);
}
.adm-timeline li{
  z-index:1;background:#fff;border:1px solid #0c172414;border-radius:18px;
  padding:20px;min-height:200px;display:flex;flex-direction:column;gap:10px;
  position:relative;
}
.adm-timeline li>span{
  width:38px;height:38px;border-radius:50%;place-items:center;display:grid;
  background:var(--forest);color:#fff;font-size:10px;font-weight:850;
  box-shadow:0 0 0 7px var(--paper);
}
.adm-timeline strong{
  letter-spacing:-.03em;margin-top:auto;
  font:620 16px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
}
.adm-timeline small{color:var(--muted);font-size:11px;line-height:1.55}

/* —— Checklist pièces —— */
.adm-checklist{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0 0;
  padding:0;list-style:none;
}
.adm-checklist li{
  display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;
  background:#fff;border:1px solid #0c172412;border-radius:14px;
  padding:16px 18px;font-size:13px;line-height:1.5;color:#263545;
}
.adm-checklist li:before{content:none}
.adm-checklist li>span{
  width:24px;height:24px;border-radius:7px;border:1.5px solid var(--forest);
  display:grid;place-items:center;color:var(--forest);font-size:11px;font-weight:900;
  margin-top:1px;
}

/* —— CTA final premium —— */
.adm-final-cta{
  color:#fff;
  background:radial-gradient(circle at 100% 0,#163dff99,#0000 34rem),
    linear-gradient(145deg,#07111f 18%,#102988 150%);
  border-radius:32px;margin:0 0 34px;padding:clamp(42px,6vw,74px);
  display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(36px,6vw,70px);
  align-items:center;scroll-margin-top:125px;
}
.adm-final-cta .section-number{color:var(--gold)}
.adm-final-cta h2{
  letter-spacing:-.055em;margin:16px 0 0;max-width:18ch;
  font:630 clamp(34px,4.5vw,58px)/1 Inter,ui-sans-serif,system-ui,sans-serif;
}
.adm-final-cta>div:first-child>p{
  color:#bdc8d7;max-width:52ch;margin:18px 0 0;font-size:14px;line-height:1.7;
}
.adm-final-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.adm-final-actions a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 22px;border-radius:12px;font-size:12px;font-weight:800;
  transition:background .2s,transform .2s,border-color .2s;
}
.adm-final-actions a:hover{transform:translateY(-1px)}
.adm-final-actions .adm-btn-gold{background:var(--gold);color:var(--ink)}
.adm-final-actions .adm-btn-gold:hover{background:#fff}
.adm-final-actions .adm-btn-ghost{
  color:#fff;border:1px solid #ffffff55;background:transparent;
}
.adm-final-actions .adm-btn-ghost:hover{background:#ffffff18}
.adm-final-panel{
  background:#ffffff12;border:1px solid #ffffff29;border-radius:22px;padding:26px;
  display:grid;gap:14px;
}
.adm-final-panel small{
  color:var(--gold);letter-spacing:.13em;text-transform:uppercase;
  font-size:8px;font-weight:850;
}
.adm-final-panel a{
  color:#edf2f8;border-bottom:1px solid #ffffff1f;padding:12px 0;
  font-size:13px;font-weight:650;display:flex;justify-content:space-between;gap:12px;
  min-height:44px;align-items:center;
}
.adm-final-panel a:last-of-type{border:0}
.adm-final-panel a:hover{color:var(--gold)}
.adm-final-panel a span{color:#8fa1b8;font-size:11px}
.adm-final-note{
  color:#aab7c7;margin:8px 0 0;font-size:10px;line-height:1.55;
}

/* —— Ajustements page —— */
.adm-page .guide-content>section{margin-bottom:78px}
.adm-page .guide-body{padding-top:72px}
.adm-rail-urgent{
  margin-top:14px;padding-top:14px;border-top:1px solid #0c172417;
}
.adm-rail-urgent strong{
  display:block;color:var(--ink);font-size:11px;font-weight:800;margin-bottom:6px;
}
.adm-rail-urgent a{
  color:var(--forest);font-size:11px;font-weight:750;
  border-bottom:1px solid;display:inline-block;margin-top:4px;
}

/* —— Responsive —— */
@media (max-width:1100px){
  .adm-situations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adm-timeline{grid-template-columns:1fr 1fr}
  .adm-timeline:before{display:none}
}
@media (max-width:800px){
  .adm-situations-grid{grid-template-columns:1fr}
  .adm-sit-card{min-height:0}
  .adm-int-card{grid-template-columns:1fr}
  .adm-int-card ul,.adm-int-meta{grid-column:1}
  .adm-timeline{grid-template-columns:1fr}
  .adm-checklist{grid-template-columns:1fr}
  .adm-final-cta{grid-template-columns:1fr}
  .adm-hero .guide-hero-actions{flex-direction:column;align-items:stretch}
  .adm-hero .adm-btn{width:100%}
  .adm-urgency{font-size:9px;white-space:normal;width:auto}
}

/* Nébuleuse au survol du hero — réutilise .cedh-ciel / ciel-nuit (même technique
   que la page CEDH / pénal / étrangers). Le sommaire « Sur cette page » doit rester au-dessus. */
.adm-hero.cedh-hero-ciel > .guide-index{position:relative;z-index:1}
.adm-hero.cedh-hero-ciel > .guide-hero-copy,
.adm-hero.cedh-hero-ciel > .adm-urgency{position:relative;z-index:1}

/* Juridictions compétentes (bloc local de « Comprendre ») */
.adm-page #comprendre>h3{margin:34px 0 12px;letter-spacing:-.03em;font:620 clamp(20px,2.2vw,24px)/1.2 Inter,ui-sans-serif,system-ui,sans-serif}
/* Responsabilité éditoriale : espace avant les sections de liens */
.adm-page>.cedh-auteur{margin-bottom:34px}
