
:root{
  --bg:#1a1620;
  --bg-elev:#221d29;
  --bg-elev-2:#2c2534;
  --border:#453b4d;
  --text:#f5ede0;
  --text-muted:#b3a69c;
  --honey:#d4af37;
  --honey-deep:#b8912b;
  --rose:#e2637c;
  --wine:#7a2340;
  --cacao:#c46a2e;
  --cacao-deep:#8a4420;
  --guest-white:#f7f2ea;
  --guest-orange:#ff8a3d;
  --guest-orange-deep:#e0691f;
  --radius:16px;
  --radius-sm:10px;
  --max:1040px;
}
html[data-theme="light"]{
  --bg:#f2e6d3;
  --bg-elev:#f8f0e2;
  --bg-elev-2:#ecdcc0;
  --border:#c9a877;
  --text:#3b2414;
  --text-muted:#7c5a3a;
  --honey:#8a4f14;
  --honey-deep:#6e3d0e;
  --rose:#a83850;
  --wine:#5c1530;
  --cacao:#9c4e1f;
  --cacao-deep:#743a17;
  --guest-white:#fffaf2;
  --guest-orange:#e0691f;
  --guest-orange-deep:#a84c14;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{ background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased; min-height:100vh; transition:background .25s ease,color .25s ease; }
h1,h2,h3,.display{ font-family:'Inter',sans-serif; font-weight:800; letter-spacing:-0.02em; margin:0; }
.mono{ font-family:'JetBrains Mono',monospace; }
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--honey);color:#0c0b0d;}
.logo{
  font-family:'Fraunces',serif;font-weight:700;
  background:linear-gradient(100deg,var(--honey-deep) 0%,var(--honey) 30%,#fff8e8 50%,var(--honey) 70%,var(--honey-deep) 100%);
  background-size:260% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:logoShine 7s ease-in-out infinite alternate;
}
@keyframes logoShine{
  0%{background-position:200% center;}
  100%{background-position:-20% center;}
}

/* ---------- theme toggle (bouton flottant, visible partout) ---------- */

/* ---------- topbar ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;
  background:var(--bg-elev);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  gap:12px;flex-wrap:wrap;
  transition:transform .32s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.topbar.topbar-hidden{transform:translateY(-100%);}
#app-shell, #my-profile-shell, #vitrine-shell{padding-top:var(--topbar-h, 76px);}
#member-shell{padding-top:calc(28px + env(safe-area-inset-top));min-height:100vh;}
.member-shell-wrap{padding:0 0 60px;}
.member-home-quickrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 4px;flex-wrap:wrap;}
/* #member-shell select{width:100%} et .btn{width:100%} sont plus spécifiques ou plus tardifs
   que la règle ci-dessus : on force ici, avec assez de spécificité, le sélecteur de langue et
   le bouton "Log out" à garder leur largeur naturelle pour qu'ils restent bien sur la même ligne. */
#member-shell .member-home-quickrow select.lang-select{width:auto;}
.member-home-quickrow .btn{width:auto;flex:0 0 auto;}
#app-shell{}
.bottom-nav{
  position:fixed;left:0;right:0;bottom:0;z-index:39;
  display:flex;justify-content:space-around;align-items:center;
  background:rgba(26,22,32,0.92);backdrop-filter:blur(14px);border-top:1px solid var(--border);
  padding:8px 4px calc(8px + env(safe-area-inset-bottom));
  transition:transform .32s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.bottom-nav.bottom-nav-hidden{transform:translateY(100%);}
.bottom-nav-item{background:none;border:none;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9.5px;font-weight:700;padding:6px 14px;flex:1;border-radius:14px;font-family:'Inter',sans-serif;}
.bottom-nav-item.active{color:var(--honey);background:rgba(212,175,55,0.12);}
.topbar .logo{
  font-size:22px;
}
.topbar .right{display:flex;align-items:center;gap:10px;}
.topbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.topbar-member-badge{background:var(--bg-elev-2);border:1px solid var(--honey);color:var(--honey);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;}
.lang-group{display:flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;}
.lang-group button{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.08em;
  background:var(--bg-elev-2);color:var(--text-muted);padding:8px 12px;border:none;
}
.lang-group button.active{ background:var(--honey);color:#160f04; }
.lang-select{
  background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.02em;
  padding:8px 10px;border-radius:999px;max-width:150px;
}
.edit-toggle{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;
  background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);
  padding:8px 14px;border-radius:999px;
}
.edit-toggle.active{ color:#160f04; background:var(--honey); border-color:var(--honey); }

main{max-width:var(--max);margin:0 auto;padding:0 20px 60px;}

/* ---------- gate ---------- */
#gate, #admin-gate{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;
}
#admin-gate{ position:fixed; inset:0; z-index:95; background:rgba(0,0,0,0.7); backdrop-filter:blur(3px); display:none; min-height:100vh; }
.gate-card{
  width:100%;max-width:380px;background:var(--bg-elev);border:1px solid var(--border);
  border-radius:var(--radius);padding:36px 30px;text-align:center;
}
.gate-card .logo{
  font-size:30px;margin-bottom:6px;
}
.gate-card p.sub{ font-size:12.5px;color:var(--text-muted);letter-spacing:0.06em;margin-bottom:26px; }
.gate-card input{
  width:100%;background:var(--bg-elev-2);border:1px solid var(--border);
  color:var(--text);border-radius:var(--radius-sm);padding:13px 14px;
  font-family:'Inter',sans-serif;font-size:14.5px;margin-bottom:12px;text-align:center;
  letter-spacing:0.08em;
}
.btn{ border:none;border-radius:999px;padding:12px 20px; font-weight:600;font-size:14px; display:inline-flex;align-items:center;justify-content:center;gap:6px; width:100%; transition:transform .12s, opacity .12s; }
.btn:active{transform:scale(0.97);}
.btn-primary{ background:linear-gradient(120deg,var(--honey-deep),var(--honey)); color:#160f04; }

/* ---------------- indicateur de chargement global pour photos/vidéos ---------------- */
@keyframes hm-media-shimmer{
  0%{ background-position:100% 0; }
  100%{ background-position:0 0; }
}
img[data-hm-loading], video[data-hm-loading]{
  background:linear-gradient(100deg, var(--bg-elev) 25%, var(--bg-elev-2) 37%, var(--bg-elev) 63%);
  background-size:400% 100%;
  animation:hm-media-shimmer 1.3s ease-in-out infinite;
}
img[data-hm-loaded], video[data-hm-loaded]{
  animation:none;
}
.gate-err{ color:var(--rose);font-size:12px;margin-top:10px;min-height:16px; }
.gate-note{
  margin-top:22px;font-size:11px;line-height:1.6;color:var(--text-muted);
  border-top:1px solid var(--border);padding-top:16px;text-align:left;
}
.gate-note b{color:var(--text);}
.gate-switch{
  margin-top:16px;font-size:12px;color:var(--text-muted);background:none;border:none;
  text-decoration:underline;text-underline-offset:3px;
}
.creator-code-box{
  margin-top:12px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.creator-code-box .code{font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:0.06em;color:var(--honey);}
.creator-code-box button{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
  background:var(--bg-elev);border:1px solid var(--border);color:var(--text);padding:7px 11px;border-radius:8px;
}
.my-profile-wrap{padding:60px 0;}
.my-profile-photo{width:180px;height:225px;border-radius:var(--radius);overflow:hidden;background:var(--bg-elev-2);border:1px solid var(--border);margin:0 auto 20px;}
.home-photo-row{display:flex;justify-content:center;align-items:stretch;gap:10px;margin-bottom:20px;}
.home-photo-row .my-profile-photo{width:46vw;max-width:150px;height:auto;aspect-ratio:4/5;margin:0;flex-shrink:0;}
.home-video-slot{position:relative;width:46vw;max-width:150px;aspect-ratio:4/5;border-radius:var(--radius);background:var(--bg-elev-2);border:1.5px dashed var(--honey);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;text-align:center;color:var(--honey);flex-shrink:0;}
.home-video-icon{font-size:18px;}
.home-video-label{font-size:11px;font-weight:700;}
.home-video-sub{font-size:8.5px;color:var(--text-muted);line-height:1.35;}
.home-video-slot input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.home-photo-slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;text-align:center;border:1.5px dashed #3a5fcc;color:#5b7fe0;}
.home-photo-slot-empty .home-video-icon{color:#5b7fe0;}
.home-photo-slot-empty .home-video-label{color:#5b7fe0;}
.my-profile-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.creator-logout{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;
  background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);padding:8px 14px;border-radius:999px;
}

/* ---------- hero ---------- */
.hero{padding:48px 0 30px;}
.hero .eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--honey);margin-bottom:10px;
}
.hero h1{font-size:clamp(26px,5vw,40px);line-height:1.22;max-width:680px;}
.hero p{color:var(--text-muted);font-size:14.5px;margin-top:12px;max-width:540px;line-height:1.65;}

/* ---------- vitrine (page publique) : atmosphère, hero éditorial, signature dorée ---------- */
#vitrine-shell{
  position:relative;isolation:isolate;
  background:
    radial-gradient(680px 420px at 12% -6%, color-mix(in srgb, var(--honey) 20%, transparent), transparent 65%),
    radial-gradient(560px 480px at 108% 18%, color-mix(in srgb, var(--wine) 38%, transparent), transparent 68%),
    var(--bg);
  min-height:100vh;
}
#vitrine-shell .hero{padding:64px 0 8px;position:relative;}
#vitrine-shell .hero .eyebrow{
  display:flex;align-items:center;gap:8px;color:var(--honey);
}
#vitrine-shell .hero h1{
  font-family:'Fraunces',serif;font-weight:600;letter-spacing:-0.01em;
  font-size:clamp(28px,6vw,46px);line-height:1.22;max-width:620px;
}
#vitrine-shell .hero h1 em{
  font-style:italic;font-weight:500;
  background:linear-gradient(100deg,var(--honey-deep) 0%,var(--honey) 30%,#fff8e8 50%,var(--honey) 70%,var(--honey-deep) 100%);
  background-size:260% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:logoShine 7s ease-in-out infinite alternate;
}
#vitrine-shell .hero p{font-size:14.5px;max-width:480px;line-height:1.6;}
.vitrine-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px;}
.vitrine-hero-cta{
  font-family:'Inter',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:0.01em;
  background:linear-gradient(120deg,var(--honey-deep),var(--honey));color:#1a1206;
  border:none;border-radius:999px;padding:13px 26px;box-shadow:0 8px 22px -8px color-mix(in srgb, var(--honey) 65%, transparent);
}
.vitrine-hero-cta:active{transform:translateY(1px);}
.vitrine-hero-trust{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.06em;color:var(--text-muted);
  display:flex;align-items:center;gap:7px;
}
.vitrine-hero-trust b{color:var(--honey);font-weight:600;}

