/* MDW Studio « Créer mon projet » — interface (st-*) et aperçu de site (sp-*). Chargé uniquement sur /mon-projet/. */

/* ——— Cadre ——— */
.studio-page{padding:clamp(14px,2.4vw,28px) 0 40px}
.js .studio-root{min-height:calc(100svh - 120px)}
.st{position:relative}
.st-scene{animation:fade .45s var(--ease)}
.st-tete{margin-bottom:22px}
.st-tete h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:8px}
.st-tete h2:focus{outline:none}
.st-tete p{margin:0;font-size:17px}
.st-sous-titre{font:650 12.5px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:22px 0 12px;padding:0}
.st-icone-btn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px;border:1.5px solid transparent;background:none;color:var(--muted);flex:none}
.st-icone-btn:hover:not(:disabled){color:var(--text);border-color:var(--line-2);background:var(--surface)}
.st-icone-btn:disabled{opacity:.3;cursor:default}
.st-icone-btn svg{width:20px;height:20px}
.btn svg{width:20px;height:20px;flex:none}
.st-lien-btn{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--purple);text-decoration:underline;text-underline-offset:3px}

/* ——— Étapes (indicateur de progression discret) ——— */
.st-etapes{position:sticky;top:76px;z-index:30;margin:0 calc(var(--gutter)*-1) 22px;padding:10px var(--gutter);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.st-etapes ol{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.st-etapes li{flex:1;min-width:0}
.st-etapes button{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;padding:8px 6px;border-radius:12px;color:var(--faint);font-size:14.5px;font-weight:600;min-height:48px;text-align:left}
.st-etapes button:hover:not(:disabled){background:var(--surface)}
.st-etapes button:disabled{opacity:.45;cursor:default}
.st-etape-num{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-2);font:650 13px/1 var(--font-mono);background:var(--surface)}
.st-etape-num svg{width:16px;height:16px}
.st-etapes button.fait{color:var(--muted)}
.st-etapes button.fait .st-etape-num{background:var(--mint);border-color:var(--mint);color:#fff}
.st-etapes button[aria-current="step"]{color:var(--text)}
.st-etapes button[aria-current="step"] .st-etape-num{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--purple) 18%,transparent)}
.st-etape-mobile{display:none;margin:4px 0 0;font:600 13px/1 var(--font-mono);color:var(--muted);text-align:center}

/* ——— Barre d'action (retour · budget · continuer), au pouce sur mobile ——— */
.st-barre{position:sticky;bottom:0;z-index:35;margin:28px calc(var(--gutter)*-1) 0;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -12px 30px -20px #3a2a8a55}
.st-barre-in{display:flex;align-items:center;gap:12px;max-width:var(--maxw);margin:0 auto}
.st-budget{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;padding:4px 8px;min-height:48px;border-radius:12px;color:var(--text)}
.st-budget:hover{background:var(--surface-2)}
.st-budget-label{font-size:12.5px;color:var(--faint);font-weight:600}
.st-budget-montant{font:660 26px/1 var(--font-display);letter-spacing:-.03em}
.st-budget-montant small{font-size:14px;color:var(--amber);font-family:var(--font-text);font-weight:650}
.st-budget-montant.pulse{animation:pulse .6s var(--spring)}
@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(1.09);color:var(--purple)}100%{transform:scale(1)}}

/* ——— Intro ——— */
.st-intro{display:grid;gap:36px}
.st-intro h2{font-size:clamp(34px,4.6vw,62px);max-width:18ch}
.st-intro-etapes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.st-intro-etapes .card{padding:22px}
.st-intro-etapes h3{font-size:20px}
.st-intro-etapes p{font-size:15px;margin:0}
.st-intro-note{font-size:15px}
.st-import{cursor:pointer}
.st-import:focus-within{outline:3px solid var(--purple-2);outline-offset:2px;border-radius:4px}

