:root{--bg:#f4eee7;--paper:#fffaf3;--ink:#1f1c19;--muted:#756a60;--line:#eadccf;--soft:#e9ded2;--accent:#1f1c19;--danger:#9b2f2f;--good:#366b48;--shadow:0 18px 44px rgba(31,28,25,.08);--radius:24px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;-moz-text-size-adjust:100%}body{min-height:100%;margin:0;color:var(--ink);background:linear-gradient(180deg,#fbf7f1 0%,var(--bg) 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(720px,100%);margin:0 auto;padding:16px 14px calc(92px + var(--safe-bottom))}.screen{display:none;animation:fade .18s ease}.screen.active{display:block}@keyframes fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hero{padding:28px 22px;border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at top right,#eee2d4,transparent 42%),var(--paper);box-shadow:var(--shadow);margin-bottom:14px}.eyebrow{margin:0 0 8px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;font-weight:750}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,14vw,4.7rem);letter-spacing:-.06em;line-height:.9}.screen-head h1{font-size:clamp(2.1rem,11vw,3.5rem)}h2{font-size:1.05rem;margin-bottom:8px}.lead,.screen-head p,.card p{color:var(--muted);line-height:1.48}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn{border:1px solid var(--accent);background:transparent;color:var(--ink);border-radius:999px;padding:13px 16px;min-height:46px;font-weight:720}.btn.primary{background:var(--accent);color:#fffaf3}.btn.secondary{background:var(--soft);border-color:var(--soft)}.btn.ghost{border-color:var(--line);background:#fffaf3}.btn.danger{background:var(--danger);border-color:var(--danger);color:white}.btn.small{min-height:38px;padding:9px 12px;font-size:.86rem}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat-card,.card{background:rgba(255,250,243,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:18px}.stat-card strong{display:block;font-size:2rem}.stat-card span{color:var(--muted)}.card{padding:18px;margin-bottom:14px}.screen-head{padding:12px 2px 10px}.screen-head.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:720;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:white;color:var(--ink);border-radius:18px;padding:13px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-preview{min-height:220px;border:1px dashed var(--line);border-radius:22px;background:#fff;background-size:contain;background-repeat:no-repeat;background-position:center}.hidden{display:none!important}.toast{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(92vw,520px);z-index:20;background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--good);box-shadow:var(--shadow);border-radius:18px;padding:13px 14px}.toast.error{border-left-color:var(--danger)}.filter-row{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 12px;color:var(--muted)}.chip.active{background:var(--accent);color:white;border-color:var(--accent)}.wardrobe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wardrobe-card{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.garment-photo{aspect-ratio:1/1;background:var(--soft);background-size:cover;background-position:center}.garment-body{padding:12px}.garment-body h2{margin-bottom:3px;font-size:1rem}.garment-body p{margin-bottom:9px;color:var(--muted);font-size:.86rem}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.tag{background:var(--soft);border-radius:999px;padding:5px 8px;font-size:.72rem}.empty{border:1px dashed var(--line);background:rgba(255,250,243,.75);border-radius:var(--radius);padding:30px 18px;color:var(--muted);text-align:center}.look-card{background:var(--paper);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:18px;margin-top:14px}.look-pieces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.look-piece{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:white}.look-photo{aspect-ratio:1/1;background:var(--soft);background-size:cover;background-position:center}.look-piece p{padding:8px;margin:0;font-size:.84rem}.feedback{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.saved-list{display:grid;gap:12px}.danger-zone{border-color:rgba(155,47,47,.24)}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(720px,100%);padding:8px 10px calc(8px + var(--safe-bottom));display:grid;grid-template-columns:1fr 1fr 54px 1fr 1fr;gap:6px;background:rgba(250,247,242,0.97);border-top:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:10}.nav-item{border:0;background:transparent;color:var(--muted);border-radius:16px;padding:9px 4px;min-height:48px;font-size:.64rem;font-weight:760;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px}.nav-item.active{background:var(--soft);color:var(--ink)}.nav-item.main{border-radius:999px;background:var(--accent);color:white;font-size:1.45rem;padding:0}@media (min-width:700px){.wardrobe-grid,.look-pieces{grid-template-columns:repeat(3,minmax(0,1fr))}}

.form-note{margin:-4px 0 0;color:var(--muted);font-size:.88rem;line-height:1.35}.anchor-badge{display:inline-block;background:var(--accent);color:white;border-radius:999px;padding:5px 9px;font-size:.72rem;margin-left:6px}


/* V4 — Aperçu silhouette */
.look-tabs{display:flex;gap:8px;margin:12px 0 14px}.look-tab{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:9px 12px;font-weight:760}.look-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.look-panel{display:none}.look-panel.active{display:block}
.silhouette-stage{position:relative;min-height:560px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(233,222,210,.9),transparent 32%),linear-gradient(180deg,#fffaf3 0%,#f0e6dc 100%);margin:14px 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.mannequin{position:absolute;left:50%;top:26px;transform:translateX(-50%);width:205px;height:495px;opacity:.9;pointer-events:none}.mannequin-head{position:absolute;left:50%;top:0;width:58px;height:58px;transform:translateX(-50%);border:2px solid rgba(31,28,25,.38);border-radius:50%;background:rgba(255,250,243,.72)}.mannequin-neck{position:absolute;left:50%;top:56px;width:22px;height:34px;transform:translateX(-50%);border-left:2px solid rgba(31,28,25,.34);border-right:2px solid rgba(31,28,25,.34)}.mannequin-body{position:absolute;left:50%;top:86px;width:118px;height:170px;transform:translateX(-50%);border:2px solid rgba(31,28,25,.36);border-radius:48% 48% 36% 36%;background:rgba(255,250,243,.58)}.mannequin-waist{position:absolute;left:50%;top:248px;width:78px;height:22px;transform:translateX(-50%);border:2px solid rgba(31,28,25,.30);border-radius:999px}.mannequin-leg-left,.mannequin-leg-right{position:absolute;top:267px;width:42px;height:170px;border:2px solid rgba(31,28,25,.28);border-radius:999px 999px 30px 30px;background:rgba(255,250,243,.36)}.mannequin-leg-left{left:55px;transform:rotate(2deg)}.mannequin-leg-right{right:55px;transform:rotate(-2deg)}.mannequin-base{position:absolute;left:50%;bottom:0;width:150px;height:22px;transform:translateX(-50%);border:2px solid rgba(31,28,25,.32);border-radius:999px}
.silhouette-piece{position:absolute;z-index:2;border:1px solid rgba(31,28,25,.08);border-radius:18px;overflow:hidden;background:rgba(255,250,243,.88);box-shadow:0 12px 28px rgba(31,28,25,.13)}.silhouette-piece.anchor{outline:3px solid rgba(31,28,25,.78)}.silhouette-piece img{width:100%;height:100%;object-fit:cover;display:block}.silhouette-piece .fallback{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:8px;color:var(--muted);background:var(--soft);font-size:.78rem}
.zone-haut{left:50%;top:118px;width:128px;height:118px;transform:translateX(-50%);z-index:3}.zone-bas{left:50%;top:252px;width:132px;height:165px;transform:translateX(-50%);z-index:2}.zone-robe{left:50%;top:112px;width:148px;height:292px;transform:translateX(-50%);z-index:2}.zone-veste{left:50%;top:104px;width:174px;height:170px;transform:translateX(-50%);z-index:4;opacity:.94}.zone-chaussures{left:50%;top:426px;width:150px;height:64px;transform:translateX(-50%);z-index:5}.zone-accessoire{right:24px;top:214px;width:92px;height:108px;z-index:6}.zone-accessoire.accessoire-cou{left:50%;right:auto;top:78px;width:86px;height:64px;transform:translateX(-50%);z-index:7}
.silhouette-labels{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.silhouette-label{background:var(--soft);border-radius:999px;padding:6px 9px;font-size:.78rem}
@media (max-width:420px){.silhouette-stage{min-height:520px}.mannequin{transform:translateX(-50%) scale(.92);transform-origin:top center}.zone-accessoire{right:12px;width:82px}}

.card-actions,.form-actions{display:flex;gap:8px;flex-wrap:wrap}.card-actions .btn{flex:1}.form-actions .btn{flex:1 1 auto}

/* V7B — Double proposition corrigée */
.look-option-label{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  border-radius:999px;
  padding:6px 10px;
  font-size:.78rem;
  font-weight:760;
  margin:0 0 8px;
}
.look-option-separator{
  height:1px;
  background:var(--line);
  margin:18px 0;
}

/* V9 — Retour d’expérience */
.pair-tool{
  margin-top:14px;
  padding:14px;
  border:1px dashed var(--line);
  border-radius:22px;
  background:rgba(255,250,243,.68);
}
.pair-tool h2{margin-bottom:6px}
.pair-tool p{color:var(--muted);font-size:.9rem;line-height:1.38}
.pair-selectors{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}
.pair-list{
  display:grid;
  gap:8px;
}
.pair-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px 12px;
  background:#fffaf3;
}
.pair-row span{font-size:.9rem;color:var(--muted)}
@media (max-width:420px){
  .pair-selectors{grid-template-columns:1fr}
}

/* V13 — Propositions distinctes */
.look-info-message{
  border:1px dashed var(--line);
  border-radius:22px;
  padding:14px;
  margin:14px 0;
  color:var(--muted);
  background:rgba(255,250,243,.72);
  line-height:1.38;
}

/* V14 — Dressing test */
.test-dressing-card p{margin-bottom:12px}
.test-progress{display:grid;gap:9px}
.test-row{
  display:grid;
  grid-template-columns:92px 1fr auto;
  align-items:center;
  gap:10px;
}
.test-label{font-weight:760;font-size:.9rem}
.test-count{color:var(--muted);font-size:.86rem;white-space:nowrap}
.test-bar{
  height:10px;
  border-radius:999px;
  background:var(--soft);
  overflow:hidden;
}
.test-bar span{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:var(--accent);
}
.test-dressing-card.compact{margin-bottom:12px}
.test-summary{
  margin-top:8px;
  padding:10px 12px;
  border-radius:18px;
  background:rgba(255,250,243,.72);
  color:var(--muted);
  font-size:.9rem;
  line-height:1.38;
}
@media (max-width:420px){
  .test-row{grid-template-columns:78px 1fr auto;gap:8px}
  .test-label,.test-count{font-size:.8rem}
}

/* V15 — Règles par vêtement */
.occasion-rules{
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
  margin:0;
  background:rgba(255,250,243,.68);
}
.occasion-rules legend{
  color:var(--muted);
  font-weight:760;
  padding:0 6px;
}
.occasion-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.occasion-grid label{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  font-weight:650;
  background:#fffaf3;
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px;
}
.occasion-grid input{
  width:auto;
  accent-color:var(--accent);
}
@media (max-width:420px){
  .occasion-grid{grid-template-columns:1fr}
}

/* V16 — Import multiple + polyvalent */
.bulk-import-card input{margin-top:7px}

/* V17 — Orientation photos + bouton sticky */
.form-actions{
  position:sticky;
  bottom:calc(76px + var(--safe-bottom));
  z-index:9;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  margin:8px -6px -6px;
  padding:10px 6px 6px;
  background:linear-gradient(180deg,rgba(255,250,243,.35),rgba(255,250,243,.98) 35%);
  backdrop-filter:blur(12px);
  border-radius:20px;
}
.form-actions .btn{
  flex:1 1 150px;
}
.photo-preview,
.garment-photo,
.look-photo,
.silhouette-piece img{
  image-orientation:from-image;
}

/* V18 — Photo inspiration */
.inspiration-palette{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.palette-chip{
  display:flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--line);
  background:#fffaf3;
  border-radius:999px;
  padding:6px 9px;
  color:var(--muted);
  font-size:.82rem;
}
.palette-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(31,28,25,.18);
  flex:0 0 auto;
}


/* V18.3 — Looks sauvegardés retrouvables + événements détaillés */
.saved-tools{display:grid;gap:12px;margin-bottom:12px}
.saved-tools h2{margin-bottom:0}
.saved-filter-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.saved-active-summary{margin:4px 0 12px;color:var(--muted);font-size:.92rem;line-height:1.35}
.saved-meta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}
.saved-meta .tag{background:rgba(233,222,210,.72)}
.saved-look-actions{display:grid;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.saved-look-actions .saved-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.saved-look-actions label{flex:1 1 180px;margin:0}
.saved-look-actions select{margin-top:5px}
.saved-look-actions .btn{flex:0 0 auto}
.favorite-on{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
@media (max-width:420px){
  .bottom-nav{gap:4px;padding-left:6px;padding-right:6px}
  .nav-item{font-size:.64rem;padding-left:2px;padding-right:2px}
  .saved-look-actions .saved-action-row{align-items:stretch}
  .saved-look-actions .btn{flex:1 1 130px}
}

/* V18.5 — Accessoires suggérés / compléments de style */
.style-complements{
  display:grid;
  gap:12px;
  margin:10px 0 4px;
  padding:14px;
  border:1px dashed var(--line);
  border-radius:22px;
  background:rgba(255,250,243,.68);
}
.style-complement-group h3{
  margin:0 0 8px;
  font-size:.92rem;
  color:var(--muted);
}
.style-complement-list{
  display:grid;
  gap:8px;
}
.style-complement{
  display:grid;
  gap:3px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px 12px;
  background:#fffaf3;
}
.style-complement strong{
  font-size:.92rem;
}
.style-complement span{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.35;
}
.style-complement.owned{
  border-style:solid;
}
.style-complement.wishlist{
  border-style:dashed;
}


/* V18.6 — Menus dépliables + interface plus compacte */
.accordion{
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,250,243,.72);
  margin:10px 0;
  overflow:hidden;
}
.accordion summary{
  list-style:none;
  cursor:pointer;
  padding:13px 14px;
  font-weight:780;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{
  content:"+";
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:999px;
  background:var(--soft);
  color:var(--ink);
  font-weight:800;
}
.accordion[open] summary::after{content:"–"}
.accordion-body{
  padding:0 14px 14px;
}
.accordion-body p:last-child{margin-bottom:0}
.compact-filters .accordion-body{display:grid;gap:10px}
.pair-tool.accordion{
  margin-top:14px;
  padding:0;
  border-style:dashed;
}
.pair-tool.accordion h2{display:none}
.saved-actions-accordion{margin-top:14px}
.style-complements{
  margin:2px 0 0;
  padding:0;
  border:0;
  background:transparent;
}
.style-complement-group h3{font-size:.88rem}
.style-complement{padding:9px 10px}
.look-card h1{margin-bottom:8px}
.look-pieces{margin-bottom:10px}
@media (max-width:520px){
  .grid-2{grid-template-columns:1fr}
  .look-pieces{grid-template-columns:1fr 1fr}
  .look-card{padding:14px;border-radius:24px}
  .style-complement span{font-size:.82rem}
}

/* V18.8 — Choix du sac + nouvelle proposition */
.bag-choice-accordion .form-note{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.86rem;
}
.bag-options{
  display:grid;
  gap:8px;
}
.bag-option{
  width:100%;
  border:1px solid var(--line);
  background:#fffaf3;
  border-radius:18px;
  padding:8px;
  display:grid;
  grid-template-columns:52px 1fr;
  align-items:center;
  gap:10px;
  text-align:left;
  color:var(--ink);
}
.bag-option.active{
  border-color:var(--accent);
  box-shadow:inset 0 0 0 1px var(--accent);
}
.bag-option-photo{
  width:52px;
  height:52px;
  border-radius:14px;
  background:var(--soft);
  background-size:cover;
  background-position:center;
}
.bag-option strong{
  display:block;
  font-size:.92rem;
}
.bag-option small{
  display:block;
  color:var(--muted);
  margin-top:2px;
}

/* V18.9 — Variantes par catégorie : sac, chaussures, accessoires */
.variant-choice-accordion .form-note{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.86rem;
}
.variant-section{
  display:grid;
  gap:8px;
  padding:10px 0;
  border-top:1px solid var(--line);
}
.variant-section:first-child{
  border-top:0;
  padding-top:0;
}
.variant-section h3{
  margin:0;
  font-size:.96rem;
}
.variant-options{
  display:grid;
  gap:8px;
}
.variant-option{
  width:100%;
  border:1px solid var(--line);
  background:#fffaf3;
  border-radius:18px;
  padding:8px;
  display:grid;
  grid-template-columns:52px 1fr;
  align-items:center;
  gap:10px;
  text-align:left;
  color:var(--ink);
}
.variant-option.active{
  border-color:var(--accent);
  box-shadow:inset 0 0 0 1px var(--accent);
}
.variant-option-photo{
  width:52px;
  height:52px;
  border-radius:14px;
  background:var(--soft);
  background-size:cover;
  background-position:center;
}
.variant-option strong{
  display:block;
  font-size:.92rem;
}
.variant-option small{
  display:block;
  color:var(--muted);
  margin-top:2px;
}

.variant-empty{
  margin:0;
  padding:10px 12px;
  border:1px dashed var(--line);
  border-radius:16px;
  color:var(--muted);
  background:#fffaf3;
  font-size:.9rem;
}

/* V18.13 — Sauvegarde renforcée */
.storage-status{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fffaf3;
  color:var(--ink);
  font-size:.9rem;
  line-height:1.45;
}


/* V18.15 — Import JSON corrigé */
.import-file-label{display:inline-flex;align-items:center;justify-content:center;width:auto;margin-top:8px}
.file-input-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:.01!important}
.import-fallback{margin-top:12px}
.import-fallback textarea{margin:10px 0}
.compact-details{border:1px solid var(--line);border-radius:18px;background:rgba(255,250,243,.72);padding:10px 12px}
.compact-details summary{cursor:pointer;font-weight:760;color:var(--ink)}


/* V19 Supabase */
.cloud-card .auth-grid{margin-top:12px}
.cloud-status{background:#f6f1ea;border:1px solid rgba(31,28,25,.12);border-radius:16px;padding:12px 14px;margin:12px 0;line-height:1.55;font-size:.92rem;color:#3a332d}
.cloud-error{color:#9d2b23;font-weight:700}
.wrap-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.wrap-actions .btn{flex:1 1 140px}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}

/* V19.2 — Compte simplifié pour utilisatrice non technique */
.account-main-card h2,.quick-backup-card h2{margin-bottom:6px}
.account-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;margin-bottom:8px;font-size:.82rem;font-weight:780;background:var(--soft);color:var(--ink)}
.account-pill.account-ok{background:rgba(54,107,72,.14);color:var(--good)}
.account-pill.account-waiting{background:rgba(155,47,47,.09);color:var(--muted)}
.settings-section{display:block;padding:0;overflow:hidden}
.settings-section>summary{list-style:none;padding:16px 18px;font-size:1.02rem;font-weight:800;color:var(--ink);cursor:pointer}
.settings-section>summary::-webkit-details-marker{display:none}
.settings-section>summary::after{content:"+";float:right;font-weight:900;color:var(--muted)}
.settings-section[open]>summary::after{content:"−"}
.settings-section>p,.settings-section>.form-note{padding:0 18px 12px;margin:0;color:var(--muted)}
.manual-backup-block{border-top:1px solid var(--line);padding:16px 18px}
.manual-backup-block h2{font-size:1rem;margin-bottom:6px}
.manual-backup-block p{margin-bottom:10px}
.danger-zone-inner{background:rgba(155,47,47,.04)}
@media (max-width:520px){.auth-grid{grid-template-columns:1fr}.wrap-actions .btn{flex-basis:100%}}


/* V19.4 — Inspiration look */
.inspiration-look-block textarea{resize:vertical;min-height:92px}
.inspiration-result h3{font-size:.95rem;margin:10px 0 6px}.inspiration-result ul{margin:8px 0 0;padding-left:18px;color:var(--muted);line-height:1.38}.inspiration-mini-photo{width:100%;height:150px;background-size:cover;background-position:center;border-radius:22px;border:1px solid var(--line);margin:6px 0 10px;background-color:var(--soft)}
.inspiration-analysis-summary{
  border:1px solid rgba(197,157,85,.24);
  border-radius:14px;
  background:rgba(255,250,243,.78);
  padding:10px;
  margin:10px 0;
}
.inspiration-analysis-summary dl{
  display:grid;
  gap:7px;
  margin:0;
}
.inspiration-analysis-summary div{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.inspiration-analysis-summary dt{
  color:#8a6627;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:850;
}
.inspiration-analysis-summary dd{
  margin:0;
  color:#3b3126;
  font-size:.82rem;
  line-height:1.28;
}
@media (max-width:430px){
  .inspiration-analysis-summary div{
    grid-template-columns:1fr;
    gap:2px;
  }
}


/* V19.5 — Profil style en onglet + prise de photo Android */
.photo-source-block{display:grid;gap:8px}
.photo-source-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.photo-source-actions .btn{flex:1 1 150px;text-align:center}
.profile-check-grid{display:flex;flex-wrap:wrap;gap:8px}
.profile-check-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:16px;background:#fffaf3;padding:10px;font-weight:650;color:var(--ink)}
.profile-check-grid input{width:auto;accent-color:var(--accent)}
.profile-form-compact{gap:12px}
.profile-form-compact .accordion{border-radius:20px}
.profile-form-compact .accordion-body{gap:10px}
.profile-form-compact input,
.profile-form-compact select,
.profile-form-compact textarea{border-radius:15px;padding:10px 12px;min-height:42px}
.profile-main-grid,
.profile-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-wide-field{grid-column:1 / -1}
.profile-hidden-field{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.profile-chip-field{display:flex;flex-wrap:wrap;gap:8px}
.profile-choice-chip{border:1px solid rgba(198,164,82,.42);background:#fffaf3;color:var(--ink);border-radius:999px;padding:8px 12px;min-height:38px;font-weight:760;box-shadow:none}
.profile-choice-chip.active{background:var(--accent);border-color:var(--accent);color:#fffaf3}
.profile-choice-chip:focus-visible{outline:2px solid rgba(198,164,82,.55);outline-offset:2px}
.profile-check-grid label{border-radius:999px;padding:7px 11px;min-height:36px;font-size:.88rem}
.profile-check-grid label:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fffaf3}
.profile-edit-summary{border:1px solid rgba(198,164,82,.34);border-radius:22px;background:linear-gradient(180deg,#fffaf3,#f7efe5);padding:14px;display:grid;gap:8px}
.profile-edit-summary:empty{display:none}
.profile-edit-summary h2{margin:0;font-size:1.02rem}
.profile-edit-summary p{margin:0;color:var(--muted);line-height:1.38}
.profile-summary-chips{display:flex;gap:6px;flex-wrap:wrap}
.profile-summary-chips span{border:1px solid rgba(198,164,82,.36);border-radius:999px;padding:6px 9px;background:rgba(255,250,243,.8);font-size:.82rem;font-weight:760;color:var(--ink)}
.profile-saved-details{display:grid;gap:10px}
.profile-saved-details .profile-summary-chips{margin-top:2px}
.style-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.style-choice-card{border:1px solid var(--line);border-radius:20px;background:#fffaf3;padding:12px;display:grid;gap:8px}
.style-choice-card strong{font-size:.94rem}
.style-choice-card span{font-size:.82rem;color:var(--muted);line-height:1.32}
.style-choice-card div{display:flex;gap:8px;flex-wrap:wrap}
.style-choice-card label{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--ink);font-weight:700}
.style-choice-card input{width:auto;accent-color:var(--accent)}
@media (max-width:460px){.style-choice-grid,.profile-main-grid,.profile-advanced-grid{grid-template-columns:1fr}.profile-check-grid{gap:6px}.profile-choice-chip,.profile-check-grid label{padding:7px 10px;min-height:36px;font-size:.88rem}.profile-edit-summary{padding:12px}.bottom-nav{gap:4px}.nav-item{font-size:.60rem;padding-left:2px;padding-right:2px}}


/* V19.6 — inspirations visuelles et compte */
.style-choice-card{overflow:hidden;}
.style-inspiration-img{display:block;width:100%;height:150px;object-fit:cover;border-radius:18px;margin-bottom:12px;background:#e8ded4;border:1px solid rgba(42,36,31,.08);}
.cloud-note{color:#4b3f36;font-weight:600;}
.variant-choice-accordion:not([open]){background:#fbf8f3;}


/* V19.7 — inspirations plein pied + recommandations */
.style-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.style-choice-card{position:relative}
.style-choice-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#efe6da;color:#5a4838;font-size:.74rem;font-weight:800;width:max-content}
.style-inspiration-img{display:block;width:100%;aspect-ratio:3/4;height:auto;object-fit:contain;object-position:center top;border-radius:18px;margin-bottom:12px;background:#f3ede6;border:1px solid rgba(42,36,31,.08)}


/* V19.8 — profil style dynamique */
/* ── Quiz style — Swipe plein écran (Option A) ── */
.style-quiz-card{
  border-radius:24px;
  overflow:hidden;
  background:#faf7f2;
  border:1px solid var(--dm-line,#ede4d8);
  position:relative;
}
/* Barre de progression — fine, en haut */
.style-quiz-progress{
  position:absolute;
  top:0;left:0;right:0;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px 6px;
  background:linear-gradient(to bottom,rgba(250,247,242,.95),transparent);
}
.style-quiz-progress span#style-quiz-counter{
  font-size:.7rem;
  font-weight:700;
  color:#1a1714;
  letter-spacing:.02em;
  white-space:nowrap;
}
.style-quiz-bar{
  flex:1;
  height:3px;
  border-radius:999px;
  background:rgba(26,23,20,.12);
  overflow:hidden;
}
.style-quiz-bar span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:#1a1714;
  transition:width .3s ease;
}
/* Image — pleine largeur, portrait */
.style-quiz-image-wrap{
  width:100%;
  position:relative;
  background:#f1e9df;
}
.style-quiz-image{
  display:block;
  width:100%;
  aspect-ratio:3/4;
  height:auto;
  object-fit:cover;
  object-position:center top;
}
/* Overlay titre + tags sur la photo */
.style-quiz-copy{
  position:absolute;
  bottom:0;left:0;right:0;
  z-index:2;
  padding:40px 14px 14px;
  background:linear-gradient(to top,rgba(26,23,20,.72) 0%,transparent 100%);
  display:grid;
  gap:6px;
}
.style-quiz-copy h3{
  margin:0;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:1.15rem;
  color:#faf7f2;
  line-height:1.2;
}
.style-quiz-copy p{
  margin:0;
  color:rgba(250,247,242,.75);
  font-size:.78rem;
  line-height:1.35;
}
.style-quiz-pill{
  display:inline-block;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(250,247,242,.18);
  border:1px solid rgba(250,247,242,.3);
  color:#faf7f2;
  font-size:.7rem;
  font-weight:700;
  backdrop-filter:blur(4px);
  width:max-content;
}
.style-quiz-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.style-quiz-tags span{
  padding:4px 8px;
  border-radius:999px;
  background:rgba(250,247,242,.15);
  border:1px solid rgba(250,247,242,.25);
  color:rgba(250,247,242,.9);
  font-size:.68rem;
  font-weight:700;
  backdrop-filter:blur(4px);
}
/* Boutons — larges, tactiles, sous la photo */
.style-quiz-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  padding:12px 14px;
  background:#faf7f2;
}
.style-quiz-actions .btn{
  flex:unset;
  padding:14px 8px;
  border-radius:14px;
  font-size:.88rem;
  font-weight:700;
  min-height:unset;
  text-align:center;
}
.style-quiz-secondary-actions{
  display:flex;
  gap:8px;
  padding:0 14px 12px;
  background:#faf7f2;
}
.style-quiz-secondary-actions .btn{
  font-size:.75rem;
  color:var(--dm-muted,#a0876a);
  border-color:transparent;
  min-height:unset;
  padding:6px 10px;
}
.style-summary-card{
  border:1px solid rgba(31,28,25,.12);
  border-radius:24px;
  padding:16px;
  background:linear-gradient(180deg,#fffaf3,#f6efe7);
  display:grid;
  gap:10px;
}
.style-summary-card:empty{display:none}
.style-summary-card h2{
  margin:0;
  font-size:1.05rem;
}
.style-summary-card p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
.style-learning-box{
  border:1px solid rgba(198,164,82,.32);
  border-radius:18px;
  background:rgba(255,250,243,.72);
  padding:12px;
  display:grid;
  gap:8px;
}
.style-learning-box h3{
  margin:0;
  font-size:.95rem;
}
.style-learning-box ul{
  margin:0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.4;
}
.style-learning-box li+li{margin-top:4px}
.style-learning-box .btn{width:max-content}
.style-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
}
.style-summary-grid span{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px;
  color:var(--ink);
  font-size:.82rem;
}
.style-summary-grid strong{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  margin-bottom:3px;
}


/* V19.9 — profil enregistré */
.profile-saved-banner{
  display:grid;
  gap:12px;
}
.profile-saved-banner.hidden{display:none}
.profile-saved-title{
  display:flex;
  align-items:center;
  gap:12px;
}
.profile-saved-title h2{
  margin:0;
}
.profile-saved-title p{
  margin:2px 0 0;
  color:var(--muted);
}
.saved-check{
  width:42px;
  height:42px;
  border-radius:999px;
  background:#dceadf;
  color:#257247;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:1.25rem;
}
.style-quiz-image{
  object-fit:contain !important;
  object-position:center center !important;
  background:#f6efe7;
}
.style-quiz-image-wrap{
  background:#f6efe7;
}


/* V19.10 — rotation photo et prénom */
.photo-rotation-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.photo-rotation-tools.hidden{display:none}
.profile-saved-title h2{
  line-height:1.18;
}


/* V19.11 — inspirations colorées sans répétition */
.style-quiz-complete{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fffaf3;display:grid;gap:8px}
.style-quiz-complete h3{margin:0;font-size:1.08rem}
.style-quiz-complete p{margin:0;color:var(--muted);line-height:1.4}
#style-quiz[data-complete="true"] #style-quiz-like,
#style-quiz[data-complete="true"] #style-quiz-maybe,
#style-quiz[data-complete="true"] #style-quiz-dislike,
#style-quiz[data-complete="true"] #style-quiz-skip{opacity:.45;pointer-events:none}
.style-quiz-image{max-height:520px;object-fit:contain !important;object-position:center center !important}


/* V19.12 — correction profil et inspirations */
.style-quiz-complete{
  padding:18px;
  border-radius:22px;
  background:#f1eadf;
  border:1px solid rgba(31,28,25,.10);
}
.style-quiz-complete h3{
  margin:0 0 6px;
}
.style-quiz-complete p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
.style-quiz-image{
  image-rendering:auto;
  object-fit:contain !important;
  object-position:center center !important;
}


/* V19.13 — desktop inspirations + sauvegarde visible */
@media (min-width: 900px){
  .style-quiz-card{
    grid-template-columns:minmax(360px, 1.15fr) minmax(280px, .85fr);
    align-items:start;
    gap:18px;
  }
  .style-quiz-progress{
    grid-column:1 / -1;
  }
  #style-quiz-card-body{
    grid-column:1;
  }
  .style-quiz-actions{
    grid-column:2;
    grid-row:2;
    flex-direction:column;
    position:sticky;
    top:20px;
    align-self:start;
  }
  .style-quiz-actions .btn{
    width:100%;
    min-height:54px;
  }
  .style-quiz-secondary-actions{
    grid-column:2;
    grid-row:3;
  }
  .style-quiz-image{
    max-height:72vh;
    object-fit:contain !important;
  }
}
.cloud-note{
  color:#2f6f4f;
  font-weight:800;
}


/* Inspiration photo — colonne unique, centré mobile */
#inspiration-block:not(.hidden){
  display:flex;
  flex-direction:column;
  gap:12px;
  border:1px solid var(--dm-line,#ede4d8);
  border-radius:16px;
  padding:14px;
  background:var(--dm-paper,#fff);
}
.look-info-message{
  margin:12px 0;
}
/* Boutons photo — côte à côte, centrés */
#inspiration-block .photo-source-block{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:stretch;
}
#inspiration-block .photo-source-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
#inspiration-block .photo-source-actions .btn{
  flex:unset;
  text-align:center;
  justify-content:center;
  padding:12px 8px;
  font-size:.86rem;
}
/* Label photo */
#inspiration-block .form-note{
  text-align:center;
  color:var(--dm-muted,#a0876a);
  font-size:.78rem;
}
#inspiration-block .form-note em{
  font-style:normal;
  font-size:.72rem;
}
/* Aperçu photo */
#inspiration-preview{
  border-radius:12px;
  min-height:160px;
  max-height:240px;
}
/* Textarea */
#inspiration-block textarea{
  resize:vertical;
  min-height:72px;
  font-size:.88rem;
  line-height:1.5;
  border-radius:12px;
  padding:11px 13px;
}
/* Note bas */
#inspiration-block > .form-note:last-of-type{
  text-align:left;
  font-size:.76rem;
  line-height:1.45;
  color:var(--dm-muted,#a0876a);
}


/* V19.18 — choix visuel pièce, saisons multiples, style unique */
.piece-picker-tools{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:8px;
}
.anchor-piece-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:10px;
  margin-top:10px;
  max-height:430px;
  overflow:auto;
  padding:2px 2px 8px;
}
.anchor-piece-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fffaf3;
  padding:8px;
  text-align:left;
  display:grid;
  gap:7px;
  cursor:pointer;
}
.anchor-piece-card.selected{
  outline:3px solid rgba(31,28,25,.18);
  background:#efe6da;
}
.anchor-piece-photo{
  display:block;
  width:100%;
  aspect-ratio:1/1.12;
  border-radius:14px;
  background:#eee5dc center/cover no-repeat;
  border:1px solid rgba(31,28,25,.08);
}
.anchor-piece-info strong{
  display:block;
  font-size:.82rem;
  line-height:1.15;
}
.anchor-piece-info small{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.25;
  margin-top:4px;
}
.inline-checks{
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.inline-checks legend{
  font-size:.84rem;
  font-weight:800;
  padding:0 4px;
}
.inline-checks label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  font-size:.84rem;
  background:#fffaf3;
  border:1px solid rgba(31,28,25,.08);
  border-radius:999px;
  padding:6px 10px;
}
@media(min-width:900px){
  .piece-picker-tools{
    grid-template-columns:1fr 220px;
  }
  .anchor-piece-grid{
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  }
}


/* V19.20 — saisons mobile lisibles */
.season-checks{
  align-items:flex-start;
  gap:6px !important;
}
.season-checks legend{
  width:100%;
  margin-bottom:2px;
}
.season-checks label{
  flex:0 1 auto;
  min-width:0;
  padding:5px 8px !important;
  font-size:.76rem !important;
  line-height:1.1;
  white-space:nowrap;
}
.season-checks input[type="checkbox"]{
  width:14px;
  height:14px;
  flex:0 0 14px;
  margin:0;
  accent-color:#2f2a25;
}
.season-checks .btn,
#season-reset{
  padding:5px 8px !important;
  min-height:28px;
  font-size:.74rem !important;
  white-space:nowrap;
}
@media(max-width:420px){
  .season-checks{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .season-checks legend{
    grid-column:1 / -1;
  }
  .season-checks label{
    width:100%;
    justify-content:flex-start;
  }
  #season-reset{
    grid-column:1 / -1;
    width:100%;
  }
}


/* V19.21 — saisons et styles multiples par pièce */
.item-season-checks,
.item-style-checks{
  align-items:flex-start;
  gap:6px !important;
}
.item-season-checks legend,
.item-style-checks legend{
  width:100%;
  margin-bottom:2px;
}
.item-season-checks label,
.item-style-checks label{
  flex:0 1 auto;
  min-width:0;
  padding:5px 8px !important;
  font-size:.76rem !important;
  line-height:1.1;
  white-space:nowrap;
}
.item-season-checks input[type="checkbox"],
.item-style-checks input[type="checkbox"]{
  width:14px;
  height:14px;
  flex:0 0 14px;
  margin:0;
  accent-color:#2f2a25;
}
#item-season-reset{
  padding:5px 8px !important;
  min-height:28px;
  font-size:.74rem !important;
  white-space:nowrap;
}
@media(max-width:420px){
  .item-season-checks,
  .item-style-checks{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .item-season-checks legend,
  .item-style-checks legend{
    grid-column:1 / -1;
  }
  .item-season-checks label,
  .item-style-checks label{
    width:100%;
    justify-content:flex-start;
  }
  #item-season-reset{
    grid-column:1 / -1;
    width:100%;
  }
}