/* ---------- espace agence (catalogue privé) : même signature éditoriale, ton professionnel ---------- */
#app-shell{
  position:relative;isolation:isolate;
  background:
    radial-gradient(680px 420px at 12% -6%, color-mix(in srgb, var(--honey) 16%, transparent), transparent 65%),
    radial-gradient(560px 480px at 108% 18%, color-mix(in srgb, var(--wine) 30%, transparent), transparent 68%),
    var(--bg);
  min-height:100vh;
}
#app-shell .hero{padding:64px 0 8px;position:relative;}
#app-shell .hero .eyebrow{display:flex;align-items:center;gap:8px;color:var(--honey);}
#app-shell .hero .eyebrow::before{
  content:'';width:6px;height:6px;border-radius:50%;background:var(--honey);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--honey) 22%, transparent);
}
#app-shell .hero h1{
  font-family:'Fraunces',serif;font-weight:600;letter-spacing:-0.01em;
  font-size:clamp(28px,5.6vw,44px);max-width:680px;
}
#app-shell .hero h1 em{
  font-style:italic;font-weight:500;
  background:linear-gradient(100deg,var(--honey-deep) 0%,var(--honey) 30%,#fff8e8 50%,var(--honey) 70%,var(--honey-deep) 100%);
  background-size:260% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:logoShine 7s ease-in-out infinite alternate;
}
#app-shell .hero p{font-size:15.5px;max-width:560px;}
#app-shell .roster-head h2, #app-shell .creator-carousel-title{font-family:'Fraunces',serif;font-weight:600;}
#app-shell .model-card{
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
#app-shell .model-card:active{
  transform:translateY(-2px);border-color:var(--honey);
  box-shadow:0 14px 30px -14px color-mix(in srgb, var(--honey) 55%, transparent);
}
#app-shell .model-body h3{font-family:'Fraunces',serif;font-weight:600;}
.agency-trust-row{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;
}
.agency-trust-chip{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.04em;color:var(--text-muted);
  background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:7px 13px;
  display:flex;align-items:center;gap:6px;
}
.agency-trust-chip b{color:var(--honey);}

/* ---------- roster grid ---------- */
.roster-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:36px 0 18px;flex-wrap:wrap;}
.roster-head h2{font-size:20px;}
.roster-head .count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-muted);letter-spacing:0.1em;text-transform:uppercase;}

.roster-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.creator-carousel-section{margin-top:8px;}
.universe-row{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.universe-card{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;padding:15px 16px;cursor:pointer;transition:.15s;}
.universe-card:active,.universe-card:hover{border-color:var(--cacao);transform:translateY(-1px);}
.universe-card-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--honey),var(--cacao));display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.universe-card-text{flex:1;min-width:0;}
.universe-card-title{display:block;font-weight:800;font-size:14px;color:var(--text);}
.universe-card-desc{display:block;font-size:11px;color:var(--text-muted);margin-top:2px;}
.universe-card-guest .universe-card-icon{background:linear-gradient(135deg,var(--guest-white),var(--guest-orange));}
.universe-card-guest:active,.universe-card-guest:hover{border-color:var(--rose);}
.creator-carousel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.creator-carousel-title{color:var(--honey);font-family:'Inter',sans-serif;font-size:16px;font-weight:800;}
#vitrine-shell .creator-carousel-title{font-family:'Fraunces',serif;font-weight:600;font-size:19px;letter-spacing:-0.005em;}
#vitrine-shell .roster-head h2{font-family:'Fraunces',serif;font-weight:600;}
.creator-carousel-nav{display:flex;gap:6px;flex-shrink:0;}
.creator-carousel-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:8px;padding-bottom:2px;}
.creator-carousel-row::-webkit-scrollbar{display:none;}
.creator-carousel-row .model-card{flex:0 0 72%;scroll-snap-align:start;min-width:220px;border-radius:4px;}
.creator-carousel-row .model-photo{aspect-ratio:1/1;}
.carousel-arrow{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--honey);font-size:15px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;}
.carousel-arrow:disabled{opacity:.35;pointer-events:none;}
.carousel-arrow:active{background:var(--honey);color:#1a1206;}

.model-card{ background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius); overflow:hidden;display:flex;flex-direction:column; }
#vitrine-shell .model-card{
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  transform:translateZ(0);
}
#vitrine-shell .model-card:active{
  transform:translateY(-2px);border-color:var(--honey);
  box-shadow:0 14px 30px -14px color-mix(in srgb, var(--honey) 55%, transparent);
}
.social-feed-card{border-radius:20px;box-shadow:0 4px 18px rgba(0,0,0,0.35);}
.social-feed-card:active{box-shadow:0 2px 10px rgba(0,0,0,0.45);}
.social-feed-scrim{position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(to top, rgba(0,0,0,0.55), transparent);pointer-events:none;}
.model-photo{
  width:100%;aspect-ratio:1/1;background:linear-gradient(160deg,var(--bg-elev-2),var(--bg) 75%);border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  contain:layout style paint;
}
/* Grille (cartes plus larges, moins serrées) : tailles proches du rendu normal. */
.creator-carousel-row .model-card{ font-size:12.5px; }
.creator-carousel-row .model-body{padding:14px;gap:8px;}
.creator-carousel-row .model-body .name-row h3{font-size:15px;line-height:1.25;}
.creator-carousel-row .model-body .meta{font-size:11px;}
.creator-carousel-row .model-body .rows{gap:4px;}
.creator-carousel-row .model-body .row{font-size:11px;}
.creator-carousel-row .model-body .tags{gap:6px;}
.creator-carousel-row .model-body .tags span{font-size:10px;padding:4px 9px;}
.creator-carousel-row .model-body .pill-link{font-size:10px;padding:8px;}
.creator-carousel-row .model-body .edit-btn{font-size:10.5px;padding:8px;}
.creator-carousel-row .model-photo .num-badge{width:20px;height:20px;font-size:9px;top:6px;left:6px;}
.creator-carousel-row .model-photo .status{font-size:7px;padding:3px 6px;top:6px;right:6px;}
.creator-carousel-row .card-fav-btn,.creator-carousel-row .card-report-btn{width:20px;height:20px;font-size:10px;}
.empty-slot-photo{display:flex;align-items:center;justify-content:center;}
.empty-slot-logo{font-size:14px;text-align:center;padding:0 4px;pointer-events:none;animation:none !important;background:none !important;-webkit-text-fill-color:var(--honey);color:var(--honey);}
.empty-slot-photo .num-badge{z-index:2;}
.empty-slot-card .model-body h3{font-size:11px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#vitrine-shell .empty-slot-photo{
  position:relative;
  background:
    linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--honey) 14%, transparent) 50%, transparent 100%),
    linear-gradient(160deg,var(--bg-elev-2),var(--bg) 75%);
  background-size:220% 100%, 100% 100%;
  animation:vitrineRevealShimmer 5.5s ease-in-out infinite;
}
#vitrine-shell .empty-slot-logo{
  animation:logoShine 7s ease-in-out infinite alternate !important;
  background:linear-gradient(100deg,var(--honey-deep) 0%,var(--honey) 30%,#fff8e8 50%,var(--honey) 70%,var(--honey-deep) 100%) !important;
  background-size:260% auto !important;
  -webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;color:transparent !important;
  font-size:16px;font-weight:700;
}
@keyframes vitrineRevealShimmer{
  0%,100%{background-position:220% 0, 0 0;}
  50%{background-position:-20% 0, 0 0;}
}
.model-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.model-photo video{width:100%;height:100%;object-fit:cover;display:block;}
.model-photo .placeholder{ font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);text-align:center;padding:0 20px;line-height:1.6; }
.model-photo .status{
  position:absolute;top:10px;right:10px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;
  background:rgba(0,0,0,0.55);border:1px solid var(--honey);color:var(--honey);padding:4px 9px;border-radius:999px;
  transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;
}
.model-photo .num-badge{
  position:absolute;top:10px;left:10px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;
  background:rgba(0,0,0,0.6);border:1px solid var(--border);color:#fff;width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;
}
.card-report-btn{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0;line-height:1;
}
.card-report-btn:active{border-color:var(--rose);color:var(--rose);}
.card-fav-btn{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);
  display:flex;align-items:center;justify-content:center;font-size:14px;padding:0;
}
.card-fav-btn.active,.room-fav-btn.active{color:var(--rose);border-color:var(--rose);}
.room-fav-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:6px 12px;font-size:14px;margin-left:8px;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.room-fav-btn, #room-follow-btn{opacity:0;transition:opacity .15s ease;}
.room-fav-btn.state-ready, #room-follow-btn.state-ready{opacity:1;}
.room-chat-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:6px 12px;font-size:14px;margin-left:6px;}
.room-chat-btn:active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.room-chat-cta{
  display:inline-flex;align-items:center;gap:7px;background:var(--bg-elev-2);border:1px solid var(--honey);
  color:var(--honey);border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:700;
  font-family:'Inter',sans-serif;margin-top:12px;
}
.room-chat-cta:active{background:var(--honey);color:#1a1206;}
.room-chat-cta svg{width:15px;height:15px;}
.member-favorites-list{display:flex;flex-direction:column;gap:8px;}
.member-fav-row{display:flex;align-items:center;gap:12px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:16px;padding:10px 12px;color:var(--text);text-align:left;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.member-fav-row:active{background:var(--bg-elev);}
.member-fav-photo{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-elev);font-size:18px;border:2px solid var(--honey);}
.member-fav-photo img{width:100%;height:100%;object-fit:cover;}
.member-fav-name{flex:1;font-size:13px;font-weight:600;}
.member-fav-arrow{color:var(--text-muted);}
.member-fav-chat-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:50%;width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;}
.model-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:10px;}
.model-body .name-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.model-body .name-row-right{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.model-body h3{font-size:19px;}
.model-body .meta{font-size:12px;color:var(--text-muted);}
.model-body .rows{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px;}
.model-body .row{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;}
.model-body .row .k{color:var(--text-muted);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.05em;text-transform:uppercase;}
.model-body .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.model-body .tags span{ font-size:10.5px;padding:5px 10px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted); }
.pill-link{
  display:flex;align-items:center;justify-content:center;gap:6px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;
  background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);padding:9px;border-radius:var(--radius-sm);
}
.pill-link.disabled{color:var(--text-muted);cursor:default;}
.pill-link.alert{border-color:var(--rose);color:var(--rose);animation:alertPulse 1.6s ease-in-out infinite;}
@keyframes alertPulse{0%,100%{box-shadow:0 0 0 0 rgba(226,99,124,0.4);}50%{box-shadow:0 0 0 5px rgba(226,99,124,0);}}
.contract-btn-group{display:flex;flex-direction:column;gap:6px;position:fixed;z-index:200;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.35);min-width:220px;max-width:80vw;}
.contract-tab-toggle, .gallery-open-btn{font-family:'Inter',sans-serif;text-transform:none;letter-spacing:normal;font-weight:600;}
.model-body .edit-btn{
  margin-top:4px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;
  background:none;border:1px dashed var(--honey);color:var(--honey);padding:9px;border-radius:var(--radius-sm);
}

/* ---------- edit modal ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(2px);z-index:80;opacity:0;pointer-events:none;transition:opacity .2s;}
.modal-backdrop.open{opacity:1;pointer-events:auto;}
.modal-box{
  position:fixed;left:0;top:0;right:0;bottom:0;transform:none;z-index:90;
  width:100%;max-width:100%;height:100%;max-height:100%;overflow-y:auto;
  background:var(--bg-elev);border:none;border-radius:0;
  padding:24px;opacity:0;pointer-events:none;transition:opacity .2s;
}
.modal-box.open{opacity:1;pointer-events:auto;}
/* ===== ESPACE MEMBRE UNIQUEMENT — navigation fluide type Instagram/Facebook =====
   Cette classe ajoute un fondu + léger glissement au lieu du fondu plat brut de .modal-box.
   Volontairement PAS appliquée à .modal-box en général (ça toucherait aussi les modales
   du tableau de bord créatrice/agence : edit-modal, sales-modal, contracts-modal, etc.).
   Le compte membre (#member-modal-body) est maintenant une page dédiée (#member-shell),
   plus une modale — cette classe reste posée sur la fiche/room d'une créatrice consultée
   par un membre ou visiteur (#vitrine-room). Pour le chat (#chat-modal), elle est ajoutée/
   retirée dynamiquement en JS selon ctx.viewerType === 'member' (voir openChat). */
