/* wizard.css — propriétaire : publication (ordre de chargement = ordre de la cascade, voir index.html) */
/* ============================ Wizard ============================ */
.wz{min-height:100%;display:flex;flex-direction:column}
.wz-top{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 4px;background:var(--c-bg);min-height:60px}
.wz-prog{flex:1;display:flex;gap:6px}
.wz-prog i{flex:1;height:6px;border-radius:3px;background:var(--c-line);position:relative;overflow:hidden}
.wz-prog i::after{content:"";position:absolute;inset:0;background:var(--c-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-out)}
.wz-prog i.on::after{transform:scaleX(1)}
.wz-n{font-size:var(--fs-sm);font-weight:700;color:var(--c-ink-2);font-variant-numeric:tabular-nums;min-width:30px;text-align:right}
.wz-body{flex:1;padding:8px var(--gutter) 24px}
.wz-body .t-3xl{margin-top:4px}
.wz-body .lead{color:var(--c-ink-2);margin-top:8px}
.wz-foot{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:var(--c-surface);border-top:1px solid var(--c-line);z-index:6}
.wz-foot .btn-primary{flex:1}
.drop{margin-top:20px;aspect-ratio:4/3;border-radius:var(--r-window);border:2px dashed var(--c-line-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--c-surface);text-align:center;padding:16px;position:relative;overflow:hidden}
.drop .cam{width:72px;height:72px;border-radius:24px 24px 8px 8px;background:var(--c-primary-soft);color:var(--c-on-primary-soft);display:grid;place-items:center}
.drop .cam .ic{width:32px;height:32px}
.tips{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.tips span{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-xs);font-weight:600;color:var(--c-ink-2);background:var(--c-sunken);padding:6px 10px;border-radius:999px}
.tips .ic{width:14px;height:14px}
.shot{position:relative;margin-top:20px}
.shot .pic{box-shadow:var(--sh-2)}
.scan{position:absolute;left:0;right:0;top:0;height:3px;background:var(--c-mimoza);box-shadow:0 0 16px 4px rgb(var(--c-mimoza-rgb) / .6);animation:scan 1.1s var(--ease-in-out) infinite alternate;z-index:3;border-radius:2px}
@keyframes scan{from{transform:translateY(0)}to{transform:translateY(240px)}}
.thumbs{display:flex;gap:8px;margin-top:10px}
.thumbs .pic,.thumbs button{width:56px;flex:none;border-radius:12px 12px 4px 4px}
.thumbs button{aspect-ratio:4/3;border:1.5px dashed var(--c-line-strong);display:grid;place-items:center;color:var(--c-ink-2)}
.thumbs .pic .pic-ic{width:60%;height:60%}
.thumbs .pic.main{box-shadow:0 0 0 2px var(--c-primary)}
.ai-card{margin-top:20px;border-radius:var(--r-lg);background:var(--c-surface);box-shadow:0 0 0 1.5px var(--c-primary),var(--sh-2);padding:16px;animation:rise var(--dur-slow) var(--ease-out) both}
.ai-h{display:flex;gap:8px;align-items:center;font-weight:700;color:var(--c-primary)}
.ai-h .ic{width:20px;height:20px}
.ai-h small{margin-left:auto;font-size:var(--fs-xs);color:var(--c-ink-3);font-weight:600}
.ai-f{margin-top:14px}
.ai-f label{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;color:var(--c-ink-2);letter-spacing:.02em;margin-bottom:6px}
.ai-f .ic{width:13px;height:13px}
.ai-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--c-on-primary-soft);background:var(--c-primary-soft);padding:1px 6px;border-radius:var(--r-xs);margin-left:6px;vertical-align:middle}
.ai-tag .ic{width:11px;height:11px}
.skel{border-radius:8px;background:var(--c-skeleton);height:14px;animation:skel 1.2s var(--ease-in-out) infinite}
@keyframes skel{0%,100%{opacity:.6}50%{opacity:1}}
.analyzing{display:flex;gap:10px;align-items:center;margin-top:16px;font-weight:700;color:var(--c-primary)}
.analyzing .ic{animation:spinS 1.6s linear infinite}
@keyframes spinS{to{transform:rotate(360deg)}}
.big-price{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}
.big-price input{width:5.2ch;font-family:var(--font-display);font-weight:800;font-size:48px;letter-spacing:-.03em;text-align:right;border:0;background:none;outline:none;font-variant-numeric:tabular-nums;color:var(--c-ink)}
.big-price span{font-weight:600;color:var(--c-ink-2);font-size:var(--fs-lg)}
.range{width:100%;margin-top:20px;-webkit-appearance:none;appearance:none;height:28px;background:none}
.range::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--c-primary) var(--p,20%),var(--c-sunken) var(--p,20%))}
.range::-moz-range-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--c-primary) var(--p,20%),var(--c-sunken) var(--p,20%))}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--c-surface);border:3px solid var(--c-primary);margin-top:-11px;box-shadow:var(--sh-2)}
.range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--c-surface);border:3px solid var(--c-primary);box-shadow:var(--sh-2)}
.range-l{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--c-ink-3);font-weight:600;font-variant-numeric:tabular-nums}
.band{position:relative;height:8px;margin-top:4px}
.hint{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-on-primary-soft);font-size:var(--fs-sm);font-weight:600}
.hint .ic{width:18px;height:18px;margin-top:1px}
.togrow{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px 16px;border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}
.preview{margin-top:12px;max-width:200px}
.preview.svcp{max-width:none}
/* ===== Publication — validations, photos, upload (PUB-04 à PUB-21) ===== */
.pub-err{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:var(--fs-sm);font-weight:600;color:var(--c-danger)}
.pub-err[hidden]{display:none}
.pub-err .ic{width:16px;height:16px;flex:none;margin-top:2px}
.input[aria-invalid="true"],.chips[aria-invalid="true"] .chip{box-shadow:inset 0 0 0 1.5px var(--c-danger)}
.input[aria-invalid="true"]{border-color:var(--c-danger)}
.big-price input[aria-invalid="true"]{color:var(--c-danger)}
.pub-note{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--c-info-soft);color:var(--c-ink);font-size:var(--fs-sm)}
.pub-note .ic{flex:none;margin-top:2px;color:var(--c-info)}
.pub-neterr,.pub-off{display:flex;gap:8px;align-items:center;padding:8px var(--gutter);background:var(--c-shega-soft);color:var(--c-shega-text);font-size:var(--fs-sm);font-weight:600}
.pub-off{margin:0 0 8px;border-radius:var(--r-md)}
.wz .pub-off{margin:0 var(--gutter) 8px}
.pub-wrap{flex-wrap:wrap;justify-content:center}
.pub-file{cursor:pointer}
.pub-file:focus-within{outline:3px solid var(--c-primary);outline-offset:2px}
.drop.pub-bad{border-color:var(--c-danger)}
.drop .link{min-height:44px}
.pub-thumbs{flex-wrap:wrap}
.thumbs .pub-th{position:relative;width:64px;height:48px;aspect-ratio:auto;border:0;padding:0;border-radius:12px 12px 4px 4px;overflow:hidden;display:block;cursor:pointer}
.thumbs .pub-th .pic{width:100%;height:100%;border-radius:inherit}
.thumbs .pub-th.add{border:1.5px dashed var(--c-line-strong);display:grid;place-items:center;color:var(--c-ink-2)}
.thumbs .pub-th:focus-within,.thumbs .pub-th:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
.pub-th.err{box-shadow:0 0 0 2px var(--c-danger)}
.pub-pr{position:absolute;left:4px;right:4px;bottom:4px;height:4px;border-radius:2px;background:rgb(var(--c-ink-rgb) / .35);overflow:hidden}
.pub-pr::after{content:"";position:absolute;inset:0;width:var(--p);background:var(--c-mimoza)}
.pub-x{position:absolute;inset:0;display:grid;place-items:center;background:rgb(var(--c-shega-rgb) / .55);color:#fff}
.pub-main{position:absolute;left:3px;top:3px;font-size:9px;font-weight:700;padding:1px 4px;border-radius:4px;background:var(--c-primary);color:var(--c-on-primary)}
.pic.pub-img{padding:0;overflow:hidden}
.pic.pub-img img{width:100%;height:100%;object-fit:cover;display:block}
.pub-phbig{max-width:320px;margin:0 auto}
.pub-acts{display:grid;gap:10px}
.pub-inl{display:flex;gap:8px;align-items:center;margin-top:6px;font-size:var(--fs-sm);color:var(--c-ink-2)}
.pub-inl .input{width:9ch;min-height:44px;padding:8px 10px}
.pub-inl .input:focus{padding:7.5px 9.5px}
.switch.pub-sw{box-sizing:content-box;border:6px solid transparent;background-clip:padding-box;margin:-6px}
.chip.pub-day{flex-direction:column;gap:0;height:52px;width:48px;padding:0;justify-content:center;border-radius:var(--r-md);line-height:1.1}
.chip.pub-day small{font-size:11px;font-weight:600;opacity:.8}
.pub-zone{width:40px;height:40px;flex:none}
.pub-zone circle:first-child{fill:var(--c-primary-soft);stroke:var(--c-primary);stroke-dasharray:4 3}
.pub-zone circle:last-child{fill:var(--c-primary)}
.pub-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:spinS .8s linear infinite;flex:none}
.pub-danger{background:var(--c-shega-soft);color:var(--c-shega-text)}
.wz-foot .btn-primary{min-width:0}
.pub-free{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-md);background:var(--c-primary-soft);font-size:var(--fs-sm);line-height:1.4}
.pub-free .ic{flex:none;margin-top:2px;color:var(--c-on-primary-soft)}