/* V19.22 — inspirations adaptées, boutons compacts */
.style-quiz-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.style-quiz-actions .btn{
  min-width:0;
  width:100%;
  padding:8px 6px;
  font-size:.76rem;
  line-height:1.05;
  white-space:normal;
  text-align:center;
}
.style-quiz-secondary-actions .btn{
  font-size:.75rem;
  padding:7px 8px;
}
@media(max-width:390px){
  .style-quiz-actions{
    grid-template-columns:1fr;
  }
  .style-quiz-actions .btn{
    padding:8px;
  }
}
@media(min-width:900px){
  .style-quiz-actions{
    grid-template-columns:1fr;
  }
}


/* V20 — sauvegarde simplifiée */
.cloud-card .cloud-status,
.quick-backup-card p{
  line-height:1.45;
}
.cloud-note{
  display:inline-block;
  margin-top:6px;
}


/* V20.1 — diagnostic robustesse */
#dressing-health-status{
  font-size:.88rem;
  line-height:1.45;
}
.quick-backup-card .form-note{
  margin-top:8px;
}

/* V20.2 — réparation photos Storage */
.cloud-error,.cloud-note{line-height:1.35;}


/* V20.8 — retour cadrage original
   Aucun recadrage global forcé : on conserve l'affichage esthétique d'origine.
   Les corrections futures de cadrage devront être individuelles par photo. */