.member-space-modal{
  transform:translateY(8px);
  transition:opacity .22s cubic-bezier(.22,.68,0,1), transform .22s cubic-bezier(.22,.68,0,1);
}
.member-space-modal.open{transform:translateY(0);}
#paid-backdrop{z-index:100;}
#paid-modal{z-index:101;}
#chat-backdrop{z-index:110;}
#chat-modal{z-index:111;}
#custom-order-backdrop{z-index:112;}
#custom-order-modal{z-index:113;}
#order-delivery-backdrop{z-index:114;}
#order-delivery-modal{z-index:115;}
#report-backdrop{z-index:130;}
#report-modal{z-index:131;}
.modal-box h3{font-size:18px;margin-bottom:16px;}
/* ---------- espace membre : même signature éditoriale que la vitrine (halo doré + Fraunces) ---------- */
#member-shell{
  background:
    radial-gradient(520px 340px at 100% -6%, color-mix(in srgb, var(--honey) 14%, transparent), transparent 65%),
    radial-gradient(460px 380px at -10% 30%, color-mix(in srgb, var(--wine) 26%, transparent), transparent 68%),
    var(--bg-elev);
}
#member-shell h3{font-family:'Fraunces',serif;font-weight:600;font-size:22px;letter-spacing:-0.005em;}
#member-shell .member-section-title{font-family:'JetBrains Mono',monospace;}
/* Pages plein écran avec en-tête fixe + flèche retour (fiche créatrice, chat). */
.fullpage-modal{
  padding:0;display:flex;flex-direction:column;overflow:hidden;
}
.fullpage-header{
  flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:14px 16px;
  background:var(--bg-elev);border-bottom:1px solid var(--border);
}
.fullpage-back-btn{
  background:var(--bg-elev-2);border:1px solid var(--border);color:var(--honey);
  width:38px;height:38px;border-radius:50%;font-size:18px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
}
.fullpage-header-title{flex:1;min-width:0;font-family:'Inter',sans-serif;font-size:16px;font-weight:800;}
.fullpage-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;}
.modal-box label, #member-shell label{font-size:11px;color:var(--text-muted);display:block;margin-bottom:6px;margin-top:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.modal-box input, .modal-box textarea, .modal-box select,
#member-shell input, #member-shell textarea, #member-shell select{
  width:100%;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);
  border-radius:var(--radius-sm);padding:11px 13px;font-family:'Inter',sans-serif;font-size:14px;
  -webkit-appearance:none;appearance:none;
}
.modal-box textarea, #member-shell textarea{resize:vertical;}
#member-shell select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d6a94e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;
}
#member-shell input:disabled{opacity:.6;}
#member-shell input:focus, #member-shell textarea:focus, #member-shell select:focus{
  outline:none;border-color:var(--honey);
}
.upload-drop{ border:1.5px dashed var(--border);border-radius:var(--radius); padding:22px 14px;text-align:center;color:var(--text-muted);font-size:12.5px;margin-top:12px; position:relative; }
.upload-drop.has-file{border-color:var(--honey);color:var(--text);}
.upload-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.consent-row{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:11.5px;color:var(--text-muted);line-height:1.5;}
.consent-row input{width:auto;margin-top:2px;}
.modal-actions{display:flex;gap:10px;margin-top:20px;}
.member-pass-wrap{position:relative;}
.member-pass-wrap input{padding-right:44px !important;}
.member-eye-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:8px;line-height:1;display:flex;align-items:center;}
.member-switch-row{text-align:center;margin-top:16px;font-size:12.5px;color:var(--text-muted);}
.member-switch-row button{background:none;border:none;color:var(--honey);cursor:pointer;font-size:12.5px;text-decoration:underline;padding:0;}
.member-forgot-link{display:block;text-align:center;margin-top:10px;background:none;border:none;color:var(--text-muted);font-size:12px;text-decoration:underline;cursor:pointer;}
.member-err{color:var(--rose);font-size:12.5px;margin-top:10px;min-height:1px;}
.member-note{color:var(--text-muted);font-size:12.5px;line-height:1.6;margin-top:2px;}
.member-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-elev-2);border:1px solid var(--honey);border-radius:20px;padding:6px 14px;font-size:12px;color:var(--honey);margin-bottom:14px;font-weight:600;}
.member-welcome-line{color:var(--text-muted);font-size:13px;line-height:1.6;margin:6px 0 4px;max-width:420px;}
.member-banner-warn{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(230,160,60,0.12);border:1px solid rgba(230,160,60,0.35);border-radius:10px;padding:10px 12px;font-size:11.5px;color:var(--honey);margin-bottom:14px;line-height:1.4;}
.member-banner-warn button{flex-shrink:0;background:none;border:1px solid rgba(230,160,60,0.5);color:var(--honey);border-radius:8px;padding:6px 10px;font-size:11px;cursor:pointer;}
.member-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.member-tab{flex:0 0 auto;background:none;border:none;color:var(--text-muted);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;position:relative;}
.member-tab.active{color:var(--honey);border-bottom-color:var(--honey);}
.member-tab-badge{background:var(--rose);color:#fff;font-size:9px;font-weight:700;min-width:15px;height:15px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;position:absolute;top:2px;right:2px;}
.creator-msg-badge{background:var(--rose);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;position:absolute;top:-6px;right:-6px;}
.member-subtabs{display:flex;gap:6px;margin-bottom:14px;}
.member-subtab{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);font-size:11.5px;font-weight:600;padding:8px 4px;border-radius:8px;cursor:pointer;}
.member-subtab.active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.visibility-note{color:var(--honey);font-size:11px;margin-top:2px;}
/* Icône dorée inline devant un titre de champ (hobbies, passions, rêves...) — cohérente avec
   les mêmes icônes utilisées côté lecture (bio-narrative) pour que la créatrice voie exactement
   la même iconographie que celle affichée au client au moment de la saisie. */
.field-icon{display:inline-flex;vertical-align:-3px;margin-right:6px;}
.field-icon svg{width:14px;height:14px;color:var(--honey);}
.member-quiz-field label{display:flex;align-items:center;}
/* Sélecteur de visibilité en 3 boutons (tout le monde / favoris / personne), tout en SVG,
   avec un code couleur explicite par niveau : vert = visible à tous, doré = favoris
   uniquement, rouge = masqué à tous — pour que le degré de confidentialité soit lisible
   d'un coup d'œil, sans avoir à lire le texte. */
