/* 12/10 (patron) : cours privés — catalogue, fiche professeur, calendrier, salle de cours en visio */
.cours-hd .btn{margin-top:6px}
.pc-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;margin-bottom:18px}
.pc-naz{display:flex;flex-direction:column;gap:8px}.pc-demo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pc-how ol{margin:6px 0 0 18px;padding:0;line-height:1.75}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.pc{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:0!important;overflow:hidden;border:1px solid color-mix(in srgb,var(--pc) 35%,transparent)!important;transition:transform .15s,box-shadow .15s}
.pc:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.35),0 0 0 1px var(--pc)}
.pc-img{aspect-ratio:1/1;background:#0a0f1c center 18%/cover no-repeat;position:relative}
.pc-big .pc-img{aspect-ratio:16/11;background-position:center 30%}
.pc-live{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.72);color:#4ade80;font:700 11px system-ui;padding:3px 8px;border-radius:99px}
.pc-bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px}.pc-bd b{font-size:16px}.pc-big .pc-bd b{font-size:22px}
.pc-badge{align-self:flex-start;font:800 10.5px system-ui;letter-spacing:.4px;text-transform:uppercase;color:#0b1020;background:var(--pc,#f7c948);padding:3px 8px;border-radius:99px}
.pc-prix{font:800 17px system-ui;color:#f7c948}.pc-prix em{font:600 12px system-ui;color:#9aa4b8;font-style:normal;margin-left:6px}.pc-prix.big{font-size:24px;margin:8px 0}
.btn.demo{background:linear-gradient(135deg,#f7c948,#e8a400)!important;color:#0b1020!important;border:0!important;font-weight:800}
.pf{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:14px;margin-bottom:14px}
.pf-av{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.pf-stage{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:radial-gradient(120% 90% at 50% 20%,color-mix(in srgb,var(--pc) 30%,#101828),#05070d 70%)}
.pf-stage canvas{position:absolute;inset:0;width:100%;height:100%}.pf-load{position:absolute;inset:auto 0 12px 0;text-align:center;color:#9aa4b8;font-size:12px}
.pf-photo{width:100%;border-radius:12px;display:block}.pf-spec{font:700 15px system-ui;color:var(--pc)}.pf-prog{line-height:1.7;margin:4px 0 8px 18px;padding:0}
.pf-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cal-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0}
.cal-wrap{overflow-x:auto}.cal{border-collapse:collapse;width:100%;min-width:620px;font-size:12.5px}.cal th{font-weight:600;color:#9aa4b8;padding:4px;text-align:center}
.cal td{padding:2px;text-align:center}.slot{display:block;cursor:pointer}.slot input{position:absolute;opacity:0;width:0}
.slot span{display:block;padding:5px 0;border-radius:7px;border:1px solid #2a3550;background:#0e1526}.slot input:checked+span{background:#f7c948;color:#0b1020;font-weight:800;border-color:#f7c948}
.slot:hover span{border-color:#f7c948}.slot.off{color:#3a4560;padding:5px 0}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl td,.tbl th{padding:7px 6px;border-bottom:1px solid #1f2940;text-align:left}
/* ---------- salle de cours ---------- */
.salle{display:flex;flex-direction:column;gap:8px;min-height:calc(100vh - 90px)}
.sl-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:#0b1222;border:1px solid #1f2a44}
.sl-top b{font-size:15px}.sl-rec{color:#ef4444;font:800 12px system-ui;animation:slrec 1.6s infinite}@keyframes slrec{50%{opacity:.35}}
.sl-timer{margin-left:auto;font:800 20px ui-monospace,Consolas,monospace;color:#f7c948;letter-spacing:1px}.sl-timer.bas{color:#ef4444}
.sl-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:10px;flex:1;min-height:560px}
.sl-ecran{position:relative;border-radius:12px;overflow:hidden;border:2px solid #1f2a44;background:#070b16;display:flex;flex-direction:column}
.sl-lab{position:absolute;left:10px;top:8px;z-index:2;background:rgba(0,0,0,.65);color:#e6ecff;font:700 11.5px system-ui;padding:3px 9px;border-radius:99px;pointer-events:none}
.sl-ecran iframe{flex:1;width:100%;border:0;min-height:520px;background:#070b16}
.sl-side{display:flex;flex-direction:column;gap:8px;min-height:0;height:calc(100vh - 150px);min-height:560px}.sl-side>.sl-tile,.sl-side>.sl-plan,.sl-side>.sl-in{flex:none}
.sl-tile{position:relative;border-radius:12px;overflow:hidden;background:radial-gradient(120% 100% at 50% 15%,color-mix(in srgb,var(--pc) 28%,#121a2e),#05070d 75%);border:2px solid #1f2a44;transition:border-color .2s,box-shadow .2s}
.sl-prof{aspect-ratio:4/3}.sl-prof canvas{position:absolute;inset:0;width:100%;height:100%}
body.sl-parle .sl-prof{border-color:#4ade80;box-shadow:0 0 0 2px rgba(74,222,128,.25)}
.sl-moi{aspect-ratio:16/6}.sl-moi video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.sl-av{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.sl-av img,.sl-av span{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#1e293b;display:flex;align-items:center;justify-content:center;font:800 26px system-ui;color:#e6ecff}
.sl-name{position:absolute;left:8px;bottom:7px;background:rgba(0,0,0,.65);color:#fff;font:700 11.5px system-ui;padding:2px 8px;border-radius:6px}
.sl-talk{position:absolute;right:8px;top:7px;background:rgba(0,0,0,.6);color:#a7f3d0;font:700 11px system-ui;padding:2px 8px;border-radius:6px}.sl-talk:empty{display:none}
.sl-cambtn{position:absolute;right:8px;bottom:6px;background:rgba(0,0,0,.6);border:1px solid #334155;color:#fff;border-radius:8px;cursor:pointer;padding:2px 7px}
.sl-plan{font-size:12px;background:#0b1222;border:1px solid #1f2a44;border-radius:10px;padding:6px 10px;max-height:92px;overflow:auto}.sl-plan:empty{display:none}
.sl-plan ol{margin:4px 0 0 16px;padding:0;color:#7d879b}.sl-plan li{background:none!important;border:0!important;padding:0!important;margin:1px 0!important}.sl-plan li.p-on{color:#f7c948;font-weight:700}.sl-plan li.p-ok{color:#4ade80}
.sl-chat{flex:1;min-height:140px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:4px 2px}
.sl-b{max-width:92%;padding:7px 10px;border-radius:12px;font-size:13.5px;line-height:1.45}.sl-b b{display:block;font-size:11px;opacity:.75;margin-bottom:1px}
.sl-b.pr{background:#122036;border:1px solid #1e3352;align-self:flex-start}.sl-b.el{background:#2a2410;border:1px solid #4d4116;align-self:flex-end}
.sl-b.pend span{animation:slrec 1s infinite}.sl-b.err{border-color:#7f1d1d;background:#2a0f12}
.sl-in{display:flex;gap:6px;align-items:center}.sl-in input{flex:1;min-width:0}
.sl-mic{width:46px;height:46px;border-radius:50%;border:0;background:#1f2a44;color:#fff;font-size:20px;cursor:pointer;flex:none}.sl-mic.on{background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.25);animation:slrec 1.2s infinite}
.sl-go{position:fixed;inset:0;z-index:60;background:rgba(2,5,12,.82);display:flex;align-items:center;justify-content:center;padding:16px}.sl-go[hidden]{display:none}
.sl-go .card{max-width:520px;text-align:center}.sl-go img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--pc)}.sl-go ul{text-align:left}
.sl-endact{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
@media (max-width:900px){.pc-hero,.pf{grid-template-columns:1fr}.sl-grid{grid-template-columns:1fr}.sl-ecran iframe{min-height:360px}.sl-prof{aspect-ratio:16/10}}
html[data-theme=light] .sl-top,html[data-theme=light] .sl-plan{background:#f4f6fb;border-color:#d5dbe7}html[data-theme=light] .sl-b.pr{background:#eef4ff;border-color:#c9d8f3}
html[data-theme=light] .sl-b.el{background:#fff7e0;border-color:#efd99a}html[data-theme=light] .slot span{background:#f4f6fb;border-color:#c9d0dd}html[data-theme=light] .pc-prix{color:#8a5a00}
.pc-prep{position:absolute;right:8px;top:8px;background:rgba(2,5,12,.72);color:#cbd5e1;font:600 10.5px system-ui;padding:3px 8px;border-radius:99px;border:1px solid #334155}
/* 12/10 : barre de contrôle de la visio (comme Meet / Zoom), partage d'écran de l'élève, cadrage webcam 16:9 */
.sl-ctrl{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px;border-radius:14px;background:#0b1222;border:1px solid #1f2a44}
.sl-cb{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:86px;padding:7px 12px;border-radius:12px;border:1px solid #2a3550;background:#141d33;color:#e6ecff;cursor:pointer;font:600 11.5px system-ui}
.sl-cb span{font-size:20px;line-height:1}.sl-cb em{font-style:normal}.sl-cb:hover{border-color:#f7c948}
.sl-cb.on{background:#7f1d1d;border-color:#ef4444}.sl-cb.sl-share{background:#123a2a;border-color:#22c55e}.sl-cb.sl-share.on{background:#14532d;box-shadow:0 0 0 3px rgba(34,197,94,.3)}
.sl-cb.sl-quit{background:#b91c1c;border-color:#ef4444}.sl-cb.sl-quit:hover{background:#dc2626}
.sl-voit{position:absolute;right:10px;top:8px;z-index:3;background:rgba(20,83,45,.95);color:#fff;font:700 12px system-ui;padding:4px 6px 4px 10px;border-radius:99px;display:flex;gap:8px;align-items:center}.sl-voit[hidden]{display:none}
.sl-voit button{background:#fff;color:#14532d;border:0;border-radius:99px;font:700 11px system-ui;padding:2px 9px;cursor:pointer}
.sl-moi video.ecran{transform:none;object-fit:contain;background:#000}
.sl-prof{aspect-ratio:16/9!important}
html[data-theme=light] .sl-ctrl{background:#f4f6fb;border-color:#d5dbe7}html[data-theme=light] .sl-cb{background:#fff;color:#0f172a;border-color:#c9d0dd}
.salle{height:calc(100vh - 78px);min-height:620px}.sl-grid{min-height:0!important}.sl-ecran iframe{min-height:0!important}.sl-side{height:auto!important;min-height:0!important}.sl-prof{flex:none}

/* 12/10 relecture : tout tient à l'écran (1366×768 → 1920×1080), barre visio comprise ; plan sur une ligne */
.salle{height:calc(100vh - 76px)!important;min-height:0!important;display:flex;flex-direction:column;gap:6px;overflow:hidden}
.sl-top{padding:5px 10px!important;flex:none}.sl-grid{flex:1 1 auto;min-height:0!important;grid-template-columns:minmax(0,1fr) clamp(300px,24vw,380px)!important}
.sl-ecran{min-height:0}.sl-ecran iframe{height:100%}
.sl-side{min-height:0!important;overflow:hidden}.sl-moi{aspect-ratio:16/5!important}
.sl-plan{max-height:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 10px!important;color:#f7c948;font-weight:700}
.sl-chat{min-height:60px!important}.sl-ctrl{flex:none;padding:5px!important}.sl-cb{padding:5px 10px!important;min-width:76px!important}
@media (max-height:800px){.sl-cb span{font-size:17px}.sl-cb{font-size:11px}}

/* 13/10 (patron) : slogans accrocheurs avec le logo SIGHT */
.pc-slogan,.pf-slogan{display:flex;align-items:center;gap:10px;margin:8px 0 4px;padding:8px 10px;border-radius:10px;background:linear-gradient(90deg,rgba(247,201,72,.10),rgba(247,201,72,0));border-left:3px solid var(--pc,#f7c948);font-size:12.5px;line-height:1.35}
.pc-slogan img,.pf-slogan img{height:22px;width:auto;flex:none;filter:drop-shadow(0 0 6px rgba(247,201,72,.35))}
.pc-slogan i,.pf-slogan i{font-style:italic;color:inherit;opacity:.85}.pc-slogan b,.pf-slogan b{color:#f7c948;font-weight:800}
.pf-slogan{font-size:15px;padding:10px 14px}.pf-slogan img{height:30px}
.pc-slogan.big{font-size:16px;padding:12px 16px;max-width:820px}.pc-slogan.big img{height:34px}
html[data-theme="light"] .pc-slogan b,html[data-theme="light"] .pf-slogan b{color:#a16207}
/* 13/10 soir (patron : « la fenêtre de partage d'écran et la fenêtre de caméra doivent être plus grandes ») */
.sl-grid{grid-template-columns:minmax(0,1fr) clamp(340px,30vw,520px)!important}
.sl-moi{aspect-ratio:4/3!important}.sl-moi:has(video.ecran){aspect-ratio:16/10!important}
.sl-ecran-eleve{aspect-ratio:16/10;position:relative;border-radius:12px;overflow:hidden;border:2px solid #1f2a44;background:#000}.sl-ecran-eleve video{width:100%;height:100%;object-fit:contain}
.sl-ecran-eleve.grand{position:fixed!important;inset:70px 24px 24px 24px!important;z-index:60;aspect-ratio:auto!important;box-shadow:0 20px 60px rgba(0,0,0,.7)}/* 15/10 (patron : « Formation : les professeurs gratuits sont en transparence — revoir les cartes, pour les deux thèmes ») :
   cartes des professeurs à fond PLEIN (plus de fond d'écran qui transparaît), bouton démo sur 2 lignes au lieu d'être coupé, thème clair lisible */
.pc{background:linear-gradient(180deg,#0f1628,#0a0f1c)}.pc-free .demo{white-space:normal;text-align:center;line-height:1.25}
html[data-theme=light] .pc.card{background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.08)}html[data-theme=light] .pc:hover{box-shadow:0 10px 24px rgba(15,23,42,.14),0 0 0 1px var(--pc)}
html[data-theme=light] .pc-bd b{color:#0f172a}html[data-theme=light] .pc-prix em{color:#4a5466}
html[data-theme=light] .pc-live{background:var(--voile-photo);color:#5eeaa0}html[data-theme=light] .pc-prep{background:var(--voile-photo);color:#e2e8f0}
html[data-theme=light] .pf-spec{color:color-mix(in srgb,var(--pc) 45%,#0f172a)}html[data-theme=light] .cal th{color:#4a5466}html[data-theme=light] .slot.off{color:#8a94a6}
html[data-theme=light] .pc-slogan i,html[data-theme=light] .pf-slogan i{color:#1e293b;opacity:1}html[data-theme=light] .pc-slogan,html[data-theme=light] .pf-slogan{color:#1e293b}

/* 15/10 (patron) : distinction par produit financier — étiquettes des cartes + filtre du catalogue ; confirmation de réservation */
.pc-mk{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0}.pc-mk i{font:600 10.5px system-ui;font-style:normal;padding:2px 7px;border-radius:99px;background:rgba(148,163,184,.14);color:#cbd5e1;white-space:nowrap}
.pc-fms{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 12px}.pc-fms b{font-size:13px;margin-right:4px}
.pc-fm{padding:5px 12px;border-radius:99px;border:1px solid #2a3654;color:inherit;text-decoration:none;font:600 13px system-ui;background:rgba(15,22,40,.6)}.pc-fm.on,.pc-fm:hover{border-color:#f7c948;color:#ffe08a;background:rgba(247,201,72,.12)}
.pc-conf{display:flex;gap:14px;align-items:center;border:1px solid color-mix(in srgb,var(--pc,#f7c948) 50%,transparent);background:linear-gradient(180deg,#0f1628,#0a0f1c);border-radius:14px;padding:12px 14px;margin:0 0 12px}
.pc-conf img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:2px solid var(--pc,#f7c948)}.pc-conf p{margin:0 0 6px;line-height:1.5}.pc-conf .btn{margin-right:6px}
html[data-theme=light] .pc-mk i{background:#eef2f7;color:#334155}html[data-theme=light] .pc-fm{background:#fff;border-color:#cbd5e1}html[data-theme=light] .pc-fm.on{color:#7a5a00;background:#fff6d6}
html[data-theme=light] .pc-conf{background:#fff}/* 02/11 (patron : « le logo doit apparaître en haut, pour montrer que ce sont des employés de la plateforme… retrouver l'identité par l'environnement ») :
   filigrane œil Sight + pastille SIGHT sur l'écran de cours et la tuile du Visionnaire (jamais sur le visage), fond nuit/or à yeux très discrets. Statique, sans animation. */
.salle{border-radius:22px;padding:6px;background:radial-gradient(70% 55% at 85% -5%,rgba(247,201,72,.10),transparent 70%),radial-gradient(60% 50% at 0% 105%,rgba(106,168,255,.07),transparent 70%),linear-gradient(rgba(7,11,22,.93),rgba(7,11,22,.95)),url(/static/yeux-motif.svg) center top/520px auto,#070b16}
.sl-ecran::before,.sl-prof::before{content:"SIGHT";position:absolute;z-index:6;pointer-events:none;display:flex;align-items:center;gap:7px;padding:3px 11px 3px 6px;border-radius:999px;font:800 10.5px/1 system-ui;letter-spacing:.16em;color:#f7c948;background:rgba(7,11,22,.62) url(/static/sight-eye.png) 6px 50%/22px auto no-repeat;padding-left:34px;border:1px solid rgba(247,201,72,.4);box-shadow:0 2px 10px rgba(0,0,0,.35);backdrop-filter:blur(3px)}
.sl-ecran::before{top:8px;right:12px}
.sl-prof::before{top:8px;left:8px;font-size:9px;padding:3px 9px 3px 28px;background-size:18px auto;background-position:5px 50%}
.sl-ecran::after{content:"";position:absolute;z-index:5;pointer-events:none;right:14px;bottom:14px;width:92px;height:54px;background:url(/static/sight-eye.png) center/contain no-repeat;opacity:.12}
.sl-top{background:linear-gradient(90deg,rgba(247,201,72,.12),rgba(11,18,34,.92) 38%);border-color:rgba(247,201,72,.28)}
.sl-ecran,.sl-tile{border-color:rgba(247,201,72,.22)}
html[data-theme=light] .salle{background:linear-gradient(rgba(244,246,251,.94),rgba(244,246,251,.96)),url(/static/yeux-motif.svg) center top/520px auto,#f4f6fb}
html[data-theme=light] .sl-ecran::before,html[data-theme=light] .sl-prof::before{background-color:rgba(255,255,255,.8);background-image:url(/static/sight-eye-clair.png);color:#8a6410;border-color:rgba(161,98,7,.4)}
html[data-theme=light] .sl-ecran::after{background-image:url(/static/sight-eye-clair.png);opacity:.16}
html[data-theme=light] .sl-top{background:linear-gradient(90deg,rgba(247,201,72,.2),#f4f6fb 40%)}