/* V20.10 — corrections checklist */
.saved-visible-actions{
  display:flex;
  justify-content:flex-end;
  margin:8px 0 4px;
}
.saved-visible-actions .btn{
  border-color:#f2c8c8;
}
#item-category:invalid{
  border-color:#b91c1c;
}


/* V21 — interface allégée et choix autour d’une pièce */
.anchor-picker-intro{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.anchor-category-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.anchor-category-buttons .chip.active{
  background:#111;
  color:#fff;
}
.anchor-piece-card{
  align-items:center;
}
.anchor-piece-info small{
  color:#6f665f;
}
.wardrobe-card .garment-body p{
  margin-bottom:6px;
}
.wardrobe-card .tags{
  margin-top:4px;
}
.card-details{
  margin-top:4px;
}
.card-details summary{
  cursor:pointer;
  font-size:.82rem;
  color:#6f665f;
}
.card-details .tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
@media(max-width:720px){
  .wardrobe-card .tag{
    font-size:.78rem;
  }
  .anchor-piece-grid{
    max-height:none;
  }
}


/* V21.0.1 — cartes dressing vraiment allégées */
.wardrobe-card .tags.hidden,
.wardrobe-card .tags:empty{
  display:none !important;
}
.wardrobe-card .garment-body h2{
  margin-bottom:4px;
}
.wardrobe-card .garment-body p{
  margin:0 0 12px;
  color:#6f665f;
}
.wardrobe-card .card-actions{
  margin-top:8px;
}


/* V21.0.3 — correction affichage look mobile */
.look-card{
  overflow:hidden;
}

.look-card h1{
  font-size:clamp(2.1rem, 8vw, 5rem) !important;
  line-height:.92 !important;
  letter-spacing:-0.04em;
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
  margin-bottom:14px;
}

.look-card .look-option-label{
  display:inline-flex;
  max-width:100%;
  white-space:normal;
}

@media(max-width:720px){
  .look-card{
    padding:22px 18px !important;
  }

  .look-card h1{
    font-size:clamp(2rem, 12vw, 3.7rem) !important;
    line-height:.9 !important;
    letter-spacing:-0.045em;
    margin-top:8px;
    margin-bottom:16px;
  }

  .look-card .eyebrow{
    font-size:.75rem;
    letter-spacing:.18em;
  }

  .look-card .look-option-label{
    font-size:.85rem;
    padding:8px 14px;
  }

  .look-pieces{
    margin-top:10px;
  }
}

#look-result{
  min-height:0;
  padding-bottom:110px;
}


