/* Partage des modèles : page publique (modele.php), fenêtre « Partager » et galerie Communauté du Studio. */
:root { --sh-bg:#0c1015; --sh-panel:#141c26; --sh-panel2:#101720; --sh-line:#263240; --sh-ink:#edf2f7; --sh-muted:#9aa8b9; --sh-teal:#2dd4bf; --sh-teal-d:#14b8a6; --sh-red:#f87171; }

/* ── Boutons & réseaux (communs) ── */
.sh-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 16px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel); color:var(--sh-ink); font:inherit; font-size:14px; font-weight:600; text-decoration:none; cursor:pointer; transition:border-color .2s, background .2s; }
.sh-btn:hover { border-color:#2dd4bf90; }
.sh-btn--primary { background:var(--sh-teal); border-color:var(--sh-teal); color:#061312; box-shadow:0 0 22px #2dd4bf40; }
.sh-btn--primary:hover { background:#5eead4; }
.sh-btn--wide { width:100%; }
.sh-btn[disabled] { opacity:.55; cursor:wait; }
.sh-social { display:flex; flex-wrap:wrap; gap:8px; }
.sh-soc { --soc:var(--sh-teal); display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid var(--sh-line); border-radius:999px; background:var(--sh-panel2); color:var(--sh-ink); font:inherit; font-size:12.5px; text-decoration:none; cursor:pointer; }
.sh-soc i { color:var(--soc); font-size:15px; }
.sh-soc:hover { border-color:var(--soc); }
.sh-soc--copy i, .sh-soc--native i { color:var(--sh-teal); }

/* ── Page publique ── */
.sh-page { margin:0; min-height:100vh; display:flex; flex-direction:column; background:radial-gradient(1200px 600px at 75% -10%, #2dd4bf14, transparent 60%), var(--sh-bg); color:var(--sh-ink); font-family:'DM Sans', 'DM Sans Fallback', system-ui, sans-serif; }
.sh-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 28px; border-bottom:1px solid var(--sh-line); background:#0c1015e6; position:sticky; top:0; z-index:20; backdrop-filter:blur(8px); }
.sh-logo { display:flex; align-items:center; gap:10px; color:var(--sh-ink); text-decoration:none; font-weight:800; }
.sh-logo img { object-fit:contain; }
.sh-logo small { color:var(--sh-teal); font-weight:600; margin-left:4px; font-size:12px; }
.sh-nav { display:flex; gap:22px; }
.sh-nav a { color:var(--sh-muted); text-decoration:none; font-size:14px; }
.sh-nav a:hover { color:var(--sh-ink); }
.sh-main { flex:1; width:100%; max-width:1240px; margin:0 auto; padding:22px 28px 50px; box-sizing:border-box; }
.sh-crumbs { font-size:12px; color:var(--sh-muted); margin-bottom:18px; }
.sh-crumbs a { color:var(--sh-muted); text-decoration:none; }
.sh-crumbs a:hover { color:var(--sh-teal); }
.sh-crumbs span { margin:0 4px; }
.sh-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr); gap:30px; align-items:start; }
.sh-stage { position:sticky; top:84px; }
.sh-viewer { position:relative; aspect-ratio:4/3; border:1px solid var(--sh-line); border-radius:16px; background:radial-gradient(circle at 50% 40%, #1b2735, #0e141c 70%); overflow:hidden; display:grid; place-items:center; }
.sh-viewer__stage { position:absolute; inset:0; }
.sh-viewer.is-3d .sh-viewer__thumb { display:none; }
.sh-viewer__thumb { width:100%; height:100%; object-fit:contain; }
.sh-viewer__icon { font-size:64px; color:#3b4b5d; }
.sh-viewer__status { position:absolute; left:50%; bottom:16px; transform:translateX(-50%); margin:0; padding:6px 12px; border-radius:999px; background:#0c1015d0; color:var(--sh-muted); font-size:12px; }
.sh-viewer__lock, .sh-viewer__hint { position:absolute; top:14px; left:14px; padding:6px 11px; border-radius:999px; background:#0c1015d0; border:1px solid var(--sh-line); color:var(--sh-muted); font-size:12px; pointer-events:none; }
.sh-viewer__lock i { color:var(--sh-teal); }
.sh-colors { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:12px 0 0; }
.sh-colors li { display:flex; align-items:center; gap:6px; padding:5px 10px; border:1px solid var(--sh-line); border-radius:999px; font-size:12px; color:var(--sh-muted); }
.sh-colors span { width:12px; height:12px; border-radius:50%; border:1px solid #ffffff30; }
.sh-info h1 { margin:6px 0 10px; font-size:32px; line-height:1.15; }
.sh-kicker { margin:0; color:var(--sh-teal); font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; }
.sh-author { display:flex; align-items:center; gap:8px; margin:0 0 16px; color:var(--sh-muted); font-size:14px; }
.sh-author img { border-radius:50%; background:#1b2735; }
.sh-author strong { color:var(--sh-ink); }
.sh-desc { margin:0 0 16px; color:#cbd5e1; font-size:15px; line-height:1.6; }
.sh-facts { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; padding:0; margin:0 0 20px; color:var(--sh-muted); font-size:13px; }
.sh-facts i { color:var(--sh-teal); margin-right:4px; }
.sh-buy, .sh-license, .sh-sharebox, .sh-cta { padding:18px; border:1px solid var(--sh-line); border-radius:14px; background:var(--sh-panel); margin-bottom:14px; }
.sh-buy { border-color:#2dd4bf55; background:linear-gradient(160deg,#2dd4bf12,var(--sh-panel) 60%); }
.sh-price { margin:0 0 12px; font-size:28px; font-weight:800; }
.sh-price small { font-size:15px; font-weight:600; color:var(--sh-muted); }
.sh-price span { font-size:13px; font-weight:500; color:var(--sh-muted); margin-left:6px; }
.sh-price i { color:var(--sh-teal); }
.sh-dl { display:flex; flex-wrap:wrap; gap:10px; }
.sh-note { margin:10px 0 0; color:var(--sh-muted); font-size:12.5px; line-height:1.5; }
.sh-note a, .sh-report a, .sh-footer a { color:var(--sh-teal); }
.sh-license p:first-child { margin:0; font-size:14px; }
.sh-license i { color:var(--sh-teal); margin-right:4px; }
.sh-sharebox__title { margin:0 0 10px; font-weight:700; font-size:14px; }
.sh-mail { display:flex; gap:8px; margin-top:12px; }
.sh-mail input { flex:1; min-width:0; padding:10px 12px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel2); color:var(--sh-ink); font:inherit; font-size:14px; }
.sh-mail input:focus { outline:none; border-color:var(--sh-teal); }
.sh-cta p { margin:0 0 12px; color:#cbd5e1; font-size:14px; line-height:1.5; }
.sh-cta .sh-btn { margin:0 8px 6px 0; }
.sh-report { font-size:12px; margin:6px 0 0; }
.sh-empty { max-width:560px; margin:60px auto; text-align:center; }
.sh-empty > i { font-size:54px; color:#3b4b5d; }
.sh-empty p { color:var(--sh-muted); line-height:1.6; }
.sh-empty__ctas { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.sh-footer { padding:20px 28px; border-top:1px solid var(--sh-line); color:var(--sh-muted); font-size:12px; text-align:center; }
.sh-toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:100; max-width:min(92vw,520px); padding:12px 18px; border-radius:12px; background:#1e2a38; border:1px solid #2dd4bf60; color:var(--sh-ink); font-size:14px; box-shadow:0 12px 40px #0008; }
.sh-toast.is-error { border-color:#f8717190; }
@media (max-width:900px) {
  .sh-layout { grid-template-columns:1fr; gap:20px; }
  .sh-stage { position:static; }
  .sh-nav { display:none; }
  .sh-header, .sh-main { padding-left:16px; padding-right:16px; }
  .sh-info h1 { font-size:25px; }
}

/* ── Fenêtre « Partager » du Studio ── */
.share-modal .modal__card { max-width:640px; width:min(640px, calc(100vw - 32px)); max-height:calc(100vh - 40px); overflow-y:auto; }
.share-modal h3 { display:flex; align-items:center; gap:9px; margin:0 0 4px; }
.share-modal h3 i { color:var(--sh-teal); }
.share-modal .share-intro { margin:0 0 16px; color:var(--sh-muted); font-size:13px; }
.share-sec { margin:0 0 16px; }
.share-sec > label, .share-sec > .share-lbl { display:block; margin:0 0 7px; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--sh-muted); }
.share-vis { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.share-vis label { display:flex; flex-direction:column; gap:3px; padding:10px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel2); cursor:pointer; font-size:13px; }
.share-vis label small { color:var(--sh-muted); font-size:11px; line-height:1.35; }
.share-vis label i { color:var(--sh-teal); }
.share-vis input { position:absolute; opacity:0; pointer-events:none; }
.share-vis label:has(input:checked) { border-color:var(--sh-teal); background:#2dd4bf14; }
.share-modal input[type=text], .share-modal input[type=number], .share-modal input[type=email], .share-modal textarea, .share-modal select { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel2); color:var(--sh-ink); font:inherit; font-size:14px; }
.share-modal textarea { min-height:78px; resize:vertical; }
.share-price { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.share-price label { display:flex; align-items:center; gap:6px; font-size:14px; cursor:pointer; }
.share-price input[type=number] { width:110px; }
.share-price .share-earn { color:var(--sh-muted); font-size:12px; }
.share-lic-text { margin:6px 0 0; color:var(--sh-muted); font-size:12px; line-height:1.45; }
.share-rights { display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:#cbd5e1; line-height:1.45; cursor:pointer; }
.share-rights input { margin-top:3px; }
.share-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; margin-top:6px; }
.share-done { padding:14px; border:1px solid #2dd4bf55; border-radius:12px; background:#2dd4bf10; margin-bottom:16px; }
.share-done__url { display:flex; gap:8px; margin:8px 0 12px; }
.share-done__url input { flex:1; min-width:0; }
.share-stats { margin:8px 0 0; color:var(--sh-muted); font-size:12px; }
.share-mailrow { display:flex; gap:8px; }
.share-mailrow input { flex:1; min-width:0; }
.share-unpub { background:none; border:0; color:var(--sh-red); font:inherit; font-size:12px; cursor:pointer; padding:0; }
@media (max-width:560px) { .share-vis { grid-template-columns:1fr; } }

/* ── Galerie Communauté (Librairie du Studio) ── */
.community { margin-top:34px; }
.community__head { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:12px; margin-bottom:14px; }
.community__head h2 { margin:0; font-size:20px; }
.community__head p { margin:4px 0 0; color:var(--sh-muted); font-size:13px; }
.community__search { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel2); }
.community__search input { border:0; background:none; color:var(--sh-ink); font:inherit; font-size:13px; outline:none; min-width:180px; }
.community__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
.comm-card { display:flex; flex-direction:column; border:1px solid var(--sh-line); border-radius:14px; background:var(--sh-panel); color:var(--sh-ink); text-decoration:none; overflow:hidden; transition:border-color .2s, transform .2s; }
.comm-card:hover { border-color:#2dd4bf80; transform:translateY(-2px); }
.comm-card__img { aspect-ratio:4/3; display:grid; place-items:center; background:#0e141c; color:#3b4b5d; font-size:30px; }
.comm-card__img img { width:100%; height:100%; object-fit:cover; }
.comm-card__body { padding:10px 12px 12px; display:grid; gap:6px; }
.comm-card__title { font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.comm-card__meta { display:flex; align-items:center; justify-content:space-between; gap:6px; color:var(--sh-muted); font-size:12px; }
.comm-card__meta span:first-child { display:flex; align-items:center; gap:5px; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.comm-card__meta img { width:18px; height:18px; border-radius:50%; }
.comm-card__price { flex:0 0 auto; padding:2px 8px; border-radius:999px; background:#2dd4bf1c; color:var(--sh-teal); font-weight:700; }
.community__empty { padding:26px; border:1px dashed var(--sh-line); border-radius:14px; text-align:center; color:var(--sh-muted); font-size:14px; }
.community__more { display:block; margin:16px auto 0; }
.result__share { margin-left:auto; }

/* ── Bandeau « Partager » sous le modèle terminé ── */
.share-band { display:flex; align-items:center; gap:16px; margin-top:14px; padding:16px 18px; border:1px solid #2dd4bf55; border-radius:14px; background:linear-gradient(120deg,#2dd4bf18,#141c26 65%); }
.share-band__copy { flex:1; display:grid; gap:4px; min-width:0; }
.share-band__copy strong { font-size:15px; color:var(--sh-ink); }
.share-band__copy strong i { color:var(--sh-teal); margin-right:4px; }
.share-band__copy span { color:var(--sh-muted); font-size:12.5px; line-height:1.45; }
.share-band .btn { flex:0 0 auto; }
@media (max-width:620px) { .share-band { flex-direction:column; align-items:stretch; } }
.share-modal .modal__card { background:#121a24; color:var(--sh-ink); border:1px solid var(--sh-line); border-radius:16px; padding:24px; box-shadow:0 30px 80px #000a; }
.share-modal .modal__close { background:#1b2430; color:var(--sh-muted); border:1px solid var(--sh-line); }
.share-modal .modal__backdrop { background:#05080cb8; }
.share-sec > label.share-rights { display:flex; text-transform:none; letter-spacing:0; font-weight:400; font-size:12.5px; color:#cbd5e1; }

/* ── Suivi des envois et « Mes partages » ── */
.send-empty { margin:4px 0 0; color:var(--sh-muted); font-size:12.5px; }
.send-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.send-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; padding:10px 12px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel2); }
.send-row__who { display:grid; gap:2px; min-width:0; }
.send-row__who strong { font-size:13px; color:var(--sh-ink); overflow:hidden; text-overflow:ellipsis; }
.send-row__who span { font-size:12px; color:#cbd5e1; }
.send-row__who small { font-size:11px; color:var(--sh-muted); }
.send-row__steps { display:flex; flex-wrap:wrap; gap:5px; }
.send-step { display:inline-flex; align-items:center; gap:5px; padding:3px 8px; border:1px solid var(--sh-line); border-radius:999px; color:#64748b; font-size:11px; white-space:nowrap; }
.send-step.is-done { color:var(--sh-teal); border-color:#2dd4bf66; background:#2dd4bf12; }
.my-shares { margin-top:24px; }
.my-shares__sub { margin:20px 0 10px; font-size:15px; }
.my-shares__sub i { color:var(--sh-teal); margin-right:5px; }
.myshare-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; }
.myshare { display:flex; gap:10px; padding:8px; border:1px solid var(--sh-line); border-radius:12px; background:var(--sh-panel); color:var(--sh-ink); text-decoration:none; }
.myshare:hover { border-color:#2dd4bf80; }
.myshare__img { flex:0 0 64px; width:64px; height:64px; display:grid; place-items:center; border-radius:8px; background:#0e141c; color:#3b4b5d; overflow:hidden; }
.myshare__img img { width:100%; height:100%; object-fit:cover; }
.myshare__body { display:grid; gap:3px; min-width:0; }
.myshare__body strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.myshare__body small { color:var(--sh-muted); font-size:11px; }
.myshare__stats { display:flex; gap:10px; color:var(--sh-muted); font-size:11.5px; }
.myshare__stats i { color:var(--sh-teal); }

/* ── Vendre : bouton dédié au dégradé du Studio, fenêtre en étapes sous un héros ── */
.sell-cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; color:#fff; font-weight:800; background:linear-gradient(120deg, #14b8a6, #8b5cf6 55%, #ec4899); background-size:180% 100%; background-position:0 0; box-shadow:0 6px 22px #8b5cf640; transition:background-position .35s, box-shadow .2s, transform .1s; }
.sell-cta:hover { background-position:100% 0; box-shadow:0 8px 28px #ec489955; color:#fff; }
.sell-cta:active { transform:translateY(1px); }
.sell-cta:disabled { opacity:.7; cursor:wait; }
.sell-cta:focus-visible, .hist__sell:focus-visible, .sell-modal :is(button, input, select, textarea, a):focus-visible, .share-modal :is(button, input, select, textarea, a):focus-visible { outline:3px solid #5eead4; outline-offset:2px; }
.at-bar__btn.at-bar__sell, .at-bar__btn.at-bar__sell i { color:#fff; }
.share-band__btns { display:flex; flex-wrap:wrap; gap:8px; flex:0 0 auto; }
@media (max-width:620px) { .share-band__btns > .btn { flex:1 1 140px; } }

.sell-modal .modal__card.sell-card { max-width:720px; width:min(720px, calc(100vw - 24px)); padding:0; display:flex; flex-direction:column; height:min(680px, calc(100dvh - 24px)); max-height:calc(100dvh - 24px); overflow:hidden; }
.sell-modal .modal__close { z-index:3; }
/* Héros : vignette du modèle, promesse et prix en direct ; compact après la 1re étape */
.sell-hero { position:relative; display:grid; grid-template-columns:132px 1fr; gap:18px; align-items:center; padding:24px 56px 20px 24px; background:radial-gradient(420px 220px at 0% 0%, #14b8a633, transparent 70%), radial-gradient(420px 240px at 100% 0%, #ec489926, transparent 70%), linear-gradient(135deg, #131c27, #1a1530); border-bottom:1px solid var(--sh-line); flex:0 0 auto; transition:padding .25s; }
.sell-hero::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg, #14b8a6, #8b5cf6, #ec4899); opacity:.8; }
.sell-hero__media { width:132px; aspect-ratio:4/3; border-radius:14px; overflow:hidden; display:grid; place-items:center; background:radial-gradient(ellipse at 50% 55%, #19383c, #0e141c 75%); border:1px solid #ffffff1f; box-shadow:0 14px 40px #000a, 0 0 0 4px #8b5cf61f; color:#5eead4; font-size:34px; transition:width .25s; }
.sell-hero__media img { width:100%; height:100%; object-fit:cover; }
.sell-hero__copy { min-width:0; display:grid; gap:4px; }
.sell-hero__eyebrow { display:inline-flex; align-items:center; gap:6px; width:max-content; padding:3px 10px; border-radius:999px; background:#ffffff12; color:#c4b5fd; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.sell-modal .sell-hero h3 { margin:2px 0 0; font-size:22px; line-height:1.15; color:#fff; }
.sell-hero__name { margin:0; color:#e2e8f0; font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sell-hero__perks { display:grid; gap:4px; margin:8px 0 0; padding:0; list-style:none; color:#cbd5e1; font-size:12.5px; }
.sell-hero__perks i { width:16px; color:#5eead4; }
.sell-hero__price { position:absolute; right:56px; bottom:18px; padding:5px 12px; border-radius:999px; background:#0b1118cc; border:1px solid #2dd4bf66; color:#99f6e4; font-size:12.5px; font-weight:700; white-space:nowrap; }
.sell-hero__price b { font-size:15px; color:#fff; }
.sell-hero.is-compact { grid-template-columns:56px 1fr; gap:12px; padding:14px 56px 14px 18px; }
.sell-hero.is-compact .sell-hero__media { width:56px; border-radius:10px; font-size:20px; box-shadow:none; }
.sell-hero.is-compact .sell-hero__perks, .sell-hero.is-compact .sell-hero__eyebrow { display:none; }
.sell-hero.is-compact h3 { font-size:15px; }
.sell-hero.is-compact .sell-hero__price { top:50%; bottom:auto; transform:translateY(-50%); }
.sell-hero.is-done .sell-hero__perks { display:none; }
/* Barre d'étapes cliquable */
.sell-steps { flex:0 0 auto; padding:12px 24px 0; }
.sell-steps ol { display:grid; grid-template-columns:repeat(4, 1fr); gap:6px; margin:0; padding:0; list-style:none; }
.sell-steps button { width:100%; display:flex; align-items:center; gap:8px; padding:8px 4px 10px; border:0; border-bottom:3px solid var(--sh-line); background:none; color:var(--sh-muted); font:inherit; font-size:12.5px; text-align:left; cursor:pointer; }
.sell-steps button:disabled { cursor:default; opacity:.55; }
.sell-steps span { display:grid; place-items:center; flex:0 0 24px; height:24px; border-radius:50%; border:1px solid var(--sh-line); background:var(--sh-panel2); font-weight:800; font-size:11.5px; }
.sell-steps b { font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sell-steps .is-done button { border-bottom-color:#2dd4bf88; color:#cbd5e1; }
.sell-steps .is-done span { border-color:#2dd4bf88; color:var(--sh-teal); }
.sell-steps .is-on button { border-image:linear-gradient(90deg, #14b8a6, #8b5cf6, #ec4899) 1; color:#fff; }
.sell-steps .is-on span { border:0; color:#fff; background:linear-gradient(135deg, #14b8a6, #8b5cf6 60%, #ec4899); }
.sell-body { flex:1 1 auto; overflow-y:auto; padding:18px 24px 8px; min-height:200px; overscroll-behavior:contain; }
.sell-body fieldset { border:0; margin:0 0 18px; padding:0; min-width:0; }
.sell-body legend { padding:0; margin-bottom:8px; }
.sell-nav { flex:0 0 auto; justify-content:space-between; margin:0; padding:14px 24px calc(14px + env(safe-area-inset-bottom, 0px)); border-top:1px solid var(--sh-line); background:#0f151d; }
.sell-nav:has(#sellBack[hidden]) { justify-content:flex-end; }
.sell-nav .sell-cta { min-width:150px; padding:11px 20px; border-radius:11px; }
.sell-req { color:#f472b6; }
.sell-hint { display:flex; justify-content:space-between; gap:12px; margin:6px 0 0; color:var(--sh-muted); font-size:12px; line-height:1.45; }
.sell-count { flex:0 0 auto; font-variant-numeric:tabular-nums; }
.sell-modal [aria-invalid="true"] { border-color:var(--sh-red) !important; }
.sell-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
/* Tags : saisie en pastilles */
.sell-chipcount { margin-left:6px; color:var(--sh-muted); font-weight:600; letter-spacing:0; }
.sell-tagbox { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:46px; padding:6px 8px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel2); cursor:text; }
.sell-tagbox:focus-within { border-color:var(--sh-teal); box-shadow:0 0 0 3px #2dd4bf26; }
.sell-modal .sell-tagbox input { flex:1 1 140px; min-width:120px; width:auto; padding:6px 4px; border:0; background:none; box-shadow:none; outline:none; }
.sell-tags { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:10px 0 0; }
.sell-tag { display:inline-flex; align-items:center; gap:6px; padding:4px 5px 4px 11px; border:1px solid #2dd4bf66; border-radius:999px; background:#2dd4bf14; color:var(--sh-ink); font:inherit; font-size:12.5px; }
.sell-tag button { display:grid; place-items:center; width:22px; height:22px; border:0; border-radius:50%; background:#ffffff14; color:var(--sh-muted); cursor:pointer; }
.sell-tag button:hover { color:#fff; background:#f8717155; }
.sell-tag--add { padding:4px 11px; border-style:dashed; border-color:var(--sh-line); background:transparent; color:#cbd5e1; cursor:pointer; }
.sell-tag--add:hover { border-color:var(--sh-teal); color:#fff; }
.sell-tags--sugg .sell-hint { margin:0 4px 0 0; }
.sell-tags--sugg .sell-tags { margin:0; }
.sell-grid2 { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr); gap:16px; }
.sell-grid2 .share-sec { margin-bottom:6px; }
@media (max-width:620px) { .sell-grid2 { grid-template-columns:1fr; } }
.sell-photos { display:flex; flex-wrap:wrap; gap:8px; }
.sell-photo { position:relative; width:84px; height:64px; border-radius:10px; overflow:hidden; border:1px solid var(--sh-line); background:var(--sh-panel2); }
.sell-photo img { width:100%; height:100%; object-fit:cover; }
.sell-photo button { position:absolute; top:4px; right:4px; width:24px; height:24px; border:0; border-radius:50%; background:#0009; color:#fff; cursor:pointer; }
.sell-photo--add { display:grid; place-content:center; justify-items:center; gap:2px; border-style:dashed; color:var(--sh-muted); font-size:12px; cursor:pointer; }
.sell-photo--add:hover { border-color:var(--sh-teal); color:#fff; }
.sell-photo--add input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.sell-photo--add:focus-within { outline:3px solid #5eead4; outline-offset:2px; }
/* Licences : liste compacte, détail de la licence choisie dessous */
.sell-lics { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.sell-lics > .sell-lic { position:relative; display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:2px 8px; margin:0; padding:10px 12px; border:1px solid var(--sh-line); border-radius:11px; background:var(--sh-panel2); color:var(--sh-ink); font-size:13px; font-weight:400; letter-spacing:normal; text-transform:none; cursor:pointer; }
.sell-lic input { position:absolute; opacity:0; pointer-events:none; }
.sell-lic b { font-size:13.5px; }
.sell-lic small { grid-column:1 / -1; color:var(--sh-muted); font-size:11.5px; }
.sell-lic em { grid-row:1; grid-column:2; font-style:normal; font-size:10.5px; font-weight:700; color:var(--sh-muted); white-space:nowrap; }
.sell-lic em.is-paid { color:#c4b5fd; }
.sell-lic:hover { border-color:#2dd4bf88; }
.sell-lic:has(input:checked) { border-color:var(--sh-teal); background:#2dd4bf12; box-shadow:inset 3px 0 0 var(--sh-teal); }
.sell-lic:has(input:focus-visible) { outline:3px solid #5eead4; outline-offset:2px; }
.sell-licdet { display:grid; grid-template-columns:1fr 1fr; gap:6px 16px; margin-top:10px; padding:12px 14px; border-radius:11px; background:#0b1118; border:1px solid var(--sh-line); font-size:12.5px; line-height:1.4; }
.sell-licdet__h { color:var(--sh-muted); font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-bottom:2px; }
.sell-lic__can, .sell-lic__cannot { display:grid; gap:4px; align-content:start; }
.sell-lic__can i { color:var(--sh-teal); width:14px; }
.sell-lic__cannot i { color:var(--sh-red); width:14px; }
.sell-lic__cannot { color:#cbd5e1; }
@media (max-width:560px) { .sell-lics, .sell-licdet { grid-template-columns:1fr; } }
/* Prix : bascule Gratuit / En crédits, prix rapides, revenu net */
.sell-seg { display:inline-grid; grid-template-columns:1fr 1fr; padding:4px; border:1px solid var(--sh-line); border-radius:12px; background:var(--sh-panel2); }
.sell-seg label { position:relative; cursor:pointer; }
.sell-seg input { position:absolute; opacity:0; pointer-events:none; }
.sell-seg span { display:flex; align-items:center; justify-content:center; gap:7px; padding:9px 18px; border-radius:9px; color:#cbd5e1; font-size:13.5px; font-weight:700; white-space:nowrap; }
.sell-seg input:checked + span { color:#fff; background:linear-gradient(120deg, #14b8a6, #8b5cf6 60%, #ec4899); box-shadow:0 4px 14px #8b5cf640; }
.sell-seg input:focus-visible + span { outline:3px solid #5eead4; outline-offset:2px; }
.sell-seg label.is-disabled { opacity:.5; cursor:not-allowed; }
.sell-pricerow { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:12px; }
.sell-presets { display:flex; gap:6px; }
.sell-presets button { min-width:52px; padding:9px 10px; border:1px solid var(--sh-line); border-radius:10px; background:var(--sh-panel2); color:var(--sh-ink); font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.sell-presets button:hover { border-color:#2dd4bf88; }
.sell-presets button[aria-pressed="true"] { border-color:var(--sh-teal); background:#2dd4bf1f; color:#fff; }
.sell-priceinput { display:inline-flex; align-items:center; gap:8px; color:var(--sh-muted); font-size:13px; }
.sell-modal .sell-priceinput input { width:110px; }
.sell-net { display:grid; gap:4px; margin-top:12px; padding:12px 14px; border:1px solid var(--sh-line); border-radius:12px; background:var(--sh-panel2); font-size:13px; }
.sell-net div { display:flex; justify-content:space-between; gap:12px; color:var(--sh-muted); }
.sell-net b { color:var(--sh-ink); font-variant-numeric:tabular-nums; }
.sell-net__total { margin-top:4px; padding-top:8px; border-top:1px solid var(--sh-line); }
.sell-net__total span { color:var(--sh-ink); font-weight:700; }
.sell-net__total b { color:var(--sh-teal); font-size:15px; }
.sell-net__total small { color:var(--sh-muted); font-weight:500; font-size:12px; }
/* Récapitulatif modifiable */
.sell-recap { display:grid; margin:0; border:1px solid var(--sh-line); border-radius:12px; overflow:hidden; }
.sell-recap div { display:grid; grid-template-columns:110px 1fr auto; gap:10px; align-items:baseline; padding:10px 14px; font-size:13px; }
.sell-recap div + div { border-top:1px solid var(--sh-line); }
.sell-recap dt { color:var(--sh-muted); font-weight:700; }
.sell-recap dd { margin:0; color:var(--sh-ink); overflow-wrap:anywhere; white-space:pre-line; }
.sell-recap .sell-tag { padding:2px 9px; }
.sell-recap__edit button { border:0; background:none; color:var(--sh-teal); font:inherit; font-size:12.5px; font-weight:700; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.sell-rights { margin-top:14px; padding:12px 14px; border:1px solid #8b5cf655; border-radius:12px; background:#8b5cf60f; }
@media (max-width:560px) {
  .sell-hero { grid-template-columns:76px 1fr; gap:12px; padding:18px 48px 16px 16px; }
  .sell-hero__media { width:76px; font-size:24px; }
  .sell-modal .sell-hero h3 { font-size:18px; }
  .sell-hero__perks { display:none; }
  .sell-hero__price { padding:3px 10px; }
  .sell-hero__price { position:static; justify-self:start; grid-column:1 / -1; }
  .sell-hero.is-compact { grid-template-columns:44px minmax(0, 1fr) auto; padding:12px 52px 12px 14px; }
  .sell-hero.is-compact .sell-hero__price { position:static; transform:none; grid-column:auto; align-self:center; }
  .sell-hero.is-compact .sell-hero__media { width:44px; }
  .sell-lics > .sell-lic { padding:8px 12px; }
  .sell-steps { padding:10px 14px 0; }
  .sell-steps b { display:none; }
  .sell-steps .is-on b { display:block; }
  .sell-body { padding:14px 16px 8px; }
  .sell-nav { padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
  .sell-nav .sell-cta { min-width:0; flex:1; }
  .sell-recap div { grid-template-columns:1fr auto; }
  .sell-recap dt { grid-column:1; }
  .sell-recap dd:not(.sell-recap__edit) { grid-column:1 / -1; grid-row:2; }
  .sell-recap__edit { grid-column:2; grid-row:1; }
}
.share-remix { padding:12px 14px; border-radius:12px; border:1px solid #a78bfa66; background:linear-gradient(140deg, #a78bfa1f, transparent 70%); }
.share-remix strong i { color:#a78bfa; }

/* ── Bibliothèque : planète (sur le marketplace) / cadenas (privé) sur la vignette ── */
.hist__sell { position:absolute; top:.35rem; left:.35rem; z-index:2; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1px solid #ffffff2e; background:#0f172acc; color:#cbd5e1; font-size:13px; cursor:pointer; transition:transform .15s, background .15s; }
.hist__sell:hover { transform:scale(1.08); color:#fff; background:linear-gradient(135deg, #14b8a6, #8b5cf6 60%, #ec4899); }
.hist__sell.is-public { color:#fff; border-color:transparent; background:linear-gradient(135deg, #14b8a6, #0ea5e9); }
.hist__sell.is-public:hover { background:#b91c1c; }
.hist:has(.hist__sell) .hist__badge:not(.hist__badge--ver) { left:2.7rem; top:.6rem; }
@media (pointer:coarse) { .hist__sell { width:36px; height:36px; } .hist:has(.hist__sell) .hist__badge:not(.hist__badge--ver) { left:3.1rem; } }

/* ── Téléchargement des fichiers réservé aux comptes qui ont acheté des crédits ── */
.choice__lock { display:flex; gap:8px; align-items:flex-start; margin:10px 0 0; padding:10px 12px; border:1px solid #8b5cf666; border-radius:10px; background:#8b5cf614; color:#ddd6fe; font-size:12.5px; line-height:1.45; }
.choice__lock i { color:#c4b5fd; margin-top:2px; }
.is-locked::after { content:"\f023"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:10px; margin-left:6px; color:#c4b5fd; }
.export-lock .modal__card { max-width:500px; }
/* Offre de bienvenue mise en avant sous le verrou de téléchargement */
.lock-welcome { position:relative; display:grid; gap:6px; margin:16px 0 4px; padding:16px 16px 14px; border-radius:14px; border:1px solid transparent; background:linear-gradient(#141c26, #141c26) padding-box, linear-gradient(120deg, #14b8a6, #8b5cf6, #ec4899) border-box; box-shadow:0 10px 36px #8b5cf62e; }
.lock-welcome__tag { display:inline-flex; align-items:center; gap:6px; width:max-content; padding:3px 10px; border-radius:999px; background:#ec48991f; color:#f9a8d4; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.lock-welcome__main { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 12px; }
.lock-welcome__main b { font-size:22px; color:#fff; }
.lock-welcome__price { font-size:20px; font-weight:800; color:#5eead4; }
.lock-welcome__price s { margin-right:4px; color:var(--sh-muted); font-size:14px; font-weight:500; }
.lock-welcome p { margin:0; color:#cbd5e1; font-size:12.5px; line-height:1.45; }
.lock-welcome__timer { color:var(--sh-muted) !important; }
.lock-welcome__timer b { color:#fcd34d; font-variant-numeric:tabular-nums; }
.lock-welcome__btn { margin-top:6px; width:100%; padding:12px 16px; border-radius:11px; font-size:15px; }

@media (prefers-reduced-motion: reduce) {
  .sell-cta, .hist__sell, .sell-lic { transition:none; }
  .sell-cta:hover, .hist__sell:hover { transform:none; }
}

/* Mobile : barre du bas avec « Vendre » en plus (icône au-dessus du libellé pour tenir sur un téléphone). */
@media (max-width:760px) {
  .at-panel__foot:has(.at-foot__sell:not([hidden])) { grid-template-columns:1fr 1fr 1fr 1.35fr; gap:6px; }
  .at-panel__foot:has(.at-foot__sell:not([hidden])) .at-foot__btn { flex-direction:column; gap:2px; font-size:11px; line-height:1.1; padding:0 4px; }
  .at-foot__btn.at-foot__sell { border:0; }
}

/* Renommer un modèle : crayon à côté du titre (atelier) et sur les cartes « Mes modèles » */
.result__rename { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid #ffffff1f; border-radius: 8px; background: transparent; color: #9aa8b9; cursor: pointer; }
.result__rename:hover, .result__rename:focus-visible { color: #fff; border-color: #2dd4bf88; outline: none; }
.hist__ren { position: absolute; top: .3rem; right: 2.2rem; z-index: 2; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border: 0; border-radius: 50%; background: rgba(15, 23, 42, .6); color: #fff; font-size: .65rem; cursor: pointer; }
.hist__ren:hover, .hist__ren:focus-visible { background: #14b8a6; outline: none; }