/* ——— Scène 1 : cartes sectorielles ——— */
.st-recherche{max-width:720px;margin-bottom:26px}
.st-recherche-ligne input{font-size:18px;min-height:58px;border-radius:999px;padding-inline:22px}
.st-suggestion{margin-top:12px;min-height:8px}
.st-suggestion-carte{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:var(--r-l);background:var(--surface);border:1.5px solid color-mix(in srgb,var(--mint) 45%,transparent);box-shadow:var(--shadow-1);animation:fade .35s var(--ease)}
.st-suggestion-carte>span svg{width:32px;height:32px;color:var(--mint)}
.st-suggestion-carte p{margin:0 0 10px;color:var(--text)}
.st-suggestion-carte small{color:var(--faint)}
.st-secteurs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:14px}
.st-secteur{width:100%;height:100%;display:flex;flex-direction:column;text-align:left;padding:0;border-radius:var(--r-l);border:1.5px solid var(--line);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-1);transition:transform .35s var(--spring),box-shadow .3s,border-color .3s;position:relative}
.st-secteur:hover{transform:translateY(-5px);box-shadow:var(--shadow-2);border-color:var(--line-2)}
.st-secteur:active{transform:scale(.98)}
.st-secteur-visuel{position:relative;height:132px;background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--sa) 55%,transparent),transparent 55%),linear-gradient(135deg,var(--sc),color-mix(in srgb,var(--sc) 55%,#000));display:flex;align-items:center;padding:18px;overflow:hidden}
.st-secteur-icone{position:relative;z-index:1;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#ffffff26;color:#fff;backdrop-filter:blur(4px);border:1px solid #ffffff3a;transition:transform .5s var(--spring)}
.st-secteur-icone svg{width:30px;height:30px}
.st-secteur:hover .st-secteur-icone{transform:rotate(-6deg) scale(1.08)}
.st-illu{position:absolute;inset:0 0 0 auto;width:78%;height:100%;transition:transform .6s var(--spring)}
.st-secteur:hover .st-illu,.st-secteur:focus-visible .st-illu{transform:scale(1.06) translateX(-4px)}
.st-secteur.choisi .st-illu{transform:scale(1.08)}
.st-secteur-texte{display:grid;gap:4px;padding:16px 18px 18px}
.st-secteur-texte b{font:650 19px/1.2 var(--font-display);letter-spacing:-.015em;color:var(--text)}
.st-secteur-texte small{font-size:14.5px;color:var(--muted);line-height:1.4}
.st-secteur-etat{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ffffffe6;color:var(--text);transition:transform .3s var(--spring)}
.st-secteur-etat svg{width:18px;height:18px}
.st-secteur.choisi{border-color:var(--purple);box-shadow:0 0 0 4px color-mix(in srgb,var(--purple) 22%,transparent),var(--shadow-2)}
.st-secteur.choisi .st-secteur-etat{background:var(--purple);color:#fff}
.st-secteur.suggere{border-color:var(--mint);box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 22%,transparent)}
.st-secteur.impulsion{animation:impulsion .45s var(--spring)}
@keyframes impulsion{0%{transform:scale(1)}35%{transform:scale(.95)}70%{transform:scale(1.04)}100%{transform:scale(1)}}

/* ——— Atelier : réglages + aperçu ——— */
.st-atelier{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:start}
.st-controles{min-width:0}
.st-apercu{position:sticky;top:150px;min-width:0;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2);overflow:hidden}
.st-apercu-barre{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.st-apercu-etiquette{flex:1;font:600 12px/1.2 var(--font-mono);color:var(--faint);letter-spacing:.05em;text-align:center}
.st-appareils{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--surface-3)}
.st-appareils button{width:44px;height:40px;border-radius:9px;border:0;background:none;color:var(--muted);display:grid;place-items:center}
.st-appareils button svg{width:19px;height:19px}
.st-appareils button[aria-pressed="true"]{background:var(--surface);color:var(--purple);box-shadow:var(--shadow-1)}
.st-ecran{position:relative;height:min(var(--hauteur,600px),calc(100vh - 230px));overflow:auto;background:repeating-conic-gradient(var(--surface-2) 0 25%,var(--bg) 0 50%) 0 0/22px 22px;overscroll-behavior:contain}
.st-ecran[data-appareil="mobile"],.st-ecran[data-appareil="tablette"]{display:flex;justify-content:center}
.st-ecran-in{transform-origin:top left;transition:width .45s var(--ease)}
.st-ecran[data-appareil="mobile"] .st-ecran-in,.st-ecran[data-appareil="tablette"] .st-ecran-in{transform-origin:top center;box-shadow:0 0 0 10px #16122b,0 20px 50px -20px #000a;border-radius:6px;margin:18px auto}
.st-seulement-mobile{display:none}

/* Onglets */
.st-onglets{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:16px;background:var(--surface-3);margin-bottom:18px}
.st-onglets button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;border:0;background:none;color:var(--muted);font-size:13.5px;font-weight:650;min-height:58px}
.st-onglets button svg{width:20px;height:20px}
.st-onglets button[aria-selected="true"]{background:var(--surface);color:var(--purple);box-shadow:var(--shadow-1)}
.st-onglet:focus{outline:none}
.st-onglet:focus-visible{outline:3px solid var(--purple-2);outline-offset:4px;border-radius:8px}

/* Images */
.st-images{display:grid;gap:12px;margin-top:6px}
.st-image{display:flex;gap:14px;align-items:center;padding:12px;border-radius:var(--r-m);border:1.5px dashed var(--line-2);background:var(--surface)}
.st-image img,.st-image-vide{width:72px;height:72px;border-radius:12px;object-fit:cover;flex:none}
.st-image-vide{display:grid;place-items:center;background:var(--surface-3);color:var(--faint)}
.st-image-vide svg{width:28px;height:28px}
.st-image b{display:block;margin-bottom:6px}
.st-image .actions-row{gap:6px}
label.btn{cursor:pointer}
label.btn:focus-within{outline:3px solid var(--purple-2);outline-offset:3px}

/* Couleurs */
.st-couleur{display:grid;grid-template-columns:56px minmax(0,1fr) 112px;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);margin-bottom:8px}
.st-pastille{position:relative;width:56px;height:56px;border-radius:16px;background:var(--c);box-shadow:inset 0 0 0 1px #0002,var(--shadow-1);cursor:pointer;overflow:hidden;transition:transform .25s var(--spring)}
.st-pastille:hover{transform:scale(1.06)}
.st-pastille input{position:absolute;inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);opacity:0;cursor:pointer;border:0;padding:0}
.st-pastille:focus-within{outline:3px solid var(--purple-2);outline-offset:3px}
.st-couleur-texte label{display:grid;gap:2px;cursor:pointer}
.st-couleur-texte small{color:var(--faint);font-size:13.5px}
.st-hex{font-family:var(--font-mono)!important;text-transform:lowercase;text-align:center;padding:10px 8px!important}
.st-contraste{margin:12px 0 4px;padding:14px 16px;border-radius:var(--r-m);border:1.5px solid color-mix(in srgb,var(--mint) 40%,transparent);background:color-mix(in srgb,var(--mint) 6%,var(--surface))}
.st-contraste.alerte{border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,#ffd59a 20%,var(--surface))}
.st-contraste-titre{display:flex;gap:10px;align-items:flex-start;margin:0;color:var(--text)}
.st-contraste-titre svg{width:22px;height:22px;flex:none}
.st-contraste ul{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}
.st-contraste li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14.5px;color:var(--muted)}
.st-mini-pastille{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px #0003}
.st-harmonies{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.st-harmonie{width:100%;display:grid;gap:8px;padding:10px;border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);text-align:left;font-size:14px;font-weight:600;color:var(--text);min-height:var(--tap)}
.st-harmonie:hover{border-color:var(--purple)}
.st-harmonie-pastilles{display:flex;height:26px;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #0001}
.st-harmonie-pastilles i{flex:1}

/* Cartes de choix (style) */
.st-groupe{margin:0 0 6px}
.st-choix-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:8px}
.st-choix{position:relative;display:grid;gap:4px;padding:12px;border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .2s,transform .25s var(--spring),box-shadow .2s;min-height:var(--tap)}
.st-choix:hover{border-color:var(--line-2);transform:translateY(-2px)}
.st-choix input{position:absolute;opacity:0;pointer-events:none}
.st-choix:has(input:focus-visible){outline:3px solid var(--purple-2);outline-offset:2px}
.st-choix.choisi,.st-choix:has(input:checked){border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 18%,transparent)}
.st-choix b{font-size:14.5px;color:var(--text)}
.st-choix small{font-size:12.5px;color:var(--faint);line-height:1.35}
.st-choix-visuel{height:52px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;margin-bottom:4px}
.st-aa{font-size:30px;color:var(--text);line-height:1}
.st-mini{width:80%;height:70%;position:relative;display:block}
.st-mini i{position:absolute;background:var(--line-2);border-radius:3px}
.st-mini-entete-classique i:nth-child(1){left:0;top:4px;width:22%;height:8px;background:var(--purple)}.st-mini-entete-classique i:nth-child(2){right:0;top:5px;width:44%;height:6px}.st-mini-entete-classique i:nth-child(3){left:0;right:0;top:22px;height:14px;opacity:.5}
.st-mini-entete-centre i:nth-child(1){left:38%;top:2px;width:24%;height:8px;background:var(--purple)}.st-mini-entete-centre i:nth-child(2){left:20%;top:15px;width:60%;height:5px}.st-mini-entete-centre i:nth-child(3){left:0;right:0;top:26px;height:10px;opacity:.5}
.st-mini-entete-compact i:nth-child(1){left:0;top:4px;width:22%;height:8px;background:var(--purple)}.st-mini-entete-compact i:nth-child(2){right:0;top:2px;width:26%;height:12px;border-radius:9px;background:var(--mint)}.st-mini-entete-compact i:nth-child(3){left:0;right:0;top:22px;height:14px;opacity:.5}
.st-mini-hero-split i:nth-child(1){left:0;top:6px;width:45%;height:24px}.st-mini-hero-split i:nth-child(2){right:0;top:0;width:44%;height:100%;background:var(--purple);opacity:.6}
.st-mini-hero-plein i:nth-child(1){inset:0;background:var(--purple);opacity:.6}.st-mini-hero-plein i:nth-child(2){left:10%;top:30%;width:50%;height:10px;background:#fff}
.st-mini-hero-centre i:nth-child(1){left:20%;top:8px;width:60%;height:10px}.st-mini-hero-centre i:nth-child(2){left:35%;top:24px;width:30%;height:9px;border-radius:9px;background:var(--purple)}
.st-mini-carte-doux i,.st-mini-carte-net i,.st-mini-carte-contour i,.st-mini-carte-verre i{top:4px;bottom:4px;width:44%;background:var(--surface)}
.st-mini-carte-doux i:nth-child(1),.st-mini-carte-net i:nth-child(1),.st-mini-carte-contour i:nth-child(1),.st-mini-carte-verre i:nth-child(1){left:0}
.st-mini-carte-doux i:nth-child(2),.st-mini-carte-net i:nth-child(2),.st-mini-carte-contour i:nth-child(2),.st-mini-carte-verre i:nth-child(2){right:0}
.st-mini-carte-doux i{border-radius:10px;box-shadow:0 4px 10px -4px #3a2a8a66}
.st-mini-carte-net i{border-radius:0;box-shadow:inset 0 0 0 1px var(--line-2)}
.st-mini-carte-contour i{border-radius:6px;box-shadow:inset 0 0 0 2px var(--purple)}
.st-mini-carte-verre i{border-radius:10px;background:linear-gradient(135deg,#ffffffcc,#ffffff44);box-shadow:inset 0 0 0 1px #fff,0 4px 12px -4px #3a2a8a55}

/* Sections */
.st-compteur{font-weight:650;color:var(--muted);font-size:15px}
.st-compteur.alerte{color:var(--amber)}
.st-liste-sections{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
.st-section{border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);transition:border-color .2s,opacity .2s;animation:fade .3s var(--ease)}
.st-section.ouverte{border-color:var(--purple);box-shadow:var(--shadow-1)}
.st-section.masquee{opacity:.6}
.st-section-ligne{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 12px}
.st-section-num{font:650 12px/1 var(--font-mono);color:var(--faint);width:18px}
.st-section-nom{flex:1;min-width:0;display:grid;gap:2px;text-align:left;background:none;border:0;padding:8px 4px;min-height:var(--tap);color:var(--text)}
.st-section-nom b{font-size:15.5px}
.st-section-nom small{font-size:13px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-section-actions{display:flex}
.st-section-edition{padding:4px 16px 16px;border-top:1px solid var(--line)}
.st-segment{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:14px;background:var(--surface-3)}
.st-segment button{flex:1;border:0;background:none;border-radius:10px;padding:10px 12px;font-size:14.5px;font-weight:650;color:var(--muted);min-height:44px}
.st-segment button[aria-pressed="true"]{background:var(--surface);color:var(--purple);box-shadow:var(--shadow-1)}
.st-items{display:grid;gap:8px;margin:10px 0 14px}
.st-item-ligne{display:grid;grid-template-columns:1fr 1.4fr 44px;gap:6px;align-items:center}
.st-ligne-3{grid-template-columns:1.6fr .8fr .8fr 44px}
.st-ligne-4{grid-template-columns:1.4fr .8fr .9fr .7fr 44px}
.st-item-ligne input{padding:10px 12px;min-height:44px;font-size:15px}
.st-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}
.st-photos figure{margin:0;position:relative}
.st-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.st-photos .st-icone-btn{position:absolute;top:2px;right:2px;background:#fffd;width:36px;height:36px}
.st-ajouter-section>summary{list-style:none;width:100%}
.st-ajouter-section>summary::-webkit-details-marker{display:none}
.st-biblio{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.st-biblio-carte{width:100%;height:100%;display:grid;gap:6px;align-content:start;justify-items:start;text-align:left;padding:14px;border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);color:var(--text);transition:border-color .2s,transform .25s var(--spring)}
.st-biblio-carte:hover{border-color:var(--purple);transform:translateY(-2px)}
.st-biblio-carte small{font-size:13.5px;color:var(--muted);line-height:1.4}

/* Catalogue */
.st-elements{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
.st-element{display:flex;align-items:center;gap:12px;padding:10px 8px 10px 10px;border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);animation:fade .3s var(--ease)}
.st-element img,.st-element-icone{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:none}
.st-element-icone{display:grid;place-items:center;background:var(--grad-soft);color:var(--purple)}
.st-element-icone svg{width:24px;height:24px}
.st-element-texte{flex:1;min-width:0;display:grid;gap:2px}
.st-element-texte b{font-size:16px}
.st-element-texte small{font-size:13.5px;color:var(--faint)}
.st-a-completer{color:var(--amber)!important}
.st-element-actions{display:flex}
.st-ajouter{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;border-radius:var(--r-m);border:2px dashed color-mix(in srgb,var(--purple) 45%,transparent);background:color-mix(in srgb,var(--purple) 4%,var(--surface));color:var(--purple);font-weight:700;font-size:16.5px;min-height:64px;transition:background .2s,transform .25s var(--spring)}
.st-ajouter:hover{background:color-mix(in srgb,var(--purple) 9%,var(--surface));transform:translateY(-2px)}
.st-ajouter svg{width:24px;height:24px}
.st-rapides{margin-bottom:12px}
.st-facultatif{display:flex;gap:8px;align-items:flex-start}
.st-facultatif svg{width:18px;height:18px;flex:none;margin-top:2px}
.st-editeur{display:grid;gap:4px}
.st-etiquettes{display:flex;flex-wrap:wrap;gap:6px}
.st-etiquette{position:relative;cursor:pointer}
.st-etiquette input{position:absolute;opacity:0}
.st-etiquette span,.st-etiquette-btn{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--surface);font-size:14.5px;font-weight:600;color:var(--muted)}
.st-etiquette input:checked+span,.st-etiquette-btn[aria-pressed="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.st-etiquette input:focus-visible+span{outline:3px solid var(--purple-2);outline-offset:2px}
.st-image-el{margin:4px 0 14px}
.st-plus{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.st-plus>summary{cursor:pointer;font-weight:650;color:var(--purple);padding:8px 0;min-height:44px;list-style-position:inside}
.st-controles-element{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}
.st-controles-element li{padding:9px 12px;border-radius:10px;font-size:14.5px;background:color-mix(in srgb,#ffd59a 26%,var(--surface));color:var(--text)}
.st-controles-element li.bloquant{background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red)}
.st-editeur-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

/* Fonctionnalités */
.st-fonctions{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.st-fonction{width:100%;height:100%;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto 1fr;gap:6px 12px;text-align:left;padding:14px;border-radius:var(--r-l);border:1.5px solid var(--line);background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);transition:border-color .25s,transform .3s var(--spring),box-shadow .25s,background .25s}
.st-fonction:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.st-fonction-icone{grid-row:span 2;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--grad-soft);color:var(--purple);transition:transform .4s var(--spring)}
.st-fonction-icone svg{width:24px;height:24px}
.st-fonction-texte{display:grid;gap:3px}
.st-fonction-texte b{font-size:16px;line-height:1.25}
.st-fonction-texte small{font-size:14px;color:var(--muted);line-height:1.4}
.st-fonction-pied{grid-column:2;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:4px;flex-wrap:wrap}
.st-fonction-prix{font-weight:650;font-size:14.5px;color:var(--text)}
.st-fonction-etat{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:700;color:var(--purple);padding:5px 10px;border-radius:999px;background:var(--lavande-pale)}
.st-fonction-etat svg{width:15px;height:15px}
.st-fonction.choisie{border-color:var(--purple);background:linear-gradient(160deg,color-mix(in srgb,var(--purple) 7%,var(--surface)),var(--surface) 60%);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 18%,transparent),var(--shadow-1)}
.st-fonction.choisie .st-fonction-icone{background:var(--purple);color:#fff;transform:rotate(-6deg)}
.st-fonction.choisie .st-fonction-etat{background:var(--purple);color:#fff}
.st-fonction[aria-disabled="true"]{cursor:default;box-shadow:none}
.st-fonction[aria-disabled="true"] .st-fonction-etat{background:color-mix(in srgb,var(--mint) 14%,var(--surface));color:var(--mint)}
.st-fonction.indispo{opacity:.7}
.st-niveaux{margin:6px 0 16px;padding:16px;border-radius:var(--r-l);background:var(--surface-2);border:1px solid var(--line);animation:fade .35s var(--ease)}
.st-niveaux .st-sous-titre{margin-top:0}
.st-niveaux-liste{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.st-niveau{width:100%;height:100%;display:grid;gap:6px;justify-items:start;text-align:left;padding:12px;border-radius:var(--r-m);border:1.5px solid var(--line);background:var(--surface);color:var(--text)}
.st-niveau small{font-size:13.5px;color:var(--muted);line-height:1.35}
.st-niveau.choisi{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 18%,transparent)}
.st-plus-fonctions>summary{list-style:none;margin-bottom:12px}
.st-plus-fonctions>summary::-webkit-details-marker{display:none}
.st-application{padding:16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface-2);margin-bottom:14px}

/* Offre */
.st-panneau{max-width:1100px}
.st-reco{align-items:flex-start;margin-bottom:10px}
.st-reco svg{width:22px;height:22px;color:var(--mint)}
.st-reco ul{margin:6px 0 4px;padding-left:1.1em}
.st-offres{--slide:min(84%,380px)}
.st-offres .offer{min-height:100%}
.st-pages{margin:18px 0}
.st-suivis{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.st-detail-budget{margin-top:22px}
.st-detail-budget dt small{display:block;font-size:12.5px;color:var(--faint)}
.st-total{font:660 24px/1 var(--font-display)!important}

/* Concrétiser */
.st-recap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start;margin-bottom:26px}
.st-recap-apercu{border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-2);height:360px;position:relative;background:var(--surface)}
.st-vignette{width:1180px;transform:scale(.38);transform-origin:top left;pointer-events:none}
.st-recap-liste{margin:0;display:grid;gap:0;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);overflow:hidden}
.st-recap-liste>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 16px;border-top:1px solid var(--line)}
.st-recap-liste>div:first-child{border-top:0}
.st-recap-liste dt{font-weight:650;color:var(--faint);font-size:14px}
.st-recap-liste dd{margin:0;color:var(--text);font-size:15px}
.st-recap-total{background:var(--lavande-pale)}
.st-recap-total dd{font:660 22px/1.1 var(--font-display)}
.st-recap-couleurs{display:flex;gap:6px}
.st-recap-couleurs i{width:26px;height:26px;border-radius:8px;box-shadow:inset 0 0 0 1px #0002}
.st-fin-grille{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:20px;align-items:start}
.st-parcours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:12px}
.st-voie{display:flex;flex-direction:column;gap:6px}
.st-voie .btn{margin-top:auto;align-self:flex-start}
.st-voie.indispo{opacity:.75}
.st-sauvegarde h3{display:flex;align-items:center;gap:10px;font-size:20px}
.st-sauvegarde h3 svg{width:22px;height:22px;color:var(--purple)}
.st-sauvegarde .actions-row{margin-top:10px}
.st-lien-ligne{display:flex;gap:6px}
.st-lien-ligne input{font-family:var(--font-mono);font-size:13px!important}
.st-tunnel{display:grid;gap:6px}
.st-tunnel h3{font-size:22px}
.st-tunnel h3:focus{outline:none}
.st-mini-etapes{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;padding:0;margin:0 0 10px;font-size:13.5px;color:var(--faint);font-weight:600}
.st-mini-etapes li[aria-current="step"]{color:var(--purple)}
.st-mini-etapes li.fait{color:var(--mint)}
.st-tunnel-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.st-docs{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}
.st-docs li{display:flex;gap:10px;align-items:flex-start}
.st-docs svg{width:22px;height:22px;color:var(--purple);flex:none}
.st-deux-gestes{list-style:none;padding:0;margin:8px 0;display:grid;gap:10px}
.st-conflit{flex-direction:column;margin-bottom:14px}

/* Dialogue */
.st-dialog{border:0;padding:0;border-radius:var(--r-l);box-shadow:var(--shadow-3);width:min(1240px,96vw);max-height:92vh;background:var(--surface);color:var(--text)}
.st-dialog::backdrop{background:#16122bb3;backdrop-filter:blur(4px)}
.st-dialog-tete{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}
.st-dialog-tete h2{font-size:18px;margin:0;flex:1}
.st-dialog-corps{padding:16px;overflow:auto;max-height:calc(92vh - 70px);background:var(--surface-2)}
.st-dlg-site{margin:0 auto;transition:max-width .4s var(--ease);container-type:inline-size;box-shadow:var(--shadow-2)}
.st-dialog-petit{padding:24px;max-width:460px}
.st-dialog-petit h2{font-size:24px}

/* ——— Responsive Studio ——— */
@media (max-width:1080px){
  .st-intro-etapes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-atelier{grid-template-columns:minmax(0,1fr)}
  .st-apercu{order:-1;top:136px;z-index:20}
  .st-ecran{height:min(var(--hauteur,420px),42vh)}
  .apercu-reduit .st-ecran{height:0;overflow:hidden}
  .st-seulement-mobile{display:inline-grid}
  .st-recap,.st-fin-grille{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .st-etapes{top:76px;padding-block:6px}
  /* Petit écran : l'aperçu reste visible (sticky) mais laisse la place aux réglages ; « réduire » le masque. */
  .st-ecran{height:min(var(--hauteur,300px),24vh)}
  .st-apercu{top:128px}
  .st-etapes ol{gap:2px}
  .st-etape-nom{display:none}
  .st-etapes button{justify-content:center;padding:6px 0}
  .st-etape-mobile{display:block}
  .st-intro-etapes,.st-fonctions,.st-parcours,.st-biblio,.st-niveaux-liste{grid-template-columns:minmax(0,1fr)}
  .st-harmonies{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .st-couleur{grid-template-columns:52px minmax(0,1fr) 96px;padding:8px}
  .st-pastille{width:52px;height:52px}
  .st-barre-in{gap:8px}
  .st-retour span{display:none}
  .st-retour{padding-inline:14px}
  .st-budget-montant{font-size:22px}
  .st-suivant{padding-inline:16px}
  .st-secteurs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .st-secteur-visuel{height:96px;padding:12px}
  .st-illu{width:88%}
  .st-secteur-icone{width:46px;height:46px;border-radius:14px}
  .st-secteur-texte{padding:12px}
  .st-secteur-texte b{font-size:16.5px}
  .st-secteur-texte small{font-size:13px}
  .st-recap-liste>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .st-recap-apercu{height:240px}
  .st-vignette{transform:scale(.29)}
  .st-ligne-4{grid-template-columns:1fr 1fr;}
  .st-ligne-4 .st-icone-btn,.st-ligne-3 .st-icone-btn{justify-self:end}
  .st-ligne-3{grid-template-columns:1fr 1fr 1fr}
  .st-ligne-3 input:first-child{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.st-budget-montant.pulse,.st-secteur.impulsion{animation:none}}

/* ════════════════ Aperçu du site client (sp-*) ════════════════
   Variables : --p principale · --s secondaire · --a accent · --f fond · --b bouton · --t texte · --tb texte bouton ·
   --ts texte sur secondaire · --tp texte sur principale · --ft typo des titres. Responsive par requêtes de conteneur. */
.sp-site{container-type:inline-size;background:var(--f);color:var(--t);font:15px/1.6 var(--font-text);--r:16px;--ombre:0 6px 24px -10px color-mix(in srgb,var(--p) 40%,transparent);min-height:400px;text-align:left}
.sp-site *{box-sizing:border-box}
.sp-site h3,.sp-site h4{font-family:var(--ft);color:inherit;letter-spacing:-.02em;margin:0 0 .4em;line-height:1.12;text-wrap:balance}
.sp-site p{color:inherit;opacity:.86;margin:0 0 .6em}
.sp-header{display:flex;align-items:center;gap:20px;padding:16px 36px;background:var(--f);border-bottom:1px solid color-mix(in srgb,var(--t) 10%,transparent);position:sticky;top:0;z-index:2}
.sp-logo{display:flex;align-items:center;gap:10px;font:700 19px/1 var(--ft);color:var(--p);white-space:nowrap}
.sp-logo-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--p);color:var(--tp);font-size:18px}
.sp-logo-img{height:38px;width:auto;max-width:140px;object-fit:contain}
.sp-nav{display:flex;gap:18px;margin-left:auto;font-size:14px;opacity:.85;flex-wrap:wrap}
.sp-header-fin{display:flex;align-items:center;gap:12px;margin-left:auto}
.sp-nav+.sp-header-fin{margin-left:12px}
.sp-outil{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--p)}
.sp-outil svg{width:18px;height:18px}
.sp-entete-centre .sp-header{flex-direction:column;gap:10px;padding-block:18px}
.sp-entete-centre .sp-nav{margin:0}
.sp-entete-centre .sp-header-fin{position:absolute;right:36px;top:16px}
.sp-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;background:var(--b);color:var(--tb);font-weight:700;font-size:14.5px;line-height:1.1;white-space:nowrap;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--b) 70%,transparent)}
.sp-btn-s{padding:8px 14px;font-size:13px}
.sp-btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.sp-btn-inverse{background:var(--f);color:var(--t)}
.sp-sec{padding:56px 36px;position:relative;transition:box-shadow .3s}
.sp-sec.sp-alt{background:var(--s);color:var(--ts)}
.sp-surligne{box-shadow:inset 0 0 0 4px var(--a);animation:surligne 1.4s var(--ease)}
@keyframes surligne{0%{box-shadow:inset 0 0 0 0 var(--a)}20%{box-shadow:inset 0 0 0 6px var(--a)}100%{box-shadow:inset 0 0 0 0 transparent}}
.sp-titre{font-size:32px;color:var(--p)}
.sp-alt .sp-titre{color:inherit}
.sp-intro{max-width:60ch}
.sp-hero{padding:0}
.sp-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:64px 36px}
.sp-hero-texte h3{font-size:50px;color:var(--p);margin-bottom:14px}
.sp-sur{font:700 12.5px/1.2 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--a);opacity:1!important}
.sp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sp-hero-img{aspect-ratio:4/3.4;border-radius:calc(var(--r)*1.5)}
.sp-hero-plein{background:linear-gradient(120deg,var(--p),color-mix(in srgb,var(--p) 60%,var(--a)));color:var(--tp);position:relative;overflow:hidden}
.sp-hero-plein .sp-hero-in{grid-template-columns:1fr;min-height:440px;position:relative}
.sp-hero-plein .sp-hero-img{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;opacity:.32}
.sp-hero-plein .sp-hero-img.sp-img-vide{background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--a) 70%,transparent),transparent 55%);opacity:1}
.sp-hero-plein .sp-hero-img.sp-img-vide svg{opacity:.18;color:var(--tp);width:46%;height:46%;position:absolute;right:4%;bottom:-8%}
.sp-hero-plein .sp-hero-texte{position:relative;z-index:1;max-width:620px}
.sp-hero-plein h3{color:inherit}
.sp-hero-plein .sp-btn{background:var(--f);color:var(--t)}
.sp-hero-centre{background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--a) 22%,transparent),transparent 60%),var(--s);color:var(--ts)}
.sp-hero-centre .sp-hero-in{grid-template-columns:1fr;text-align:center;justify-items:center;padding-block:80px}
.sp-hero-centre .sp-hero-texte{max-width:720px}
.sp-hero-centre .sp-actions{justify-content:center}
.sp-hero-centre h3{color:inherit}
.sp-img{border-radius:var(--r);overflow:hidden;background:color-mix(in srgb,var(--p) 14%,var(--f));aspect-ratio:4/3;position:relative}
.sp-img img{width:100%;height:100%;object-fit:cover;display:block}
.sp-img-vide{display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--p) 22%,var(--f)),color-mix(in srgb,var(--a) 26%,var(--f)));color:color-mix(in srgb,var(--p) 70%,var(--f))}
.sp-img-vide svg{width:34%;height:34%;opacity:.55}
.sp-img-item{aspect-ratio:4/3;border-radius:calc(var(--r) - 4px)}
.sp-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px}
.sp-liste{display:grid;gap:10px;margin-top:20px}
.sp-liste .sp-item{display:grid;grid-template-columns:140px 1fr;align-items:center}
.sp-liste .sp-item:not(:has(.sp-img)){grid-template-columns:1fr}
.sp-carrousel{position:relative;margin-top:20px}
.sp-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(72%,300px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 16px;scrollbar-width:thin}
.sp-track>*{scroll-snap-align:start}
.sp-car-nav{display:flex;gap:8px;justify-content:flex-end}
.sp-car-nav{position:relative;z-index:1}
.sp-item{background:var(--f);color:var(--t);border-radius:var(--r);overflow:hidden;box-shadow:var(--ombre);display:flex;flex-direction:column;position:relative}
.sp-item-corps{padding:16px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.sp-item-corps>svg{width:24px;height:24px;color:var(--a);margin-bottom:6px}
.sp-item h4{font-size:18px;margin:0}
.sp-item p{font-size:14px;margin:0}
.sp-meta{font-size:13px!important;opacity:.7!important}
.sp-item-pied{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px}
.sp-prix{font:700 18px/1 var(--ft);color:var(--at,var(--a))}
.sp-alt .sp-item .sp-prix{color:var(--at,var(--a))}
.sp-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.sp-chips span{font-size:12px;padding:3px 9px;border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t) 22%,transparent)}
.sp-opt{font-size:12px;color:var(--at,var(--a));font-weight:700}
.sp-exemple{align-self:flex-start;font:700 10.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;border-radius:6px;background:#ffe3a8;color:#4a3000;margin-bottom:4px}
.sp-cartes-net{--r:2px;--ombre:0 0 0 1px color-mix(in srgb,var(--t) 14%,transparent)}
.sp-cartes-contour{--r:10px;--ombre:0 0 0 2px color-mix(in srgb,var(--p) 55%,transparent)}
.sp-cartes-verre{--r:22px;--ombre:0 10px 30px -14px color-mix(in srgb,var(--p) 55%,transparent),inset 0 0 0 1px #ffffff80}
.sp-cartes-verre .sp-item{background:color-mix(in srgb,var(--f) 72%,transparent);backdrop-filter:blur(10px)}
.sp-groupe{margin-top:22px}
.sp-groupe-titre{font-size:14px!important;text-transform:uppercase;letter-spacing:.12em;color:var(--at,var(--a));font-family:var(--font-text)!important}
.sp-lignes{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}
.sp-lignes li{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.sp-ligne-nom{display:grid;font-weight:650}
.sp-ligne-nom small{font-weight:400;opacity:.7;font-size:13px}
.sp-ligne-nom .sp-exemple{display:inline-block;margin:0 0 0 6px;vertical-align:middle}
.sp-points{flex:1;border-bottom:2px dotted color-mix(in srgb,currentColor 25%,transparent);transform:translateY(-4px);min-width:20px}
.sp-lignes b{font:700 16px/1 var(--ft);color:var(--at,var(--a));white-space:nowrap}
.sp-lignes .sp-btn{align-self:center}
.sp-split{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:center;margin-top:10px}
.sp-grand{font-size:19px;line-height:1.55;opacity:.92!important}
.sp-centre{max-width:740px;margin:0 auto;text-align:center}
.sp-presentation.sp-d-centre .sp-titre{text-align:center}
.sp-num{font:700 13px/1 var(--font-mono);color:var(--at,var(--a))}
.sp-photo{margin:0}
.sp-photo .sp-img{aspect-ratio:1}
.sp-photo figcaption{font-size:13px;margin-top:6px;opacity:.8}
.sp-membre .sp-avatar{aspect-ratio:1}
.sp-avis .sp-etoiles{color:var(--a);letter-spacing:3px;font-size:18px}
.sp-note{font:600 12px/1.4 var(--font-mono)!important;opacity:.62!important;margin-top:12px!important;letter-spacing:.02em}
.sp-faq{display:grid;gap:8px;margin-top:16px;max-width:760px}
.sp-faq details{background:var(--f);color:var(--t);border-radius:var(--r);padding:14px 18px;box-shadow:var(--ombre)}
.sp-faq summary{font-weight:700;cursor:default}
.sp-faq p{margin:8px 0 0}
.sp-resa{margin-top:18px;padding:22px;border-radius:calc(var(--r) + 6px);background:var(--f);color:var(--t);box-shadow:var(--ombre);max-width:860px}
.sp-resa-lien{display:grid;justify-items:start;gap:10px}
.sp-resa-etapes{display:flex;gap:16px;list-style:none;padding:0;margin:0 0 16px;font-size:13px;font-weight:700}
.sp-resa-etapes li{color:color-mix(in srgb,var(--t) 70%,var(--f))}
.sp-resa-etapes .on{color:var(--at,var(--a))}
.sp-resa-corps{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}
.sp-resa-col{display:grid;gap:8px;align-content:start}
.sp-resa-choix{display:grid;gap:2px;padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--t) 15%,transparent)}
.sp-resa-choix.on{box-shadow:inset 0 0 0 2px var(--b);background:color-mix(in srgb,var(--b) 8%,var(--f))}
.sp-resa-choix span{font-weight:700}
.sp-resa-choix small{opacity:.7}
.sp-resa-jours{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.sp-resa-jours span{display:grid;justify-items:center;padding:8px 0;border-radius:12px;font-size:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t) 15%,transparent)}
.sp-resa-jours b{font-size:17px}
.sp-resa-jours .on,.sp-resa-heures .on{background:var(--b);color:var(--tb);box-shadow:none}
.sp-resa-heures{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sp-resa-heures span{text-align:center;padding:9px 0;border-radius:10px;font-size:13.5px;font-weight:650;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t) 15%,transparent)}
.sp-horaires{display:grid;gap:0;max-width:480px;margin:14px 0 0}
.sp-horaires div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.sp-horaires dt{font-weight:700}
.sp-horaires dd{margin:0}
.sp-carte{position:relative;margin-top:16px;border-radius:calc(var(--r) + 4px);overflow:hidden;box-shadow:var(--ombre)}
.sp-carte svg{width:100%;height:auto;display:block}
.sp-pin{position:absolute;left:53.5%;top:34%;transform:translate(-50%,-100%);color:var(--a)}
.sp-pin svg{width:42px;height:42px;fill:var(--f)}
.sp-carte p{position:absolute;left:16px;bottom:14px;margin:0;display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--f);color:var(--t);opacity:1!important;font-weight:650;box-shadow:var(--ombre)}
.sp-news{max-width:620px}
.sp-news-form{display:flex;gap:8px;margin-top:10px}
.sp-champ{flex:1;display:flex;align-items:center;padding:12px 16px;border-radius:12px;background:var(--f);color:color-mix(in srgb,var(--t) 55%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--t) 18%,transparent);font-size:14px;min-height:46px}
.sp-champ-l{min-height:96px;align-items:flex-start;grid-column:1/-1}
.sp-form{max-width:680px;display:grid;gap:14px;justify-items:start;margin-top:14px}
.sp-champs{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.sp-cta-bloc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:30px;border-radius:calc(var(--r) + 8px);background:var(--p);color:var(--tp)}
.sp-cta-bloc .sp-grand{margin:0}
.sp-cta .sp-titre{display:none}
.sp-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:26px 36px;font-size:13px;background:var(--p);color:var(--tp)}
.sp-footer span{opacity:.85}
.sp-vide{padding:28px;border-radius:var(--r);text-align:center;box-shadow:inset 0 0 0 2px color-mix(in srgb,currentColor 18%,transparent);opacity:.8}
@container (max-width:720px){
  .sp-header{padding:12px 16px;gap:10px}
  .sp-nav{display:none}
  .sp-entete-centre .sp-header-fin{position:static}
  .sp-outil span{display:none}
  .sp-sec{padding:38px 18px}
  .sp-hero-in{grid-template-columns:1fr;padding:38px 18px;gap:22px}
  .sp-hero-texte h3{font-size:34px}
  .sp-hero-plein .sp-hero-in{min-height:380px}
  .sp-titre{font-size:25px}
  .sp-split,.sp-resa-corps,.sp-champs{grid-template-columns:1fr}
  .sp-grille{grid-template-columns:1fr 1fr;gap:10px}
  .sp-cols{grid-template-columns:1fr}
  .sp-liste .sp-item{grid-template-columns:96px 1fr}
  .sp-track{grid-auto-columns:80%}
  .sp-item-corps{padding:12px 14px}
  .sp-item h4{font-size:16px}
  .sp-lignes li{flex-wrap:wrap}
  .sp-lignes .sp-btn{display:none}
  .sp-footer{padding:20px 18px;flex-direction:column}
  .sp-cta-bloc{padding:22px}
  .sp-news-form{flex-direction:column}
}
@container (max-width:460px){
  .sp-grille{grid-template-columns:1fr}
  .sp-header .sp-btn{display:none}
}
@media (min-width:1000px){.st-offres{--slide:calc((100% - 2 * var(--gap)) / 3)}.st-offres.is-ready .carrousel-track>*:not(.is-active){transform:none;opacity:1}.st-offres .carrousel-bar{display:none}}