.visibility-group{display:flex;gap:8px;margin-top:6px;}
.visibility-opt{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;
  background:var(--bg-elev-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 6px;cursor:pointer;font-family:'Inter',sans-serif;font-size:10.5px;font-weight:700;
  text-align:center;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);
  transition:border-color .15s,background .15s,color .15s;
}
.visibility-opt svg{width:18px;height:18px;opacity:.7;transition:opacity .15s;}
.visibility-opt[data-value="everyone"]{--vis-color:#3ecf7a;}
.visibility-opt[data-value="favorites"]{--vis-color:var(--honey);}
.visibility-opt[data-value="nobody"]{--vis-color:var(--rose);}
.visibility-opt.active{
  border-color:var(--vis-color);color:var(--vis-color);
  background:color-mix(in srgb, var(--vis-color) 16%, transparent);
}
.visibility-opt.active svg{opacity:1;}
.member-avatar-row{display:flex;align-items:center;gap:14px;margin-bottom:6px;}
.member-avatar{width:64px;height:64px;border-radius:50%;background:var(--bg-elev-2);border:1px solid var(--border);object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--text-muted);overflow:hidden;}
.member-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.member-avatar-upload{position:relative;overflow:hidden;}
.member-avatar-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.member-check-row{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;color:var(--text-muted);line-height:1.5;}
.member-check-row input{width:auto;margin-top:2px;}
.member-section-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin:20px 0 10px;}
.member-purchase-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:12.5px;}
.member-purchase-row:last-child{border-bottom:none;}
.member-purchase-status{font-size:10.5px;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;}
.member-purchase-status.paid{background:rgba(95,214,122,0.15);color:#5fd67a;}
.member-purchase-status.pending{background:rgba(230,160,60,0.15);color:var(--honey);}
.member-media-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(55px,1fr));gap:8px;margin-top:8px;}
.member-media-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;display:block;background:var(--bg-elev-2);}
.member-view-card{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:0;margin-bottom:3px;overflow:hidden;}
.member-view-toggle{display:flex;align-items:center;gap:5px;width:100%;background:none;border:none;padding:4px 7px;text-align:left;}
.member-view-avatar{width:16px;height:16px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.member-view-avatar-fallback{background:var(--honey);color:#1a1206;font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.member-view-name{font-weight:600;font-size:10.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.member-view-chevron{flex-shrink:0;color:var(--text-muted);font-size:11px;transition:transform .15s ease;}
.member-view-card.open .member-view-chevron{transform:rotate(90deg);}
.member-view-details{display:none;padding:0 7px 7px;}
.member-view-card.open .member-view-details{display:block;}
.member-view-loc{font-size:8.5px;color:var(--text-muted);margin-bottom:3px;}
/* Découpe la fiche membre (côté créatrice) en 3 blocs nets — Bio / À propos / Photos —
   avec un vrai espace ENTRE les blocs, mais un espace resserré entre chaque titre et
   son propre contenu (le titre doit "coller" à ce qu'il annonce). */
.member-card-section{margin-top:20px;}
.member-card-section:first-child{margin-top:0;}
.member-card-section-title{
  display:flex;align-items:center;gap:5px;
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:var(--honey);
  margin-bottom:8px;
}
.member-card-section-title svg{width:13px;height:13px;flex-shrink:0;}
.member-card-bio-text{margin:0;font-size:11px;line-height:1.55;color:var(--text);}
.member-card-section .bio-narrative{margin:0;}
.member-card-section .bio-narrative p{padding:8px 0;}
.member-card-section .bio-narrative p:first-child{padding-top:0;}
.member-card-section .bio-narrative p:last-child{padding-bottom:0;}
.member-view-actions{display:flex;gap:4px;margin-top:5px;}
.my-member-favorite-btn.is-favorite{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.my-members-filter-row{display:flex;gap:8px;margin-top:14px;max-width:280px;}
.follower-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 7px;border-radius:999px;color:#fff;font-size:10.5px;font-weight:700;margin-left:6px;white-space:nowrap;line-height:1;}
.uxd-badge{min-width:auto;height:22px;padding:0 10px;font-size:10px;letter-spacing:.02em;box-shadow:0 2px 8px -2px rgba(0,0,0,0.4);}
.popularity-hero{display:flex;justify-content:center;gap:36px;margin-top:20px;}
.tiktok-stat{display:flex;flex-direction:column;align-items:center;gap:2px;}
.tiktok-stat-num{font-family:'Inter',sans-serif;font-weight:800;font-size:20px;color:var(--text);}
.tiktok-stat-label{font-size:11px;color:var(--text-muted);}
.popularity-summary{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);}
.uxd-hero-block{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--honey);border-radius:12px;background:rgba(212,175,55,0.08);}
.uxd-hero-shield{flex:0 0 auto;display:flex;color:#9a9a9a;}
.uxd-hero-shield svg{width:28px;height:28px;}
.uxd-hero-text{font-size:13px;color:var(--honey);line-height:1.4;}
.uxd-stat-shield{display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#9a9a9a;}
.uxd-stat-shield svg{width:20px;height:20px;}
.uxd-stat-num{font-family:'Inter',sans-serif;font-weight:800;font-size:16px;color:var(--text);}
.tipmenu-card{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:16px;}
.tipmenu-card label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:12px 0 6px;}
.tipmenu-card input, .tipmenu-card select, .tipmenu-card textarea{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 13px;font-size:14px;width:100%;font-family:'Inter',sans-serif;}
.tipmenu-card-top{display:flex;align-items:center;gap:10px;}
.tipmenu-emoji{width:56px !important;flex-shrink:0;text-align:center;font-size:20px;padding:10px 4px !important;}
.tipmenu-type-toggle{flex:1;display:flex;gap:6px;}
.tipmenu-type-btn{flex:1;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:10px 4px;font-size:12px;font-weight:600;}
.tipmenu-type-btn.active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.tipmenu-row-rm{background:none;border:none;color:var(--rose);font-size:18px;flex-shrink:0;padding:0 4px;}
.tipmenu-collapsed .tipmenu-row-rm{font-size:16px;}
.tipmenu-custom-preview{background:var(--bg-elev-2);border:1px dashed var(--honey);border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--honey);margin-top:20px;}
.tipmenu-collapsed{display:flex;align-items:center;gap:10px;padding:12px 14px;}
.tipmenu-collapsed-emoji{font-size:18px;flex-shrink:0;}
.tipmenu-collapsed-icon{color:var(--honey);flex-shrink:0;}
.tipmenu-collapsed-theme{flex:1;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tipmenu-collapsed-price{color:var(--honey);font-weight:700;font-size:13px;flex-shrink:0;}
.tipmenu-edit-btn{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tipmenu-help{color:var(--text-muted);cursor:pointer;display:inline-flex;vertical-align:-2px;}
.tipmenu-help-inline{margin-left:6px;flex-shrink:0;}
.tipmenu-desc-icon{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;vertical-align:-8px;}
.tipmenu-help-text{background:var(--bg-elev);border:1px solid var(--honey);border-radius:8px;padding:8px 10px;font-size:11.5px;color:var(--text-muted);margin:4px 0 8px;}
.cover-type-toggle{display:flex;gap:8px;margin-bottom:10px;}
.cover-type-btn{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:10px 4px;font-size:12.5px;font-weight:600;}
.cover-type-btn.active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.tipmenu-public-list{display:flex;flex-direction:column;gap:5px;}
.tipmenu-public-row{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:7px 8px;margin-bottom:5px;}
.tipmenu-order-btn{
  display:flex;align-items:center;gap:4px;margin-top:6px;background:var(--honey);color:#1a1206;
  border:none;border-radius:999px;padding:5px 11px;font-size:10.5px;font-weight:700;
}
.tipmenu-public-preview{position:relative;width:110px;max-width:35%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--bg-elev-2);margin:0 0 6px;}
.tipmenu-public-preview img, .tipmenu-public-preview video{width:100%;height:100%;object-fit:cover;filter:blur(9px) brightness(0.75);transform:scale(1.08);}
.tipmenu-audio-lock-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--honey);opacity:0.35;}
.tipmenu-audio-lock-bg svg{width:22px;height:22px;}
.tipmenu-public-preview.audio-only{aspect-ratio:5/2;width:100%;max-width:100%;}
.tipmenu-preview-lock{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:rgba(0,0,0,0.55);border:2px solid var(--honey);color:var(--honey);
  width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.tipmenu-preview-lock svg{width:12px;height:12px;}
.tipmenu-earn-note{font-size:11px;color:var(--text-muted);margin:4px 0 0;}
.tipmenu-how-it-works{background:var(--bg-elev-2);border:1px solid var(--honey);border-radius:14px;padding:14px 16px;margin-bottom:18px;}
.tipmenu-how-it-works h4{color:var(--honey);font-size:13px;margin:0 0 8px;}
.tipmenu-how-it-works p{color:var(--text-muted);font-size:12px;line-height:1.6;margin:0 0 6px;}
.tipmenu-how-it-works p:last-child{margin-bottom:0;}
.tipmenu-content-preview{position:relative;border-radius:10px;overflow:hidden;background:var(--bg-elev-2);margin-top:6px;}
.tipmenu-content-preview img, .tipmenu-content-preview video{width:100%;max-height:220px;object-fit:cover;display:block;}
.tipmenu-content-preview audio{width:100%;display:block;padding:10px;}
.tipmenu-content-rm{position:absolute;top:6px;right:6px;background:rgba(0,0,0,0.6);color:#fff;border:none;border-radius:50%;width:26px;height:26px;}
.tipmenu-public-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;}
.tipmenu-public-theme{font-weight:600;}
.tipmenu-public-prices{font-size:10.5px;color:var(--honey);font-weight:700;}
.tipmenu-public-desc{color:var(--text-muted);font-size:10.5px;line-height:1.4;margin-top:4px;}
.tipmenu-public-rules{color:var(--text-muted);font-size:12px;line-height:1.6;margin-top:12px;white-space:pre-wrap;}
.tipmenu-custom-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;color:var(--honey);}
.follow-btn{background:var(--bg-elev-2);border:1px solid var(--honey);color:var(--honey);border-radius:999px;padding:4px 10px;font-size:10px;font-weight:600;transition:transform .12s ease;}
.follow-btn.following{background:var(--honey);color:#1a1206;}
.follow-btn:active{transform:scale(0.94);}
.member-media-thumb{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--bg-elev-2);border:1px solid var(--border);}
.my-tabs{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 2px 12px;margin-bottom:8px;border-bottom:1px solid var(--border);flex:1;}
.tabs-slide-row{margin-top:24px;}
.tabs-arrows-row{display:flex;justify-content:flex-end;gap:8px;margin-bottom:6px;}
.tabs-slide-row .my-tabs{margin-top:0;}
.my-tabs::-webkit-scrollbar{display:none;}
.my-tab-btn{flex-shrink:0;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:6px;position:relative;}
.my-tab-btn.active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.my-tab-panel{display:none;}
.my-tab-panel.active{animation:tabFadeIn .22s cubic-bezier(.22,.68,0,1);}
.tab-fade-in{animation:tabFadeIn .22s cubic-bezier(.22,.68,0,1);}
@keyframes tabFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
/* ===== ESPACE MEMBRE UNIQUEMENT — retour tactile immédiat type Instagram/Facebook =====
   Portée volontairement limitée par sélecteur de conteneur pour NE PAS toucher au
   tableau de bord créatrice/agence (#app-shell, #my-profile-shell), qui partage les
   mêmes classes de boutons (.btn, .my-tab-btn, .level-arrow, etc.).
   Conteneurs concernés : #member-shell (page dédiée du compte membre),
   #vitrine-room (fiche/room d'une créatrice consultée par un membre ou visiteur),
   #vitrine-shell (cartes de la vitrine publique), #bottom-nav (nav publique). */
#member-shell .member-tab, #member-shell .member-subtab, #member-shell .btn, #member-shell .member-bio-icon-btn,
#member-shell .level-arrow, #member-shell .my-tab-btn,
#vitrine-room .btn, #vitrine-room .my-tab-btn, #vitrine-room .level-arrow, #vitrine-room .room-fav-btn,
#vitrine-shell .card-fav-btn, #vitrine-shell .card-report-btn,
#bottom-nav .bottom-nav-item{
  transition: transform .12s ease, opacity .12s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