/* V21.0.4 — titres de looks sobres */
.look-card h1{
  font-size:clamp(2.6rem, 8vw, 5.6rem) !important;
  line-height:.95 !important;
  margin-bottom:12px;
}

@media(max-width:720px){
  .look-card h1{
    font-size:clamp(2.6rem, 12vw, 4.2rem) !important;
    line-height:.95 !important;
  }
}


/* V21.0.6 — stabilité interface */
.home-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 4px 8px;
}
.home-logo{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--ink);
}
.home-logo span{color:#b84a22;}
.home-avatar-btn{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#e8ddd5;
  border:1px solid #ded2c5;
  font-size:.8rem;
  font-weight:700;
  color:#7a5c4e;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  padding:0;
}
.home-avatar-btn.connected{
  background:#e3eee2;
  color:#2f6f44;
  border-color:#d4e5d2;
}
.home-welcome{
  padding:4px 4px 20px;
}
.home-welcome h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,9vw,2.6rem);
  letter-spacing:-.03em;
  margin-bottom:4px;
  line-height:1.1;
}
.home-welcome-sub{
  color:var(--muted);
  font-size:.95rem;
  margin:0;
}
.home-actions-section{
  margin-bottom:14px;
}
.home-actions-label{
  font-size:.72rem;
  font-weight:760;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 10px;
}
.home-primary-action{
  width:100%;
  background:#1f1c19;
  color:#fffaf3;
  border-color:#1f1c19;
  border-radius:18px;
  font-size:1rem;
  font-weight:700;
  padding:16px;
  margin-bottom:10px;
  letter-spacing:.01em;
}
.home-action-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.home-action-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:16px 10px;
  border-radius:18px;
  font-size:.9rem;
  font-weight:600;
  text-align:center;
  line-height:1.3;
}
.home-action-icon{
  font-size:1.5rem;
  line-height:1;
}
.home-tip-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:#fff8f3;
  border-color:#f0d5c0;
}
.home-tip-card strong{
  display:block;
  font-size:.9rem;
  margin-bottom:3px;
}
.home-tip-card p{
  margin:0;
  font-size:.86rem;
}
.home-tip-icon{
  font-size:1.3rem;
  flex-shrink:0;
  margin-top:2px;
}
.look-style-grid{
  gap:14px;
}
.look-option-label{
  display:none !important;
}
@media(max-width:720px){
  .look-style-grid{
    grid-template-columns:1fr !important;
  }
  .look-card h1{
    font-size:clamp(2.4rem, 11vw, 3.8rem) !important;
  }
}
#look-result{
  min-height:0 !important;
}


/* V21.0.7 — correctif enregistrement Android */
#save-item-button:disabled{
  opacity:.65;
  cursor:wait;
}
.android-save-note{
  background:#f8f3ed;
  border:1px solid #eadfd2;
  border-radius:18px;
  padding:10px 12px;
}


/* V21.0.8 — filtres dressing désélectionnables */
.filter-row .chip.active{
  background:#111;
  color:#fff;
}
.wardrobe-grid .empty{
  grid-column:1 / -1;
}


/* V21.0.12 — analyse IA vêtement */
.ai-analysis-block{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid #eadfd2;
  border-radius:18px;
  background:#f8f3ed;
}
.ai-analysis-block .btn{
  width:100%;
}
#analyze-item-ai:disabled{
  opacity:.65;
  cursor:wait;
}
.advanced-item-fields{
  border:1px solid #eadfd2;
  border-radius:18px;
  background:#fffaf3;
  overflow:hidden;
}
.advanced-item-fields summary{
  padding:14px 16px;
  cursor:pointer;
  font-weight:800;
}
.advanced-item-fields .accordion-body{
  display:grid;
  gap:14px;
  padding:0 14px 14px;
}
.form-actions{
  align-items:stretch;
}
.form-actions #quick-save-item-button{
  flex:1.2;
}
@media(max-width:520px){
  .form-actions .btn{
    flex-basis:100%;
  }
}


/* V21.0.10 — lisibilite Android */
html.android-device body{
  font-size:16.5px;
}
html.android-device .shell{
  padding-left:18px;
  padding-right:18px;
}
html.android-device .card,
html.android-device .hero,
html.android-device .look-card{
  padding:20px;
}
html.android-device input,
html.android-device select,
html.android-device textarea{
  min-height:50px;
  font-size:1rem;
}
html.android-device .btn{
  min-height:50px;
  padding:14px 17px;
  font-size:1rem;
}
html.android-device .nav-item{
  min-height:52px;
  font-size:.68rem;
}
html.android-device .garment-body h2,
html.android-device .look-piece p,
html.android-device .card p,
html.android-device .form-note{
  font-size:.98rem;
}

@media(max-width:420px){
  html.android-device .shell{
    padding-left:16px;
    padding-right:16px;
  }
  html.android-device .wardrobe-grid,
  html.android-device .look-pieces{
    gap:12px;
  }
  html.android-device .nav-item{
    font-size:.66rem;
  }
}


