/* ==========================================================================
   Outils interactifs (studio) : complète style.css (mêmes tokens Shootiful, Inter Tight, cartes, pastilles).
   Aucun style en ligne (CSP style-src 'self') : tout passe par des classes.
   ========================================================================== */

/* ---------- Fil d'Ariane + présentation compacte ---------- */
/* Toujours visible : collé en haut de l'écran, sur un bandeau forêt ; la page en cours en pastille orange */
.crumbs{position:sticky;top:0;z-index:30;background:var(--forest);border-bottom:1px solid rgb(255 255 255/.08);font-size:13px;box-shadow:0 4px 12px -6px rgb(0 0 0/.35)}
.crumbs .wrap{display:flex;align-items:center;gap:6px;min-height:44px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.crumbs .wrap::-webkit-scrollbar{display:none}
.crumbs a{color:rgb(255 255 255/.78);text-decoration:none;font-weight:600;padding:4px 8px;border-radius:var(--r-pill);transition:background .15s,color .15s}
.crumbs a:first-child{padding-left:0}
.crumbs a:hover{color:#fff;background:rgb(255 255 255/.1)}
.crumbs a:first-child:hover{padding-left:8px;margin-left:-8px}
.crumbs .sep{color:var(--orange-400);font-weight:900}
.crumbs [aria-current]{color:#fff;font-weight:800;background:var(--orange);padding:4px 12px;border-radius:var(--r-pill)}
.crumbs :focus-visible{outline-color:#fff}
/* Les autres éléments collants se placent sous le fil d'Ariane ; le bouton « haut de page » passe en bas */
.st-filter{top:44px}
@media(min-width:960px){.split .sticky{top:60px}}
.st-cat,.gl-letter,.gl-item,.fm{scroll-margin-top:190px}
.to-top{top:auto;bottom:16px}
.st-hero{padding:56px 0 32px}
@media(min-width:768px){.st-hero{padding:72px 0 40px}.st-hero h1{font-size:48px}}
.st-main{padding-top:8px;padding-bottom:64px}

/* ---------- Page d'ensemble des outils ---------- */
.st-filter{position:sticky;z-index:10;background:var(--background);padding:12px 0 10px;margin-bottom:8px;box-shadow:0 0 0 100vmax var(--background),0 1px 0 100vmax var(--border);clip-path:inset(0 -100vmax -1px)}
.st-filter .search input{padding-right:16px}
.st-jump .chip{text-decoration:none}
.st-cat{margin-top:16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);box-shadow:var(--card-shadow);padding:24px;position:relative;display:flex;flex-direction:column;gap:20px}
@media(min-width:768px){.st-cat{padding:32px}}
.st-cat-head{display:flex;flex-direction:column;gap:8px}
.st-cat-head .g-meta{margin:0}
.st-cat-head .count{font:700 12px var(--font);text-transform:uppercase;color:var(--muted-fg)}
.st-cat-title{margin:0;font:900 24px/1.2 var(--font)}
@media(min-width:768px){.st-cat-title{font-size:36px}}
.st-cat-desc{margin:0;max-width:70ch}
.st-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:768px){.st-grid{grid-template-columns:repeat(2,1fr)}}
.st-tile{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:var(--r-xl);padding:16px 18px;text-decoration:none;color:var(--muted-fg);transition:border-color .15s}
.st-tile:hover{border-color:rgb(9 9 11/.3)}
.dark .st-tile:hover{border-color:var(--base-600)}
.st-ico{width:44px;height:44px;border-radius:var(--r-lg);background:var(--background);border:1px solid var(--border);display:grid;place-items:center;font-size:22px}
.st-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.st-name{font:700 15px/1.3 var(--font);color:var(--heading)}
.st-desc{font-size:13px;line-height:1.5}
.st-go{width:32px;height:32px;border-radius:50%;border:1px solid var(--btn2-border);display:grid;place-items:center;color:var(--foreground);transition:background .15s,color .15s,border-color .15s}
.st-tile:hover .st-go{background:var(--orange);border-color:var(--orange);color:#fff}
.st-tile[hidden],.st-cat[hidden]{display:none}
/* 1 catégorie sur 3 en forêt, comme sur la page principale */
.st-cat:nth-child(3n+1){background:var(--forest);border-color:rgb(255 255 255/.05);border-radius:var(--r-2xl);box-shadow:var(--shadow-2xl);color:#e4e4e7;overflow:hidden}
.st-cat:nth-child(3n+1) .st-cat-title{color:#fff}
.st-cat:nth-child(3n+1) .count{color:rgb(255 255 255/.6)}
.st-cat:nth-child(3n+1) .st-tile{background:rgb(255 255 255/.05);border-color:rgb(255 255 255/.1);color:rgb(255 255 255/.72)}
.st-cat:nth-child(3n+1) .st-tile:hover{border-color:rgb(255 255 255/.35)}
.st-cat:nth-child(3n+1) .st-name{color:#fff}
.st-cat:nth-child(3n+1) .st-ico{background:rgb(255 255 255/.08);border-color:transparent}
.st-cat:nth-child(3n+1) .st-go{border-color:rgb(255 255 255/.2);color:#fff}
.st-cat:nth-child(3n+1) :focus-visible{outline-color:#fff}
.st-none{text-align:center;padding:48px 16px}
.st-none b{display:block;font:900 24px var(--font);margin-bottom:6px}
.st-related{padding-bottom:64px}
.st-rel-title{font:900 24px/1.2 var(--font);margin:0 0 16px}
.st-rel-title em{font-style:normal;color:var(--orange)}
.st-all{margin:20px 0 0;display:flex;justify-content:center}

/* ---------- Briques des outils ---------- */
.st-tool{display:flex;flex-direction:column;gap:16px}
.panel-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);box-shadow:var(--card-shadow);padding:20px;min-width:0}
@media(min-width:768px){.panel-card{padding:28px}}
.panel-card h2,.panel-h{margin:0 0 4px;font:900 20px/1.25 var(--font);color:var(--heading)}
.panel-card h2 em,.panel-h em{font-style:normal;color:var(--orange)}
.panel-sub{margin:0 0 16px;font-size:13px}
.panel-card.forest{background:var(--forest);border-color:rgb(255 255 255/.05);color:#e4e4e7;box-shadow:var(--shadow-2xl);border-radius:var(--r-2xl)}
.panel-card.forest h2,.panel-card.forest h3,.panel-card.forest b{color:#fff}
.split{display:grid;gap:16px;grid-template-columns:1fr;align-items:start}
@media(min-width:960px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split.wide-r{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.split .sticky{position:sticky}}
.row2{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:560px){.row2{grid-template-columns:1fr 1fr}.row3{grid-template-columns:1fr 1fr 1fr}}
.stack{display:flex;flex-direction:column;gap:14px}
.hr{border:0;border-top:1px solid var(--border);margin:6px 0}
.sec-label{margin:8px 0 0;font:900 11px/1.3 var(--font);text-transform:uppercase;letter-spacing:.12em;color:var(--eyebrow-fg)}

/* Champs */
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld>span,.fld>legend{font:700 13px/1.3 var(--font);color:var(--heading);padding:0}
.fld small,.hint{font-size:12px;color:var(--muted-fg);line-height:1.5}
fieldset.fld{border:0;margin:0;padding:0}
.in,.fld input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.fld select,.fld textarea{width:100%;min-height:44px;font:400 14px var(--font);color:var(--foreground);padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--background);outline:none;transition:border-color .15s,box-shadow .15s}
.fld textarea{min-height:88px;resize:vertical;line-height:1.5}
.fld select{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted-fg) 50%),linear-gradient(135deg,var(--muted-fg) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.in:focus,.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:transparent;box-shadow:0 0 0 2px var(--orange)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--base-400);opacity:1}
.fld input[type=range]{accent-color:var(--orange);width:100%}
.counter{align-self:flex-end;font:500 11px var(--mono);color:var(--muted-fg)}
.counter.over{color:var(--red);font-weight:700}

/* Options à cocher en pastilles */
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opt{position:relative;display:inline-flex}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--btn2-border);background:var(--btn2-bg);color:var(--btn2-fg);border-radius:var(--r-pill);padding:7px 13px;font:500 13px/1.2 var(--font);min-height:36px;transition:border-color .15s,background .15s}
.opt:hover span{border-color:rgb(9 9 11/.3)}
.dark .opt:hover span{border-color:var(--base-500)}
.opt input:checked+span{background:var(--base-900);border-color:var(--base-900);color:#fff;font-weight:700}
.dark .opt input:checked+span{background:#f4f4f5;border-color:#f4f4f5;color:var(--base-950)}
.opt input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.opt input[type=checkbox]:checked+span::before{content:"✓";font-weight:900}
/* Interrupteur oui / non */
.switch{display:flex;align-items:center;gap:10px;cursor:pointer;font:500 14px var(--font);color:var(--foreground)}
.switch input{appearance:none;-webkit-appearance:none;width:40px;height:24px;border-radius:99px;background:var(--base-300);position:relative;flex:none;cursor:pointer;margin:0;transition:background .15s}
.dark .switch input{background:var(--base-700)}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s}
.switch input:checked{background:var(--orange)}
.switch input:checked::after{transform:translateX(16px)}

/* Boutons */
.btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn2{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--btn2-border);background:var(--btn2-bg);color:var(--btn2-fg);border-radius:var(--r-sm);padding:8px 12px;min-height:40px;font:500 14px/1.25 var(--font);cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s}
.btn2:hover{border-color:rgb(9 9 11/.3)}
.dark .btn2:hover{border-color:var(--base-500)}
.btn2:disabled,.btn2[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}
.btn2.sm{min-height:32px;padding:5px 10px;font-size:13px}
.btn-primary{border:0;cursor:pointer;min-height:40px}
.btn-primary.lg{padding:12px 18px;font-weight:700;font-size:15px}
.linkish{border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.forest .btn2{background:transparent;border-color:rgb(255 255 255/.25);color:#fff}

/* Encadrés */
.callout{display:flex;gap:12px;align-items:flex-start;border-radius:var(--r-lg);padding:14px 16px;background:var(--tile-bg);border:1px solid var(--tile-border);font-size:13px;line-height:1.55;color:var(--foreground)}
.callout>.ci{flex:none;font-size:18px;line-height:1.2}
.callout p{margin:0}
.callout p+p{margin-top:6px}
.callout.warn{background:rgb(255 105 0/.07);border-color:rgb(255 105 0/.28)}
.callout.ok{background:var(--free-bg);border-color:transparent}
.callout.bad{background:rgb(231 0 11/.07);border-color:rgb(231 0 11/.25)}
.callout a{color:var(--heading);font-weight:700;text-decoration-color:var(--orange);text-underline-offset:3px}
.vchecks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.vchecks li{position:relative;padding-left:28px;font-size:13px;line-height:1.5}
.vchecks li::before{position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font:900 11px/1 var(--font)}
.vchecks li.ok::before{content:"✓";background:var(--free-bg);color:var(--free-fg)}
.vchecks li.warn::before{content:"!";background:rgb(255 105 0/.15);color:var(--orange-600)}
.vchecks li.bad::before{content:"×";background:rgb(231 0 11/.12);color:var(--red)}
/* Lien bienveillant vers les juristes de l'annuaire */
.lawyer{display:flex;gap:14px;align-items:center;border-radius:var(--r-xl);padding:16px;background:var(--forest);color:#e4e4e7;text-decoration:none;box-shadow:var(--shadow-lg)}
.lawyer .li{width:44px;height:44px;border-radius:50%;background:rgb(255 255 255/.1);display:grid;place-items:center;font-size:20px;flex:none}
.lawyer b{display:block;color:#fff;font-size:14px}
.lawyer span{font-size:13px;line-height:1.5}
.lawyer i{margin-left:auto;font-style:normal;flex:none;background:var(--orange);color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center}
.lawyer:hover i{background:var(--orange-600)}

/* Chiffres */
.kpis{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.kpi{background:var(--background);border:1px solid var(--tile-border);border-radius:var(--r-lg);padding:12px 14px}
.kpi dt,.kpi .k-l{font-size:12px}
.kpi dd,.kpi .k-v{margin:2px 0 0;display:block;font:800 22px/1.2 var(--mono);color:var(--heading);letter-spacing:-.02em}
.kpi small{display:block;font-size:12px;color:var(--muted-fg)}
.kpi.hot{background:var(--orange);border-color:var(--orange);color:#fff}
.kpi.hot dd,.kpi.hot .k-v,.kpi.hot small{color:#fff}
.forest .kpi{background:rgb(255 255 255/.06);border-color:rgb(255 255 255/.1);color:rgb(255 255 255/.75)}
.forest .kpi dd,.forest .kpi .k-v{color:#fff}
.forest .kpi.hot{background:var(--orange);border-color:var(--orange)}

/* Tableaux */
.tbl-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.tbl th{font:700 12px var(--font);color:var(--heading);background:var(--tile-bg)}
.tbl tr:last-child td{border-bottom:0}
.tbl td.num{font-family:var(--mono);white-space:nowrap;text-align:right;color:var(--heading)}
.tbl tfoot td{font-weight:700;color:var(--heading)}

/* Sortie texte (nom de fichier, code, bio) */
.out{position:relative;background:var(--background);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;font-size:14px;line-height:1.6;color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere}
.out.mono{font:500 13px/1.7 var(--mono)}
.out-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.out-head h3{margin:0;font:700 14px var(--font)}

/* Document à imprimer : toujours « papier » clair */
.doc{background:#fff;color:#27272b;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:28px 24px;font-size:13px;line-height:1.6}
@media(min-width:768px){.doc{padding:40px 44px}}
.doc h2{margin:0 0 4px;font:900 20px/1.25 var(--font);color:#09090b}
.doc h3{margin:18px 0 6px;font:800 12px/1.3 var(--font);text-transform:uppercase;letter-spacing:.08em;color:#F54A00}
.doc p{margin:0 0 8px}
.doc ul{margin:0 0 8px;padding-left:18px}
.doc b,.doc strong{color:#09090b}
.doc .d-meta{font-size:12px;color:#71717b;margin-bottom:14px}
.doc .d-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.doc .d-sign{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.doc .d-sign div{border-top:1px solid #d4d4da;padding-top:8px;min-height:84px;font-size:12px;color:#52525b}
.doc .d-note{font-size:11px;color:#71717b;border-top:1px solid #e4e4e8;padding-top:10px;margin-top:18px}
.doc .blank{color:#9f9fa7}
.doc table{width:100%;border-collapse:collapse;margin:4px 0 10px}
.doc td,.doc th{border-bottom:1px solid #e4e4e8;padding:6px 4px;text-align:left;vertical-align:top}
.doc th{width:38%;font-weight:700;color:#3f3f46}

/* Étapes (formulaires guidés) */
.steps{display:flex;gap:6px;list-style:none;margin:0 0 16px;padding:0;counter-reset:s;overflow-x:auto;scrollbar-width:none}
.steps li{flex:1;min-width:110px}
.steps button{width:100%;display:flex;align-items:center;gap:8px;border:0;background:none;padding:0 0 8px;border-bottom:3px solid var(--border);color:var(--muted-fg);font:700 13px var(--font);cursor:pointer;text-align:left}
.steps button::before{counter-increment:s;content:counter(s);width:22px;height:22px;border-radius:50%;background:var(--base-200);color:var(--base-700);display:grid;place-items:center;font-size:11px;flex:none}
.dark .steps button::before{background:var(--base-800);color:var(--base-300)}
.steps [aria-current=step]{border-color:var(--orange);color:var(--heading)}
.steps [aria-current=step]::before,.steps .done::before{background:var(--orange);color:#fff}
.steps .done{border-color:rgb(255 105 0/.4)}
.step-pane[hidden]{display:none}

/* Onglets (seg de style.css) pleine largeur sur mobile */
.seg{flex-wrap:wrap}
.seg.full{display:flex;width:100%}
.seg.full button{flex:1}

/* Barre de progression / pastilles */
.bar{height:8px;background:var(--base-200);border-radius:99px;overflow:hidden}
.dark .bar{background:var(--base-800)}
.bar i{display:block;height:100%;width:0;background:var(--orange);transition:width .25s}
.pill{display:inline-flex;align-items:center;gap:4px;font:700 11px/1.6 var(--font);text-transform:uppercase;letter-spacing:.04em;padding:1px 8px;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--muted-fg)}
.pill.ok{background:var(--free-bg);border-color:transparent;color:var(--free-fg)}
.pill.hot{background:var(--orange);border-color:var(--orange);color:#fff}
.pill.blue{background:var(--blue);border-color:var(--blue);color:#fff}

/* Checklists des outils (reprend .checklist de style.css) */
.cl-sec{margin:14px 0 6px;font:900 12px/1.3 var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--eyebrow-fg)}
.cl-sec:first-child{margin-top:0}
.checklist .del{margin-left:auto;border:0;background:none;color:var(--muted-fg);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:var(--r-sm)}
.checklist .del:hover{color:var(--red);background:rgb(231 0 11/.08)}
.checklist label small{display:block;color:var(--muted-fg);font-size:12px}
.add-line{display:flex;gap:8px}
.add-line input{flex:1}

/* Notification « copié » */
.st-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--base-900);color:#fff;font:700 14px var(--font);padding:10px 16px;border-radius:var(--r-pill);box-shadow:var(--shadow-xl);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50;max-width:calc(100% - 32px);text-align:center}
.dark .st-toast{background:#f4f4f5;color:var(--base-950)}
.st-toast.show{opacity:1;transform:translate(-50%,0)}

/* Page client (formulaire envoyé par lien) */
.st-client .nav-brand b{font:900 15px var(--font);color:var(--heading)}
.st-client .nav-brand span{border:0;padding:0}

/* ---------- Annuaire ---------- */
.ann-filter{margin-bottom:0}
.ann-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:768px){.ann-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.ann-grid{grid-template-columns:repeat(3,1fr)}}
.ann-card{background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ann-card[hidden]{display:none}
.ann-card.ph{border-style:dashed;border-color:var(--base-300)}
.dark .ann-card.ph{border-color:var(--base-700)}
.ann-top{display:flex;gap:12px;align-items:center}
.ann-av{width:64px;height:64px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;background:var(--base-100);color:var(--base-400);font:900 20px var(--font);border:1px solid var(--border)}
.dark .ann-av{background:var(--base-800);color:var(--base-500)}
.ann-av img{width:100%;height:100%;object-fit:cover}
.ann-card:not(.ph) .ann-av{background:var(--orange);color:#fff;border-color:transparent}
.ann-id{min-width:0}
.ann-name{margin:0;font:800 15px/1.3 var(--font)}
.ann-role{margin:2px 0 0;font-size:13px;color:var(--foreground)}
.ann-city{margin:2px 0 0;font-size:12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ann-desc{margin:0;font-size:13px;line-height:1.55;flex:1}
.ann-card.ph .ann-name,.ann-card.ph .ann-desc,.ann-card.ph .ann-role{color:var(--base-400)}
.ann-links{display:flex;flex-wrap:wrap;gap:6px}
.st-cat:nth-child(3n+1) .ann-card{background:rgb(255 255 255/.05);border-color:rgb(255 255 255/.12);color:rgb(255 255 255/.72)}
.st-cat:nth-child(3n+1) .ann-card.ph{border-color:rgb(255 255 255/.25)}
.st-cat:nth-child(3n+1) .ann-name{color:#fff}
.st-cat:nth-child(3n+1) .ann-role{color:rgb(255 255 255/.85)}
.st-cat:nth-child(3n+1) .ann-card.ph .ann-name,.st-cat:nth-child(3n+1) .ann-card.ph .ann-desc,.st-cat:nth-child(3n+1) .ann-card.ph .ann-role{color:rgb(255 255 255/.55)}
.st-cat:nth-child(3n+1) .ann-av{background:rgb(255 255 255/.08);border-color:transparent;color:rgb(255 255 255/.5)}
.st-cat:nth-child(3n+1) .tag,.st-cat:nth-child(3n+1) .pill{border-color:rgb(255 255 255/.2);color:#fff}
.st-cat:nth-child(3n+1) .btn2{background:transparent;border-color:rgb(255 255 255/.25);color:#fff}
.st-cat:nth-child(3n+1) .hint,.st-cat:nth-child(3n+1) .st-cat-desc{color:#e4e4e7}

/* ---------- Impression : seul le document choisi sort (copié dans #printZone par ST.print), en clair ---------- */
#printZone{display:none}
@media print{
  @page{margin:14mm}
  html,body{background:#fff!important}
  body.printing>*:not(#printZone){display:none!important}
  body.printing #printZone{display:block}
  #printZone .doc{border:0;box-shadow:none;padding:0;border-radius:0;font-size:10.5pt}
  #printZone a{text-decoration:none;color:inherit}
}
@media (prefers-reduced-motion:reduce){.st-toast,.bar i,.st-go{transition:none}}

/* Les blocs affichés selon un choix (data-show) : [hidden] doit l emporter sur display:flex */
.st-tool [hidden]{display:none!important}

/* Questions dépliables (guides) */
.gd{border:1px solid var(--tile-border);background:var(--tile-bg);border-radius:var(--r-lg)}
.gd summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font:700 14px/1.4 var(--font);color:var(--heading)}
.gd summary::-webkit-details-marker{display:none}
.gd summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--btn2-border);display:grid;place-items:center;font:500 18px/1 var(--font);color:var(--foreground);transition:transform .2s}
.gd[open] summary::after{transform:rotate(45deg)}
.gd-b{padding:0 16px 14px;font-size:14px;line-height:1.6}
.gd-b p{margin:0}
.gd-b p+p{margin-top:8px}

/* Checklists : choix de la version, version imprimée avec cases à cocher */
.st-versions{padding-top:0;flex-wrap:wrap;overflow:visible}
.doc .d-check{list-style:none;padding:0}
.doc .d-check li{position:relative;padding:3px 0 3px 26px}
.doc .d-check li::before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border:1.5px solid #71717b;border-radius:3px}
.q-preview .fld>span,.q-preview legend{font-weight:600}
.share{border-color:rgb(255 105 0/.3);background:rgb(255 105 0/.05)}

/* Moodboard */
.mb-search input{padding-left:42px}
.mb-tone{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.mb-tone .fld{flex-direction:row}
.mb-secs{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:768px){.mb-secs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.mb-secs{grid-template-columns:repeat(3,1fr)}}
.mb-sec{background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.mb-sec .sec-label{margin:0}
.mb-sec ul{margin:0;padding-left:18px;font-size:13px;line-height:1.55;color:var(--foreground)}
.mb-sec li+li{margin-top:4px}
.mb-sec .mb-pal{grid-template-columns:repeat(3,1fr)}
.mb-note{min-height:64px;font:400 13px/1.5 var(--font);resize:vertical;width:100%}
.mb-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mb-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-md);display:block}
.mb-pal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(min-width:640px){.mb-pal{grid-template-columns:repeat(5,1fr)}}
.mb-sw{border:1px solid var(--border);background:var(--background);border-radius:var(--r-lg);padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;transition:border-color .15s;min-width:0}
.mb-sw:hover{border-color:rgb(9 9 11/.3)}
.mb-chip{display:block;width:100%;height:56px;border-radius:var(--r-md);border:1px solid rgb(0 0 0/.06)}
.mb-sw code{font:600 11px var(--mono);color:var(--heading);padding:0 2px 2px;overflow:hidden;text-overflow:ellipsis}
.drop{position:relative;display:grid;place-items:center;text-align:center;min-height:120px;border:2px dashed var(--base-300);border-radius:var(--r-xl);padding:20px;cursor:pointer;font-size:14px;transition:border-color .15s,background .15s}
.dark .drop{border-color:var(--base-700)}
.drop:hover,.drop.over{border-color:var(--orange);background:rgb(255 105 0/.05)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop b{color:var(--heading)}
.mb-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.mb-grid{grid-template-columns:repeat(4,1fr)}}
.mb-grid:empty{display:none}
.mb-img{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--tile-bg);border:1px solid var(--tile-border)}
.mb-img img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.mb-img figcaption{padding:6px}
.mb-img select.in{min-height:34px;padding:4px 8px;font-size:12px}
.mb-img .del{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:rgb(0 0 0/.6);color:#fff;cursor:pointer;font-size:16px}
/* Version imprimée : trois rubriques par ligne, sur fond papier */
.doc.mb-print .mb-secs{grid-template-columns:repeat(3,1fr);margin-top:12px}
.doc.mb-print .mb-sec{background:#fafafb;border-color:#e4e4e8;break-inside:avoid}
.doc.mb-print .mb-sec ul,.doc.mb-print .mb-note-p{color:#27272b;font-size:11px}
.doc.mb-print .mb-pal{grid-template-columns:repeat(5,1fr)}
.doc.mb-print .mb-sw{background:#fff;border-color:#e4e4e8;padding:3px}
.doc.mb-print .mb-chip{height:34px}
.doc.mb-print .mb-sw code{font-size:8px;color:#27272b}
.doc.mb-print .small{color:#71717b}
.mb-note-p{margin:0;white-space:pre-wrap}
.mb-note-p:empty{display:none}

/* Nommage */
.nm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.nm-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-md);background:var(--tile-bg);border:1px solid var(--tile-border)}
.nm-move{display:flex;gap:4px}
.nm-move .btn2{width:32px;padding:0}
.nm-move .btn2:disabled{opacity:.3;cursor:default}
.forest .out{background:rgb(255 255 255/.06);border-color:rgb(255 255 255/.12);color:#fff}
.nm-steps{margin:0;padding-left:20px;font-size:13px;line-height:1.6;color:var(--foreground)}
.nm-steps li+li{margin-top:6px}

/* Défis */
.df-card{gap:16px;display:flex;flex-direction:column}
.panel-card .df-theme{margin:4px 0 0;font:900 36px/1.1 var(--font);color:#fff;letter-spacing:-.02em}
@media(min-width:768px){.panel-card .df-theme{font-size:56px}}
.df-kpis .kpi dd{font:800 17px/1.3 var(--font);letter-spacing:0}
.df-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--foreground)}
.df-hist li{display:flex;gap:10px;align-items:center}
.df-hist .pill{min-width:44px;justify-content:center}

/* Quiz */
.qz-mod{width:100%;font:inherit;text-align:left;cursor:pointer}
.panel-card .qz-q{margin:4px 0 0;font:900 22px/1.3 var(--font)}
@media(min-width:768px){.panel-card .qz-q{font-size:26px}}
.qz-opts{display:flex;flex-direction:column;gap:8px}
.qz-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--btn2-border);background:var(--btn2-bg);color:var(--foreground);border-radius:var(--r-lg);padding:12px 14px;font:500 15px/1.4 var(--font);cursor:pointer;transition:border-color .15s,background .15s}
.qz-opt:hover:not(:disabled){border-color:var(--orange)}
.qz-opt:disabled{cursor:default}
.qz-l{flex:none;width:28px;height:28px;border-radius:50%;background:var(--base-100);color:var(--base-700);display:grid;place-items:center;font:800 12px var(--font)}
.dark .qz-l{background:var(--base-800);color:var(--base-300)}
.qz-opt.good{border-color:var(--free-fg);background:var(--free-bg)}
.qz-opt.good .qz-l{background:var(--free-fg);color:#fff}
.qz-opt.bad{border-color:var(--red);background:rgb(231 0 11/.07)}
.qz-opt.bad .qz-l{background:var(--red);color:#fff}
.forest .bar{background:rgb(255 255 255/.15)}

/* Glossaire */
.gl-az{display:flex;flex-wrap:wrap;gap:2px;padding-top:8px}
.gl-az a{min-width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);font:700 13px var(--font);color:var(--foreground);text-decoration:none}
.gl-az a:hover{background:var(--orange);color:#fff}
.gl{margin:0}

.gl-l{margin:18px 0 6px;font:900 28px/1 var(--font);color:var(--orange)}
.gl-letter:first-child .gl-l{margin-top:0}
.gl-item{padding:12px 0;border-top:1px solid var(--border)}
.gl-item dt{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gl-anchor{font:800 15px var(--font);color:var(--heading);text-decoration:none}
.gl-anchor:hover{text-decoration:underline;text-decoration-color:var(--orange)}
.gl-item dd{margin:4px 0 0;font-size:14px;line-height:1.6;max-width:75ch}
.gl-item.hl{background:rgb(255 105 0/.08);border-radius:var(--r-md);padding:12px;margin:0 -12px}
.gl-letter[hidden],.gl-item[hidden]{display:none}

/* Thème sombre, grand écran : un seul logo dans l en-tête (le prisme seul est réservé au mobile) */
@media(min-width:561px){.dark .nav-brand .logo-mark.on-dark{display:none!important}}

/* Guide d'export : formats de fichiers */
.fm-basics .kpi .k-v{font:800 17px/1.3 var(--font);letter-spacing:0}
.fm-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:768px){.fm-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.fm-grid{grid-template-columns:repeat(3,1fr)}}
.fm-card{background:var(--tile-bg);border:1px solid var(--tile-border);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fm-card[hidden]{display:none}
.fm-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.fm-name{margin:0;font:900 20px/1.2 var(--font)}
.fm-head code{font:500 12px var(--mono);color:var(--muted-fg)}
.fm-desc{margin:0;font-size:13px;line-height:1.55;color:var(--foreground)}
.fm-weight{display:flex;align-items:center;gap:4px;font:700 11px var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-fg)}
.fm-weight span{margin-right:6px}
.fm-weight i{width:18px;height:6px;border-radius:99px;background:var(--base-200)}
.dark .fm-weight i{background:var(--base-800)}
.fm-weight i.on{background:var(--orange)}
.fm-ok,.fm-no{margin:0;font-size:13px;line-height:1.5}
.fm-ok b,.fm-no b{display:block;font:800 11px/1.4 var(--font);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.fm-ok b{color:var(--free-fg)}
.fm-no b{color:var(--red)}
.dark .fm-no b{color:#FF6467}
.st-versions a.chip{text-decoration:none}
.gl-promo{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.gl-promo .small{margin-top:4px;max-width:60ch;color:#e4e4e7}
.gl-promo[hidden],#glMain[hidden],#glQuiz[hidden]{display:none}
.panel-card .gl-def{font:700 19px/1.55 var(--font);color:var(--heading)}
@media(min-width:768px){.panel-card .gl-def{font-size:21px}}
.gl-count{margin:4px 0 8px}
/* Défilements automatiques : ne pas finir sous le fil d Ariane collant */
#glQuiz,.gl-promo,.st-tool,#doc,#letter,#board{scroll-margin-top:64px}
.vchecks a{color:var(--heading);font-weight:700;text-decoration-color:var(--orange);text-underline-offset:3px}
.doc .r-ok{color:#008236;font-weight:700}
.doc .r-ko{color:#E7000B;font-weight:700}
.doc.qz-doc h3{text-transform:none;letter-spacing:0;font-size:13px;color:#09090b;margin-top:14px}

/* Module Shootiful Business : badge réservé, calculateur CODB */
.excl-badge{display:inline-flex;align-self:flex-start;margin:2px 0;font:800 10px/1.6 var(--font);text-transform:uppercase;letter-spacing:.06em;padding:1px 8px;border-radius:var(--r-pill);background:var(--orange);color:#fff}
.cd-tbl input.in{min-height:38px;padding:6px 8px;text-align:right;font-family:var(--mono);font-size:13px;width:100%;min-width:72px}
.cd-tbl input.cd-name{text-align:left;font-family:var(--font)}
.cd-tbl td{vertical-align:middle}
.cd-tbl .cd-l{min-width:180px;color:var(--foreground)}
.cd-tbl th:nth-child(n+2),.cd-tbl td:nth-child(n+2){width:110px}
.cd-tbl th:last-child,.cd-tbl td:last-child{width:36px;padding-left:0;padding-right:4px}
.cd-tbl .del{border:0;background:none;color:var(--muted-fg);cursor:pointer;font-size:18px;border-radius:var(--r-sm);padding:2px 6px}
.cd-tbl .del:hover{color:var(--red);background:rgb(231 0 11/.08)}
.cd-amort-f{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:10px}
.cd-amort-f .fld{flex:1;min-width:120px}
.cd-cur td{background:rgb(255 105 0/.08)}
#tab1[hidden],#tab2[hidden],#tab3[hidden]{display:none}

/* Moodboard : éditeur de palette */
.mb-secs .mb-colors{grid-column:1/-1}
.mb-edit{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.mb-edit{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1000px){.mb-edit{grid-template-columns:repeat(6,1fr)}}
.mb-edit .mb-sw{cursor:default;gap:4px}
.mb-edit .mb-sw.is-base{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.mb-pick{position:relative;cursor:pointer;height:64px}
.mb-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.mb-pick:focus-within{outline:2px solid var(--orange);outline-offset:2px}
.mb-role{font:800 10px/1.3 var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--eyebrow-fg)}
.mb-hex{min-height:32px!important;padding:4px 8px!important;font:600 12px var(--mono)!important;text-transform:uppercase}
.mb-act{display:flex;gap:2px}
.mb-act button{flex:1;min-height:30px;border:1px solid var(--btn2-border);background:var(--btn2-bg);color:var(--foreground);border-radius:var(--r-sm);cursor:pointer;font:600 13px var(--font);padding:0}
.mb-act button:hover:not(:disabled){border-color:var(--orange);color:var(--orange-600)}
.mb-act button:disabled{opacity:.35;cursor:default}
.mb-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:150px;border:2px dashed var(--base-300);border-radius:var(--r-lg);background:none;color:var(--muted-fg);cursor:pointer;font:900 24px var(--font)}
.mb-add span{font:600 12px var(--font)}
.dark .mb-add{border-color:var(--base-700)}
.mb-add:hover{border-color:var(--orange);color:var(--orange-600)}
.mb-harm{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.mb-harm .sec-label{display:flex;align-items:center;gap:6px;margin:0}
.mb-harm code{font:600 11px var(--mono);color:var(--heading)}
.mb-hrow{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;background:var(--background);border:1px solid var(--tile-border);border-radius:var(--r-md)}
@media(max-width:560px){.mb-hrow{grid-template-columns:1fr auto}.mb-hrow .mb-htx{grid-column:1/-1}}
.mb-htx b{display:block;font-size:13px;color:var(--heading)}
.mb-htx small{font-size:12px;color:var(--muted-fg)}
.mb-hcols{display:flex;gap:4px}
.mb-dot{display:inline-block;width:28px;height:28px;border-radius:var(--r-sm);border:1px solid rgb(0 0 0/.1);cursor:pointer;padding:0}
.mb-dot:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.mb-dot-lg{width:16px;height:16px;cursor:default;border-radius:4px}
.mb-checks{margin-top:4px}
.mb-sw small{font-size:9px;color:#71717b;padding:0 2px}
#tones button:disabled,#ncol button:disabled{opacity:.45;cursor:not-allowed}
.mb-secs{grid-auto-flow:row dense}

/* CODB : onglets et résultat dans une barre collante, contenu en pleine largeur */
.cd-top{position:sticky;top:44px;z-index:9;display:flex;flex-direction:column;gap:8px;padding:8px 0;background:#fbfbfb;box-shadow:0 0 0 100vmax #fbfbfb;clip-path:inset(0 -100vmax)}
.cd-top .cd-tabs{background:var(--base-100)}
.dark .cd-top{background:var(--background);box-shadow:0 0 0 100vmax var(--background)}
.cd-sum{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;background:var(--forest);border-radius:var(--r-xl);padding:8px;box-shadow:var(--shadow-lg)}
@media(min-width:768px){.cd-sum{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.cd-k{display:flex;flex-direction:column;gap:1px;padding:8px 12px;border-radius:var(--r-lg);background:rgb(255 255 255/.06);color:rgb(255 255 255/.75);min-width:0}
.cd-k span{font-size:11px;line-height:1.3}
.cd-k b{font:800 20px/1.2 var(--mono);color:#fff;letter-spacing:-.02em;white-space:nowrap}
.cd-k small{font-size:11px;color:rgb(255 255 255/.6)}
.cd-k.hot{background:var(--orange)}
.cd-k.hot span,.cd-k.hot small{color:#fff}
@media(max-width:767px){.cd-k:nth-child(n+3){display:none}.cd-k b{font-size:17px}}
.cd-body{margin-top:8px}
.cd-grid{display:grid;gap:16px;grid-template-columns:1fr;align-items:start}
@media(min-width:900px){.cd-grid{grid-template-columns:1fr 1fr}.cd-grid>:last-child{grid-column:1/-1}}
.cd-tbl .cd-l{min-width:220px}
.cd-tbl th:nth-child(2),.cd-tbl th:nth-child(3),.cd-tbl th:nth-child(4),.cd-tbl td:nth-child(2),.cd-tbl td:nth-child(3),.cd-tbl td:nth-child(4){width:150px}
.cd-block .panel-sub{margin-bottom:0}
.cd-block[data-b] .out-head{align-items:flex-start}
.cd-lab{display:block;font-weight:600;color:var(--heading)}
.cd-tip{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:var(--muted-fg);max-width:60ch}
.cd-tbl td{padding-top:12px;padding-bottom:12px}
.cd-block .panel-h{font-size:24px;margin-top:2px}
@media(max-width:767px){.cd-tbl .cd-l{min-width:200px}}

/* CODB sur mobile : chaque dépense en carte (intitulé, puis mois / an / total) */
@media(max-width:640px){
  .cd-long{display:none}
  .cd-tbl,.cd-tbl tbody,.cd-tbl tfoot{display:block}
  .cd-tbl thead{display:none}
  .cd-tbl tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-bottom:1px solid var(--border)}
  .cd-tbl tfoot tr{border-bottom:0;background:var(--tile-bg)}
  .cd-tbl td{display:block;padding:0!important;border:0!important;width:auto!important;min-width:0!important}
  .cd-tbl td.cd-l,.cd-tbl tfoot td:first-child{grid-column:1/-1}
  .cd-tbl td:nth-child(2)::before,.cd-tbl td:nth-child(3)::before{display:block;font:700 11px var(--font);color:var(--muted-fg);margin-bottom:3px;text-align:left}
  .cd-tbl td:nth-child(2)::before{content:"Par mois"}
  .cd-tbl td:nth-child(3)::before{content:"Par an"}
  .cd-tbl td:nth-child(4){grid-column:1/-1;text-align:right}
  .cd-tbl td:nth-child(4)::before{content:"Total annuel : ";font:700 12px var(--font);color:var(--muted-fg)}
  .cd-tbl td:last-child:empty{display:none}
  .cd-tbl td:last-child:not(:empty){position:absolute;right:8px;top:8px}
  .cd-tbl tr{position:relative}
}

/* Crédit de Jodie : même taille que le texte, plus visible ; prénom en dégradé animé, étincelle et petit rebond */
.jodie-credit{display:block;margin-top:6px;color:var(--heading);font-weight:700}
.jodie{position:relative;display:inline-block;font-weight:900;text-decoration:none;padding:0 .12em;background:linear-gradient(90deg,#FF6900,#FF3E8A,#B14CFF,#FF3E8A,#FF6900);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:jodie-wave 5s linear infinite;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.jodie::before{content:"";position:absolute;left:.12em;right:.12em;bottom:-.08em;height:.14em;border-radius:99px;background:linear-gradient(90deg,#FF6900,#FF3E8A,#B14CFF);opacity:.35;transition:opacity .2s,height .2s}
.jodie::after{content:"✨";position:absolute;top:-.75em;right:-.85em;font-size:.72em;-webkit-text-fill-color:initial;animation:jodie-twinkle 2.2s ease-in-out infinite}
.jodie:hover{transform:translateY(-2px) rotate(-3deg) scale(1.08)}
.jodie:hover::before{opacity:.8;height:.18em}
.jodie:focus-visible{outline:2px solid #FF3E8A;outline-offset:3px;border-radius:4px}
.jodie .sr{-webkit-text-fill-color:initial}
@keyframes jodie-wave{to{background-position:300% 0}}
@keyframes jodie-twinkle{0%,100%{opacity:.25;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}
@media (prefers-reduced-motion:reduce){.jodie,.jodie::after{animation:none}.jodie{background-position:0 0}.jodie:hover{transform:none}}
@media print{.jodie{color:#FF3E8A;-webkit-text-fill-color:#FF3E8A;background:none}.jodie::after,.jodie::before{display:none}}
.cd-short{display:none}
@media(max-width:640px){.cd-short{display:inline}}
.cd-guide span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--orange);color:#fff;font:900 11px var(--font)}
.cd-credit .callout p+p{margin-top:8px}

/* Offres « Bientôt » (soon.js) */
.soon-badge{background:var(--forest);color:#fff}
.dark .soon-badge{background:rgb(255 255 255/.14)}
.soon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.soon-list li{display:flex;gap:14px;align-items:flex-start}
.soon-list .soon-ico{flex:none;font-size:22px;line-height:1.2}
.soon-list b{color:var(--heading)}
.soon-list p{margin:2px 0 0;font-size:14px;line-height:1.55;color:var(--muted-foreground,inherit)}
.btn-primary:disabled{opacity:.85;cursor:default}