#member-shell .member-tab:active, #member-shell .member-subtab:active, #member-shell .btn:active,
#member-shell .member-bio-icon-btn:active, #member-shell .level-arrow:active, #member-shell .my-tab-btn:active,
#vitrine-room .btn:active, #vitrine-room .my-tab-btn:active, #vitrine-room .level-arrow:active, #vitrine-room .room-fav-btn:active,
#vitrine-shell .card-fav-btn:active, #vitrine-shell .card-report-btn:active,
#bottom-nav .bottom-nav-item:active{
  transform: scale(.94);
  opacity: .85;
}
.room-support-block{display:flex;align-items:center;gap:14px;margin-top:10px;}
.room-support-btn{padding:8px 18px;min-width:104px;text-align:center;}
.room-follower-count{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);}
.room-intro-card{background:linear-gradient(135deg, var(--bg-elev-2), var(--bg-elev));border:1px solid var(--honey);border-radius:16px;padding:14px 16px;margin-top:14px;box-shadow:0 4px 16px rgba(0,0,0,0.25);}
.room-intro-line{color:var(--text);font-size:13.5px;line-height:1.6;white-space:pre-wrap;}
.room-tabs{margin-top:18px;}
.level-bar-wrap{margin:18px auto 0;max-width:520px;}
.level-bar-row{display:flex;align-items:center;gap:12px;}
.level-arrow{flex:0 0 auto;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--honey);width:26px;height:26px;border-radius:50%;font-size:15px;display:flex;align-items:center;justify-content:center;}
.level-bar{display:flex;gap:14px;padding:4px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;}
.level-step{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 auto;opacity:.4;cursor:pointer;transition:opacity .2s;}
.level-step.reached{opacity:1;}
.level-step.lit{opacity:1;}
.level-shield{width:32px;height:32px;border-radius:9px;background:linear-gradient(160deg,#3a3a3a,#232323);border:1.5px solid var(--border);color:#b8b8b8;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s, background .2s, color .2s;}
.level-step.reached .level-shield{color:#fff;}
.level-step.lit .level-shield{box-shadow:0 0 22px 4px var(--lit-color), 0 0 6px 2px var(--lit-color) inset;}
.level-step.current .level-shield{outline:1px solid var(--honey);outline-offset:2px;box-shadow:0 0 6px 1px var(--honey);}
.level-step-label{font-size:8.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;}
.level-step-min{font-size:8px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;}
.level-desc-panel{display:flex;align-items:flex-start;gap:8px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;padding:9px 12px;margin-top:10px;font-size:11.5px;color:var(--text-muted);line-height:1.5;}
.level-desc-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.my-tab-panel.active{display:block;}
.member-media-thumb img, .member-media-thumb video{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------------- chat en direct membre ↔ créatrice ---------------- */
.chat-modal-box{display:flex;flex-direction:column;padding:0;overflow:hidden;}
.chat-header{
  display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border);flex-shrink:0;
  background:linear-gradient(180deg, color-mix(in srgb, var(--honey) 7%, transparent), transparent);
}
.chat-header-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-elev-2);display:flex;align-items:center;justify-content:center;font-size:16px;border:1.5px solid var(--honey);}
.chat-header-avatar img{width:100%;height:100%;object-fit:cover;}
.chat-header-name{font-weight:700;font-size:14px;}
.chat-header-status{font-size:11px;color:var(--honey);min-height:14px;font-weight:600;}
.chat-back-btn{background:none;border:none;color:var(--text-muted);font-size:16px;padding:4px;cursor:pointer;}
.chat-body-wrap{flex:1;position:relative;display:flex;flex-direction:column;overflow:hidden;}
.chat-messages{
  flex:1;overflow-y:auto;padding:14px 58px 14px 16px;display:flex;flex-direction:column;gap:4px;min-height:280px;max-height:52vh;
  background:radial-gradient(420px 260px at 100% 0%, color-mix(in srgb, var(--honey) 5%, transparent), transparent 70%);
}
.chat-reaction-rail{
  position:absolute;right:8px;bottom:14px;top:14px;width:38px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;z-index:5;
  pointer-events:none;
}
.chat-reaction-rail .chat-reaction-btn{pointer-events:auto;}
.chat-reaction-btn{background:rgba(0,0,0,0.35);backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,0.15);width:38px;height:38px;border-radius:50%;font-size:18px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;}
.chat-reaction-btn:active{transform:scale(1.15);}
.chat-float-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4;}
.chat-float-emoji{position:absolute;bottom:20px;right:26px;font-size:24px;animation:chatFloatUp 2.2s ease-out forwards;color:var(--honey);}
.chat-float-emoji svg{width:28px;height:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4));}
@keyframes chatFloatUp{
  0%{opacity:0;transform:translateY(0) scale(0.6) rotate(0deg);}
  15%{opacity:1;transform:translateY(-30px) scale(1.1) rotate(-8deg);}
  100%{opacity:0;transform:translateY(-260px) scale(0.9) rotate(10deg);}
}
@keyframes dmBubbleIn{
  0%{opacity:0;transform:translateY(6px);}
  100%{opacity:1;transform:translateY(0);}
}
.dm-bubble-row{display:flex;flex-direction:column;max-width:74%;margin-bottom:6px;animation:dmBubbleIn .22s ease-out;}
.dm-sender-row{display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.dm-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.dm-avatar.member-view-avatar{width:44px;height:44px;}
.dm-avatar-fallback{background:var(--honey);color:#1a1206;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.dm-avatar-logo{background:linear-gradient(135deg,var(--honey),var(--honey-deep));display:flex;align-items:center;justify-content:center;font-size:12px;}
.dm-sender-name{font-size:11px;color:var(--text-muted);font-weight:600;}
.dm-bubble-row.mine{align-self:flex-end;align-items:flex-end;}
.dm-bubble-row.mine .dm-sender-row{flex-direction:row-reverse;}
.dm-bubble-row.theirs{align-self:flex-start;align-items:flex-start;}
.dm-bubble{padding:9px 13px;border-radius:16px;font-size:13.5px;line-height:1.45;word-break:break-word;white-space:pre-wrap;}
.dm-bubble-row.mine .dm-bubble{
  background:linear-gradient(155deg, color-mix(in srgb, var(--honey) 26%, var(--bg-elev-2)), color-mix(in srgb, var(--honey) 14%, var(--bg-elev-2)));
  border:1px solid color-mix(in srgb, var(--honey) 45%, transparent);color:var(--text);
  border-bottom-right-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,0.15);
}
.dm-bubble-row.theirs .dm-bubble{background:rgba(255,255,255,0.10);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,0.18);color:var(--text);border-bottom-left-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.12);}
.dm-bubble-time{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--text-muted);margin-top:3px;padding:0 4px;}
.dm-bubble-footer{display:flex;align-items:center;gap:8px;margin-top:3px;padding:0 4px;}
.dm-like-btn{background:none;border:none;color:var(--text-muted);font-size:11px;padding:0;}
.dm-like-btn.liked{color:var(--rose);}
.chat-quick-actions-row{display:flex;gap:8px;flex-wrap:wrap;}
.chat-quick-actions-row .chat-mod-btn{margin:6px 0;}
.chat-quick-actions-row{margin:0 16px;}
.chat-mod-btn{
  flex-shrink:0;display:flex;align-items:center;gap:5px;margin:6px 16px;padding:6px 12px;
  background:rgba(230,160,60,0.1);border:1px solid var(--honey);border-radius:999px;
  color:var(--honey);font-size:11px;font-weight:700;align-self:flex-start;
}
.chat-mod-btn svg{width:14px;height:14px;}
.chat-mod-panel{
  display:none;background:rgba(230,160,60,0.08);border-bottom:1px solid var(--border);
  padding:10px 16px 14px;flex-shrink:0;
}
.chat-mod-panel.open{display:block;}
.chat-mod-tip{color:var(--text-muted);font-size:11px;line-height:1.5;margin:0 0 6px;}
.chat-mod-rule{color:var(--honey);font-size:10.5px;line-height:1.5;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--border);}
.chat-bot-btn{
  flex-shrink:0;display:flex;align-items:center;gap:5px;margin:0 16px 6px;padding:6px 12px;
  background:rgba(212,175,55,0.14);border:1px solid var(--honey);border-radius:999px;
  color:var(--honey);font-size:11px;font-weight:700;align-self:flex-start;
}
.chat-bot-btn svg{width:14px;height:14px;}
.chat-bot-panel{background:var(--bg-elev-2);border-bottom:1px solid var(--border);padding:12px 16px 16px;flex-shrink:0;}
.chat-banner{
  flex-shrink:0;background:linear-gradient(90deg, var(--honey-deep), var(--honey));color:#1a1206;
  font-size:12px;font-weight:700;text-align:center;padding:8px 14px;overflow:hidden;white-space:nowrap;
}
.chat-banner.scrolling{text-align:left;}
.chat-banner.scrolling span{display:inline-block;padding-left:100%;animation-name:chatBannerScroll;animation-timing-function:linear;animation-iteration-count:infinite;}
@keyframes chatBannerScroll{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-100%); } }
.chat-banner.blinking{animation:chatBannerBlink 1s steps(1) infinite;}
@keyframes chatBannerBlink{ 0%,49%{ opacity:1; } 50%,100%{ opacity:0.35; } }
.chat-banner #chat-banner-audio-btn{background:none;border:none;color:inherit;font-size:14px;vertical-align:-2px;margin-right:6px;padding:0;}
.dm-bubble-wrap{display:flex;align-items:flex-end;gap:4px;}
.chat-cart-btn{flex-shrink:0;background:var(--honey);color:#1a1206;border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;}
.chat-cart-help-btn{flex-shrink:0;background:var(--bg-elev-2);border:1px solid var(--honey);color:var(--honey);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin-right:6px;}
.chat-cart-help-panel{background:rgba(230,160,60,0.08);border-bottom:1px solid var(--border);padding:10px 16px 14px;flex-shrink:0;}
.chat-cart-help-panel.open{display:block !important;}
.chat-cart-btn svg{width:16px;height:16px;}
.custom-order-card{
  background:linear-gradient(155deg, var(--bg-elev-2), var(--bg-elev));border:1.5px solid var(--honey);
  border-radius:14px;padding:12px 14px;max-width:80%;
}
.custom-order-card-head{display:flex;align-items:center;gap:6px;color:var(--honey);font-size:12px;margin-bottom:6px;}
.custom-order-card-head svg{width:16px;height:16px;}
.custom-order-card-text{font-size:13px;color:var(--text);line-height:1.5;margin:0 0 10px;}
.custom-order-action-btn{
  display:flex;align-items:center;gap:6px;background:var(--honey);color:#1a1206;border:none;
  border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;
}
.custom-order-action-btn svg{width:14px;height:14px;}
.custom-order-status-tag{display:inline-block;font-size:11px;color:var(--text-muted);}
.custom-order-status-tag.pending{color:var(--honey);}
.custom-order-card.tip-order-card{
  border-color:#4fa3e0;
}
.custom-order-card.tip-order-card .custom-order-card-head{color:#4fa3e0;}
.custom-order-card.tip-order-card .custom-order-status-tag.pending{color:#4fa3e0;}
.tip-order-deliver-btn{background:#4fa3e0;color:#0c1a26;}
.conv-order-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:5px;vertical-align:middle;}
.conv-order-dot-custom{background:var(--honey);}
.conv-order-dot-tip{background:#4fa3e0;}
.order-row-card{
  background:linear-gradient(155deg, var(--bg-elev-2), var(--bg-elev));border:1.5px solid var(--honey);
  border-radius:14px;padding:12px 14px;margin-bottom:12px;
}
.order-row-card.tip-order-card{border-color:#4fa3e0;}
.order-row-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;}
.order-row-name{font-size:13px;font-weight:700;color:var(--text);}
.order-row-text{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0 0 10px;}
.order-row-actions{display:flex;gap:8px;flex-wrap:wrap;}
.order-row-discuss-btn{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);}
.dm-bubble-row.mine .dm-bubble-wrap{flex-direction:row-reverse;}
.dm-menu-btn{background:none;border:none;color:var(--text-muted);font-size:14px;padding:4px 6px;flex-shrink:0;}
.dm-menu-popover{position:absolute;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 6px 18px rgba(0,0,0,0.3);z-index:150;}
.dm-menu-popover button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);font-size:12px;padding:8px 10px;border-radius:6px;white-space:nowrap;}
.dm-menu-popover button:active{background:var(--bg-elev-2);}
.chat-typing-row{display:flex;align-self:flex-start;gap:4px;padding:8px 13px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:16px;border-bottom-left-radius:4px;margin-bottom:6px;}
.chat-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:chatTypingBounce 1.2s infinite ease-in-out;}
.chat-typing-dot:nth-child(2){animation-delay:.15s;}
.chat-typing-dot:nth-child(3){animation-delay:.3s;}
@keyframes chatTypingBounce{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-4px);opacity:1;}}
.chat-tabs-row{display:flex;gap:6px;padding:10px 14px 0;flex-shrink:0;}
.chat-tab-btn{
  flex:1;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);
  border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;
}
.chat-tab-btn.active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.chat-tab-badge{background:var(--rose);color:#fff;font-size:9.5px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;}
.chat-tab-btn.active .chat-tab-badge{background:#1a1206;color:var(--honey);}
.chat-topics-row{
  display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:8px 14px;flex-shrink:0;border-top:1px solid var(--border);
}
.chat-topics-row::-webkit-scrollbar{display:none;}
.chat-topic-chip{
  flex:0 0 auto;white-space:nowrap;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:600;
  color:#fff;background:linear-gradient(135deg, var(--chip-color), color-mix(in srgb, var(--chip-color) 60%, #1a0a10));
  border:none;border-radius:999px;padding:8px 14px;box-shadow:0 2px 8px -2px rgba(0,0,0,0.4);
}
.chat-topic-chip:active{transform:scale(0.95);}
.chat-input-row{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0;align-items:flex-end;}
.chat-input-row textarea{flex:1;resize:none;max-height:90px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:14px;padding:10px 14px;font-size:13.5px;font-family:inherit;transition:border-color .15s ease;}
.chat-input-row textarea:focus{outline:none;border-color:var(--honey);}
.chat-send-btn{background:var(--honey);border:none;color:#1a1206;width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .12s ease;}
.chat-send-btn:active{transform:scale(0.88);}
.chat-emoji-btn{background:var(--bg-elev-2);border:1px solid var(--border);width:38px;height:38px;border-radius:50%;flex-shrink:0;font-size:18px;display:flex;align-items:center;justify-content:center;}
.chat-emoji-picker{
  flex-shrink:0;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;
  padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-elev-2);
  max-height:160px;overflow-y:auto;
}
.chat-emoji-picker button{background:none;border:none;font-size:22px;padding:6px;border-radius:8px;}
.chat-emoji-picker button:active{background:var(--bg-elev);}
.chat-empty-note{color:var(--text-muted);font-size:12.5px;text-align:center;margin:auto;padding:20px;}
.conv-list-row{display:flex;align-items:center;gap:12px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:16px;padding:10px 12px;margin-bottom:8px;text-align:left;width:100%;position:relative;box-shadow:0 2px 8px rgba(0,0,0,0.15);overflow:hidden;}
.conv-list-row:active{background:var(--bg-elev);}
.conv-list-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-elev);display:flex;align-items:center;justify-content:center;font-size:16px;border:2px solid var(--border);}
.conv-list-avatar img{width:100%;height:100%;object-fit:cover;}
.conv-list-body{flex:1;min-width:0;overflow:hidden;}
.conv-list-name{font-size:13px;font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.conv-list-preview{display:block;max-width:100%;font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.conv-unread-badge{background:var(--honey);color:#1a1206;font-size:10px;font-weight:700;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 5px;flex-shrink:0;}
.chat-nav-badge{background:var(--rose);color:#fff;font-size:10px;font-weight:700;border-radius:999px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;margin-left:4px;vertical-align:2px;}
.apply-legal-box{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:14px 0;}
.apply-legal-box h4{font-size:11px;color:var(--honey);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.apply-legal-box p{font-size:11.5px;color:var(--text-muted);line-height:1.6;}
.apply-toggle-row{display:flex;gap:8px;}
.apply-toggle-row button{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:11px 13px;font-size:13px;cursor:pointer;}
.apply-toggle-row button.active{border-color:var(--honey);color:var(--honey);background:rgba(230,160,60,0.1);}
.modal-back-btn{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:0 0 14px;display:flex;align-items:center;gap:4px;}
.modal-back-btn:hover{color:var(--honey);}
.btn-ghost{ background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border); }
.btn-sm{padding:11px 16px;font-size:13px;}

/* ---------- gallery ---------- */
.gallery-open-btn{display:flex;align-items:center;justify-content:center;gap:6px;}
.gallery-section{margin-top:16px;}
.gallery-section h4{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-family:'JetBrains Mono',monospace;margin-bottom:10px;}
.gallery-strip{display:grid;grid-template-columns:repeat(auto-fill, minmax(90px,1fr));gap:3px;}
.gallery-thumb{position:relative;aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:var(--bg-elev-2);border:1px solid var(--border);}
.gallery-thumb img, .gallery-thumb video{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:transform .15s ease;}
.gallery-thumb:active img, .gallery-thumb:active video{transform:scale(0.96);}
.gallery-thumb .rm{
  position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;
  background:rgba(0,0,0,0.7);color:var(--rose);border:none;font-size:12px;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.gallery-add-btn{
  aspect-ratio:1/1;border-radius:10px;border:1.5px dashed var(--border);background:none;color:var(--text-muted);
  font-size:22px;display:flex;align-items:center;justify-content:center;position:relative;
}
.gallery-add-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.gallery-empty{font-size:12px;color:var(--text-muted);}

#lightbox-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.9);z-index:140;display:none;align-items:center;justify-content:center;padding:24px;}
#lightbox-backdrop img, #lightbox-backdrop video{max-width:100%;max-height:88vh;border-radius:8px;}
#lightbox-close{position:absolute;top:20px;right:24px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);width:38px;height:38px;border-radius:50%;font-size:16px;}
.lightbox-delete-btn{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);background:var(--rose);color:#fff;border:none;border-radius:999px;padding:12px 26px;font-size:13.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 6px 18px rgba(0,0,0,0.4);}
.lightbox-delete-btn:active{transform:translateX(-50%) scale(.95);}

/* ---------- vitrine (public showcase) ---------- */
.vitrine-card-btn{ cursor:pointer; }
.vitrine-cover{width:100%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--bg-elev-2);margin-bottom:14px;position:relative;box-shadow:0 6px 24px rgba(0,0,0,0.35);contain:layout style paint;}
.vitrine-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.vitrine-cover video{width:100%;height:100%;object-fit:cover;display:block;}
.vitrine-cover::after{content:'';position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to top, rgba(0,0,0,0.6), transparent);pointer-events:none;}
#vitrine-room-body .vitrine-cover{
  box-shadow:0 10px 32px rgba(0,0,0,0.4), 0 0 0 1px color-mix(in srgb, var(--honey) 35%, transparent);
}
.vitrine-status-badge{
  transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;
  position:absolute;top:10px;right:10px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;background:rgba(0,0,0,0.6);border:1px solid var(--border);color:var(--text-muted);
}
.vitrine-status-badge.online{border-color:#5fd67a;color:#5fd67a;}
.vitrine-bio-rows{display:flex;flex-direction:column;gap:8px;margin:14px 0;}
.bio-narrative-title{font-size:16px;margin:18px 0 4px;color:var(--text);}
#vitrine-room-body .bio-narrative-title{font-family:'Fraunces',serif;font-weight:600;font-size:18px;}
.member-presentation-header{text-align:center;padding-bottom:8px;}
.member-bio-header{display:flex;align-items:center;justify-content:space-between;margin-top:14px;}
.member-bio-icons{display:flex;gap:6px;}
.member-bio-icon-btn{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;}
.member-bio-icon-btn:active{border-color:var(--honey);color:var(--honey);}
.member-bio-readview{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--text);line-height:1.6;margin-top:6px;white-space:pre-wrap;}

/* Indicateur "case remplie" (biographie + questions bio) : icône dorée + libellé doré. */
.member-field-done-icon{display:none;margin-left:6px;color:var(--honey);vertical-align:-2px;}
.member-field-done-icon.show{display:inline-flex;}
.modal-box label.is-filled, #member-shell label.is-filled{color:var(--honey);}
.chat-tier-shield{display:inline-flex;vertical-align:-3px;}
.chat-tier-shield svg{width:14px;height:14px;}
.member-presentation-name{margin-top:12px;font-size:19px;color:var(--honey);}
.bio-narrative-cover{width:100%;border-radius:16px;overflow:hidden;margin-top:14px;background:var(--bg-elev-2);}
.bio-narrative-cover img, .bio-narrative-cover video{width:100%;max-height:420px;object-fit:cover;display:block;}
.bio-narrative{margin:0 0 16px;display:flex;flex-direction:column;gap:0;}
.bio-narrative p{margin:0;font-size:13.5px;line-height:1.7;color:var(--text);padding:14px 0;display:flex;align-items:flex-start;gap:8px;}
.bio-narrative p svg{flex-shrink:0;margin-top:2px;color:var(--honey);}
.bio-narrative p b{display:block;color:var(--honey);font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-bottom:2px;}
.bio-narrative-divider{height:1px;background:var(--border);}
.bio-narrative-lead{font-size:15px !important;line-height:1.6 !important;font-style:italic;color:var(--text) !important;padding-bottom:16px !important;}
.vitrine-bio-row{font-size:12.5px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:12px;padding:9px 12px;}
.vitrine-bio-row .k{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;}
.vitrine-bio-row .v{color:var(--text);line-height:1.5;white-space:pre-wrap;}

/* votes par média (sous chaque photo/vidéo) */
.gallery-thumb-wrap{position:relative;}
.media-votes{position:absolute;right:4px;bottom:4px;display:flex;flex-direction:column;gap:6px;z-index:3;}
.media-vote-btn{
  flex-direction:column;display:flex;align-items:center;justify-content:center;gap:1px;
  background:none;border:none;color:#fff;font-size:8px;font-weight:700;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,0.6));
}
.media-vote-btn svg{width:13px;height:13px;}
.media-vote-btn.active{color:var(--honey);}
.media-vote-btn span{font-family:'JetBrains Mono',monospace;}
.media-heart-btn.active{border-color:var(--rose);color:var(--rose);}
.media-heart-icon{display:inline-flex;}
.media-heart-btn.active .media-heart-icon{color:var(--rose);}
.media-heart-icon.heart-pop{animation:heartPop .4s ease;}
@keyframes heartPop{
  0%{transform:scale(1);}
  35%{transform:scale(1.5);}
  60%{transform:scale(0.9);}
  100%{transform:scale(1);}
}
.media-fav-btn.active{border-color:var(--honey);color:var(--honey);}

/* commentaires — design premium */
.vitrine-comments{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);}
.vitrine-comments h4{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:800;color:var(--honey);letter-spacing:-0.01em;font-family:'Inter',sans-serif;margin-bottom:4px;}
.vitrine-comments h4 svg{width:15px;height:15px;flex-shrink:0;}
.comment-rules{font-size:11px;color:var(--text-muted);margin-bottom:12px;}
.comment-list{display:flex;flex-direction:column;gap:12px;max-height:280px;overflow-y:auto;margin-bottom:14px;padding-right:2px;}
.comment-card{
  display:flex;gap:11px;background:linear-gradient(155deg, var(--bg-elev) 0%, var(--bg-elev-2) 100%);
  border:1px solid var(--border);border-radius:16px;padding:13px 14px;box-shadow:0 3px 12px rgba(0,0,0,0.22);
  position:relative;
}
.comment-report-btn{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;font-size:12px;padding:6px 10px;color:var(--text-muted);}
.comment-report-btn:active{color:var(--rose);border-color:var(--rose);}
.comment-actions-row{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}
.comment-avatar{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;background:linear-gradient(140deg, var(--honey), #a9761f);
  color:#160f04;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;
  font-size:13px;font-weight:700;letter-spacing:0.02em;box-shadow:0 0 0 2px var(--bg-elev), 0 0 0 3px var(--honey);
}
.comment-body{flex:1;min-width:0;}
.comment-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;}
.comment-name{font-size:13px;font-weight:700;color:var(--honey);}
.comment-member-badge{display:inline-flex;align-items:center;margin-left:3px;vertical-align:-3px;}
.comment-member-badge svg{width:13px;height:13px;}
.comment-date{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--text-muted);white-space:nowrap;}
.comment-text{font-size:13.5px;line-height:1.55;color:var(--text);word-break:break-word;}
.comment-like-btn{background:none;border:none;color:var(--text-muted);font-size:11px;padding:0;margin-top:6px;display:inline-flex;align-items:center;gap:4px;}
.comment-like-btn svg{width:14px;height:14px;transition:transform .12s ease;}
.comment-like-btn.liked svg{transform:scale(1.15);}
.comment-like-btn.liked{color:var(--honey);}
.comment-reply-btn{background:none;border:none;color:var(--text-muted);font-size:11px;font-weight:600;padding:0;}
.comment-dislike-icon{background:none;border:none;color:var(--text-muted);padding:0;display:inline-flex;}
.comment-dislike-icon svg{width:14px;height:14px;}
.comment-like-btn.liked{color:var(--rose);}
.comment-form{display:flex;flex-direction:column;gap:8px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:14px;padding:12px;}
.comment-name-input{
  background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:8px;
  padding:9px 11px;font-size:13px;font-family:'Inter',sans-serif;
}
.comment-form textarea{min-height:56px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 11px;font-size:13px;font-family:'Inter',sans-serif;resize:vertical;}
.comment-form button{align-self:flex-end;min-width:120px;}

