/* Pages publiques du parcours de vente : demande, devis, paiement. Chargé via @push('head'). */
.s-page{padding:clamp(32px,6vw,72px) 0 80px}
.s-narrow{width:min(100% - 2.5rem,760px);margin-inline:auto}
.s-head{display:grid;gap:10px;margin-bottom:28px}
.s-head h1{font-size:clamp(28px,4.5vw,42px);line-height:1.1;letter-spacing:-.02em}
.s-head p{color:var(--p-muted)}
.s-card{padding:clamp(20px,4vw,32px);border-radius:var(--p-r);background:var(--p-surface);border:1px solid var(--p-line)}
.s-card+.s-card{margin-top:18px}
.s-card h2{font-size:20px;margin-bottom:12px}
.s-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px 18px}
.s-field{display:grid;gap:6px;align-content:start}
.s-field--full{grid-column:1/-1}
.s-field>label,.s-field>legend,.s-label{font-weight:600;font-size:15px;padding:0}
.s-field input:not([type=checkbox]):not([type=radio]),.s-field select,.s-field textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--p-line);border-radius:12px;font:inherit;background:#fff;color:inherit}
.s-field textarea{min-height:130px;resize:vertical}
.s-field fieldset{border:0;margin:0;padding:0;min-width:0}
.s-help{color:var(--p-muted);font-size:14px}
.s-err{margin:0;color:#B42318;font-size:14px}
.s-req{color:#B42318}
.s-choices{display:flex;flex-wrap:wrap;gap:8px}
.s-choice{position:relative}
.s-choice input{position:absolute;opacity:0;inset:0}
.s-choice span{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid var(--p-line);border-radius:999px;background:#fff;cursor:pointer;font-size:15px}
.s-choice input:checked+span{background:var(--p-ink);border-color:var(--p-ink);color:#fff}
.s-choice input:focus-visible+span{outline:2px solid var(--p-accent);outline-offset:2px}
.s-check{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.s-check input{margin-top:4px;width:18px;height:18px;flex:none}
.s-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.s-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:22px}
.s-errors{padding:14px 16px;border-radius:12px;background:#FDE8E6;color:#B42318;margin-bottom:18px}
.s-ok{padding:14px 16px;border-radius:12px;background:#E3F5E9;color:#166534;margin-bottom:18px}
.s-warn{padding:14px 16px;border-radius:12px;background:#FFF4DB;color:#8A5A00;margin-bottom:18px}
.s-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 22px;border:1px solid var(--p-ink);border-radius:999px;background:var(--p-ink);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.s-btn--line{background:transparent;color:var(--p-ink)}
.s-btn--danger{background:transparent;color:#B42318;border-color:#F3C7C2}
.s-btn[disabled]{opacity:.55;cursor:wait}
/* Devis */
.s-quote-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:0}
.s-quote-meta dt{color:var(--p-muted);font-size:13px}.s-quote-meta dd{margin:0;font-weight:600}
.s-lines{width:100%;border-collapse:collapse;font-size:15px}
.s-lines th{padding:10px 8px;text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--p-muted);border-bottom:1px solid var(--p-line)}
.s-lines td{padding:12px 8px;border-bottom:1px solid var(--p-line);vertical-align:top}
.s-lines .s-num{text-align:right;white-space:nowrap}
.s-lines small{display:block;color:var(--p-muted)}
.s-totals{display:grid;grid-template-columns:auto auto;justify-content:end;gap:6px 28px;margin-top:14px}
.s-totals .s-grand{font-size:22px;font-weight:800}
.s-status{display:inline-block;padding:4px 11px;border-radius:999px;background:#EEEEEA;font-size:13px;font-weight:700}
.s-status--ok{background:#E3F5E9;color:#166534}.s-status--warn{background:#FFF4DB;color:#8A5A00}.s-status--bad{background:#FDE8E6;color:#B42318}
.s-actions{display:grid;gap:14px}
.s-thread{display:grid;gap:10px}
.s-msg{padding:12px 14px;border-radius:12px;background:#F3F3F0}
.s-msg--admin{background:#E6EBFF}
.s-msg small{display:block;color:var(--p-muted)}
.s-steps{list-style:none;margin:0 0 24px;padding:0;display:flex;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--p-muted)}
.s-steps li{padding:5px 10px;border-radius:999px;border:1px solid var(--p-line)}
.s-steps li.is-current{background:var(--p-ink);color:#fff;border-color:var(--p-ink)}
.s-steps li.is-done{background:#E3F5E9;color:#166534;border-color:transparent}
@media (max-width:640px){
  .s-lines thead{display:none}
  .s-lines tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--p-line)}
  .s-lines td{border:0;padding:0}
  .s-lines td.s-qty{grid-column:1;color:var(--p-muted);font-size:14px}
  .s-foot{flex-direction:column;align-items:stretch}
  .s-btn{width:100%}
}