/* V21.1 — direction premium noir et or */
:root{
  --bg:#120f0c;
  --paper:#fbf7ee;
  --ink:#17130f;
  --muted:#766b5c;
  --line:rgba(197,157,85,.26);
  --soft:#efe4d1;
  --accent:#17130f;
  --gold:#c59d55;
  --gold-soft:#ead7ad;
  --shadow:0 22px 60px rgba(0,0,0,.16);
  --radius:18px;
}
body{
  background:
    radial-gradient(circle at 20% -10%,rgba(197,157,85,.26),transparent 34%),
    linear-gradient(180deg,#17130f 0%,#241d16 34%,#efe7da 100%);
}
.shell{padding-top:18px}
.screen-head{color:#fbf7ee;padding:18px 4px 14px}
.screen-head p{color:rgba(251,247,238,.72)}
.screen-head h1,
.hero h1{
  font-size:clamp(2rem,9vw,3.55rem);
  line-height:1;
  letter-spacing:0;
}
.hero{
  border-color:rgba(197,157,85,.32);
  background:
    linear-gradient(135deg,rgba(18,15,12,.94),rgba(52,42,31,.92)),
    var(--paper);
  color:#fbf7ee;
}
.hero .lead{color:rgba(251,247,238,.74)}
.eyebrow{color:var(--gold);letter-spacing:.12em}
.card,.stat-card,.wardrobe-card,.look-card{
  border-radius:18px;
  border-color:rgba(197,157,85,.28);
}
.card,.stat-card{background:rgba(251,247,238,.96)}
.btn{
  border-radius:999px;
  min-height:48px;
  font-weight:760;
}
.btn.primary{
  background:linear-gradient(135deg,#14100d,#2a2118);
  border-color:#14100d;
  color:#fbf7ee;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.btn.secondary{
  background:linear-gradient(135deg,#d8ba72,#b58d42);
  border-color:#b58d42;
  color:#17130f;
}
.btn.ghost,.chip{
  background:rgba(251,247,238,.88);
  border-color:rgba(197,157,85,.28);
}
input,select,textarea{
  border-radius:14px;
  border-color:rgba(197,157,85,.30);
  background:#fffdf8;
}
.bottom-nav{
  background:rgba(18,15,12,.92);
  border-top-color:rgba(197,157,85,.26);
}
.nav-item{color:rgba(251,247,238,.64)}
.nav-item.active{background:rgba(197,157,85,.18);color:#fbf7ee}
.nav-item.main{background:linear-gradient(135deg,#d8ba72,#a97e32);color:#17130f}

/* V21.3 — Voyage / Ma valise editable */
.bottom-nav{
  grid-template-columns:repeat(3,1fr) 52px repeat(3,1fr);
}
.travel-look-block{
  display:grid;
  gap:14px;
}
.travel-form .travel-generate-button{
  width:100%;
  min-height:54px;
}
.travel-moment-counts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  border:1px solid rgba(197,157,85,.34);
  border-radius:16px;
  padding:12px;
  background:rgba(255,253,248,.72);
}
.travel-moment-counts legend{
  padding:0 6px;
  color:#8a6627;
  font-weight:800;
}
.travel-moment-counts label{
  color:#4a3822;
  font-size:.9rem;
}
.travel-moment-counts input{
  margin-top:6px;
  color:#17130f;
  background:#fffdf8;
}
.travel-stepper{
  display:flex;
  align-items:center;
  gap:6px;
}
.travel-stepper button{
  width:34px;
  height:34px;
  border:1px solid rgba(197,157,85,.36);
  border-radius:999px;
  background:#17130f;
  color:#f8e6b6;
  font-weight:850;
  line-height:1;
}
.travel-stepper input{
  flex:1 1 auto;
  min-width:0;
  text-align:center;
}
.travel-sticky-generate{
  display:none;
}
.travel-result{
  padding-bottom:96px;
}
.travel-plan-card{
  background:linear-gradient(180deg,#fffdf8,#f6ead4);
  border:1px solid rgba(216,186,114,.34);
  border-radius:22px;
  padding:18px;
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.travel-plan-card h1{
  font-size:1.65rem;
  letter-spacing:0;
  line-height:1.08;
  margin-bottom:8px;
}
.travel-summary{
  color:#5f5549;
  line-height:1.4;
}
.travel-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.travel-stats span{
  border:1px solid rgba(197,157,85,.28);
  border-radius:12px;
  padding:9px 10px;
  background:rgba(255,255,255,.58);
  color:#3c3024;
  font-size:.86rem;
  font-weight:750;
}
.travel-group{
  margin-top:16px;
}
.travel-selected-section,
.travel-looks-section{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(197,157,85,.20);
}
.travel-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.travel-section-head h2{
  margin:0;
  color:#3b3024;
}
.travel-add-panel{
  border:1px solid rgba(197,157,85,.28);
  border-radius:16px;
  padding:12px;
  margin:10px 0 14px;
  background:rgba(255,255,255,.58);
}
.travel-add-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
  max-height:min(58vh,520px);
  overflow:auto;
  padding-right:2px;
}
.travel-add-card{
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:7px;
  border:1px solid rgba(197,157,85,.24);
  border-radius:14px;
  padding:7px;
  background:#fffdf8;
}
.travel-add-photo{
  aspect-ratio:4/5;
  border-radius:10px;
  background:#eadfcf;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}
.travel-add-body strong{
  display:block;
  font-size:.78rem;
  line-height:1.15;
}
.travel-add-body span{
  display:block;
  color:#766b5c;
  font-size:.68rem;
  line-height:1.2;
  margin-top:2px;
}
.travel-add-check{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border:1px solid rgba(197,157,85,.24);
  border-radius:999px;
  background:#fffaf3;
  color:#2d241c;
  font-size:.72rem;
}
.travel-add-select-fallback{
  opacity:.01;
  position:absolute;
  pointer-events:none;
  width:1px;
  height:1px;
  overflow:hidden;
}
.travel-group h2{
  font-size:.92rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6f5228;
}
.travel-piece-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.travel-piece{
  overflow:hidden;
  border:1px solid rgba(197,157,85,.22);
  border-radius:16px;
  background:#fffdf8;
}
.travel-piece.editable{
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.travel-piece-photo{
  aspect-ratio:1/1;
  background:#eadfcf;
  background-size:cover;
  background-position:center;
}
.travel-piece div:last-child{
  padding:9px;
}
.travel-piece-photo + div{
  padding:9px;
}
.travel-piece strong{
  display:block;
  font-size:.9rem;
  line-height:1.2;
}
.travel-piece span{
  display:block;
  color:#766b5c;
  font-size:.78rem;
  margin-top:3px;
}
.travel-piece-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:0 8px 8px;
}
.travel-piece-actions .btn{
  min-height:34px;
  padding:7px 8px;
  font-size:.76rem;
}
.travel-look-grid{
  display:grid;
  gap:10px;
}
.travel-look-card{
  border:1px solid rgba(197,157,85,.24);
  border-radius:16px;
  padding:12px;
  background:#fffdf8;
}
.travel-look-card h2{
  margin:0 0 6px;
  font-size:1rem;
  color:#2d241c;
}
.travel-look-pieces{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
}
.travel-look-piece{
  overflow:hidden;
  border:1px solid rgba(197,157,85,.22);
  border-radius:12px;
  background:#fffaf3;
}
.travel-look-photo{
  aspect-ratio:1/1;
  background:#eadfcf;
  background-size:cover;
  background-position:center;
}
.travel-look-piece-body{
  padding:7px;
}
.travel-look-piece-body span{
  display:block;
  color:#8a6627;
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
  margin-bottom:2px;
}
.travel-look-piece-body strong{
  display:block;
  color:#2d241c;
  font-size:.76rem;
  line-height:1.18;
}
.travel-look-piece-body small{
  display:block;
  color:#766b5c;
  font-size:.68rem;
  line-height:1.2;
  margin-top:3px;
}
.travel-moment-look-group{
  margin:10px 0;
}
.travel-moment-look-group summary{
  color:#2d241c;
}
.travel-moment-look-group .travel-look-grid{
  margin-top:10px;
}
.empty.compact{
  padding:16px 12px;
  font-size:.86rem;
}
.travel-checklist{
  display:grid;
  gap:8px;
}
.travel-checklist label{
  display:flex;
  align-items:center;
  gap:8px;
  color:#332920;
}
.travel-checklist input{
  width:auto;
}
.travel-save-button{
  width:100%;
  margin-top:14px;
}
@media (min-width:760px){
  .travel-piece-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .travel-stats{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .travel-look-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:460px){
  .bottom-nav{
    gap:3px;
    padding-left:5px;
    padding-right:5px;
  }
  .nav-item{
    font-size:.56rem;
    min-height:46px;
  }
  .travel-moment-counts{
    grid-template-columns:1fr;
    gap:5px;
    padding:8px;
    border-radius:12px;
  }
  .travel-moment-counts legend{
    font-size:.86rem;
  }
  .travel-moment-counts label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:38px;
    padding:5px 6px;
    border-radius:10px;
    background:rgba(255,255,255,.54);
    font-size:.78rem;
  }
  .travel-moment-counts label > span:first-child{
    min-width:0;
    line-height:1.15;
  }
  .travel-moment-counts input{
    width:42px;
    height:30px;
    margin:0;
    padding:4px 2px;
    border-radius:10px;
    font-size:.88rem;
    font-weight:800;
  }
  .travel-stepper{
    flex:0 0 auto;
    gap:4px;
  }
  .travel-stepper button{
    width:30px;
    height:30px;
    padding:0;
  }
  .travel-piece-grid{
    grid-template-columns:1fr;
  }
  .travel-piece{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    min-height:66px;
  }
  .travel-piece.editable{
    grid-template-columns:58px minmax(0,1fr);
    grid-template-rows:auto auto;
  }
  .travel-piece-photo{
    width:58px;
    height:58px;
    aspect-ratio:auto;
    grid-row:1 / span 2;
  }
  .travel-piece-photo + div{
    padding:7px 8px 2px;
  }
  .travel-piece strong{
    font-size:.78rem;
  }
  .travel-piece span{
    font-size:.68rem;
  }
  .travel-piece-actions{
    grid-template-columns:1fr 1fr;
    gap:5px;
    padding:0 8px 7px;
  }
  .travel-piece-actions .btn{
    min-height:30px;
    padding:5px 6px;
    font-size:.68rem;
  }
  .travel-look-card{
    padding:9px;
    border-radius:12px;
  }
  .travel-look-card h2{
    font-size:.88rem;
    margin-bottom:4px;
  }
  .travel-look-pieces{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    margin:7px 0;
  }
  .travel-look-piece{
    border-radius:9px;
  }
  .travel-look-photo{
    aspect-ratio:1/1;
  }
  .travel-look-piece-body{
    padding:4px;
  }
  .travel-look-piece-body span{
    font-size:.52rem;
    letter-spacing:.03em;
    margin-bottom:1px;
  }
  .travel-look-piece-body strong{
    font-size:.62rem;
    line-height:1.08;
  }
  .travel-look-piece-body small{
    display:none;
  }
  .travel-look-card .travel-summary{
    font-size:.78rem;
    line-height:1.25;
    margin-bottom:0;
  }
  .travel-section-head{
    align-items:stretch;
    flex-direction:column;
  }
  .travel-add-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:52vh;
  }
  .travel-add-photo{
    aspect-ratio:1/1;
  }
  .travel-sticky-generate{
    display:block;
    position:sticky;
    bottom:calc(74px + var(--safe-bottom));
    z-index:8;
    width:100%;
    min-height:48px;
    margin-top:4px;
    box-shadow:0 12px 28px rgba(23,19,15,.22);
  }
}

.look-premium-layout{
  display:grid;
  gap:16px;
}
.look-control-panel{
  gap:12px;
  padding:16px;
  background:rgba(251,247,238,.98);
}
.look-step-card{
  position:relative;
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(197,157,85,.24);
  border-radius:16px;
  background:linear-gradient(180deg,#fffdf8,#f7efe0);
}
.look-step-number{
  width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#17130f;
  color:var(--gold-soft);
  font-size:.78rem;
  font-weight:850;
}
.look-control-panel label{color:#3b3126}
.look-advanced-options{
  border-color:rgba(197,157,85,.24);
  background:#fffaf1;
}
.look-advanced-options .accordion-body{
  display:grid;
  gap:14px;
}
.look-generate-button{
  width:100%;
  min-height:54px;
}
.look-result-panel{padding-bottom:96px}
.look-result-tabs{
  display:none;
  gap:8px;
  position:sticky;
  top:8px;
  z-index:3;
  padding:6px;
  margin:4px 0 10px;
  border:1px solid rgba(197,157,85,.26);
  border-radius:999px;
  background:rgba(251,247,238,.92);
  backdrop-filter:blur(12px);
}
.look-result-tab{
  flex:1;
  border:0;
  border-radius:999px;
  padding:10px 12px;
  background:transparent;
  color:#3b3126;
  font-weight:800;
}
.look-result-tab.active{
  background:#17130f;
  color:#f7e6bc;
}
.look-results-premium{
  display:grid;
  gap:16px;
}
.look-result-item{min-width:0}
.look-card{
  background:linear-gradient(180deg,#fffdf8,#f2e8d7);
  padding:16px;
}
.look-card h1{
  font-size:clamp(1.55rem,5vw,2.3rem) !important;
  line-height:1.08 !important;
  letter-spacing:0 !important;
  margin:2px 0 10px;
}
.premium-look-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 12px;
}
.premium-look-badges span{
  border:1px solid rgba(197,157,85,.30);
  background:rgba(197,157,85,.13);
  color:#4a3820;
  border-radius:999px;
  padding:6px 9px;
  font-size:.75rem;
  font-weight:760;
}
.look-tabs{
  display:flex;
  gap:8px;
  margin:8px 0 12px;
}
.look-tab{
  flex:1;
  border:1px solid rgba(197,157,85,.24);
  background:#fffaf1;
  color:#4a3c2d;
  border-radius:999px;
  padding:10px;
  font-weight:800;
}
.look-tab.active{
  background:#17130f;
  color:#f7e6bc;
}
.look-pieces{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.look-piece{
  border-radius:14px;
  border-color:rgba(197,157,85,.24);
  background:#fffdf8;
}
.look-photo{
  aspect-ratio:4/5;
  background-color:#e4d7c1;
}
.look-piece p{
  padding:9px 10px 10px;
  line-height:1.28;
}
.look-piece p strong{
  display:block;
  font-size:.88rem;
}
.look-piece p span{
  color:var(--muted);
  font-size:.76rem;
}
.look-why{
  margin:12px 0;
  padding:12px 14px;
  border-left:3px solid var(--gold);
  background:rgba(197,157,85,.10);
  border-radius:12px;
}
.look-why h2{
  margin:0 0 4px;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#5c4423;
}
.look-why p{margin:0;color:#3b3126;line-height:1.42}
.feedback{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.feedback .btn[data-save-look],
.feedback .btn[data-new-proposal]{
  grid-column:span 2;
}

.wardrobe-grid{
  gap:12px;
}
.wardrobe-card{
  background:linear-gradient(180deg,#fffdf8,#f4ead9);
  overflow:hidden;
}
.garment-photo{
  aspect-ratio:4/5;
  background-color:#e6d8bf;
}
.garment-body{
  padding:10px 11px 12px;
}
.garment-body h2{
  font-size:.94rem;
  line-height:1.18;
  margin-bottom:4px;
}
.garment-body p{
  font-size:.76rem;
  line-height:1.25;
  margin-bottom:8px;
}
.wardrobe-card .card-actions{
  gap:6px;
}
.wardrobe-card .btn.small{
  min-height:34px;
  padding:7px 10px;
  font-size:.76rem;
}
.cloud-status{
  background:linear-gradient(180deg,#fffdf8,#f5ecd9);
  border-color:rgba(197,157,85,.28);
}
.quick-backup-card{
  background:linear-gradient(135deg,#fffdf8,#f1e2c5);
}
.quick-backup-card h2{
  font-size:1.18rem;
}

@media (min-width:900px){
  .shell{
    width:min(1180px,100%);
    padding-left:24px;
    padding-right:24px;
  }
  .look-premium-layout{
    grid-template-columns:360px minmax(0,1fr);
    align-items:start;
  }
  .look-control-panel{
    position:sticky;
    top:16px;
  }
  .look-control-panel:has(#travel-block:not(.hidden)){
    position:static;
    max-height:none;
    overflow:visible;
  }
  .look-results-premium{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }
  .wardrobe-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .screen-head h1,
  .hero h1{
    font-size:clamp(2rem,10vw,3rem);
  }
  .look-result-tabs{display:flex}
  .look-results-premium{display:block}
  .look-result-item{display:none}
  .look-result-item.active{display:block}
  .look-card{padding:14px}
  .feedback{grid-template-columns:1fr}
  .feedback .btn[data-save-look],
  .feedback .btn[data-new-proposal]{grid-column:auto}
}
@media (max-width:430px){
  .shell{padding-left:12px;padding-right:12px}
  .wardrobe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .look-pieces{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .look-piece p strong{font-size:.82rem}
  .premium-look-badges span{font-size:.70rem}
}

/* =============================================
   DESIGN SYSTEM UNIFIÉ — Option A Éditorial
   ============================================= */

/* Palette */
:root {
  --dm-bg: #faf7f2;
  --dm-paper: #ffffff;
  --dm-ink: #1a1714;
  --dm-muted: #a0876a;
  --dm-subtle: #c8b8a8;
  --dm-line: #ede4d8;
  --dm-soft: #f2ece3;
  --dm-accent: #a0876a;
}

/* Reset body background */
body { background: var(--dm-bg); }

/* Topbar */
.dm-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0 10px;
}
.dm-logo {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--dm-ink);
  letter-spacing: -.01em;
}
.dm-logo em {
  font-style: italic;
  color: var(--dm-accent);
}
.dm-avatar-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--dm-soft);
  border: 1px solid var(--dm-line);
  font-size: .72rem;
  font-weight: 700;
  color: var(--dm-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  min-height: unset;
  cursor: pointer;
}
.dm-avatar-btn.connected {
  background: #e3eee2;
  color: #2f6f44;
  border-color: #d4e5d2;
}

/* En-tête d'écran */
.dm-screen-head {
  padding: 4px 0 20px;
}
.dm-eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dm-accent);
  margin: 0 0 6px;
}
.dm-screen-head h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 8vw, 2.4rem);
  font-style: italic;
  color: var(--dm-ink);
  letter-spacing: -.02em;
  line-height: 1.1;
  margin-bottom: 6px;
}
.dm-head-sub {
  font-size: .82rem;
  color: var(--dm-muted);
  margin: 0;
  line-height: 1.4;
}

/* Accueil — welcome */
.dm-welcome {
  padding: 4px 0 18px;
}
.dm-welcome h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 9vw, 2.6rem);
  font-style: italic;
  color: var(--dm-ink);
  letter-spacing: -.02em;
  line-height: 1.1;
  margin-bottom: 4px;
}
.dm-welcome-sub {
  font-size: .7rem;
  color: var(--dm-muted);
  letter-spacing: .07em;
  text-transform: uppercase;
  margin: 0;
}

/* Stats */
.stat-row { margin-bottom: 18px; }
.stat-card {
  background: var(--dm-paper);
  border: 1px solid var(--dm-line);
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: none;
}
.stat-card strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.8rem;
  color: var(--dm-ink);
}
.stat-card span {
  font-size: .68rem;
  color: var(--dm-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Sections */
.dm-section {
  margin-bottom: 16px;
}
.dm-section-label {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dm-subtle);
  margin: 0 0 8px;
}

/* Boutons unifiés */
.dm-btn-primary {
  width: 100%;
  background: var(--dm-ink);
  color: #faf7f2;
  border: 1px solid var(--dm-ink);
  border-radius: 12px;
  padding: 15px 18px;
  font-size: .92rem;
  font-weight: 600;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  margin-bottom: 8px;
  min-height: unset;
}
.dm-btn-sec {
  background: var(--dm-paper);
  border: 1px solid var(--dm-line);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: .84rem;
  font-weight: 600;
  color: var(--dm-ink);
  cursor: pointer;
  text-align: center;
  min-height: unset;
}
.dm-btn-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

/* Conseil */
.dm-tip {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: var(--dm-soft);
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.dm-tip-bar {
  width: 2px;
  background: var(--dm-accent);
  border-radius: 2px;
  flex-shrink: 0;
  align-self: stretch;
  min-height: 24px;
}
.dm-tip strong {
  display: block;
  font-size: .78rem;
  color: var(--dm-accent);
  margin-bottom: 2px;
  letter-spacing: .02em;
}
.dm-tip p {
  font-size: .78rem;
  color: var(--dm-muted);
  margin: 0;
  line-height: 1.45;
}

/* Cartes unifiées */
.dm-card {
  background: var(--dm-paper);
  border: 1px solid var(--dm-line);
  border-radius: 16px;
  padding: 18px;
  margin-bottom: 14px;
  box-shadow: none;
}
.dm-card h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-style: italic;
  color: var(--dm-ink);
  margin-bottom: 6px;
}
.dm-card p { color: var(--dm-muted); font-size: .88rem; }

/* Look — chips contexte */
.look-context-chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 2px;
}
.look-chip {
  border: 1px solid var(--dm-line);
  background: var(--dm-paper);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: .84rem;
  font-weight: 600;
  color: var(--dm-ink);
  cursor: pointer;
  text-align: center;
  font-family: inherit;
  transition: all .15s;
}
.look-chip.active {
  background: var(--dm-ink);
  color: #faf7f2;
  border-color: var(--dm-ink);
}
/* Look — step cards sans numéro */
.look-step-card {
  margin-bottom: 4px;
}
.look-step-number { display: none; }

/* Formulaires — champs */
input, select, textarea {
  border: 1px solid var(--dm-line);
  background: var(--dm-paper);
  color: var(--dm-ink);
  border-radius: 10px;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--dm-accent);
  outline: none;
}
label { color: var(--dm-ink); font-size: .84rem; }

/* Navigation */
.bottom-nav {
  background: rgba(250, 247, 242, 0.95);
  border-top: 1px solid var(--dm-line);
}
.nav-item { color: var(--dm-muted); font-size: .62rem; }
.nav-item.active { background: var(--dm-soft); color: var(--dm-ink); }
.nav-item.main { background: var(--dm-ink); color: #faf7f2; }

/* Accordéons */
.accordion > summary {
  font-size: .84rem;
  font-weight: 600;
  color: var(--dm-ink);
  cursor: pointer;
  list-style: none;
  padding: 4px 0;
}
.accordion > summary::after {
  content: ' ↓';
  color: var(--dm-accent);
  font-size: .8rem;
}
.accordion[open] > summary::after { content: ' ↑'; }


/* ── Corrections bugs simulation ─────────────── */

/* Avatar sans prénom — point neutre sobre */
.dm-avatar-btn { font-size: 1rem; color: var(--dm-ink); }

/* État vide écran Look */
#look-result .empty {
  background: var(--dm-paper);
  border: 1px solid var(--dm-line);
  border-radius: 14px;
  padding: 28px 20px;
  text-align: center;
  color: var(--dm-muted);
  margin-top: 16px;
  line-height: 1.6;
}
#look-result .empty strong {
  display: block;
  color: var(--dm-ink);
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 1.05rem;
  margin-bottom: 8px;
}

/* Steppeurs valise — zone de tap plus large */
.travel-stepper button {
  min-width: 36px;
  min-height: 36px;
  font-size: 1.1rem;
  border-radius: 8px;
  background: var(--dm-soft);
  border: 1px solid var(--dm-line);
  color: var(--dm-ink);
  font-weight: 700;
}
.travel-stepper input[type="number"] {
  text-align: center;
  width: 44px;
  min-height: 36px;
  border-radius: 8px;
  padding: 6px;
}


/* ── Bannière profil incomplet ─────────────────── */
.dm-profile-banner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  background: #fdf6ed;
  border: 1px solid #e8d5b0;
  border-left: 3px solid var(--dm-accent);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
.dm-profile-banner-text strong {
  display: block;
  font-size: .88rem;
  color: var(--dm-ink);
  margin-bottom: 3px;
}
.dm-profile-banner-text p {
  font-size: .78rem;
  color: var(--dm-muted);
  margin: 0;
  line-height: 1.4;
}
.dm-profile-banner-btn {
  flex-shrink: 0;
  background: var(--dm-ink);
  color: #faf7f2;
  border: none;
  border-radius: 10px;
  padding: 9px 14px;
  font-size: .8rem;
  font-weight: 600;
  white-space: nowrap;
  min-height: unset;
  width: auto;
}

/* ── Résumé profil sur l'accueil — phrase humaine ── */
.dm-profile-summary {
  margin-bottom: 16px;
  padding: 14px 16px;
  background: var(--dm-paper);
  border: 1px solid var(--dm-line);
  border-radius: 14px;
}
.dm-profile-sentence {
  font-family: Georgia, "Times New Roman", serif;
  font-size: .82rem;
  color: var(--dm-accent);
  margin: 4px 0 6px;
  line-height: 1.4;
}
.dm-profile-paragraph {
  font-size: .82rem;
  color: var(--dm-ink);
  line-height: 1.55;
  margin: 0 0 10px;
}
.dm-profile-edit-link {
  background: none;
  border: none;
  padding: 0;
  font-size: .75rem;
  color: var(--dm-accent);
  text-decoration: underline;
  text-decoration-color: var(--dm-line);
  cursor: pointer;
  min-height: unset;
  font-family: inherit;
}

/* ── Looks sauvegardés — photos compactes (format valise) ── */
.saved-list .look-pieces {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  margin: 8px 0;
}
.saved-list .look-piece {
  border-radius: 6px;
}
.saved-list .look-photo {
  aspect-ratio: 1 / 1;
}
.saved-list .look-piece p {
  padding: 3px 4px;
  font-size: .58rem;
  line-height: 1.15;
}
.saved-list .look-piece p strong {
  font-size: .58rem;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.saved-list .look-piece p span {
  display: none;
}

/* V38h — UX mobile épurée : Mes looks + feedback proposition */
.saved-tools{
  gap:14px;
}
.saved-chip-filters{
  display:grid;
  gap:14px;
}
.saved-chip-group{
  display:grid;
  gap:7px;
}
.saved-chip-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--ink);
  font-weight:820;
  font-size:.92rem;
}
.saved-chip-head .btn{
  min-height:32px;
  padding:6px 10px;
  font-size:.76rem;
}
.saved-chip-row{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:1px 0 3px;
  scrollbar-width:none;
}
.saved-chip-row::-webkit-scrollbar{
  display:none;
}
.saved-chip-row .chip{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 11px;
  font-size:.82rem;
  font-weight:760;
  background:#fffaf3;
}
.saved-chip-row .chip.active{
  background:var(--accent);
  border-color:var(--accent);
  color:#fffaf3;
}
.feedback.feedback-minimal{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}
.feedback-main-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.feedback-minimal .btn{
  width:100%;
  min-height:46px;
  font-size:.95rem;
}
.feedback-minimal .feedback-like{
  background:linear-gradient(135deg,#d9b85f,#b98e2d);
  border-color:#a8791f;
  color:#1f1c19;
}
.feedback-minimal .feedback-dislike{
  background:#fffaf3;
}
.feedback-minimal .feedback-detail-chips{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 0 4px;
  scrollbar-width:none;
}
.feedback-minimal .feedback-detail-chips::-webkit-scrollbar{
  display:none;
}
.feedback-minimal .feedback-detail-chips.hidden{
  display:none!important;
}
.feedback-minimal .feedback-detail-chips .chip{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 11px;
  font-size:.80rem;
  font-weight:760;
}
.feedback-minimal .feedback-detail-chips .chip.active{
  background:var(--accent);
  border-color:var(--accent);
  color:#fffaf3;
}
.feedback-minimal .feedback-refresh{
  border-color:transparent;
  background:transparent;
  min-height:36px;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:430px){
  .saved-tools{
    padding:14px;
    border-radius:22px;
  }
  .saved-chip-filters{
    gap:12px;
  }
  .feedback-main-actions{
    grid-template-columns:1fr;
  }
  .feedback-minimal .btn{
    min-height:44px;
  }
}


/* ── Avatar badge non connecté ─────────────────── */
.dm-avatar-btn.disconnected::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c9985a;
  border: 1.5px solid var(--dm-bg, #faf7f2);
}
.dm-avatar-btn {
  position: relative;
}


/* ── Inspiration look — bloc simplifié (Option C) ── */
.inspiration-look-block .photo-source-actions {
  flex-wrap: wrap;
  gap: 8px;
}
.inspiration-look-block .form-note em {
  color: var(--dm-muted, #a0876a);
  font-style: normal;
  font-size: .75rem;
}
.inspiration-look-block textarea {
  border-radius: 12px;
  padding: 12px 14px;
  font-size: .88rem;
  line-height: 1.5;
  resize: none;
}


/* ── Menu avatar ──────────────────────────────── */
.dm-avatar-menu {
  position: fixed;
  z-index: 100;
  background: var(--dm-paper, #fff);
  border: 1px solid var(--dm-line, #ede4d8);
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(26,23,20,.14);
  min-width: 200px;
  overflow: hidden;
  animation: fade .12s ease;
}
.dm-avatar-menu-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 13px 16px;
  font-size: .88rem;
  font-weight: 600;
  color: var(--dm-ink, #1a1714);
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  min-height: unset;
}
.dm-avatar-menu-item:hover {
  background: var(--dm-soft, #f2ece3);
}
.dm-avatar-menu-sep {
  height: 1px;
  background: var(--dm-line, #ede4d8);
}

/* ── Spinner génération IA ─────────────────────── */
.dm-spinner-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 32px 20px;
  color: var(--dm-muted, #a0876a);
  font-size: .85rem;
}
.dm-spinner {
  width: 32px;
  height: 32px;
  border: 2.5px solid var(--dm-line, #ede4d8);
  border-top-color: var(--dm-ink, #1a1714);
  border-radius: 50%;
  animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Bouton Générer désactivé ──────────────────── */
.look-generate-button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

/* ── Valise — bouton modifier paramètres ──────── */
.dm-travel-modify {
  padding: 4px 0 12px;
}
.dm-travel-modify .btn {
  font-size: .8rem;
  color: var(--dm-muted, #a0876a);
  border-color: var(--dm-line, #ede4d8);
}

/* ── Textarea inspiration — resize vertical ────── */
#inspiration-description {
  resize: vertical;
  min-height: 80px;
}

.inspiration-correction-button{
  width:100%;
  justify-content:center;
}
.inspiration-needs-description{
  border-style:solid;
  border-color:rgba(198,164,82,.42);
  background:linear-gradient(180deg,#fffaf3,#f5ecdf);
}
.inspiration-needs-description p{
  margin:5px 0 10px;
}
.inspiration-validation{
  border:1px solid rgba(198,164,82,.34);
  border-radius:14px;
  background:linear-gradient(180deg,#fffaf3,#f7efe5);
  padding:12px;
  display:grid;
  gap:10px;
}
.inspiration-validation-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.inspiration-validation-head strong{
  font-size:.92rem;
}
.inspiration-validation-head span{
  border:1px solid rgba(198,164,82,.42);
  border-radius:999px;
  padding:5px 8px;
  color:#7a5a21;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.inspiration-detected-summary{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.inspiration-detected-summary span{
  border:1px solid var(--dm-line,#ede4d8);
  border-radius:999px;
  background:#fffaf3;
  padding:6px 9px;
  font-size:.76rem;
  color:var(--dm-muted,#a0876a);
  line-height:1.2;
}
.inspiration-validation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.inspiration-validation-grid label{
  font-size:.78rem;
}
.inspiration-description-help{
  margin:0;
}
@media(max-width:520px){
  .inspiration-validation-grid{
    grid-template-columns:1fr;
  }
}


/* ── Fixes cross-browser v29 ──────────────────────────────────── */

/* Fix 2 — Firefox : menu avatar fallback opaque */
.dm-avatar-menu {
  background: rgba(250, 247, 242, 0.99) !important;
}

/* Fix 3 — Safari 100dvh */
body {
  min-height: 100dvh;
  min-height: 100vh; /* fallback */
}

/* Fix 1 — Clavier virtuel : masquer nav quand input focus */
body.keyboard-open .bottom-nav {
  transform: translateX(-50%) translateY(100%);
  transition: transform .2s ease;
}
.bottom-nav {
  transition: transform .2s ease;
}

/* Fix 5 — Boutons galerie/photo : icônes distinctes */


/* Fix nav centrage — override règles précédentes */
.bottom-nav .nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 3px;
  line-height: 1.2;
}
.bottom-nav .nav-item.main {
  align-items: center;
  justify-content: center;
}


/* ── Formulaire ajout allégé ─────────────────── */
.ai-summary-block {
  background: var(--dm-soft, #f2ece3);
  border: 1px solid var(--dm-line, #ede4d8);
  border-radius: 14px;
  padding: 12px 14px;
}
.ai-summary-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.silhouette-analysis-fields {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  margin: 12px 0;
  background: rgba(255,250,243,.55);
}
.silhouette-analysis-fields legend {
  padding: 0 6px;
  color: var(--dm-gold, #b28a31);
  font-weight: 800;
}
.silhouette-analysis-fields .form-note {
  margin: 0 0 10px;
}
#item-core-fields.ai-filled {
  opacity: .6;
  pointer-events: none;
}
#item-core-fields.ai-filled::after {
  content: 'Rempli par l\'IA — ouvre les détails pour modifier';
  display: block;
  font-size: .72rem;
  color: var(--dm-muted, #a0876a);
  margin-top: 4px;
  text-align: center;
}

/* ── Import groupé ───────────────────────────── */
.bulk-import-card h2 { margin-bottom: 4px; }
.bulk-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 12px;
}
@media (min-width: 500px) {
  .bulk-preview-grid { grid-template-columns: repeat(3, 1fr); }
}
.bulk-preview-card {
  background: var(--dm-paper, #fff);
  border: 1px solid var(--dm-line, #ede4d8);
  border-radius: 12px;
  overflow: hidden;
}
.bulk-preview-img {
  aspect-ratio: 1;
  background-size: cover;
  background-position: center;
  background-color: var(--dm-soft, #f2ece3);
}
.bulk-preview-body {
  padding: 7px 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.bulk-preview-status {
  font-size: .65rem;
  color: var(--dm-muted, #a0876a);
  font-weight: 600;
}
.bulk-status-ok { color: #3b6d11; }
.bulk-status-warn { color: #854f0b; }
.bulk-preview-name {
  border: 1px solid var(--dm-line, #ede4d8);
  border-radius: 6px;
  padding: 5px 7px;
  font-size: .76rem;
  width: 100%;
  min-height: unset;
}
.bulk-preview-cat {
  border: 1px solid var(--dm-line, #ede4d8);
  border-radius: 6px;
  padding: 5px 7px;
  font-size: .76rem;
  width: 100%;
  min-height: unset;
}
#bulk-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}


/* ── Stats desktop — taille réduite ─────────────── */
@media (min-width: 600px) {
  .stat-row {
    grid-template-columns: 1fr 1fr;
    max-width: 320px;
  }
  .stat-card {
    padding: 12px 16px;
  }
  .stat-card strong {
    font-size: 1.4rem !important;
  }
  .stat-card span {
    font-size: .68rem;
  }
}

/* ── Suppression pointer-events sur ai-filled ──── */
#item-core-fields.ai-filled {
  opacity: .65;
  pointer-events: auto !important;
}
#item-core-fields.ai-filled::after {
  content: 'Pré-rempli par l\'IA — tu peux modifier';
  display: block;
  font-size: .7rem;
  color: var(--dm-muted, #a0876a);
  text-align: center;
  margin-top: 4px;
  font-style: italic;
}


/* ── Accueil desktop — layout 2 colonnes (Option A) ── */
@media (min-width: 640px) {
  #screen-home .dm-welcome,
  #screen-home .dm-profile-summary,
  #screen-home .dm-profile-banner,
  #screen-home .stat-row,
  #screen-home .dm-section,
  #screen-home .dm-tip {
    all: unset;
  }

  #screen-home .home-desktop-layout {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 20px;
    align-items: start;
    margin-top: 8px;
  }

  #screen-home .home-col-left {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  #screen-home .home-col-right {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  /* Stats compactes desktop */
  #screen-home .stat-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  #screen-home .stat-card {
    padding: 10px 14px;
  }
  #screen-home .stat-card strong {
    font-size: 1.3rem !important;
  }

  /* Boutons desktop */
  #screen-home .dm-btn-primary {
    width: 100%;
    margin-bottom: 0;
  }
  #screen-home .dm-btn-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
  #screen-home .dm-btn-sec {
    width: 100%;
    font-size: .8rem;
    padding: 10px 8px;
  }
}

/* ── Nav mobile — centrage garanti ─────────────── */
.bottom-nav .nav-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 2px !important;
  line-height: 1.2 !important;
}
.bottom-nav .nav-item.main {
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}


/* ── Barre de tri dressing ──────────────────── */
.wardrobe-sort-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 4px 0 10px;
}
.wardrobe-sort-label {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dm-muted, #a0876a);
  white-space: nowrap;
  flex-shrink: 0;
}
.wardrobe-sort-bar .filter-row {
  padding: 0;
  margin: 0;
  flex: 1;
}
.wardrobe-sort-select {
  border: 1px solid var(--dm-line, #ede4d8);
  background: var(--dm-paper, #fff);
  color: var(--dm-ink, #1a1714);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: .75rem;
  font-family: inherit;
  min-height: unset;
  width: auto;
  flex-shrink: 0;
}

/* ── En-têtes de groupe ──────────────────── */
.wardrobe-group-header {
  grid-column: 1 / -1;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--dm-muted, #a0876a);
  padding: 14px 0 6px;
  border-bottom: 1px solid var(--dm-line, #ede4d8);
  margin-bottom: 4px;
}
.wardrobe-subgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  grid-column: 1 / -1;
}
@media (min-width: 700px) {
  .wardrobe-subgrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ── Suppression carte progression ──────── */
.test-dressing-card { display: none !important; }



/* ══ NAV MOBILE — règle finale, écrase tous les conflits ══ */
.bottom-nav {
  display: grid !important;
  grid-template-columns: 1fr 1fr 54px 1fr 1fr !important;
  align-items: center !important;
}
.bottom-nav .nav-item,
html.android-device .bottom-nav .nav-item,
.bottom-nav .nav-item.active {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 2px !important;
  padding: 6px 2px !important;
  line-height: 1.2 !important;
  width: 100% !important;
}
.bottom-nav .nav-item.main {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 1.45rem !important;
  justify-self: center !important;
}

/* V38p - Photos de pieces non rognees */
.garment-photo,
.look-photo,
.travel-piece-photo,
.travel-look-photo,
.bag-option-photo,
.variant-option-photo,
.bulk-preview-img,
.anchor-piece-photo,
.inspiration-mini-photo {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

.silhouette-piece img {
  object-fit: contain !important;
  background: #f3ede6;
}

/* V38t - Chargement robuste des photos */
[data-bg-photo] {
  position: relative;
  overflow: hidden;
  background-color: #eadfcf;
}

[data-bg-photo].photo-loading,
[data-bg-photo].photo-empty {
  background-image: none !important;
}

[data-bg-photo].photo-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent, rgba(255,250,243,.62), transparent),
    linear-gradient(180deg, rgba(255,250,243,.25), rgba(197,157,85,.12));
  animation: photoPulse 1.15s ease-in-out infinite;
}

[data-bg-photo].photo-error::after {
  content: "Photo indisponible";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 8px;
  color: #7a6f63;
  font-size: .72rem;
  font-weight: 750;
  text-align: center;
  background: #efe6da;
}

[data-bg-photo].photo-loaded::after {
  display: none !important;
}

@keyframes photoPulse {
  0% { opacity: .45; transform: translateX(-12%); }
  50% { opacity: 1; }
  100% { opacity: .45; transform: translateX(12%); }
}

/* V38q - Inspiration look desktop alignee */
.look-info-stack {
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
}

.look-info-stack .look-info-message {
  margin: 0;
}

.look-result-panel {
  min-width: 0;
}

@media (min-width: 900px) {
  .look-premium-layout {
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
  }

  .look-control-panel {
    gap: 10px;
    padding: 14px;
  }

  .look-control-panel .look-step-card {
    padding: 12px;
  }

  .look-result-panel {
    padding-bottom: 48px;
  }

  .look-results-premium {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
  }

  .look-result-item {
    display: block;
  }
}

@media (max-width: 760px) {
  .look-info-stack {
    gap: 8px;
    margin-bottom: 10px;
  }
}

/* V38w - Propositions mobiles lisibles, images avec chargement robuste */
.look-info-disclosure {
  padding: 0;
}

.look-info-disclosure summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 12px;
  font-weight: 850;
  color: #4a3820;
}

.look-info-disclosure summary::-webkit-details-marker {
  display: none;
}

.look-info-disclosure summary::after {
  content: " +";
  float: right;
  color: var(--gold, #c59d55);
}

.look-info-disclosure[open] summary::after {
  content: " -";
}

.look-info-disclosure p {
  margin: 0;
  padding: 0 12px 10px;
  color: #5f5449;
  font-size: .84rem;
  line-height: 1.35;
}

@media (max-width: 760px) {
  #look-result .look-card > h1 {
    display: none;
  }

  #look-result .look-result-tabs {
    margin: 0 0 8px;
    padding: 4px;
    top: 4px;
  }

  #look-result .look-result-tab {
    padding: 9px 8px;
    font-size: .86rem;
  }

  #look-result .look-info-stack {
    gap: 6px;
    margin-bottom: 8px;
  }

  #look-result .look-info-message {
    font-size: .82rem;
    line-height: 1.32;
    border-radius: 12px;
  }

  #look-result .look-card {
    padding: 10px !important;
    border-radius: 16px;
    margin-top: 8px;
  }

  #look-result .premium-look-badges {
    gap: 4px;
    margin-bottom: 8px;
  }

  #look-result .premium-look-badges span {
    padding: 4px 7px;
    font-size: .66rem;
  }

  #look-result .look-tabs {
    margin: 6px 0 8px;
    gap: 6px;
  }

  #look-result .look-tab {
    min-height: 34px;
    padding: 7px 8px;
    font-size: .78rem;
  }

  #look-result .look-pieces {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 8px 0;
  }

  #look-result .look-piece {
    border-radius: 10px;
  }

  #look-result .look-photo {
    height: auto;
    min-height: 160px;
    aspect-ratio: 4 / 5;
  }

  #look-result .look-piece p {
    padding: 7px 8px 8px;
    font-size: .76rem;
    line-height: 1.22;
  }

  #look-result .look-piece p strong {
    font-size: .82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #look-result .look-piece p span {
    display: block;
    font-size: .70rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #look-result .look-why {
    margin: 8px 0;
    padding: 9px 10px;
    border-radius: 10px;
  }

  #look-result .look-why h2 {
    font-size: .68rem;
  }

  #look-result .look-why p {
    font-size: .78rem;
    line-height: 1.32;
  }
}

@media (max-width: 430px) {
  #look-result .look-photo {
    min-height: 146px;
  }
}

html.android-device #look-result .look-photo {
  min-height: 160px;
}

/* V38r - Retours proposition compacts et lisibles */
.look-feedback-section {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(197,157,85,.24);
  border-radius: 16px;
  background: rgba(255,250,243,.72);
}

.look-feedback-head h2 {
  margin: 0 0 2px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-style: italic;
  color: var(--dm-ink, #1a1714);
}

.look-feedback-head p {
  margin: 0;
  color: var(--dm-muted, #a0876a);
  font-size: .76rem;
}

.look-feedback-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.look-feedback-chip {
  min-height: 32px;
  width: auto;
  border: 1px solid rgba(197,157,85,.30);
  border-radius: 999px;
  padding: 6px 10px;
  background: #fffdf8;
  color: #2b241d;
  font-size: .78rem;
  font-weight: 760;
  line-height: 1.15;
}

.look-feedback-chip.active {
  background: linear-gradient(135deg,#ddc275,#bd9131);
  border-color: #a8791f;
  color: #17130f;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.32);
}

.look-feedback-section .look-save-button {
  width: 100%;
  min-height: 44px;
  justify-content: center;
  text-align: center;
}

.look-feedback-section .feedback-refresh {
  width: auto;
  justify-self: center;
  min-height: 34px;
  padding: 6px 10px;
  border-color: transparent;
  background: transparent;
  color: var(--dm-muted, #a0876a);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pair-tool textarea[data-feedback-note] {
  min-height: 68px;
  margin-top: 6px;
  resize: vertical;
}

@media (max-width: 430px) {
  .look-feedback-section {
    gap: 9px;
    padding: 12px;
  }

  .look-feedback-chip {
    min-height: 30px;
    padding: 6px 9px;
    font-size: .74rem;
  }
}