/* ---------- galerie payante ---------- */
.paid-summary{display:flex;gap:10px;margin-bottom:16px;}
.paid-summary > div{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center;}
.paid-summary .k{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;}
.paid-summary .v{font-size:18px;font-weight:700;color:var(--honey);}
.paid-add-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
.paid-add-row .btn{flex:1 1 calc(50% - 5px);min-width:120px;white-space:normal;}
.paid-items-list{display:flex;flex-direction:column;gap:16px;}
.paid-item-row{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;}
.paid-item-row .gallery-strip{margin-bottom:10px;grid-template-columns:repeat(auto-fill, minmax(90px,1fr));max-width:220px;}
.paid-thumb-tag{position:absolute;top:4px;left:4px;background:rgba(0,0,0,0.7);color:var(--text);font-family:'JetBrains Mono',monospace;font-size:8px;padding:2px 5px;border-radius:5px;letter-spacing:0.03em;text-transform:uppercase;}
.paid-lock-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--honey);background:rgba(10,8,5,0.22);}
.paid-item-price{position:absolute;bottom:4px;right:4px;background:rgba(0,0,0,0.75);color:var(--honey);font-family:'JetBrains Mono',monospace;font-size:10px;padding:2px 6px;border-radius:6px;}
.paid-item-desc{font-size:12.5px;color:var(--text);line-height:1.4;margin-bottom:8px;}
.paid-item-stats{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;}
.order-card{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px;}
.order-buyer{font-size:12.5px;font-weight:600;}
.order-contact{font-weight:400;color:var(--text-muted);}
.order-meta{font-size:10.5px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;margin-top:2px;}

