/* TROOV Marketplace 0.5 : connexion, inscription, dépôt d'annonce, mon espace */
:root{--t20-ink:var(--ink,#0E1220);--t20-blue:var(--blue,#2A3CFF);--t20-yellow:var(--yellow,#FFD84A);--t20-bg:#fff;--t20-soft:#F1F2F5;--t20-muted:#4A5068;--t20-danger:#B00020}
.troov20-auth,.troov20-listing,.troov20-space,.troov20-card{box-sizing:border-box;max-width:560px;margin:clamp(24px,5vw,56px) auto;padding:clamp(20px,4vw,36px);background:var(--t20-bg);color:var(--t20-ink);border:2px solid var(--t20-ink);border-radius:22px;box-shadow:6px 6px 0 var(--t20-ink)}
.troov20-listing{max-width:780px}.troov20-space{max-width:1040px}
.troov20-auth *,.troov20-listing *,.troov20-space *,.troov20-card *{box-sizing:border-box}
.troov20-eyebrow{margin:0 0 8px;font:600 12px/1 var(--mono,ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--t20-blue)}
.troov20-auth-head h1,.troov20-space-head h1{margin:0 0 8px;font-size:clamp(28px,5vw,40px);line-height:1.05;letter-spacing:-.03em}
.troov20-lead{margin:0 0 20px;color:var(--t20-muted);font-size:17px;line-height:1.5}
.troov20-tabs{display:flex;gap:6px;margin:0 0 22px;padding:5px;background:var(--t20-soft);border-radius:999px}
.troov20-tabs a{flex:1;text-align:center;padding:10px 14px;border-radius:999px;text-decoration:none;color:var(--t20-ink);font-weight:700}
.troov20-tabs a.is-active{background:var(--t20-ink);color:#fff}
.troov20-form .troov20-field{margin:0 0 18px}.troov20-form label{display:block;font-weight:700;margin:0 0 6px}
.troov20-form input[type=text],.troov20-form input[type=email],.troov20-form input[type=password],.troov20-form input[type=number],.troov20-form select,.troov20-form textarea{width:100%;padding:13px 14px;border:2px solid var(--t20-ink);border-radius:12px;background:#fff;color:var(--t20-ink);font:inherit}
.troov20-form textarea{resize:vertical;min-height:140px}
.troov20-form input:focus,.troov20-form select:focus,.troov20-form textarea:focus,.troov20-btn:focus-visible,.troov20-eye:focus-visible{outline:3px solid var(--t20-blue);outline-offset:2px}
.troov20-field.has-error input,.troov20-field.has-error select,.troov20-field.has-error textarea,.troov20-drop.has-error,.troov20-check.has-error{border-color:var(--t20-danger);box-shadow:0 0 0 3px rgba(176,0,32,.15)}
.troov20-hint{margin:6px 0 0;font-size:14px;color:var(--t20-muted)}.troov20-opt{font-weight:400;color:var(--t20-muted)}
.troov20-password{position:relative}.troov20-password input{padding-right:78px!important}
.troov20-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:var(--t20-soft);border-radius:999px;padding:7px 12px;font:700 13px/1 inherit;cursor:pointer;color:var(--t20-ink)}
.troov20-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 18px;font-size:15px}
.troov20-row a,.troov20-alt a,.troov20-link{color:var(--t20-blue);font-weight:600}
.troov20-check{display:inline-flex;gap:9px;align-items:center;font-weight:500!important;cursor:pointer}
.troov20-check input{width:18px;height:18px;accent-color:var(--t20-blue);flex:none}
.troov20-check--block{display:flex;align-items:flex-start;margin:0 0 18px;font-size:14px;line-height:1.45;padding:8px;border:2px solid transparent;border-radius:12px}
.troov20-check--block input{margin-top:2px}.troov20-check--danger{color:var(--t20-danger)}
.troov20-alt{margin:16px 0 0;text-align:center;color:var(--t20-muted);font-size:15px}
.troov20-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border:2px solid var(--t20-ink);border-radius:999px;background:var(--t20-blue);color:#fff;font:700 16px/1.1 inherit;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s}
.troov20-btn:hover{transform:translateY(-1px);color:#fff;background:var(--t20-blue);filter:brightness(1.08)}
.troov20-btn--ghost{background:#fff;color:var(--t20-ink)}.troov20-btn--ghost:hover{background:var(--t20-ink);color:#fff}
.troov20-btn--danger{background:#fff;color:var(--t20-danger);border-color:var(--t20-danger)}.troov20-btn--danger:hover{background:var(--t20-danger);color:#fff}
.troov20-btn--small{padding:8px 14px;font-size:14px}.troov20-btn--full{width:100%}
.troov20-btn[disabled]{opacity:.6;cursor:wait}
.troov20-notice{margin:0 0 18px;padding:13px 16px;border-radius:12px;border:2px solid var(--t20-ink);font-weight:600;line-height:1.45}
.troov20-notice--ok{background:var(--t20-yellow)}.troov20-notice--info{background:#E8EBFF}.troov20-notice--erreur{background:#FFE3E3;border-color:var(--t20-danger);color:#7A0016}
.troov20-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Formulaire d'annonce */
.troov20-section{margin:0 0 26px;padding:0;border:0}.troov20-section legend{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:0;font:800 20px/1.2 var(--display,inherit);letter-spacing:-.02em}
.troov20-step{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--t20-yellow);border:2px solid var(--t20-ink);font-size:15px}
.troov20-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.troov20-field--check{display:flex;align-items:end;padding-bottom:10px}
.troov20-drop{position:relative;border:2px dashed var(--t20-ink);border-radius:16px;background:var(--t20-soft);transition:background .15s}
.troov20-drop.is-over{background:#E8EBFF}
.troov20-drop-label{display:flex;flex-direction:column;gap:4px;padding:26px 18px;text-align:center;margin:0!important}
.troov20-drop-label span{font-weight:500;font-size:14px;color:var(--t20-muted)}
.troov20-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.troov20-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;list-style:none;margin:14px 0 0;padding:0}
.troov20-photos li{position:relative;display:flex;flex-direction:column;gap:6px;padding:8px;border:2px solid var(--t20-ink);border-radius:12px;background:#fff;font-size:13px}
.troov20-photos img{width:100%;height:100px;object-fit:cover;border-radius:8px;display:block}
.troov20-photos .troov20-check{font-size:13px}
.troov20-photo-tag{font:600 11px/1 var(--mono,monospace);text-transform:uppercase;letter-spacing:.08em;color:var(--t20-blue)}
.troov20-photo-remove{border:0;background:var(--t20-soft);border-radius:8px;padding:6px;font:600 12px/1 inherit;cursor:pointer;color:var(--t20-danger)}
.troov20-photos li.is-removed{opacity:.35}
.troov20-caution{margin:0 0 18px;padding:12px 14px;background:var(--t20-soft);border-radius:12px;font-size:14px;color:var(--t20-muted)}
.troov20-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.troov20-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:20px 0}.troov20-details div{padding:12px 14px;background:var(--t20-soft);border-radius:12px}.troov20-details dt{font:600 11px/1 var(--mono,monospace);text-transform:uppercase;letter-spacing:.08em;color:var(--t20-muted);margin:0 0 6px}.troov20-details dd{margin:0;font-weight:700}
/* Mon espace */
.troov20-space-head{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end;margin:0 0 20px}
.troov20-space-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.troov20-banner{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin:0 0 20px;padding:16px 18px;background:var(--t20-yellow);border:2px solid var(--t20-ink);border-radius:14px}
.troov20-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;list-style:none;margin:0 0 26px;padding:0}
.troov20-stat{padding:14px;background:var(--t20-soft);border-radius:14px;display:flex;flex-direction:column;gap:2px}.troov20-stat strong{font-size:28px;line-height:1}.troov20-stat span{font-size:13px;color:var(--t20-muted)}
.troov20-list{display:grid;gap:14px}
.troov20-item{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px;border:2px solid var(--t20-ink);border-radius:16px;background:#fff}
.troov20-item-photo{border-radius:10px;overflow:hidden;background:var(--t20-soft);display:grid;place-items:center;min-height:110px;color:var(--t20-muted);font-size:13px}.troov20-item-photo img{width:100%;height:100%;object-fit:cover;display:block}
.troov20-item-body h3{margin:6px 0 4px;font-size:19px;line-height:1.25}.troov20-item-meta{margin:0 0 4px;color:var(--t20-muted);font-size:14px}
.troov20-item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.troov20-inline{display:inline-block;margin:0}
.troov20-badge{display:inline-block;padding:4px 10px;border-radius:999px;border:2px solid var(--t20-ink);font:700 12px/1 inherit;background:#fff}
.troov20-badge--en_ligne{background:#C8F7D4}.troov20-badge--moderation{background:var(--t20-yellow)}.troov20-badge--vendue{background:#E8EBFF}.troov20-badge--retiree,.troov20-badge--brouillon{background:var(--t20-soft)}
.troov20-empty{padding:26px;border:2px dashed var(--t20-ink);border-radius:16px;text-align:center}
@media(max-width:640px){.troov20-grid{grid-template-columns:1fr}.troov20-item{grid-template-columns:1fr}.troov20-item-photo{height:180px}.troov20-auth,.troov20-listing,.troov20-space,.troov20-card{box-shadow:4px 4px 0 var(--t20-ink);margin-left:12px;margin-right:12px}}
.troov20-badge--refusee{background:#FFD9D4;color:#7A1409}
.troov20-refusal{background:#FFF1EF;border-left:3px solid #D93A26;padding:8px 12px;border-radius:6px}
.troov20-share{margin:28px 0;padding:18px;border:1px solid #D9DCE6;border-radius:12px;background:#fff}
.troov20-share-title{margin:0 0 10px;font-weight:700}
.troov20-share-row{display:flex;flex-wrap:wrap;gap:8px}
.troov20-share-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid #0E1220;background:#fff;color:#0E1220;font-weight:600;font-size:14px;font-family:inherit;line-height:1;text-decoration:none;cursor:pointer}
.troov20-share-btn:hover,.troov20-share-btn:focus-visible{background:#0E1220;color:#fff}
.troov20-share-btn--wa{background:#25D366;border-color:#25D366;color:#0E1220}
.troov20-share-btn--native{background:#2A3CFF;border-color:#2A3CFF;color:#fff}
.troov20-share-btn[hidden]{display:none}
