/* Aperçus des fonctionnalités futures : présence visible, aucune capacité simulée. */
.sidebar-future-actions { flex:none; padding:0 .65rem .55rem; }
.sidebar-future-divider { display:block; height:1px; margin:.55rem .35rem; background:var(--apple-outline,#e2e7ef); }
body.freev-apple .sidebar-future-action { display:flex; align-items:center; width:calc(100% - .35rem); min-height:43px; margin:.12rem .175rem; padding:.63rem .85rem; gap:.82rem; border:0; border-radius:11px; color:var(--apple-muted,#6e6e73); background:transparent; font:600 .81rem/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:left; cursor:pointer; transition:background-color .18s ease,color .18s ease,transform .18s ease; }
body.freev-apple .sidebar-future-action:hover { background:var(--apple-hover,#f2f4f8); color:var(--apple-ink,#1d1d1f); }
.sidebar-future-action:focus-visible { outline:3px solid var(--apple-accent,#2764e7); outline-offset:2px; }
.sidebar-future-action small { display:block; margin-top:2px; color:var(--apple-muted,#7a8798); font-size:.66rem; font-weight:600; }
body.freev-apple .sidebar-future-action i { display:grid; place-items:center; flex:none; width:29px; height:29px; color:#8b96a7; font-size:1rem; text-align:center; }
body.freev-apple .sidebar-future-action i.buddy-sidebar-face { position:relative; display:block; width:29px; height:29px; border-radius:10px; background:linear-gradient(145deg,#315cf5,#24b69b); box-shadow:0 4px 10px #2469c635,inset 0 1px #ffffff80; transform:none; }
.buddy-sidebar-face::before,.buddy-sidebar-face::after { content:''; position:absolute; top:9px; width:4px; height:8px; border-radius:50%; background:#fff; transform:rotate(-17deg); }
.buddy-sidebar-face::before { left:9px; }.buddy-sidebar-face::after { right:9px; }
body.freev-apple .sidebar-future-action:hover i.buddy-sidebar-face { box-shadow:0 7px 15px #2469c650,inset 0 1px #ffffff80; transform:translateY(-1px); }
@media (min-width:769px) { .sidebar-future-actions { padding:0 .35rem .5rem; } .sidebar-future-divider { margin:.65rem auto; width:36px; } body.freev-apple .sidebar-future-action { width:50px; min-height:49px; margin:.19rem auto; padding:0; justify-content:center; border:1px solid transparent; border-radius:15px; } body.freev-apple .sidebar-future-action > span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } }
@media (max-width:768px) { .sidebar-future-divider { margin:.6rem .8rem; } body.freev-apple .sidebar-future-action { display:flex; width:calc(100% - .3rem); min-height:49px; margin:.15rem; padding:.65rem .85rem; justify-content:flex-start; gap:.82rem; } }

.future-feature-dialog { position:fixed; inset:0; width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:auto; border:1px solid var(--apple-outline,#e4e9f0); border-radius:28px; color:var(--apple-ink,#1d1d1f); background:var(--apple-surface,#fff); box-shadow:0 32px 90px #0a183459,0 3px 14px #0a18341c; }
.future-feature-dialog[open] { animation:futureFeatureEnter .38s cubic-bezier(.2,.8,.2,1) both; }
.future-feature-dialog::backdrop { background:#0b183b9c; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.future-feature-shell { position:relative; padding:30px 30px 26px; text-align:center; overflow:hidden; }
.future-feature-shell::before { content:''; position:absolute; top:0; left:14%; right:14%; height:3px; background:linear-gradient(90deg,transparent,#315cf5,#26bfa9,transparent); }
.future-feature-close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:35px; height:35px; padding:0; border:1px solid var(--apple-outline,#e4e9f0); border-radius:11px; color:var(--apple-muted,#718094); background:var(--apple-surface,#fff); cursor:pointer; }
.future-feature-close:hover { background:var(--apple-hover,#f3f5f8); }
.future-feature-content[hidden] { display:none !important; }
.future-feature-art { position:relative; display:grid; place-items:center; width:156px; height:156px; margin:8px auto 20px; }
.future-feature-art::before { content:''; position:absolute; inset:12px; border-radius:50%; background:radial-gradient(circle,#5ecbe75e,transparent 70%); filter:blur(10px); }
.future-feature-orbit { position:absolute; inset:8px; border:1px solid #93cced85; border-radius:50%; animation:futureFeatureOrbit 15s linear infinite; }
.future-feature-orbit::after { content:''; position:absolute; top:7px; left:16px; width:7px; height:7px; border-radius:50%; background:#33c9ad; box-shadow:0 0 12px #33c9ad; }
.future-feature-face { position:relative; width:112px; height:112px; border-radius:44%; background:radial-gradient(ellipse 6px 12px at 38% 42%,#fff 96%,transparent 100%),radial-gradient(ellipse 6px 12px at 62% 42%,#fff 96%,transparent 100%),linear-gradient(135deg,#315cf5,#34d399); box-shadow:0 15px 30px #166eb34d,inset 0 2px 8px #ffffff69; animation:futureFeatureFloat 4.5s ease-in-out infinite; }
.future-feature-shop-icon { display:grid; place-items:center; width:100px; height:100px; margin:30px auto 28px; border:1px solid #cfe4ed; border-radius:28px; color:#1a9d8a; background:linear-gradient(145deg,#eff8ff,#e4f7ef); font-size:2.4rem; box-shadow:0 15px 32px #1673ae29; }
.future-feature-dressing-icon { color:#5c55d9; background:linear-gradient(145deg,#f4f4ff,#e7f7f5); border-color:#d9ddf4; }
.future-feature-eyebrow { display:block; color:#138f80; font-size:.69rem; font-weight:850; letter-spacing:.15em; }
.future-feature-content h2 { margin:9px 0 11px; font-size:clamp(1.5rem,4vw,1.92rem); line-height:1.13; letter-spacing:-.045em; }
.future-feature-content p { margin:0; color:var(--apple-muted,#66768b); font-size:.88rem; line-height:1.55; }
.future-feature-promise { display:flex; align-items:center; gap:10px; margin:20px 0; padding:12px 14px; border:1px solid var(--apple-outline,#e5edf5); border-radius:13px; background:var(--apple-hover,#f7f9fc); color:var(--apple-ink,#1d1d1f); font-size:.78rem; line-height:1.4; text-align:left; }
.future-feature-promise i { color:#139b81; }
.future-feature-status { display:block; margin:18px 0 0; color:#177d71; font-size:.79rem; font-weight:760; }
.future-feature-done { width:100%; min-height:46px; margin-top:23px; border:0; border-radius:13px; color:#fff; background:linear-gradient(105deg,#245fe4,#158baf); box-shadow:0 9px 20px #1d5ed02e; font:inherit; font-size:.88rem; font-weight:760; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.future-feature-done:hover { transform:translateY(-2px); box-shadow:0 13px 24px #1d5ed03d; }
.future-feature-done:active { transform:scale(.98); }
.future-feature-dialog button:focus-visible { outline:3px solid #2764e7; outline-offset:3px; }
body.dark-mode .future-feature-shop-icon { background:linear-gradient(145deg,#203450,#1c3b3d); border-color:#3e6475; }
@keyframes futureFeatureEnter { from { opacity:0; transform:translateY(16px) scale(.95); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes futureFeatureOrbit { to { transform:rotate(360deg); } }
@keyframes futureFeatureFloat { 50% { transform:translateY(-6px) rotate(2deg); } }
@media (max-width:420px) { .future-feature-shell { padding:26px 22px 22px; } .future-feature-art { width:134px; height:134px; margin-bottom:14px; } .future-feature-face { width:100px; height:100px; } }
@media (prefers-reduced-motion:reduce) { .future-feature-dialog,.future-feature-dialog * { animation:none !important; transition:none !important; } }