/* ---------- contenu exclusif (vitrine, verrouillé) ---------- */
.exclusive-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(90px,1fr));gap:8px;}
.exclusive-thumb-wrap{display:flex;flex-direction:column;gap:4px;}
.exclusive-thumb{
  position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--bg-elev-2);
  border:1px solid var(--border);cursor:pointer;
}
.exclusive-thumb img, .exclusive-thumb video{width:100%;height:100%;object-fit:cover;display:block;}
.exclusive-blurred-img{filter:blur(5px) brightness(0.75) saturate(1.05);transform:scale(1.1);}
.exclusive-thumb video{filter:brightness(0.7);}
.exclusive-thumb-lock{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--honey);
  background:rgba(10,8,5,0.28);
}
.exclusive-thumb-price{
  position:absolute;bottom:4px;right:4px;background:rgba(0,0,0,0.75);color:var(--honey);
  font-family:'JetBrains Mono',monospace;font-size:9.5px;padding:2px 6px;border-radius:6px;
}
.exclusive-thumb-desc{font-size:10px;color:var(--text-muted);line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.exclusive-sales-badge{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:var(--honey);font-weight:600;}
.exclusive-sales-badge svg{width:10px;height:10px;}
.exclusive-video-wrap{grid-column:span 2;}
.exclusive-video-pair{display:flex;gap:4px;}
.exclusive-video-pair .exclusive-thumb{flex:1;}
.exclusive-teaser-thumb video{filter:none;}
.exclusive-blurred-video{filter:blur(9px) brightness(0.7) saturate(1.05);transform:scale(1.12);}

/* ---------- onglets galerie gratuite / exclusive dans la room ---------- */
.room-section-block{margin:18px 0;}
.room-section-title{color:var(--honey);font-family:'Inter',sans-serif;font-weight:800;font-size:16px;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.room-section-divider{height:1px;background:var(--border);margin:22px 0;}
#vitrine-room-body .room-section-title{font-family:'Fraunces',serif;font-weight:600;font-size:18px;}
#vitrine-room-body h3{font-family:'Fraunces',serif;font-weight:600;font-size:21px;}
/* évite que le contenu de la page pousse la largeur de l'écran (ex. cadenas video-pair, grilles) */
#my-tools-zone, .vitrine-modal, .modal-box{overflow-x:hidden;}

/* ---------- outils créatrice ---------- */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
.cal-cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);font-size:12px;position:relative;}
.cal-cell.empty{background:none;border:none;}
.cal-cell.today{border-color:var(--honey);color:var(--honey);font-weight:700;}
.cal-cell.has-note::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--honey);}
#notes-textarea{width:100%;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:12px;font-family:'Inter',sans-serif;font-size:13px;resize:vertical;}
.calc-display{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;text-align:right;font-family:'JetBrains Mono',monospace;font-size:22px;color:var(--honey);margin-bottom:8px;word-break:break-all;}
.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:280px;margin:0 auto;}
.calc-btn{aspect-ratio:1/1;max-height:52px;border-radius:9px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);font-size:14px;}
.calc-op{color:var(--honey);}
.calc-eq{background:var(--honey);color:#160f04;font-weight:700;}
.finance-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.finance-form select, .finance-form input{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:12.5px;}
.finance-form input#fin-label{flex:1;min-width:100px;}
.finance-form input#fin-amount{width:80px;}
.finance-form button{width:100%;}
.finance-list{display:flex;flex-direction:column;gap:8px;}
.finance-row{display:flex;justify-content:space-between;align-items:center;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;}
.finance-label{font-size:12.5px;display:block;}
.finance-date{font-size:9.5px;color:var(--text-muted);}
.finance-amount{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;}
.finance-amount.income{color:#5fd67a;}
.finance-amount.expense{color:#e06a6a;}
.advice-topics{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;margin-bottom:16px;padding-right:2px;}
.advice-topic-btn{display:flex;align-items:center;gap:8px;text-align:left;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;padding:11px 13px;color:var(--text);font-size:12.5px;}
.advice-topic-btn:active{border-color:var(--honey);}
.advice-chat{display:flex;flex-direction:column;gap:10px;}
.chat-bubble{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5;opacity:0;transform:translateY(6px);transition:opacity .3s, transform .3s;}
.chat-bubble.chat-user{align-self:flex-end;background:var(--honey);color:#160f04;border-bottom-right-radius:4px;opacity:1;transform:none;}
.chat-bubble.chat-bot{align-self:flex-start;background:var(--bg-elev-2);border:1px solid var(--border);border-bottom-left-radius:4px;}
.chat-bubble.chat-bot.show{opacity:1;transform:none;}

/* ---------- room-tabs : sous-menu horizontal scrollable (outils créatrice + showcase/bio) ---------- */
.room-tabs{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:14px;padding-bottom:2px;}
.room-tabs::-webkit-scrollbar{display:none;}
.room-tab-btn{display:inline-flex;align-items:center;flex-shrink:0;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:9px 14px;font-size:12.5px;white-space:nowrap;}
.room-tab-btn.active{background:var(--honey);color:#160f04;border-color:var(--honey);font-weight:600;}
.room-tab-panel{display:none;}
.room-tab-panel.active{display:block;}

/* ---------- outils v2 : navigation, icones, listes ---------- */
.icon-btn{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;}
.icon-btn:active{color:var(--honey);border-color:var(--honey);}
.icon-btn-labeled{display:flex;align-items:center;gap:5px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 12px;font-size:12px;white-space:nowrap;}

.cal-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.cal-nav-btn{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cal-nav-label{flex:1;text-align:center;color:var(--text);font-size:13px;font-weight:600;}
.cal-year-select{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 8px;font-size:11.5px;}

.note-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.note-form textarea{width:100%;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:10px;font-family:'Inter',sans-serif;font-size:13px;resize:vertical;}
.note-list{display:flex;flex-direction:column;gap:10px;}
.note-card{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;}
.note-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.note-card-date{font-size:9.5px;color:var(--text-muted);}
.note-card-actions{display:flex;gap:6px;}
.note-card-text{font-size:12.5px;color:var(--text);line-height:1.5;white-space:pre-wrap;}

.calc-save-row{display:flex;gap:8px;margin-top:12px;}
.calc-save-row input{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:12px;}
.calc-history-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:8px 11px;margin-bottom:6px;}
.calc-history-reason{display:block;font-size:11.5px;color:var(--text);}
.calc-history-expr{display:block;font-size:10px;color:var(--text-muted);}
.calc-history-date{font-size:9px;color:var(--text-muted);white-space:nowrap;}

.finance-row{gap:10px;}
.finance-amount{margin-left:auto;white-space:nowrap;}
.finance-actions{display:flex;gap:6px;flex-shrink:0;}

/* ---------- chat typing effect ---------- */
.chat-typing-dots{display:inline-flex;gap:3px;padding:4px 0;}
.chat-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:chatTypingBlink 1s infinite ease-in-out;}
.chat-typing-dots span:nth-child(2){animation-delay:.15s;}
.chat-typing-dots span:nth-child(3){animation-delay:.3s;}
.chat-header-status{display:inline-flex;align-items:center;gap:5px;}
.chat-header-status .chat-typing-dots span{background:var(--honey);}
@keyframes chatTypingBlink{0%,80%,100%{opacity:.3;}40%{opacity:1;}}
.chat-time{display:block;font-size:9px;opacity:.6;margin-top:4px;text-align:right;font-family:'JetBrains Mono',monospace;}
.chat-bubble.chat-user .chat-time{color:#160f04;}
.chat-lang-row{display:flex;align-items:center;gap:8px;}
.chat-lang-row > span{flex-shrink:0;}
.chat-lang-pills{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;flex:1;min-width:0;}
.chat-lang-pills::-webkit-scrollbar{display:none;}
.chat-lang-pill{flex-shrink:0;}
.chat-lang-pill{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);font-family:'JetBrains Mono',monospace;font-size:10px;padding:5px 8px;border-radius:999px;}
.chat-lang-pill.active{background:var(--honey);color:#160f04;border-color:var(--honey);}
.advice-search-row{display:flex;gap:8px;margin-bottom:14px;}
.advice-search-row input{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font-size:12.5px;}
.advice-suggestions{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.advice-suggestion-btn{display:flex;align-items:center;gap:8px;text-align:left;background:var(--bg-elev);border:1px solid var(--honey);border-radius:8px;padding:8px 11px;color:var(--text);font-size:12px;}
.daily-budget-box{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-bottom:18px;}
.daily-budget-result{margin-top:10px;font-size:13px;font-weight:600;line-height:1.5;}
.price-earn-row{display:flex;align-items:center;color:var(--honey);margin-bottom:6px;}
.price-google-link{display:flex;align-items:center;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;font-weight:400;font-size:11px;}
.tax-notice-box{margin-top:16px;padding:14px;background:rgba(224,168,58,0.08);border:1px solid rgba(224,168,58,0.3);border-radius:var(--radius-sm);}
.content-policy-reminder{background:rgba(224,106,106,0.1);border:1px solid rgba(224,106,106,0.35);border-radius:var(--radius-sm);padding:12px 14px;color:#e8a3a3;font-size:12px;line-height:1.55;margin-bottom:16px;}
.creator-contract-text{max-height:260px;overflow-y:auto;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;font-size:11.5px;line-height:1.65;color:var(--text-muted);margin-bottom:16px;white-space:pre-line;}
.currency-select-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.currency-select-row select{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 9px;font-size:11.5px;flex:1;min-width:140px;}
.currency-compare-box{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-top:12px;}
.currency-compare-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;color:var(--honey);font-weight:600;}
.currency-compare-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;}
.currency-compare-row{display:flex;justify-content:space-between;font-size:12px;padding:6px 4px;border-bottom:1px solid var(--border);}
.currency-compare-value{color:var(--text);font-family:'JetBrains Mono',monospace;}
.split-breakdown-box{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-bottom:18px;}
.banner-template-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px;}
.banner-template-btn{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:8px 14px;font-size:12.5px;}
.banner-template-btn:active{border-color:var(--honey);color:var(--honey);}
.banner-active-card{background:linear-gradient(135deg, var(--bg-elev-2), var(--bg-elev));border:1px solid var(--honey);border-radius:14px;padding:14px;margin-bottom:16px;}
.banner-active-head{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--honey);margin-bottom:8px;}
.banner-active-text{font-size:13.5px;line-height:1.55;color:var(--text);margin-bottom:8px;white-space:pre-wrap;}
.banner-active-meta{font-size:11px;color:var(--text-muted);margin-bottom:10px;}
.room-event-banner{
  display:flex;align-items:center;gap:12px;background:linear-gradient(135deg, var(--bg-elev-2), var(--bg-elev));
  border:1px solid var(--honey);border-radius:16px;padding:14px 16px;margin-bottom:16px;box-shadow:0 4px 16px rgba(0,0,0,0.25);
}
.room-event-banner-text{flex:1;font-size:13.5px;line-height:1.55;color:var(--text);white-space:pre-wrap;}
.room-event-banner-cta{flex-shrink:0;background:var(--honey);color:#1a1206;border:none;border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:700;white-space:nowrap;}
.split-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;padding:5px 0;}
.split-amount{font-family:'JetBrains Mono',monospace;font-weight:700;}
.legal-links-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:24px 0 8px;}
.legal-link-btn{background:none;border:none;color:var(--text-muted);font-size:10.5px;text-decoration:underline;text-underline-offset:2px;font-family:'JetBrains Mono',monospace;letter-spacing:.02em;}
.legal-link-btn:active{color:var(--honey);}
.report-link-btn{color:#e06a6a;}

/* ---------- burger menu + langue en dessous ---------- */
.burger-btn{background:none;border:1px solid var(--border);color:var(--text);width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;}
.topbar-msg-btn{background:none;border:1px solid var(--border);color:var(--honey);width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative;}
.topbar-msg-badge{position:absolute;top:-4px;right:-4px;background:var(--rose);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;}
.vitrine-lang-row{display:flex;justify-content:flex-end;padding:6px 24px 0;gap:10px;margin-top:18px;margin-bottom:0;}
#vitrine-shell .hero{padding-top:18px;padding-bottom:30px;}
#vitrine-shell .topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;}
#vitrine-shell .topbar .topbar-left{justify-self:start;}
#vitrine-shell .topbar .right{justify-self:end;}
#vitrine-shell #topbar-member-badge{justify-self:center;border:none !important;background:none !important;}
.burger-panel{
  position:fixed;top:0;right:0;height:100%;width:100%;max-width:100%;background:var(--bg-elev);
  border-left:1px solid var(--border);z-index:200;transform:translateX(100%);transition:transform .25s ease;
  padding:24px 20px;box-sizing:border-box;overflow-y:auto;
  display:flex;flex-direction:column;
}
.burger-panel.open{transform:translateX(0);}
.burger-close-btn{background:none;border:none;color:var(--text-muted);font-size:18px;margin-bottom:8px;}
.burger-panel-clock{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.04em;color:var(--text-muted);margin-bottom:16px;}
.burger-panel-head{margin:4px 0 22px;}
.burger-panel-logo{font-family:'Fraunces',serif;font-weight:700;font-size:20px;color:var(--honey);}
.burger-panel-tagline{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--text-muted);margin-top:5px;text-transform:uppercase;}
.burger-nav{display:flex;flex-direction:column;gap:4px;}
.burger-nav-item{
  text-align:left;background:none;border:none;color:var(--text);font-size:14px;padding:14px 12px;
  border-bottom:1px solid var(--border);font-family:'Inter',sans-serif;font-weight:600;border-radius:12px;
  display:flex;align-items:center;gap:10px;min-height:48px;
}
.burger-nav-item:active{color:var(--honey);background:var(--bg-elev-2);}
.burger-nav-item .burger-nav-icon{width:17px;flex-shrink:0;text-align:center;opacity:0.85;}
.burger-nav-primary{
  border:1px solid var(--honey) !important;background:var(--bg-elev-2) !important;color:var(--honey) !important;
  font-weight:700;margin-bottom:10px;
}
.burger-nav-section-label{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--text-muted);padding:16px 12px 6px;
}
#burger-theme-toggle{display:flex;align-items:center;gap:10px;}
#burger-theme-toggle .swatch{width:16px;height:16px;border-radius:50%;border:1px solid var(--border);flex-shrink:0;}
.faq-item{margin-bottom:16px;}
.faq-question{color:var(--honey);font-size:13px;font-weight:600;margin-bottom:5px;}
.faq-answer{color:var(--text-muted);font-size:12.5px;line-height:1.6;}
/* ---------- pages du menu (FAQ, règles/CGU/confidentialité/prix, candidature) : même signature éditoriale que la vitrine ---------- */
#faq-modal, #legal-modal, #apply-modal{
  background:
    radial-gradient(520px 320px at 8% -8%, color-mix(in srgb, var(--honey) 12%, transparent), transparent 65%),
    var(--bg-elev);
}
#faq-modal h3, #legal-modal h3, #apply-modal h3{
  font-family:'Fraunces',serif;font-weight:600;font-size:22px;letter-spacing:-0.005em;
  padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--border);
}
#faq-modal .faq-item{
  background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px 16px;transition:border-color .2s ease;
}
#faq-modal .faq-item:active{border-color:var(--honey);}
#faq-modal .faq-question{font-family:'Inter',sans-serif;font-size:13.5px;}
.audio-mode-tabs{display:flex;gap:8px;margin-bottom:10px;}
.audio-mode-btn{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:8px;font-size:11.5px;}
.audio-mode-btn.active{background:var(--honey);color:#160f04;border-color:var(--honey);font-weight:600;}
.audio-record-box{text-align:center;background:var(--bg-elev-2);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:20px;}
.audio-record-btn{width:64px;height:64px;border-radius:50%;background:var(--honey);color:#160f04;border:none;display:inline-flex;align-items:center;justify-content:center;}
.audio-record-btn svg{width:26px;height:26px;}
.audio-record-btn.recording{background:#e06a6a;animation:audioRecPulse 1.2s infinite;}
@keyframes audioRecPulse{0%{box-shadow:0 0 0 0 rgba(224,106,106,0.5);}70%{box-shadow:0 0 0 14px rgba(224,106,106,0);}100%{box-shadow:0 0 0 0 rgba(224,106,106,0);}}
.dual-upload-zone{display:flex;gap:8px;margin-top:12px;}
.dual-upload-btn{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:var(--bg-elev-2);border:1px dashed var(--border);border-radius:var(--radius-sm);
  padding:16px 10px;color:var(--text-muted);font-size:11px;text-align:center;cursor:pointer;
}
.dual-upload-btn:active{border-color:var(--honey);color:var(--honey);}
.dual-upload-btn input[type="file"]{display:none;}
.dual-upload-video .dual-upload-btn{border:1.5px dashed var(--honey);color:var(--honey);}
.dual-upload-photo .dual-upload-btn{border:1.5px dashed #3a5fcc;color:#5b7fe0;}
.dual-upload-filename{display:block;font-size:11px;color:var(--honey);margin-top:6px;word-break:break-all;}
.audio-thumb, .exclusive-audio-thumb{display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg, rgba(60,45,20,0.55), rgba(15,12,8,0.7));color:var(--honey);}
.audio-thumb svg, .exclusive-audio-thumb svg{width:26px;height:26px;}

/* ---------- ventes / facture ---------- */
.sale-order-row{display:flex;flex-direction:column;gap:8px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:12px;}
.sale-order-head{display:flex;justify-content:space-between;font-size:12.5px;}
.sale-order-head b{color:var(--text);}
.sale-split-row{display:flex;align-items:center;gap:8px;font-size:12px;}
.sale-split-row input{width:64px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:5px 7px;}
.invoice-paper{background:#fff;color:#111;border-radius:10px;padding:24px;font-family:'Inter',sans-serif;}
.invoice-paper h2{font-family:'Playfair Display',serif;font-size:20px;margin-bottom:4px;}
.invoice-paper .inv-meta{font-size:11px;color:#666;margin-bottom:18px;}
.invoice-paper table{width:100%;border-collapse:collapse;font-size:13px;margin:14px 0;}
.invoice-paper td{padding:6px 0;border-bottom:1px solid #eee;}
.invoice-paper .inv-total{font-weight:700;font-size:15px;}
@media print{
  body *{visibility:hidden;}
  #invoice-modal, #invoice-modal *{visibility:visible;}
  #invoice-modal{position:absolute;left:0;top:0;width:100%;max-width:100%;box-shadow:none;}
  .no-print{display:none !important;}
}

/* ---------- mise en avant (featured) ---------- */
.featured-card{border-color:var(--honey);box-shadow:0 0 0 1px var(--honey);}
.featured-badge{
  position:absolute;top:10px;left:10px;background:var(--honey);color:#160f04;
  font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;display:flex;align-items:center;
}
.featured-toggle-btn{margin-top:8px;}

/* ---------- signature de contrat ---------- */
.sig-canvas-wrap{background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--border);touch-action:none;}
#sig-canvas{display:block;width:100%;height:180px;cursor:crosshair;}
.sig-clear-btn{margin-top:8px;}
.contract-signed-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(95,214,122,0.12);color:#5fd67a;border:1px solid rgba(95,214,122,0.35);border-radius:999px;padding:5px 10px;font-size:11px;font-family:'JetBrains Mono',monospace;}

/* ---------- contact ---------- */
.contact{
  margin-top:56px;background:linear-gradient(155deg, var(--bg-elev-2), var(--bg-elev));border:1px solid var(--honey);border-radius:20px;
  padding:32px 26px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.contact h2{font-size:22px;}
#app-shell .contact h2{font-family:'Fraunces',serif;font-weight:600;}
.contact p{color:var(--text-muted);font-size:13.5px;margin-top:8px;max-width:420px;margin-left:auto;margin-right:auto;line-height:1.7;}
.contact .btn{max-width:280px;margin:18px auto 0;}
.contact .addr{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--honey);}

.foot{margin-top:34px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase;}

.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--bg-elev-2);border:1px solid var(--honey);color:var(--text);
  padding:10px 18px;border-radius:999px;font-size:13px;z-index:150;
  opacity:0;transition:opacity .25s, transform .25s;pointer-events:none;
  max-width:88%;text-align:center;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-6px);}
.toast.mock-purchase{border-color:#e0a832;border-width:2px;font-weight:700;padding:12px 22px;border-radius:14px;}

/* ---------------- Tout le site : menus par onglets en liste verticale, cartes en grille 3 colonnes ---------------- */
.my-tabs, .member-tabs{
  flex-direction:column;overflow-x:visible;overflow-y:visible;padding:0;
  border-bottom:none;gap:6px;
}
.my-tab-btn, .member-tab{
  width:100%;flex:none;text-align:left;border-radius:10px;
  padding:12px 14px;border-bottom:none;white-space:normal;
  background:var(--bg-elev-2);border:1px solid var(--border);
  transition:border-color .15s ease, background .15s ease, transform .1s ease;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.my-tab-btn.active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.member-tab.active{background:var(--honey);color:#1a1206;border-color:var(--honey);}
.tabs-arrows-row{display:none;}
.tabs-arrows-row-visible{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px;}
.tabs-slide-row{margin-top:24px;}

.creator-carousel-row{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;
  overflow-x:visible;scroll-snap-type:none;
}
.creator-carousel-row .model-card{flex:none;min-width:0;}
.carousel-arrow{display:none;}

/* Grille agence "Nos créatrices" : infos détaillées, donc on revient au glissement horizontal avec flèches, cartes plus larges et carrées. */
.agency-roster-row{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding-bottom:2px;
}
.agency-roster-row .model-card{flex:0 0 82%;max-width:340px;scroll-snap-align:start;}
.agency-roster-row .model-photo{aspect-ratio:1/1;}
.creator-carousel-nav .carousel-arrow{display:flex;}

@media (min-width: 900px){
  .burger-panel{
    left:0;right:auto;top:0;transform:none;width:240px;max-width:240px;
    border-left:none;border-right:1px solid var(--border);
  }
  .burger-close-btn{display:none;}
  #burger-menu-btn{display:none;}
  #app-shell, #my-profile-shell, #member-shell, #vitrine-shell{padding-left:240px;}
  .topbar{padding-left:260px;}
  .bottom-nav{padding-left:240px;}

  /* La page choisie s'affiche à côté du menu vertical (deux colonnes), pas en dessous. */
  #my-profile-body, #member-modal-body, #vitrine-room-body{
    display:grid;grid-template-columns:220px 1fr;align-items:start;gap:28px;
  }
  #my-profile-body > *, #member-modal-body > *, #vitrine-room-body > *{
    grid-column:1 / -1;
  }
  .tabs-slide-row{grid-column:1;}
  .my-tab-panel{grid-column:2;}
  .member-tabs{grid-column:1;margin-bottom:0;}
  #member-tab-body{grid-column:2;}
  .room-tabs{grid-column:1;margin-top:0;}
}

/* ---------------- LED doré léger : CTA "parler avec elle" (room) + bouton Enter (vitrine) ----------------
   Effet volontairement discret (pas de glow agressif) : léger défilement du dégradé sur le
   texte du CTA, et un fin reflet qui balaie le bouton Enter toutes les quelques secondes. */
.room-chat-cta-text{
  background:linear-gradient(90deg,var(--honey-deep),#f6dfa0,var(--honey-deep));
  background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:hmRoomCtaLed 4.5s ease-in-out infinite;
}
@keyframes hmRoomCtaLed{
  0%,100%{background-position:0% center;}
  50%{background-position:100% center;}
}
.vitrine-enter-btn{position:relative;overflow:hidden;}
.vitrine-enter-btn::after{
  content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.32), transparent);
  transform:skewX(-20deg);pointer-events:none;
  animation:hmEnterBtnShine 5.5s ease-in-out infinite;
}
@keyframes hmEnterBtnShine{
  0%{left:-60%;}
  30%{left:130%;}
  100%{left:130%;}
}

/* ---------------- Points LED clignotants (statut créatrice) ----------------
   En ligne = vert, hors ligne / slot en attente = rouge. Discret, pas agressif. */
.status-led-dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:5px;
  vertical-align:middle;transform:translateZ(0);
}
.status-led-dot.led-red{
  background:#ff5a5f;box-shadow:0 0 4px rgba(255,90,95,.75);
  animation:hmLedBlink 1.8s ease-in-out infinite;
}
.status-led-dot.led-green{
  background:#5fd67a;box-shadow:0 0 4px rgba(95,214,122,.75);
  animation:hmLedBlink 1.8s ease-in-out infinite;
}
@keyframes hmLedBlink{
  0%,100%{opacity:1;}
  50%{opacity:.3;}
}
.slot-corner-led{position:absolute;top:10px;right:10px;}
