/* ===== Demande de site (sfm-) — page « Site internet ». Même langage visuel que book.css. ===== */
.sfm{position:fixed;inset:0;z-index:1001;display:grid;place-items:center;padding:20px}
.sfm[hidden]{display:none}
.sfm-backdrop{position:absolute;inset:0;background:rgba(5,5,5,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:sfm-fade .35s var(--ease)}
@keyframes sfm-fade{from{opacity:0}}
.sfm-panel{position:relative;width:min(960px,100%);max-height:min(760px,calc(100vh - 40px));display:grid;grid-template-columns:300px minmax(0,1fr);
  border-radius:26px;overflow:hidden;background:#0f0f0f;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 0 0 1px rgba(255,153,28,.12),0 40px 120px -30px rgba(255,134,13,.45),0 30px 80px -20px rgba(0,0,0,.8);
  animation:sfm-in .5s var(--ease)}
@keyframes sfm-in{from{opacity:0;transform:translateY(24px) scale(.97)}}
.sfm-x{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .25s,transform .25s}
.sfm-x:hover{background:rgba(255,255,255,.12);transform:rotate(90deg)}
.sfm-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}

.sfm-side{position:relative;padding:30px 26px;display:flex;flex-direction:column;gap:16px;overflow:hidden;
  background:radial-gradient(120% 70% at 0% 0%,rgba(255,134,13,.28),transparent 60%),linear-gradient(180deg,#1a120a,#120d09)}
.sfm-brand{display:flex;align-items:center;gap:8px;font:700 14px/1 var(--font-display);color:#fff;margin:0}
.sfm-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px var(--orange)}
.sfm-title{margin:6px 0 0;font:700 26px/1.1 var(--font-display);letter-spacing:-.03em;color:#fff}
.sfm-lead{margin:0;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.72)}
.sfm-facts{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.sfm-facts li{display:flex;align-items:center;gap:10px;font-size:14px;color:#fff}
.sfm-facts svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sfm-side-foot{margin:auto 0 0;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.5)}

.sfm-main{position:relative;overflow:auto;padding:30px 30px 26px}
.sfm-step{display:none}
.sfm-step.is-on{display:flex;flex-direction:column;gap:16px;animation:sfm-step .45s var(--ease)}
@keyframes sfm-step{from{opacity:0;transform:translateX(18px)}}
.sfm-h{margin:0;padding-right:44px;font:700 20px/1.2 var(--font-display);letter-spacing:-.02em;color:#fff}
.sfm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sfm-field{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;border:0;min-width:0}
.sfm-field[hidden]{display:none}
.sfm-field > span,.sfm-field legend{padding:0;font-size:13px;font-weight:600;color:rgba(255,255,255,.8)}
.sfm-field em{font-style:normal;font-weight:500;color:rgba(255,255,255,.45)}
.sfm-field input,.sfm-field textarea{width:100%;padding:0 14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);color:#fff;font:500 16px/48px var(--font-body);outline:none;
  transition:border-color .25s,box-shadow .25s,background .25s;appearance:none;-webkit-appearance:none}
.sfm-field input{height:48px}
.sfm-field textarea{padding:12px 14px;line-height:1.5;min-height:84px;resize:vertical;font-size:15.5px}
.sfm-field input::placeholder,.sfm-field textarea::placeholder{color:rgba(255,255,255,.3)}
.sfm-field input:focus,.sfm-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,153,28,.16);background:rgba(255,153,28,.05)}
.sfm-field.is-bad input,.sfm-field.is-bad textarea{border-color:#ff5c5c;box-shadow:0 0 0 4px rgba(255,92,92,.14)}

/* choix « as-tu déjà un site ? » : deux pastilles */
.sfm-field--choice legend{margin-bottom:7px}
.sfm-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sfm-choice{position:relative;display:block}
.sfm-choice input{position:absolute;opacity:0;width:1px;height:1px}
.sfm-choice span{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border-radius:12px;
  border:1.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:rgba(255,255,255,.85);
  font-size:14.5px;line-height:1.3;cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.sfm-choice span::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);transition:all .25s var(--ease)}
.sfm-choice:hover span{border-color:rgba(255,153,28,.5)}
.sfm-choice input:checked + span{border-color:var(--orange);background:rgba(255,153,28,.1);color:#fff}
.sfm-choice input:checked + span::before{border-color:var(--orange);background:var(--orange);box-shadow:inset 0 0 0 3.5px #0f0f0f}
.sfm-choice input:focus-visible + span{outline:2px solid var(--orange);outline-offset:3px}
.sfm-field--choice.is-bad .sfm-choice span{border-color:#ff5c5c}

.sfm-err{margin:-2px 0 0;font-size:13.5px;color:#ff8a8a}
.sfm-submit{align-self:flex-start}
.sfm-submit[disabled]{opacity:.6;pointer-events:none}
.sfm-legal{margin:0;font-size:12px;color:rgba(255,255,255,.45)}
.sfm-legal a{color:inherit;text-decoration:underline}

.sfm-done.is-on{align-items:center;justify-content:center;text-align:center;min-height:420px;gap:18px}
.sfm-done-ico{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--orange);
  box-shadow:0 0 0 10px rgba(255,153,28,.15),0 20px 50px -10px rgba(255,134,13,.7);animation:sfm-pop .6s var(--ease)}
@keyframes sfm-pop{from{transform:scale(.4);opacity:0}}
.sfm-done-ico svg{width:40px;height:40px;fill:none;stroke:#0a0a0a;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.sfm-done .sfm-h{padding:0}
.sfm-done-p{margin:0;max-width:400px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.72)}
html.sfm-lock{overflow:hidden}

@media (max-width:860px){
  .sfm{padding:0;place-items:end stretch}
  .sfm-panel{grid-template-columns:1fr;max-height:100dvh;height:100dvh;border-radius:0;animation:sfm-up .45s var(--ease)}
  @keyframes sfm-up{from{transform:translateY(40px);opacity:0}}
  .sfm-side{padding:20px 20px 16px;gap:10px}
  .sfm-title{font-size:21px;padding-right:44px}
  .sfm-lead,.sfm-side-foot{display:none}
  .sfm-facts{flex-direction:row;flex-wrap:wrap;gap:8px 14px}
  .sfm-facts li{font-size:12.5px}
  .sfm-main{padding:20px}
  .sfm-grid,.sfm-choices{grid-template-columns:1fr}
  .sfm-submit{align-self:stretch;justify-content:center}
  .sfm-h{padding-right:0}
}
/* clair */
[data-theme="light"] .sfm-panel{background:#fffdf9;border-color:rgba(60,40,20,.12);box-shadow:0 40px 120px -40px rgba(217,96,0,.45),0 30px 70px -30px rgba(60,35,10,.4)}
[data-theme="light"] .sfm-backdrop{background:rgba(40,28,15,.45)}
[data-theme="light"] .sfm-main .sfm-h,[data-theme="light"] .sfm-field input,[data-theme="light"] .sfm-field textarea{color:#0f0f0f}
[data-theme="light"] .sfm-field > span,[data-theme="light"] .sfm-field legend{color:#3a332c}
[data-theme="light"] .sfm-field em{color:#8a8276}
[data-theme="light"] .sfm-field input,[data-theme="light"] .sfm-field textarea{background:#fff;border-color:rgba(60,40,20,.16)}
[data-theme="light"] .sfm-field input::placeholder,[data-theme="light"] .sfm-field textarea::placeholder{color:#a69b8f}
[data-theme="light"] .sfm-choice span{background:#fff;border-color:rgba(60,40,20,.16);color:#3a332c}
[data-theme="light"] .sfm-choice span::before{border-color:rgba(60,40,20,.3)}
[data-theme="light"] .sfm-choice input:checked + span{color:#0f0f0f;background:rgba(255,153,28,.14)}
[data-theme="light"] .sfm-choice input:checked + span::before{box-shadow:inset 0 0 0 3.5px #fff}
[data-theme="light"] .sfm-legal{color:#7a6f63}
[data-theme="light"] .sfm-done-p{color:#5a5047}
[data-theme="light"] .sfm-main .sfm-x{color:#0f0f0f}
@media (prefers-reduced-motion:reduce){.sfm *,.sfm{animation:none!important}}
