/* ==========================================================================
   DELEKY'S — styles des pages (complète tokens.css de deleky-design).
   Aucune règle en ligne dans le HTML (CSP stricte) : tout est ici.
   ========================================================================== */

/* ---------- Utilitaires ---------- */
.mt-0{margin-top:0}.mt-2{margin-top:var(--dk-s2)}.mt-3{margin-top:var(--dk-s3)}.mt-4{margin-top:var(--dk-s4)}.mt-6{margin-top:var(--dk-s6)}.mt-8{margin-top:var(--dk-s8)}.mt-12{margin-top:var(--dk-s12)}
.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--dk-s2)}.mb-4{margin-bottom:var(--dk-s4)}.mb-6{margin-bottom:var(--dk-s6)}
.txt-center{text-align:center}.txt-right{text-align:right}.w-100{width:100%}.nowrap{white-space:nowrap}
.fond-surface{background:var(--dk-surface)}
.etroit{max-width:820px}.tres-etroit{max-width:520px;margin-left:auto;margin-right:auto}
.lien-blanc{color:#fff!important;border:0;justify-content:center}
.masque{display:none!important}
.bandeau{background:var(--dk-ocre-500);color:var(--dk-ink);text-align:center;font-weight:600;padding:8px 16px;font-size:var(--dk-fs-sm)}
.sep{border:0;border-top:1px solid var(--dk-line);margin:var(--dk-s6) 0}
.prose h2{font-size:var(--dk-fs-xl);margin-top:var(--dk-s6)}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:6px}
.mention-avocat{margin-top:var(--dk-s8);padding-top:var(--dk-s4);border-top:1px solid rgba(255,255,255,.12);font-size:var(--dk-fs-xs);color:#AFBCC0;max-width:60em}
.pied-copy{color:#7F9197;margin-top:var(--dk-s3)}
.mention-tunnel{font-size:var(--dk-fs-xs);color:var(--dk-muted);margin-top:var(--dk-s4)}

/* ---------- Accueil (maquette 01) ---------- */
.hero{background:radial-gradient(1200px 500px at 85% -10%,var(--dk-lagune-100),transparent 60%),var(--dk-sable);padding:var(--dk-s10) 0 var(--dk-s12)}
.hero__grid{display:grid;gap:var(--dk-s8);align-items:center}
@media (min-width:1024px){.hero__grid{grid-template-columns:1.15fr .85fr}.hero{padding:var(--dk-s16) 0}}
.hero h1{position:relative;z-index:0}
.hero h1 em{font-style:normal;color:var(--dk-lagune-700);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.22em;background:var(--dk-ocre-500);opacity:.45;z-index:-1;border-radius:4px}
.hero__lead{font-size:var(--dk-fs-lg);color:var(--dk-ink-2);max-width:36em}
.quick{display:grid;gap:10px;margin:var(--dk-s6) 0 var(--dk-s5)}
@media (min-width:640px){.quick{grid-template-columns:repeat(3,1fr)}}
.quick a{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;background:var(--dk-surface);border:1.5px solid var(--dk-line);border-radius:var(--dk-r-md);color:var(--dk-ink);text-decoration:none;font-weight:600;line-height:1.25}
.quick a:hover{border-color:var(--dk-lagune-700);box-shadow:var(--dk-shadow-2)}
.quick small{display:block;font-weight:400;color:var(--dk-muted);font-size:var(--dk-fs-xs)}
.reassure-ligne{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.hero__visuel{position:relative}
.suivi-demo{background:var(--dk-surface);border-radius:var(--dk-r-lg);box-shadow:var(--dk-shadow-3);padding:var(--dk-s5);border:1px solid var(--dk-line)}
.suivi-demo .dk-timeline li{padding-bottom:var(--dk-s4)}
.suivi-demo__tete{margin-bottom:16px}
.sceau{position:absolute;right:-8px;top:-18px;background:var(--dk-ocre-500);color:var(--dk-ink);font:700 12px/1.2 var(--dk-font-titre);padding:10px 14px;border-radius:14px;transform:rotate(3deg);box-shadow:var(--dk-shadow-2)}
.tl-date{margin:0}
.chiffres{background:var(--dk-lagune-800);color:#fff}
.chiffres .dk-grid{text-align:center;padding:var(--dk-s8) 0}
.chiffres strong{display:block;font:700 var(--dk-fs-2xl) var(--dk-font-titre);color:var(--dk-ocre-500)}
.chiffres span{font-size:var(--dk-fs-sm);color:#CFE6DD}
.cat-tabs{margin-bottom:var(--dk-s6)}
.etapes{counter-reset:e;margin-top:24px}
.etape{position:relative;padding-top:var(--dk-s10)}
.etape::before{counter-increment:e;content:counter(e);position:absolute;top:0;left:0;width:36px;height:36px;border-radius:50%;background:var(--dk-ink);color:var(--dk-ocre-500);display:grid;place-items:center;font:700 16px var(--dk-font-titre)}
.berceau{background:var(--dk-nuit);color:#DCE4E6;border-radius:var(--dk-r-lg);padding:var(--dk-s8) var(--dk-s5)}
@media (min-width:768px){.berceau{padding:var(--dk-s12)}}
.berceau h2{color:#fff}.berceau .dk-eyebrow{color:var(--dk-ocre-500)}.berceau p{max-width:44em}
.phase{border-left:3px solid var(--dk-ocre-500);padding-left:var(--dk-s4)}
.phase h3{color:#fff}
.faq details{border-bottom:1px solid var(--dk-line)}
.faq summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--dk-lagune-700)}
.faq details[open] summary::after{content:"−"}
.cta-final{background:linear-gradient(135deg,var(--dk-lagune-700),var(--dk-lagune-900));color:#fff;border-radius:var(--dk-r-lg);padding:var(--dk-s8) var(--dk-s5);text-align:center}
.cta-final h2{color:#fff}.cta-final p{color:#CFE6DD}.cta-final .dk-row{justify-content:center}
.btn-clair{color:#fff;border-color:rgba(255,255,255,.5)}
.wa{position:fixed;right:16px;bottom:16px;z-index:45;width:56px;height:56px;border-radius:50%;background:var(--dk-lagune-700);color:#fff;display:grid;place-items:center;box-shadow:var(--dk-shadow-3)}
.wa svg{width:26px;height:26px}.wa:hover{color:#fff;background:var(--dk-lagune-800)}
.carte-desc{margin:0}
.titre-cat{margin-top:48px}

/* ---------- Fiche service (maquette 02) ---------- */
.fil{font-size:var(--dk-fs-sm);color:var(--dk-muted);padding:var(--dk-s4) 0 0}
.fil a{color:var(--dk-muted)}
.fs-grid{display:grid;gap:var(--dk-s8);padding:var(--dk-s6) 0 var(--dk-s16)}
@media (min-width:1024px){.fs-grid{grid-template-columns:1fr 380px;align-items:start}.fs-aside{position:sticky;top:92px}}
.prix-box .gros{font:700 2rem var(--dk-font-titre);color:var(--dk-lagune-700)}
.formules{display:grid;gap:var(--dk-s4)}
@media (min-width:768px){.formules{grid-template-columns:repeat(3,1fr)}}
.formule{position:relative}
.formule--reco{border:2px solid var(--dk-lagune-700)}
.formule ul{padding-left:0;list-style:none;margin:12px 0 0}
.formule li{padding:6px 0;border-bottom:1px solid var(--dk-line-2);font-size:var(--dk-fs-sm)}
.deroule{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:d}
.deroule li{display:flex;gap:14px;align-items:flex-start}
.deroule li::before{counter-increment:d;content:counter(d);flex:none;width:32px;height:32px;border-radius:50%;background:var(--dk-lagune-50);color:var(--dk-lagune-700);font-weight:700;display:grid;place-items:center}
.pieces{list-style:none;padding:0;margin:0}
.pieces li{padding:10px 0;border-bottom:1px solid var(--dk-line-2)}
.barre-mobile{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--dk-surface);border-top:1px solid var(--dk-line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;box-shadow:0 -6px 20px rgba(19,33,43,.08)}
@media (min-width:1024px){.barre-mobile{display:none}}
body.avec-barre{padding-bottom:80px}
@media (min-width:1024px){body.avec-barre{padding-bottom:0}}
.info-notaire{margin-top:var(--dk-s4)}

/* ---------- Tunnel (maquette 03) ---------- */
body.tunnel{background:var(--dk-sable)}
.t-head{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}
.t-head .dk-wrap{padding-top:10px;padding-bottom:12px}
.t-head__lib{font-size:var(--dk-fs-sm);color:var(--dk-muted);margin:0 0 6px}
.t-grid{display:grid;gap:var(--dk-s6);padding:var(--dk-s6) 0 var(--dk-s12)}
@media (min-width:1024px){.t-grid{grid-template-columns:1fr 360px;align-items:start}.t-aside{position:sticky;top:90px}}
.etape-card{background:var(--dk-surface);border:1px solid var(--dk-line);border-radius:var(--dk-r-lg);padding:var(--dk-s5)}
@media (min-width:768px){.etape-card{padding:var(--dk-s8)}}
.nav-etapes{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:var(--dk-s6);padding-top:var(--dk-s5);border-top:1px solid var(--dk-line-2)}
.recap{list-style:none;padding:0;margin:0 0 12px;font-size:var(--dk-fs-sm)}
.recap li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--dk-line)}
.recap li .a-confirmer{color:var(--dk-attente);font-weight:600;white-space:nowrap}
.total{display:flex;justify-content:space-between;align-items:baseline;font-weight:700}
.total strong{font:700 1.5rem var(--dk-font-titre);color:var(--dk-lagune-700)}
.sous-total{display:flex;justify-content:space-between;font-size:var(--dk-fs-sm);color:var(--dk-muted);padding:4px 0}
.pay{display:grid;gap:10px}
@media (min-width:640px){.pay{grid-template-columns:repeat(2,1fr)}}
.tuile-desactivee{opacity:.55;cursor:not-allowed}
.champ-erreur .dk-input,.champ-erreur .dk-select,.champ-erreur .dk-textarea{border-color:var(--dk-alerte)}
.rep-ligne{position:relative}
.rep-ligne__tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--dk-s2)}
.rep-ligne__tete strong{font-family:var(--dk-font-titre)}
.rep-grille{display:grid;gap:0 var(--dk-s4);grid-template-columns:1fr}
@media (min-width:640px){.rep-grille{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.rep-grille--3{grid-template-columns:repeat(3,1fr)}}
.rep-grille .dk-field{margin-bottom:var(--dk-s3)}
.rep-liste{margin:0;padding-left:1.2em}
.rep-liste li{margin-bottom:6px}
.recap-bloc{margin-bottom:var(--dk-s5)}
.recap-bloc h3{border-bottom:1px solid var(--dk-line);padding-bottom:6px}
.recap-dl{display:grid;grid-template-columns:1fr;gap:4px 16px;margin:0}
@media (min-width:640px){.recap-dl{grid-template-columns:minmax(160px,34%) 1fr}}
.recap-dl dt{color:var(--dk-muted);font-size:var(--dk-fs-sm)}
.recap-dl dd{margin:0 0 8px}
.opt-aide{display:block;font-weight:400;color:var(--dk-muted);font-size:var(--dk-fs-xs)}
.formule-avantages{margin:6px 0 0;padding-left:1.1em;font-size:var(--dk-fs-xs);color:var(--dk-muted);font-weight:400}

/* ---------- Espace client (maquette 04) ---------- */
.ec-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}
.ec-top .dk-wrap{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap}
.ec-nom{margin-right:auto}
.ec-tabs{border-bottom:0}
.ec-grid{display:grid;gap:var(--dk-s5)}
@media (min-width:1024px){.ec-grid{grid-template-columns:1.2fr .8fr;align-items:start}}
.dossier-head{background:linear-gradient(135deg,var(--dk-lagune-700),var(--dk-lagune-900));color:#fff;border-radius:var(--dk-r-lg);padding:var(--dk-s5);margin-bottom:var(--dk-s5)}
@media (min-width:768px){.dossier-head{padding:var(--dk-s8)}}
.dossier-head h1{font-size:var(--dk-fs-2xl);color:#fff;margin-bottom:4px}
.dossier-head p{color:#CFE6DD;margin:0}
.jauge{display:flex;align-items:center;gap:12px;margin-top:16px}
.jauge .dk-progress{flex:1;background:rgba(255,255,255,.2)}
.jauge .dk-progress span{background:var(--dk-ocre-500)}
.dk-progress span.p0{width:0}.dk-progress span.p5{width:5%}.dk-progress span.p10{width:10%}.dk-progress span.p15{width:15%}.dk-progress span.p20{width:20%}.dk-progress span.p25{width:25%}.dk-progress span.p30{width:30%}.dk-progress span.p35{width:35%}.dk-progress span.p40{width:40%}.dk-progress span.p45{width:45%}.dk-progress span.p50{width:50%}.dk-progress span.p55{width:55%}.dk-progress span.p60{width:60%}.dk-progress span.p65{width:65%}.dk-progress span.p70{width:70%}.dk-progress span.p75{width:75%}.dk-progress span.p80{width:80%}.dk-progress span.p85{width:85%}.dk-progress span.p90{width:90%}.dk-progress span.p95{width:95%}.dk-progress span.p100{width:100%}
.action{border:2px solid var(--dk-ocre-500);background:var(--dk-ocre-50)}
.piece{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--dk-line-2);flex-wrap:wrap}
.piece:last-child{border-bottom:0}
.piece__nom{flex:1;min-width:200px}
.piece form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.piece input[type=file]{max-width:260px;font-size:var(--dk-fs-sm)}
.livrable{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 12px;border:1px solid var(--dk-line);border-radius:var(--dk-r-md);text-decoration:none;color:var(--dk-ink);margin-bottom:8px}
.livrable:hover{border-color:var(--dk-lagune-700)}
.livrable svg{width:20px;height:20px;flex:none;color:var(--dk-lagune-700)}
.msgs{max-height:480px;overflow-y:auto;padding-right:4px}
.msg{padding:10px 14px;border-radius:14px;max-width:88%;font-size:var(--dk-fs-sm);margin-bottom:8px}
.msg--eux{background:var(--dk-line-2);border-bottom-left-radius:4px}
.msg--moi{background:var(--dk-lagune-700);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.msg--interne{background:var(--dk-ocre-50);border:1px dashed var(--dk-ocre-500)}
.msg small{display:block;opacity:.75;font-size:11px;margin-top:4px}
.msg p{margin:0;white-space:pre-wrap}
.carte-dossier{display:flex;flex-direction:column;gap:8px}

/* ---------- Formulaires simples ---------- */
.form-carte{max-width:520px;margin:var(--dk-s8) auto}
.form-2col{display:grid;gap:0 var(--dk-s4)}
@media (min-width:640px){.form-2col{grid-template-columns:1fr 1fr}}
.case{display:flex;gap:10px;align-items:flex-start;font-size:var(--dk-fs-sm)}
.case input{width:20px;height:20px;margin-top:2px;accent-color:var(--dk-lagune-700);flex:none}

/* ---------- Back-office (maquette 05) ---------- */
body.bo{background:#F4F2EE}
.dk-side .dk-logo{color:#fff;margin-bottom:var(--dk-s2)}
.bo-user{margin-top:var(--dk-s6);padding-top:var(--dk-s4);border-top:1px solid rgba(255,255,255,.12);font-size:var(--dk-fs-xs)}
.bo-user a{color:#E8EEF0}
.bo-nav-mobile{display:flex;gap:6px;overflow-x:auto;padding:8px var(--dk-s4);background:var(--dk-nuit)}
.bo-nav-mobile a{color:#E8EEF0;white-space:nowrap;font-size:var(--dk-fs-sm);padding:6px 10px;border-radius:8px;text-decoration:none}
.bo-nav-mobile a[aria-current="page"]{background:var(--dk-lagune-700)}
@media (min-width:1024px){.bo-nav-mobile{display:none}}
.filtres{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:16px 0}
.filtres .dk-field{margin:0}
@media (min-width:1024px){.filtres{grid-template-columns:2fr repeat(3,1fr) auto}}
.filtres .recherche{grid-column:1/-1}
@media (min-width:1024px){.filtres .recherche{grid-column:auto}}
.filtres .dk-btn{align-self:end}
.ref{font-weight:700;color:var(--dk-ink);text-decoration:none}
.ref:hover{color:var(--dk-lagune-700);text-decoration:underline}
.retard{color:var(--dk-alerte);font-weight:700}
.etape-mini{display:flex;gap:3px;margin-top:4px}
.etape-mini i{width:14px;height:5px;border-radius:3px;background:var(--dk-line)}
.etape-mini i.f{background:var(--dk-ok)}.etape-mini i.c{background:var(--dk-ocre-500)}
.kpis{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media (min-width:1024px){.kpis{grid-template-columns:repeat(4,1fr)}}
.bo-grid{display:grid;gap:var(--dk-s5)}
@media (min-width:1200px){.bo-grid{grid-template-columns:1.3fr 1fr;align-items:start}}
.bo-titre{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:var(--dk-s4)}
.bo-titre h1{font-size:var(--dk-fs-2xl);margin:0}
.bo-etape{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--dk-line-2);flex-wrap:wrap}
.bo-etape__lib{flex:1;min-width:180px}
.bo-etape form{display:flex;gap:6px;flex-wrap:wrap}
.inline-form{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.table-actions{display:flex;gap:6px;flex-wrap:wrap}
.repeteur-bo .dk-repeteur__ligne{padding:var(--dk-s3) var(--dk-s4)}
.bo-ligne-grille{display:grid;gap:0 var(--dk-s3);grid-template-columns:1fr}
@media (min-width:900px){.bo-ligne-grille--q{grid-template-columns:1.2fr 1.6fr 1fr 1fr}.bo-ligne-grille--f{grid-template-columns:1fr 1.4fr 1fr 2fr .8fr}.bo-ligne-grille--o{grid-template-columns:2fr 1fr 2fr .8fr}.bo-ligne-grille--e{grid-template-columns:2fr 2.4fr .8fr .8fr}.bo-ligne-grille--p{grid-template-columns:2fr 2.4fr .8fr}.bo-ligne-grille--fr{grid-template-columns:1.6fr 1fr 1.2fr}.bo-ligne-grille--t{grid-template-columns:1.2fr 1.8fr 1fr 1fr 1fr}}
.bo-ligne-grille .dk-field{margin-bottom:var(--dk-s2)}
.bo-ligne-grille .large{grid-column:1/-1}
.ligne-outils{display:flex;gap:4px;justify-content:flex-end}
.ligne-outils button{min-width:36px;min-height:36px;border:1px solid var(--dk-line);background:var(--dk-surface);border-radius:8px;cursor:pointer}
.ligne-outils .dk-suppr{border:0}
details.plus>summary{cursor:pointer;color:var(--dk-lagune-700);font-weight:600;font-size:var(--dk-fs-sm);min-height:36px;display:flex;align-items:center}
.onglets-bo{margin-bottom:var(--dk-s5)}
.code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:var(--dk-line-2);padding:1px 6px;border-radius:5px}
.dk-table td .dk-input,.dk-table td .dk-select{min-height:38px;padding:6px 10px}
.barre-enregistrer{position:sticky;bottom:0;background:rgba(244,242,238,.95);padding:12px 0;border-top:1px solid var(--dk-line);display:flex;gap:10px;justify-content:flex-end;z-index:5}
[data-lignes]{counter-reset:ligne}
.rep-ligne{counter-increment:ligne}
.rep-num::before{content:counter(ligne)}
[hidden]{display:none!important}
@media print{.masque-impression,.dk-header,.dk-footer,.wa{display:none!important}body{background:#fff}}
.gros-montant{font-size:var(--dk-fs-lg)}
.barre-contact{background:var(--dk-nuit);font-size:var(--dk-fs-xs)}
.barre-contact .dk-wrap{display:flex;gap:18px;justify-content:flex-end;min-height:32px;align-items:center;flex-wrap:wrap}
.barre-contact a{color:#DCE4E6;text-decoration:none}
.barre-contact a:hover{color:var(--dk-ocre-500)}
.dk-fs-xl{font-size:var(--dk-fs-xl)}.dk-fs-2xl{font-size:var(--dk-fs-2xl)}