/* ——— V3 : entrée directe dans l'atelier ——— */
.st-outils-entree{display:flex;flex-wrap:wrap;gap:4px 20px;margin:6px 0 0}
.st-retour-vide{display:inline-block;width:1px}
.st-style-depart{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--mint-soft,#e6f7ef);font-size:15px}
.st-outils-entree .st-import,.st-outils-entree .st-lien-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px}
.st-outils-entree svg{width:17px;height:17px;flex:none}
.st-lien-btn{background:none;border:0;padding:0;cursor:pointer}

/* ——— V3 : aperçu navigable et mode Tester ——— */
.sp-site button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}
.sp-site button.sp-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;background:var(--b);color:var(--tb);font-weight:700;font-size:14.5px;line-height:1.1;white-space:nowrap;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--b) 70%,transparent);transition:transform .2s,filter .2s}
.sp-site button.sp-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.sp-site button.sp-btn-s{padding:8px 14px;font-size:13px}
.sp-site button.sp-btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.sp-site button.sp-btn-inverse{background:var(--f);color:var(--t)}
.sp-hero-plein button.sp-btn:not(.sp-btn-ghost){background:var(--f);color:var(--t)}
.sp-site button:focus-visible{outline:3px solid var(--a);outline-offset:2px}
.sp-site .sp-lien{text-decoration:none}
.sp-site .sp-lien:hover{text-decoration:underline;text-underline-offset:3px}
.sp-footer .sp-lien{color:inherit}
.sp-site .sp-logo{display:flex;align-items:center;gap:10px}
.sp-site .sp-outil{display:inline-flex;align-items:center;gap:6px;position:relative}
.sp-panier-compte{position:absolute;top:-8px;left:10px;min-width:18px;height:18px;border-radius:9px;background:var(--a);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 4px}
.sp-burger{display:none;font-size:20px;width:38px;height:38px;border-radius:10px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 30%,transparent)}
.sp-site .sp-burger{display:none}
.sp-menu-mobile{flex-basis:100%;display:grid;gap:4px;padding-top:8px}
.sp-menu-mobile[hidden]{display:none}
.sp-menu-mobile .sp-lien{padding:10px 4px;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.sp-header{flex-wrap:wrap}
.sp-car-nav{align-items:center}
.sp-site .sp-car-nav button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--b)!important;color:var(--tb)!important;font-size:22px!important;line-height:1}
.sp-car-pos{font-size:12.5px;opacity:.7}
.sp-site .sp-resa-choix{display:grid;width:100%}
.sp-site .sp-resa-heures button{padding:8px 12px;border-radius:10px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 25%,transparent)}
.sp-site .sp-resa-heures button.on{background:var(--b);color:var(--tb);box-shadow:none}
.sp-demo-option{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#fff4d6;color:#6b4a00;border:1px dashed #b98a12}
.sp-cible{animation:sp-cible 1.2s var(--ease)}
@keyframes sp-cible{0%{box-shadow:inset 0 0 0 3px var(--a)}100%{box-shadow:inset 0 0 0 3px transparent}}
@container (max-width:720px){.sp-site .sp-burger{display:grid;place-items:center}}

.st-apercu-note{margin:8px 4px 0;font-size:13px;color:var(--muted)}
.st-tester{white-space:nowrap}
.st-tester svg{width:17px;height:17px}
.st-proposees{margin:18px 0}
.st-proposees-liste{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}
.st-proposees-liste li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.st-proposees-liste li>span:first-child{flex:1 1 200px}
.st-proposees-liste small{display:block;color:var(--muted)}

.st-dialog-tester{width:min(1320px,96vw);max-width:none}
.st-dialog-tester .st-dialog-tete{flex-wrap:wrap;gap:10px 16px}
.st-tester-titre{flex:1 1 260px}
.st-tester-titre h2{margin:0}
.st-tester-titre p{margin:2px 0 0;font-size:13.5px;color:var(--muted)}
.sp-simu{position:fixed;right:max(16px,2vw);bottom:max(16px,3vh);width:min(380px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;background:var(--surface);color:var(--text);border-radius:18px;box-shadow:0 24px 60px -20px #1b1340aa,0 0 0 1px var(--line);padding:16px 18px;z-index:5;animation:fade .25s var(--ease)}
.sp-simu[hidden]{display:none}
.sp-simu-tete{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sp-simu-titre{margin:0;font:650 18px/1.2 var(--font-display)}
.sp-simu-fermer{width:44px;height:44px;border-radius:12px;border:0;background:var(--surface-3);font-size:22px;cursor:pointer}
.sp-simu-corps{display:grid;gap:10px;margin-top:8px;font-size:15px}
.sp-simu-corps p{margin:0}
.sp-simu-corps .sp-btn,.sp-simu .sp-btn{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;border-radius:999px;border:0;background:var(--purple);color:#fff;font-weight:700;cursor:pointer}
.sp-simu .sp-btn-ghost{background:transparent;color:var(--purple);box-shadow:inset 0 0 0 1.5px currentColor}
.sp-simu .sp-btn[disabled]{opacity:.45;cursor:not-allowed}
.sp-simu .sp-btn-s{min-height:40px;padding:6px 14px;font-size:14px}
.sp-simu-mention{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.sp-simu-note{font-size:13.5px;color:var(--muted)}
.sp-simu-ok{font-weight:700;color:#0b7a5a}
.sp-simu-sous{font-weight:700;margin-top:6px!important}
.sp-simu-etapes{display:flex;gap:6px;list-style:none;padding:0;margin:0;font-size:12.5px;flex-wrap:wrap}
.sp-simu-etapes li{padding:4px 8px;border-radius:999px;background:var(--surface-3)}
.sp-simu-etapes li.on{background:var(--purple);color:#fff}
.sp-simu-choix,.sp-simu-produits{display:grid;gap:8px}
.sp-simu-option{display:grid;text-align:left;gap:2px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;min-height:44px}
.sp-simu-option.on,.sp-simu-option:hover{border-color:var(--purple)}
.sp-simu-option small,.sp-simu-produit small{color:var(--muted)}
.sp-simu-jours,.sp-simu-heures{display:flex;flex-wrap:wrap;gap:6px}
.sp-simu-jours button,.sp-simu-heures button{min-width:52px;min-height:44px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600}
.sp-simu-jours button.on,.sp-simu-heures button.on{background:var(--purple);border-color:var(--purple);color:#fff}
.sp-simu-actions{display:flex;justify-content:space-between;gap:8px}
.sp-simu-form{display:grid;gap:10px}
.sp-simu-form label{display:grid;gap:4px;font-weight:600;font-size:14px}
.sp-simu-form input,.sp-simu-form textarea,.sp-simu-form select{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface)}
.sp-simu-produit{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}
.sp-simu-produit b,.sp-simu-produit small,.sp-simu-produit span{grid-column:1}
.sp-simu-produit .sp-btn{grid-column:2;grid-row:1/span 3}
.sp-simu-panier{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.sp-simu-panier li{display:flex;gap:10px;align-items:center}
.sp-simu-panier li span{flex:1}
.sp-simu-panier .sp-lien{border:0;background:none;color:var(--purple);cursor:pointer;min-height:44px}
.sp-simu-total{font-size:16px}
@media (prefers-reduced-motion:reduce){.sp-cible,.sp-simu{animation:none}}
.st-promesse{margin-top:10px;font-size:15px}
.st-promesse summary{cursor:pointer;display:inline-flex;gap:8px;align-items:baseline;min-height:44px;align-items:center;list-style:none}
.st-promesse summary::-webkit-details-marker{display:none}
.st-promesse summary span{color:var(--purple);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.st-promesse p{margin:6px 0 0;max-width:68ch}
.st-promesse-bloc{margin:0 0 18px;padding:18px 20px;border-radius:var(--r-l);background:linear-gradient(120deg,color-mix(in srgb,var(--purple) 9%,var(--surface)),color-mix(in srgb,var(--mint) 12%,var(--surface)));border:1px solid var(--line)}
.st-promesse-bloc p{margin:0 0 6px;max-width:75ch}
.st-promesse-titre{font:650 22px/1.2 var(--font-display);letter-spacing:-.01em}
@media (max-width:1080px){.st-apercu-note{display:none}}
@media (max-width:640px){.st-apercu-etiquette{display:none}.st-tester{padding:8px 12px;min-height:40px}}
.no-js [data-pre-rendu]{display:none}

/* ——— Atelier de composition de l'accueil (section 02 · Le Studio) ——— */
.aa{display:grid;grid-template-columns:minmax(0,370px) minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:start;margin-top:8px;padding:clamp(16px,2.4vw,28px);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2)}
.aa-controles{display:flex;flex-direction:column;gap:20px;min-width:0}
.aa-groupe{border:0;padding:0;margin:0;min-width:0}
.aa-groupe legend,.aa-champ label{display:flex;align-items:center;gap:10px;font:700 15px/1.3 var(--font-text);color:var(--text);margin:0 0 10px;padding:0}
.aa-num{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--lavande-pale);color:var(--purple);font:700 13px/1 var(--font-mono)}
.aa-chips{display:flex;flex-wrap:wrap;gap:8px}
.aa-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px 8px 10px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font:600 14px/1.2 var(--font-text);transition:border-color .25s,background .25s,transform .3s var(--spring)}
.aa-chip svg{width:20px;height:20px;flex:none;color:var(--sc)}
.aa-chip:hover{border-color:var(--sc);transform:translateY(-2px)}
.aa-chip[aria-pressed="true"]{background:var(--sc);border-color:var(--sc);color:#fff}
.aa-chip[aria-pressed="true"] svg{color:#fff}
.aa-palettes,.aa-typos{display:flex;flex-wrap:wrap;gap:8px}
.aa-palette{width:64px;height:48px;padding:6px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center}
.aa-pastilles{display:flex;width:100%;height:100%;border-radius:9px;overflow:hidden}
.aa-pastilles i{flex:1}
.aa-typo{min-width:64px;min-height:48px;padding:6px 10px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.aa-aa{font-size:20px;line-height:1;font-weight:700}
.aa-typo small{font-size:11px;color:var(--muted)}
.aa-palette[aria-pressed="true"],.aa-typo[aria-pressed="true"]{border-color:var(--purple);box-shadow:0 0 0 3px var(--lavande-pale)}
.aa-palette:hover,.aa-typo:hover{border-color:var(--line-2)}
.aa-champ input{width:100%;min-height:48px;font-size:16px}
.aa-scene{min-width:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:96px}
.aa-barre{display:flex;align-items:center;gap:12px}
.aa-appareils{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--surface-3)}
.aa-appareils button{min-height:44px;padding:0 12px;border-radius:9px;border:0;background:none;color:var(--muted);display:flex;align-items:center;gap:6px;font:600 13px/1 var(--font-text)}
.aa-appareils button svg{width:18px;height:18px}
.aa-appareils button[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}
.aa-etiquette{margin-left:auto;font:600 12px/1.2 var(--font-mono);color:var(--muted);letter-spacing:.05em}
.aa-ecran{position:relative;height:460px;overflow:hidden;border-radius:var(--r-l);border:1px solid var(--line);background:repeating-conic-gradient(var(--surface-2) 0 25%,var(--bg) 0 50%) 0 0/22px 22px}
.aa-ecran-in{transform-origin:top left;transform:scale(.55);pointer-events:none;user-select:none}
.aa-ecran[data-appareil="mobile"] .aa-ecran-in{transform-origin:top center;margin:14px 0 0 calc(50% - 195px);box-shadow:0 0 0 8px #16122b,0 20px 50px -20px #000a;border-radius:6px;transform:none}
.aa-ecran::after{content:"";position:absolute;inset:auto 0 0;height:56px;background:linear-gradient(transparent,color-mix(in srgb,var(--bg) 85%,transparent));pointer-events:none}
.aa-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.aa-budget{margin:0;display:flex;flex-direction:column;gap:2px}
.aa-budget span{font-size:13px;color:var(--muted)}
.aa-budget b{font:700 24px/1.1 var(--font-display);color:var(--text)}
.aa-note{margin:0;font-size:14px;color:var(--muted)}
.aa-note b{color:var(--text)}
@media (max-width:980px){.aa{grid-template-columns:1fr}.aa-scene{order:-1;position:static}.aa-ecran{height:420px}}
@media (max-width:720px){
  .aa{padding:14px;margin-inline:calc(var(--gutter,16px) * -.25)}
  .aa-scene{order:0}
  .aa-controles{display:contents}
  .aa-groupe:first-child{order:-2}
  .aa-scene{order:-1}
  .aa-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-14px;padding:2px 14px 6px;scroll-snap-type:x proximity;scrollbar-width:none}
  .aa-chips::-webkit-scrollbar{display:none}
  .aa-chip{flex:none;scroll-snap-align:start}
  .aa-ecran{height:380px}
  .aa-ecran-in{transform:scale(.3)}
  .aa-etiquette{display:none}
  .aa-appareils{margin-left:auto}
  .aa-pied .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.aa-chip,.aa-chip:hover{transition:none;transform:none}}
