
:root{
  --bg:#fbfaf7;--paper:#ffffff;--paper2:#f5f1eb;--ink:#1e1d1b;--muted:#6d6861;
  --line:#e9e3da;--accent:#7b3f34;--accent2:#a56a58;--accent-soft:#f2e6df;
  --success:#366b50;--danger:#9f3f39;--shadow:0 20px 60px rgba(40,32,27,.08);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:30;background:rgba(251,250,247,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(233,227,218,.75)}
.nav-shell{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{border:0;background:none;display:flex;align-items:center;gap:9px;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.025em}.brand-symbol{width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:800}.brand b{color:var(--accent)}
.desktop-nav{display:flex;gap:3px}.nav-link,.btn-quiet{border:0;background:transparent;color:#5d5852;padding:10px 13px;border-radius:12px}.nav-link:hover,.btn-quiet:hover{background:var(--paper2);color:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:5px}.btn{border:1px solid transparent;border-radius:12px;padding:11px 16px;font-weight:650;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(123,63,52,.17)}.btn-primary:hover{background:#68352d}.btn-outline{background:transparent;border-color:#d9cec4;color:#3c3530}.btn-outline:hover{background:#fff}.btn-danger-outline{background:transparent;border-color:#e6c3bf;color:var(--danger)}.btn-small{padding:8px 11px;font-size:13px}.btn-lg{padding:14px 19px}.btn-full{width:100%}.mobile-menu{display:none;border:0;background:transparent;font-size:22px}.mobile-panel{border-top:1px solid var(--line);padding:12px 20px;background:var(--bg)}.mobile-panel button{display:block;width:100%;padding:12px;border:0;background:transparent;text-align:left;border-radius:10px}.mobile-panel button:hover{background:var(--paper2)}
.view{display:none;min-height:68vh}.view.active{display:block}.overline,.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:800;color:var(--accent2)}.hero{padding:92px 0 70px;display:grid;grid-template-columns:1.03fr .97fr;gap:70px;align-items:center}.hero h1{font-size:clamp(52px,6vw,76px);line-height:.98;letter-spacing:-.062em;margin:14px 0 22px;max-width:720px}.hero h1 span{color:var(--accent)}.hero-copy>p{font-size:18px;line-height:1.7;color:var(--muted);max-width:680px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.trust-line{display:flex;gap:18px;flex-wrap:wrap;color:#777168;font-size:13px;margin-top:22px}.trust-line span:before{content:"✓";color:var(--success);font-weight:800;margin-right:6px}
.hero-product{background:linear-gradient(145deg,#e8d5c8,#b58470);padding:35px;border-radius:34px;box-shadow:0 32px 80px rgba(82,54,43,.15)}.app-mock{background:#fff;border-radius:24px;padding:27px;box-shadow:0 12px 40px rgba(45,34,28,.12)}.mock-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6f6861}.mock-logo{display:flex;align-items:center;gap:8px;font-weight:700;color:#312c28}.mock-logo span{width:22px;height:22px;border-radius:7px;background:var(--accent);display:inline-flex;color:#fff;align-items:center;justify-content:center}.security-pill,.soft-pill{background:#f3ede7;padding:7px 10px;border-radius:999px;font-size:12px;color:#665a52}.mock-main h3{font-size:31px;line-height:1.08;letter-spacing:-.04em;margin:38px 0 23px}.mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mock-grid>div{border:1px solid var(--line);background:#fcfaf7;padding:16px;border-radius:16px;display:flex;flex-direction:column;min-height:120px}.mock-grid span{color:var(--accent2);font-size:11px;font-weight:800}.mock-grid b{margin-top:15px}.mock-grid small{color:var(--muted);margin-top:5px}
.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff;border-radius:22px;margin-bottom:78px;overflow:hidden}.proof-strip>div{padding:22px 25px}.proof-strip>div+div{border-left:1px solid var(--line)}.proof-strip b{display:block;margin-bottom:5px}.proof-strip span{color:var(--muted);font-size:14px}
.landing-section{padding:70px 0}.section-title{max-width:760px;margin-bottom:30px}.section-title.centered{text-align:center;margin-left:auto;margin-right:auto}.section-title h2,.two-up h2,.cta-panel h2{font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:-.045em;margin:10px 0 14px}.section-title p,.two-up p{color:var(--muted);font-size:16px;line-height:1.65}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.audience-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.aud-icon{width:40px;height:40px;background:var(--accent-soft);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:800}.audience-grid h3{margin:23px 0 9px}.audience-grid p{color:var(--muted);line-height:1.6;margin:0}
.landing-alt{background:#f1ece5;border-top:1px solid #e6ded5;border-bottom:1px solid #e6ded5}.two-up{padding:78px 0;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.identity-demo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.identity-demo>div{background:#fff;border-radius:16px;padding:20px;display:flex;flex-direction:column}.identity-demo span{font-size:23px}.identity-demo b{margin-top:18px}.identity-demo small{color:var(--muted);margin-top:4px}.text-link{border:0;background:none;color:var(--accent);font-weight:700;padding:0}.room-grid,.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.room-card,.content-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;min-height:230px}.room-card.premium{background:linear-gradient(180deg,#fff,#faf3ef);border-color:#e3d0c7}.card-kicker{display:flex;justify-content:space-between;align-items:center;gap:10px}.tag{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:#6a615a}.tag.premium{border-color:#dcc1b5;color:var(--accent);background:#f8eeea}.room-card h3,.content-card h3{font-size:20px;letter-spacing:-.025em;margin:22px 0 10px}.room-card p,.content-card p{color:var(--muted);line-height:1.58;margin:0;flex:1}.room-meta{display:flex;justify-content:space-between;align-items:center;margin-top:22px;color:#69615b;font-size:13px}.center-actions{text-align:center;margin-top:25px}.empty-card{grid-column:1/-1;border:1px dashed #d9d0c7;background:#fff;padding:34px;border-radius:20px;color:var(--muted);text-align:center}
.cta-panel{margin-top:65px;margin-bottom:70px;padding:34px 38px;background:#201f1d;color:#fff;border-radius:28px;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta-panel h2{font-size:38px;max-width:780px}.cta-panel .eyebrow{color:#d7ad9d}
.page-head{padding:64px 0 28px;display:flex;justify-content:space-between;gap:30px;align-items:end}.page-head.compact{padding-bottom:35px}.page-head h1,.app-head h1{font-size:46px;line-height:1.04;letter-spacing:-.05em;margin:9px 0 10px;max-width:750px}.page-head p{color:var(--muted);max-width:730px;line-height:1.6}.search-wrap input{width:310px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px 15px}
.category-row{display:flex;gap:7px;overflow:auto;padding-bottom:18px}.category-btn,.segmented button{border:1px solid var(--line);background:#fff;color:#5f5953;padding:9px 13px;border-radius:999px;white-space:nowrap}.category-btn.active,.segmented button.active{background:#242220;color:#fff;border-color:#242220}.content-grid{padding-bottom:70px}.content-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.mini-action{border:1px solid var(--line);background:#faf8f5;border-radius:999px;padding:7px 10px;color:#625b55;font-size:13px}.room-toolbar{padding-bottom:20px}.segmented{display:flex;gap:7px}.editor-layout,.assistant-layout,.app-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;padding-bottom:50px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.editor-panel label,.panel label,.dialog label{display:block;font-size:13px;font-weight:700;margin-bottom:15px}.editor-panel input,.editor-panel select,.editor-panel textarea,.panel input,.panel select,.panel textarea,.dialog input,.dialog select,.dialog textarea{display:block;width:100%;margin-top:7px;border:1px solid #ddd6ce;background:#fff;border-radius:11px;padding:12px;color:var(--ink);outline:none}.editor-panel input:focus,.editor-panel select:focus,.editor-panel textarea:focus,.panel input:focus,.panel select:focus,.panel textarea:focus,.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:#b68877;box-shadow:0 0 0 3px #f2e5df}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row.three{grid-template-columns:1.5fr .8fr .9fr}.toggle-list{display:flex;flex-direction:column;gap:10px;margin:12px 0 22px}.toggle-list label,.checkline{font-weight:500!important;color:#5e5751}.form-actions{display:flex;justify-content:flex-end;gap:8px}.form-status{min-height:18px;margin-top:10px;font-size:13px;color:var(--accent)}.form-status.success{color:var(--success)}.form-status.error{color:var(--danger)}.privacy-aside{height:max-content;position:sticky;top:95px}.privacy-aside h3{font-size:28px;margin:16px 0 8px}.privacy-aside p{color:var(--muted);line-height:1.55}.privacy-checks{display:flex;flex-direction:column;gap:10px;margin-top:25px;color:#58514b;font-size:13px}.assistant-layout{grid-template-columns:.35fr .65fr}.assistant-settings{height:max-content}.helper{color:var(--muted);font-size:13px;line-height:1.5}.chat-panel{min-height:560px;display:flex;flex-direction:column}.messages{flex:1;overflow:auto;max-height:500px;display:flex;flex-direction:column;gap:9px;padding-bottom:18px}.bubble{max-width:82%;padding:12px 14px;border-radius:15px;line-height:1.55;white-space:pre-wrap}.bubble.ai{align-self:flex-start;background:#f2ece6}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff}.chat-compose{border-top:1px solid var(--line);padding-top:13px;display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.chat-compose textarea{margin:0}
.app-head{padding:55px 0 24px;display:flex;justify-content:space-between;align-items:end}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.stat span{display:block;color:var(--muted);font-size:12px}.stat b{display:block;font-size:30px;margin-top:7px}.app-grid{grid-template-columns:1fr 1fr;padding-bottom:18px}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:14px}.panel-head h2{font-size:20px;margin:0}.panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.list-stack{display:flex;flex-direction:column;gap:8px}.list-item{border:1px solid var(--line);border-radius:13px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:13px}.list-item b{font-size:14px}.list-item small{display:block;color:var(--muted);margin-top:3px}.invite-panel{margin-bottom:55px}.account-links{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;margin-bottom:55px}.account-link{border:0;background:#fff;padding:17px 20px;display:flex;justify-content:space-between;text-align:left}.account-link+.account-link{border-top:1px solid var(--line)}.account-link.danger{color:var(--danger)}.privacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:65px}.privacy-card h3{font-size:20px}.privacy-card p{color:var(--muted);line-height:1.6;min-height:110px}
.site-footer{background:#efebe5;border-top:1px solid #e4ddd5;margin-top:70px}.footer-grid{padding:45px 0 35px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px}.footer-brand{font-size:20px}.footer-grid p,.footer-grid span{color:var(--muted);font-size:13px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-grid button{border:0;background:none;text-align:left;padding:0;color:var(--muted)}.footer-grid b{margin-bottom:4px}.footer-bottom{border-top:1px solid #ded6cd;padding:18px 0 25px;display:flex;justify-content:space-between;color:#79726b;font-size:12px}
.dialog{border:0;border-radius:24px;padding:0;width:min(520px,calc(100% - 32px));background:#fff;color:var(--ink);box-shadow:0 35px 100px rgba(32,25,21,.28)}.dialog.wide{width:min(680px,calc(100% - 32px))}.dialog::backdrop{background:rgba(38,31,27,.48);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:9px}.dialog-close button{border:0;background:transparent;font-size:27px;color:#7a716b}.dialog-body{padding:34px}.dialog-body h2{font-size:34px;letter-spacing:-.04em;margin:9px 0 7px}.dialog-body>p{color:var(--muted);line-height:1.55;margin-bottom:23px}.auth-switch{display:block;margin:14px auto 0}.room-detail-price{font-size:30px;font-weight:750;margin:20px 0}.room-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.room-features span{background:#f5f1ec;padding:10px;border-radius:10px;font-size:13px}.dialog-actions{display:flex;gap:8px;margin-top:20px}
@media(max-width:980px){
  .desktop-nav{display:none}.mobile-menu{display:block}.nav-actions>.btn-quiet[data-route="dashboard"]{display:none!important}
  .hero,.two-up,.editor-layout,.assistant-layout,.app-grid{grid-template-columns:1fr}.hero{padding:58px 0 45px;gap:35px}.hero-product{padding:22px}.proof-strip{grid-template-columns:1fr}.proof-strip>div+div{border-left:0;border-top:1px solid var(--line)}
  .audience-grid,.room-grid,.content-grid,.privacy-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.privacy-aside{position:static}.app-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .shell{width:min(100% - 24px,1180px)}.nav-shell{height:66px}.brand{font-size:18px}.brand-symbol{width:28px;height:28px}.nav-actions #signupBtn{display:none}
  .hero h1{font-size:46px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-product{border-radius:24px}.app-mock{padding:19px}.mock-main h3{font-size:26px}.mock-grid{grid-template-columns:1fr 1fr}.mock-grid>div{min-height:105px;padding:12px}
  .audience-grid,.room-grid,.content-grid,.privacy-grid,.identity-demo{grid-template-columns:1fr}.two-up{gap:30px}.cta-panel{padding:28px 22px;align-items:flex-start;flex-direction:column}.cta-panel h2{font-size:32px}
  .page-head,.app-head{align-items:flex-start;flex-direction:column;padding-top:40px}.page-head h1,.app-head h1{font-size:38px}.search-wrap,.search-wrap input{width:100%}.form-row,.form-row.three,.chat-compose{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:6px}.dialog-body{padding:28px 22px}.dialog-body h2{font-size:29px}
}

/* V8 Offline-first */
.sync-chip{border:1px solid var(--line);background:#fff;color:#625b55;border-radius:999px;padding:8px 11px;display:flex;align-items:center;gap:7px;font-size:12px}
.sync-chip:hover{background:#f8f4ef}.sync-dot{width:8px;height:8px;border-radius:50%;background:#3d7b58;box-shadow:0 0 0 3px rgba(61,123,88,.10)}
.sync-chip.offline .sync-dot{background:#b17b35}.sync-chip.pending .sync-dot{background:#9a6b42;animation:pulseSync 1.5s infinite}.sync-chip.error .sync-dot{background:#a7453f}
@keyframes pulseSync{0%,100%{box-shadow:0 0 0 3px rgba(154,107,66,.12)}50%{box-shadow:0 0 0 7px rgba(154,107,66,.05)}}
.local-draft-status{margin-top:10px;font-size:12px;color:#777168}
.offline-card{grid-column:1/-1}.offline-detail{background:#f5f1ec;border-radius:12px;padding:11px 12px;color:#5d5650;font-size:13px;margin:14px 0}.offline-actions{display:flex;gap:8px;flex-wrap:wrap}
.room-card .tag:first-child{font-weight:700}
@media(max-width:780px){.sync-chip{padding:8px}.sync-chip #syncStatusText{display:none}.nav-actions #installAppBtn{display:none!important}}

/* V9 — phone auth, invitations, private admin analytics */
.auth-methods{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f3eee8;border-radius:12px;padding:4px;margin:18px 0}
.auth-method{border:0;background:transparent;padding:10px;border-radius:9px;color:#6b625b;font-weight:700}
.auth-method.active{background:#fff;color:var(--ink);box-shadow:0 2px 9px rgba(40,32,27,.06)}
.invite-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.admin-privacy-note{color:var(--success);max-width:780px;font-size:14px;line-height:1.55;margin-top:10px}
.admin-controls{display:flex;align-items:center;gap:8px}.admin-controls select{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:11px}
.admin-stat-grid{margin-bottom:12px}.admin-series-panel{margin-bottom:60px}
.table-scroll{overflow:auto}.activity-table{width:100%;border-collapse:collapse;min-width:780px}.activity-table th,.activity-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.activity-table th{color:#746b64;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:640px){.admin-controls{width:100%}.admin-controls select{flex:1}.admin-stat-grid{grid-template-columns:1fr 1fr}}

/* V10 — Awa Learning */
.learning-home{background:#211f1d;color:#fff;margin-top:60px}.learning-home-inner{padding:58px 0;display:grid;grid-template-columns:1fr .8fr;gap:65px;align-items:center}.learning-feature-copy h2{font-size:clamp(36px,4vw,52px);letter-spacing:-.045em;line-height:1.06;margin:10px 0 14px}.learning-feature-copy p{color:#cfc8c1;max-width:650px;line-height:1.65}.learning-feature-copy .eyebrow{color:#d7ad9d}.learning-feature-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.learning-home .btn-outline{border-color:#625b56;color:#fff}.featured-learning-card{background:#fff;color:var(--ink);border-radius:24px;padding:28px;min-height:270px}.featured-learning-card .featured-icon{font-size:42px;color:var(--accent)}.featured-learning-card h3{font-size:27px;letter-spacing:-.035em;line-height:1.1;margin:25px 0 9px}.featured-learning-card p{color:var(--muted);line-height:1.6}.learning-share-note{background:#f3eee8;color:#625b55;border-radius:13px;padding:11px 14px;font-size:13px}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:70px}.learning-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;min-height:320px}.learning-icon{font-size:32px;color:var(--accent);margin-bottom:16px}.learning-card h3{font-size:22px;letter-spacing:-.03em;line-height:1.15;margin:14px 0 9px}.learning-card p{color:var(--muted);line-height:1.58;flex:1}.learning-meta{display:flex;justify-content:space-between;color:#766d66;font-size:12px;margin:17px 0}.learning-actions{display:flex;gap:7px}.learning-actions .btn{flex:1}.course-header h2{font-size:35px;margin:9px 0}.course-header p{color:var(--muted);line-height:1.6}.course-meta{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 25px}.lesson-list{display:flex;flex-direction:column;gap:10px}.lesson{border:1px solid var(--line);border-radius:15px;padding:17px}.lesson-top{display:flex;gap:12px}.lesson-number{min-width:28px;height:28px;border-radius:9px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:12px;font-weight:800}.lesson h3{font-size:17px;margin:2px 0 4px}.lesson small{color:var(--muted)}.lesson-body{color:#554e48;line-height:1.65;margin:14px 0 8px}.admin-learning-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:20px}.admin-learning-item{border:1px solid var(--line);border-radius:13px;padding:13px}.admin-learning-item small{color:var(--muted)}.awa-learning-studio{margin-bottom:55px}@media(max-width:900px){.learning-home-inner{grid-template-columns:1fr}.learning-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.learning-grid,.admin-learning-list{grid-template-columns:1fr}.learning-feature-actions{flex-direction:column}.learning-feature-actions .btn{width:100%}}

/* V11 — médias privés : lecture membre / téléchargement auteur */
.secure-media-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.secure-media-head h2{margin-top:7px}
.secure-media-viewer{background:#191816;border-radius:16px;min-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:18px}
.secure-media-loading,.secure-file-placeholder{color:#d9d2cb;padding:30px;text-align:center}
.secure-image{max-width:100%;max-height:72vh;object-fit:contain;-webkit-user-drag:none;user-select:none}
.secure-pdf{width:100%;height:min(72vh,760px);border:0;background:#fff}
.secure-video{width:100%;max-height:72vh;background:#000}.secure-audio{width:min(90%,620px);margin:60px 0}
.secure-media-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}
.private-readonly-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f3ede7;color:#665a52;font-size:12px}


/* V12 — navigation premium */
.site-header{background:rgba(251,250,247,.82);backdrop-filter:blur(18px) saturate(135%);border-bottom:1px solid rgba(233,227,218,.65);box-shadow:0 8px 28px rgba(40,32,27,.04)}
.nav-shell{height:86px;gap:18px}
.brand{position:relative;padding:10px 14px 10px 10px;border-radius:18px;transition:.2s ease}
.brand:hover{background:rgba(255,255,255,.68)}
.brand-symbol{width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,var(--accent),#9e6757);box-shadow:0 10px 22px rgba(123,63,52,.25)}
.desktop-nav{display:flex;gap:8px;padding:6px;background:rgba(255,255,255,.76);border:1px solid rgba(223,213,202,.9);border-radius:22px;box-shadow:0 10px 30px rgba(34,29,25,.05)}
.nav-link{display:flex;align-items:center;gap:10px;padding:10px 14px;min-width:0;border-radius:16px;transition:all .2s ease;color:#5f5750}
.nav-link .nav-icon{width:34px;height:34px;border-radius:12px;background:#f4eee8;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}
.nav-link .nav-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.08;min-width:0}
.nav-link .nav-text b{font-size:13px;color:#2c2623;font-weight:800}
.nav-link .nav-text small{font-size:11px;color:#847a72;white-space:nowrap}
.nav-link:hover{background:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(40,32,27,.07)}
.nav-link.active{background:linear-gradient(180deg,#fff,#fbf6f2);border:1px solid #ead9cf;box-shadow:0 14px 30px rgba(123,63,52,.10)}
.nav-link.active .nav-icon{background:linear-gradient(145deg,var(--accent-soft),#f7eee9);box-shadow:inset 0 0 0 1px rgba(123,63,52,.08)}
.nav-actions{gap:8px}
.btn-quiet{padding:11px 14px;border-radius:14px}
.btn-quiet:hover{background:#fff;box-shadow:0 8px 20px rgba(40,32,27,.05)}
.mobile-menu{display:none;border:1px solid rgba(223,213,202,.9);background:rgba(255,255,255,.82);width:42px;height:42px;border-radius:14px;align-items:center;justify-content:center;font-size:20px;box-shadow:0 8px 20px rgba(40,32,27,.06)}
.mobile-panel{margin:0 12px 12px;border:1px solid rgba(230,221,212,.95);border-radius:22px;padding:14px;background:rgba(255,255,255,.92);box-shadow:0 22px 42px rgba(40,32,27,.10)}
.mobile-panel-grid{display:grid;grid-template-columns:1fr;gap:8px}
.mobile-panel button{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid transparent;background:#fcfaf8;text-align:left;border-radius:16px}
.mobile-panel button span:last-child{display:flex;flex-direction:column;line-height:1.06}
.mobile-panel button b{font-size:14px;color:#2b2522}
.mobile-panel button small{font-size:11px;color:#867b73;margin-top:4px}
.mobile-panel button.active{border-color:#ead9cf;background:linear-gradient(180deg,#fff,#fbf6f1)}
.mobile-ico{width:38px;height:38px;border-radius:13px;background:#f3ece6;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto}
.home-route-ribbon{display:flex;gap:10px;flex-wrap:wrap;margin-top:-42px;margin-bottom:10px;position:relative;z-index:2}
.route-chip{border:1px solid rgba(226,216,207,.95);background:rgba(255,255,255,.88);backdrop-filter:blur(10px);padding:12px 16px;border-radius:999px;color:#4d4742;display:inline-flex;align-items:center;gap:10px;font-weight:700;box-shadow:0 10px 24px rgba(40,32,27,.05);transition:all .18s ease}
.route-chip span{width:28px;height:28px;border-radius:999px;background:#f3ece5;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.route-chip:hover,.route-chip.active{transform:translateY(-1px);background:#fff;box-shadow:0 14px 28px rgba(40,32,27,.08)}
@media(max-width:1160px){.desktop-nav{gap:6px}.nav-link{padding:9px 11px}.nav-link .nav-text small{display:none}}
@media(max-width:980px){.nav-shell{height:78px}.desktop-nav{display:none}.mobile-menu{display:inline-flex}.home-route-ribbon{margin-top:0}}
@media(max-width:640px){.nav-shell{height:72px}.brand{padding:8px 10px 8px 8px}.brand-symbol{width:30px;height:30px}.mobile-panel{margin:0 10px 10px;padding:12px}.home-route-ribbon{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-chip{padding:11px 12px;font-size:13px;justify-content:flex-start}.route-chip.auth-only.hidden{display:none!important}}


/* V13 — Luxury / Haute gamme */
:root{
  --bg:#f7f1e8;
  --paper:#fffdf8;
  --paper2:#efe5d8;
  --ink:#201915;
  --muted:#776b61;
  --line:#ded0c1;
  --accent:#6f2f2a;
  --accent2:#a86f52;
  --accent-soft:#f3e5dc;
  --gold:#b9905f;
  --gold-soft:#efe3cd;
  --deep:#1b1714;
  --shadow:0 24px 70px rgba(55,39,28,.10);
}

body{
  background:
    radial-gradient(circle at 12% 5%, rgba(185,144,95,.08), transparent 25%),
    radial-gradient(circle at 92% 12%, rgba(111,47,42,.06), transparent 28%),
    var(--bg);
}

h1,h2,h3,.brand-name,.footer-brand,.mock-main h3,.dialog-body h2{
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
}

.site-header{
  top:12px;
  width:min(1240px,calc(100% - 28px));
  margin:0 auto;
  border:1px solid rgba(218,203,186,.9);
  border-radius:24px;
  background:rgba(255,253,248,.88);
  box-shadow:0 18px 55px rgba(48,35,27,.10);
}

.nav-shell{height:88px;width:calc(100% - 24px)}
.brand{min-width:230px}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.brand-name{font-size:20px;letter-spacing:-.025em}
.brand-copy small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#978579;margin-top:5px}
.brand-symbol{
  background:linear-gradient(145deg,#6f2f2a,#955348);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 12px 28px rgba(111,47,42,.28);
}
.brand:hover{background:rgba(255,255,255,.50)}

.desktop-nav{
  border-color:rgba(210,193,175,.95);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,246,240,.88));
  box-shadow:0 10px 30px rgba(58,43,33,.06),inset 0 1px 0 rgba(255,255,255,.95);
}

.nav-link .nav-icon{
  background:linear-gradient(145deg,#f5eee5,#eadccf);
  color:#7b4538;
  border:1px solid rgba(185,144,95,.18);
}
.nav-link.active{
  background:linear-gradient(180deg,#fffefb,#f7efe6);
  border-color:#ddc8b3;
  box-shadow:0 14px 35px rgba(111,47,42,.11);
}
.nav-link.active:after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:3px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.nav-link{position:relative}
.nav-link .nav-text b{font-family:Georgia,"Times New Roman",serif;font-size:13px}
.nav-link .nav-text small{color:#9a897c}

.btn-primary{
  background:linear-gradient(135deg,#6f2f2a,#8e4a3f);
  border-color:#6f2f2a;
  box-shadow:0 12px 28px rgba(111,47,42,.22);
}
.btn-primary:hover{background:linear-gradient(135deg,#5d2824,#7f4037)}
.btn-outline{border-color:#cdb89f;background:rgba(255,253,248,.42)}
.btn-outline:hover{border-color:#b9905f;background:#fffdf9}

.hero{padding-top:112px}
.hero h1{
  font-size:clamp(56px,6vw,80px);
  letter-spacing:-.055em;
  line-height:.97;
}
.hero h1 span{color:#7a3a31}
.luxury-overline{color:#9a765a;letter-spacing:.18em}
.hero-copy>p{color:#6f645b}
.luxury-signature{display:flex;align-items:center;gap:12px;margin-top:18px;color:#9b8778;font-size:12px;letter-spacing:.04em}
.signature-line{width:56px;height:1px;background:linear-gradient(90deg,#b9905f,transparent)}

.hero-product{
  position:relative;
  background:
    linear-gradient(145deg,rgba(180,139,100,.72),rgba(99,47,42,.92)),
    #7a4939;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 38px 90px rgba(72,45,32,.20);
}
.hero-product:before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:26px;
  pointer-events:none;
}
.app-mock{background:linear-gradient(180deg,#fffefa,#fbf5ed);border:1px solid rgba(218,199,179,.9)}
.mock-grid>div{background:linear-gradient(180deg,#fff,#faf5ee);border-color:#e4d7ca}
.mock-grid span{color:#9d6f51}

.proof-strip{
  border-color:#dfd1c2;
  box-shadow:0 16px 45px rgba(50,36,28,.05);
  background:rgba(255,253,248,.90);
}
.proof-strip b{font-family:Georgia,"Times New Roman",serif;font-size:17px;color:#4e3029}

.landing-section{padding-top:80px}
.section-title h2,.two-up h2,.cta-panel h2,.learning-feature-copy h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:600;
  letter-spacing:-.045em;
}
.audience-grid article,.room-card,.content-card,.learning-card,.panel{
  border-color:#dfd0c2;
  box-shadow:0 14px 40px rgba(58,42,31,.045);
}
.aud-icon{
  background:linear-gradient(145deg,#f2e6d9,#e8d7c7);
  color:#7a4437;
  border:1px solid rgba(185,144,95,.18);
}

.landing-alt{
  background:
    linear-gradient(180deg,rgba(240,230,217,.78),rgba(235,222,207,.78)),
    #eee4d8;
  border-color:#dfd0c0;
}
.identity-demo>div{
  border:1px solid #dfd0c1;
  box-shadow:0 12px 34px rgba(58,42,31,.04);
}

.learning-home{
  background:
    radial-gradient(circle at 90% 10%,rgba(185,144,95,.13),transparent 30%),
    linear-gradient(135deg,#1a1715,#251d19);
}
.featured-learning-card{
  background:linear-gradient(180deg,#fffefa,#f8f0e7);
  border:1px solid rgba(185,144,95,.22);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.featured-learning-card .featured-icon{color:#9c704e}

.cta-panel{
  background:
    radial-gradient(circle at 90% 20%,rgba(185,144,95,.14),transparent 30%),
    linear-gradient(135deg,#1b1714,#2b201b);
  border:1px solid rgba(185,144,95,.18);
  box-shadow:0 24px 70px rgba(35,27,22,.16);
}

.home-route-ribbon{margin-top:-34px}
.route-chip{
  background:rgba(255,253,248,.92);
  border-color:#ddcdbd;
  box-shadow:0 12px 30px rgba(50,36,28,.06);
}
.route-chip span{
  background:linear-gradient(145deg,#f3e7da,#e8d8c8);
  color:#754236;
}

.page-head h1,.app-head h1{font-family:Georgia,"Times New Roman",serif}
.eyebrow{color:#9b7255}
.tag.premium,.soft-pill{background:#f3e5dc;color:#733c33;border-color:#d9bda9}

.dialog{
  background:linear-gradient(180deg,#fffefa,#fbf5ee);
  border:1px solid #d7c5b4;
}
.dialog::backdrop{background:rgba(24,19,16,.54);backdrop-filter:blur(8px)}

.luxury-editorial-band{
  margin-top:60px;
  border-top:1px solid #dfd0c0;
  border-bottom:1px solid #dfd0c0;
  background:
    linear-gradient(90deg,rgba(246,238,228,.92),rgba(238,226,213,.92));
}
.luxury-editorial-inner{
  padding:48px 0;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:40px;
  align-items:center;
}
.luxury-editorial-inner h2{
  margin:8px 0 0;
  font-size:42px;
  letter-spacing:-.045em;
}
.luxury-editorial-inner p{
  color:#6f6259;
  line-height:1.7;
  font-size:16px;
  max-width:680px;
}

.site-footer{
  background:#e8ddcf;
  border-top-color:#d9c9b8;
}
.footer-brand{color:#4e3029}
.footer-bottom{border-top-color:#d6c5b3}

.mobile-lux-dock{display:none}

@media(max-width:1160px){
  .brand{min-width:190px}
}
@media(max-width:980px){
  .site-header{top:8px;width:calc(100% - 16px);border-radius:20px}
  .brand-copy small{display:none}
  .luxury-editorial-inner{grid-template-columns:1fr;gap:18px}
  .mobile-lux-dock{
    position:fixed;
    z-index:50;
    left:12px;
    right:12px;
    bottom:12px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:5px;
    padding:7px;
    background:rgba(255,253,248,.92);
    backdrop-filter:blur(18px) saturate(140%);
    border:1px solid #dacaba;
    border-radius:21px;
    box-shadow:0 20px 55px rgba(44,32,25,.16);
  }
  .mobile-lux-dock button{
    border:0;
    background:transparent;
    color:#74675d;
    border-radius:15px;
    padding:8px 4px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
  }
  .mobile-lux-dock button span{font-size:17px}
  .mobile-lux-dock button small{font-size:9px}
  .mobile-lux-dock button.active{
    background:linear-gradient(180deg,#f5eae0,#eee0d2);
    color:#6f2f2a;
  }
  .site-footer{padding-bottom:82px}
}
@media(max-width:640px){
  .site-header{top:6px}
  .brand-name{font-size:18px}
  .hero{padding-top:84px}
  .hero h1{font-size:48px}
  .luxury-editorial-inner h2{font-size:34px}
  .home-route-ribbon{margin-top:0}
}

/* V14 — Certifications de formation */
.learning-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.certificate-list{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.certificate-list-item{border:1px solid var(--line);border-radius:16px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;background:#fffdfa}
.certificate-list-item small{display:block;color:var(--muted);margin-top:4px}
.certificate-list-seal{width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#6f2f2a,#955348);color:white;display:flex;align-items:center;justify-content:center;font:700 22px Georgia,serif;box-shadow:0 8px 18px rgba(111,47,42,.18)}
.certificate-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fffdf7,#f7ecdd);border:1px solid #cdae85;outline:5px double #ddc7a7;outline-offset:-12px;border-radius:20px;padding:48px 34px 34px;text-align:center;min-height:520px}
.certificate-card:before,.certificate-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(185,144,95,.22);border-radius:50%}.certificate-card:before{left:-75px;top:-75px}.certificate-card:after{right:-75px;bottom:-75px}
.cert-ornament{font:700 11px Arial,sans-serif;letter-spacing:.24em;color:#9a7457}
.cert-seal{width:82px;height:82px;border-radius:50%;margin:25px auto 16px;background:linear-gradient(145deg,#6f2f2a,#955348);color:#fff;display:flex;align-items:center;justify-content:center;font:600 44px Georgia,serif;box-shadow:0 14px 30px rgba(111,47,42,.23)}
.cert-kicker{font:700 11px Arial,sans-serif;letter-spacing:.15em;color:#8a6d57}.certificate-card h2{font-size:52px;color:#6f2f2a;margin:7px 0 15px}.cert-intro{color:#77695f;margin:8px 0;font-size:14px}
.cert-holder{font:600 31px Georgia,serif;color:#2c211b;margin:12px auto 14px;display:inline-block;border-bottom:1px solid #c7a777;padding:0 28px 5px}.cert-course{font:600 23px Georgia,serif;line-height:1.25;max-width:680px;margin:13px auto}
.cert-meta{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-size:12px;color:#776b61;margin-top:28px}.cert-verification{font-size:10px;color:#88786d;margin-top:14px;word-break:break-all}.cert-disclaimer{font-size:10px;line-height:1.45;color:#918279;max-width:650px;margin:25px auto 0}
.certificate-controls{margin-top:20px}.certificate-buttons{display:flex;gap:8px;flex-wrap:wrap}.certificate-buttons .btn{flex:1;min-width:170px}
.course-certificate-area{margin-top:18px}.course-certified{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(145deg,#f6eadb,#efe0cb);border:1px solid #d8bd97;border-radius:15px;padding:14px;color:#674334}.course-certified.pending{display:flex;flex-direction:column;align-items:flex-start}.course-certified small{color:#806f61}
.certificate-valid,.certificate-invalid{text-align:center;padding:20px 0}.certificate-valid>span,.certificate-invalid>span{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px}.certificate-valid>span{background:#e4f0e8;color:#356b4f}.certificate-invalid>span{background:#f6e3df;color:#9f3f39}.certificate-verify-meta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:20px}.certificate-verify-meta span{background:#f3ede7;border-radius:999px;padding:7px 10px;font-size:12px;color:#6e6259}
@media(max-width:640px){.certificate-list-item{grid-template-columns:auto 1fr}.certificate-list-item .btn{grid-column:1/-1}.certificate-card{padding:36px 18px 28px}.certificate-card h2{font-size:42px}.cert-holder{font-size:25px;padding-left:10px;padding-right:10px}.certificate-buttons{flex-direction:column}.certificate-buttons .btn{width:100%}}


/* V15 — Clean luxury header */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{
  top:10px;
  width:min(1260px,calc(100% - 22px));
  border-radius:22px;
  background:rgba(255,252,247,.92);
  backdrop-filter:blur(18px) saturate(130%);
}
.nav-shell{
  height:80px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:16px;
}
.brand{
  min-width:0;
  padding:8px 12px 8px 8px;
  gap:10px;
  border-radius:18px;
  max-width:300px;
}
.brand-symbol{width:36px;height:36px;border-radius:12px;font-size:21px}
.brand-name{font-size:18px;line-height:1.05}
.brand-copy small{
  font-size:10px;
  letter-spacing:.06em;
  text-transform:none;
  color:#8c7a6d;
  margin-top:4px
}
.desktop-nav{
  justify-self:center;
  gap:4px;
  padding:5px;
  border-radius:20px;
}
.nav-link{
  padding:9px 11px;
  gap:8px;
}
.nav-link .nav-icon{
  width:30px;height:30px;border-radius:10px;font-size:13px
}
.nav-link .nav-text b{font-size:12px}
.nav-link .nav-text small{font-size:10px}
.nav-actions{
  display:flex;
  align-items:center;
  gap:8px;
  justify-self:end;
}
.guest-actions{display:flex;align-items:center;gap:8px}
.header-user-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px 8px 8px;
  border-radius:18px;
  border:1px solid #ddcdbd;
  background:linear-gradient(180deg,#fffefb,#f6eee6);
  box-shadow:0 10px 24px rgba(58,42,31,.06);
  color:#312722;
  min-width:0;
  max-width:220px;
}
.header-user-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(58,42,31,.08)}
.header-user-avatar,.hero-welcome-avatar{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font:700 15px Arial,sans-serif;
  color:#fff;background:linear-gradient(145deg,#7b3f34,#ab7055);
  background-size:cover;background-position:center center;
  flex:0 0 auto;
}
.header-user-avatar.has-image,.hero-welcome-avatar.has-image{color:transparent}
.header-user-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.header-user-copy small{font-size:10px;color:#8b7b6e;line-height:1}
.header-user-copy strong{
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  max-width:145px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.header-admin-badge{
  padding:10px 13px;
  border-radius:14px;
  border:1px solid #d9c4ae;
  background:#fbf4ec;
  color:#6f2f2a;
  font-weight:800;
}
.sync-chip{
  border-radius:999px;
  padding:8px 10px;
  background:#fff;
  border:1px solid #e1d4c5;
}
.hero{
  padding-top:118px;
}
.hero-copy{max-width:620px}
.hero-welcome{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px 10px 10px;
  margin:16px 0 6px;
  border:1px solid #e3d7ca;
  border-radius:18px;
  background:rgba(255,253,249,.85);
  box-shadow:0 10px 24px rgba(58,42,31,.04);
}
.hero-welcome div{display:flex;flex-direction:column;align-items:flex-start}
.hero-welcome small{font-size:11px;color:#8e7d71;line-height:1}
.hero-welcome strong{font-size:14px;line-height:1.15;color:#3b2d28}
.proof-strip{
  margin-top:26px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.proof-strip div{padding:4px 10px}
.home-route-ribbon{display:none!important}
.hero h1{font-size:clamp(52px,5.6vw,76px)}
.hero-copy>p{font-size:16px;max-width:56ch}
.trust-line{margin-top:18px}
.trust-line span{
  background:rgba(255,253,249,.8);
  border:1px solid #e7d9ca;
  padding:7px 10px;
  border-radius:999px
}
.mock-main h3{font-size:22px}
.mock-grid{gap:10px}
.mock-grid>div{padding:18px}
.landing-section{padding-top:58px}
.section-title.centered h2{max-width:820px;margin-inline:auto}
.audience-grid article{padding:24px}
@media(max-width:1180px){
  .desktop-nav{gap:2px}
  .nav-link .nav-text small{display:none}
  .header-admin-badge{display:none}
}
@media(max-width:980px){
  .nav-shell{
    grid-template-columns:1fr auto;
    height:74px;
  }
  .desktop-nav{display:none}
  .guest-actions{display:none}
  #loginBtn,#signupBtn{display:none}
  .site-header{width:calc(100% - 14px);top:7px}
  .brand{max-width:none;padding-right:8px}
  .brand-copy small{display:none}
  .header-user-card{
    max-width:170px;
    padding:7px 10px 7px 7px;
  }
  .header-user-copy small{display:none}
  .header-user-copy strong{max-width:90px;font-size:12px}
  .mobile-menu{display:inline-flex}
  .sync-chip{display:none!important}
  .proof-strip{grid-template-columns:1fr;gap:8px}
}
@media(max-width:640px){
  .hero{padding-top:92px}
  .brand-symbol{width:32px;height:32px}
  .brand-name{font-size:17px}
  .header-user-card{max-width:138px}
  .header-user-avatar{width:34px;height:34px}
  .header-user-copy strong{max-width:72px}
  .hero-welcome{width:100%}
  .hero h1{font-size:46px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
}


/* V16 — modern SaaS luxe while preserving current colors */
.brand-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:2px 8px;border-radius:999px;background:linear-gradient(180deg,#f2e6da,#e8dacb);border:1px solid #dccabb;color:#7b4a3a;font:700 10px/1 Arial,sans-serif;vertical-align:middle}
.modern-desktop-nav{padding:6px 8px;gap:6px;background:rgba(255,255,255,.86);border:1px solid rgba(224,212,201,.92);box-shadow:0 18px 32px rgba(0,0,0,.04)}
.modern-desktop-nav .nav-link{padding:11px 14px;border-radius:14px;background:transparent;box-shadow:none}
.modern-desktop-nav .nav-link .nav-text.single-line{display:flex;align-items:center;gap:8px;flex-direction:row}
.modern-desktop-nav .nav-link .nav-text.single-line b{font-size:14px;font-family:Inter,Arial,sans-serif;font-weight:700;letter-spacing:-.01em}
.modern-desktop-nav .nav-link .nav-text.single-line em{font-style:normal;color:#8b7668;font-size:12px}
.modern-desktop-nav .nav-link:hover,.modern-desktop-nav .nav-link.active{background:#fff;box-shadow:0 10px 24px rgba(37,26,20,.06);border:1px solid #eaded1}
.modern-desktop-nav .nav-link.active:after{display:none}
.nav-dropdown{position:relative}
.nav-dropdown-menu{position:absolute;left:0;top:calc(100% + 10px);min-width:280px;padding:10px;background:rgba(255,255,255,.93);backdrop-filter:blur(16px) saturate(140%);border:1px solid #eaded1;border-radius:18px;box-shadow:0 20px 40px rgba(32,20,15,.10);display:none;z-index:30}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:flex;flex-direction:column;gap:8px}
.dropdown-item{width:100%;text-align:left;padding:12px 14px;border:1px solid transparent;background:#fcfaf8;border-radius:14px;display:flex;flex-direction:column;gap:4px;color:#312722}
.dropdown-item strong{font-size:13px}
.dropdown-item span{font-size:12px;color:#7d6f66;line-height:1.35}
.dropdown-item:hover{border-color:#eaded1;background:#fff;transform:translateY(-1px)}
.hero-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border:1px solid rgba(225,214,203,.85);box-shadow:0 12px 24px rgba(37,26,20,.04);letter-spacing:.09em;font-size:11px}
.hero h1{max-width:11ch}
.gradient-words{background:linear-gradient(90deg,#4A2E2B 0%, #845244 45%, #B57A60 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{max-width:59ch;color:#6d6158}
.hero-actions{margin-top:24px}
.hero-actions .btn-primary{position:relative;overflow:hidden}
.hero-actions .btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.18) 45%,transparent 70%);transform:translateX(-100%);transition:transform .6s ease}
.hero-actions .btn-primary:hover:before{transform:translateX(100%)}
.modern-trust-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.modern-trust-line span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid #e8dcd0;box-shadow:0 10px 18px rgba(38,27,21,.04);font-size:13px;color:#544942}
.modern-trust-line span i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#f2e7dc}
.hero-floating-ui{background:none;box-shadow:none;border:none;position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}
.glass-mock{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.60));backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.55);box-shadow:0 25px 55px rgba(27,20,16,.10), 0 8px 20px rgba(27,20,16,.04);position:relative;z-index:3}
.glass-mock .mock-main h3{font-size:20px}
.modern-mock-top{align-items:center;gap:10px}
.mock-leds{display:flex;gap:6px;margin-right:2px}
.mock-leds span{width:8px;height:8px;border-radius:999px;background:#d9c0b4;display:block}
.floating-badge{position:absolute;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);box-shadow:0 12px 24px rgba(31,20,15,.08);font-size:12px;color:#4f4138;z-index:4}
.floating-conf{right:20px;top:48px}
.floating-mini{left:10px;top:96px}
.glass-orb{position:absolute;border-radius:999px;filter:blur(2px);opacity:.55;pointer-events:none}
.orb-a{width:180px;height:180px;background:radial-gradient(circle at 30% 30%,rgba(232,223,200,.95),rgba(232,223,200,.15));left:20px;bottom:40px}
.orb-b{width:130px;height:130px;background:radial-gradient(circle at 40% 40%,rgba(74,46,43,.18),rgba(74,46,43,.04));right:30px;bottom:18px}
.modern-mock-grid>div{transition:all .18s ease;background:rgba(255,255,255,.56);backdrop-filter:blur(8px);border:1px solid rgba(223,211,201,.85);box-shadow:0 8px 16px rgba(0,0,0,.02)}
.modern-mock-grid>div:hover{transform:translateY(-3px);border-color:#c9b29f;box-shadow:0 16px 28px rgba(0,0,0,.06)}
.header-user-card{background:linear-gradient(180deg,#fffefb,#f8f1ea);border-color:#e2d5c9}
@media(max-width:1100px){.modern-desktop-nav .nav-link{padding:10px 12px}.modern-desktop-nav .nav-link .nav-text.single-line b{font-size:13px}}
@media(max-width:980px){.nav-dropdown-menu{display:none!important}.hero h1{max-width:none}.hero-floating-ui{min-height:420px}.floating-conf{right:10px;top:18px}.floating-mini{left:4px;top:64px}.modern-trust-line span{font-size:12px;padding:9px 12px}}
@media(max-width:640px){.hero-pill{font-size:10px;padding:8px 12px}.modern-trust-line{gap:8px}.modern-trust-line span{width:100%;justify-content:flex-start}.hero-floating-ui{min-height:360px}.glass-mock{padding:0}.floating-badge{font-size:11px;padding:8px 10px}}


/* V17 — Unified Jama Content UI */
body[data-current-route]:not([data-current-route="home"]) .home-only-band{display:none}

/* Internal page canvas */
.app-surface-view{
  background:
    radial-gradient(circle at 6% 5%,rgba(232,223,200,.12),transparent 24%),
    radial-gradient(circle at 94% 9%,rgba(74,46,43,.04),transparent 22%);
}
.app-surface-view .page-head,
.app-surface-view .app-head{
  padding-top:72px;
  padding-bottom:28px;
}
.section-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid #e6d9cd;
  box-shadow:0 8px 18px rgba(39,27,21,.035);
  letter-spacing:.08em;
  font-size:10px;
}
.page-head h1,.app-head h1{
  font-size:clamp(38px,4vw,52px);
  max-width:820px;
}
.page-head p,.dashboard-greeting{
  margin:8px 0 0;
  color:#74685f;
  line-height:1.55;
}

/* Panels / cards */
.panel,
.room-card,
.content-card,
.learning-card,
.stat,
.account-links{
  background:linear-gradient(180deg,rgba(255,255,255,.91),rgba(255,252,248,.88));
  border:1px solid rgba(225,213,201,.95);
  box-shadow:0 18px 38px rgba(40,29,22,.045);
}
.panel{
  border-radius:24px;
  padding:26px;
}
.panel:hover{border-color:#dcc9b7}
.panel-head{margin-bottom:18px}
.panel-head h2{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:19px;
  font-family:Inter,Arial,sans-serif;
  font-weight:750;
  letter-spacing:-.02em;
}
.panel-title-icon{
  width:30px;height:30px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f3e8de;color:#7b4438;
  font-size:13px;
}

/* Inputs */
.editor-panel input,.editor-panel select,.editor-panel textarea,
.panel input,.panel select,.panel textarea,
.dialog input,.dialog select,.dialog textarea{
  border:1px solid #dfd3c7;
  background:rgba(255,255,255,.88);
  border-radius:14px;
  padding:13px 14px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.editor-panel input:hover,.editor-panel select:hover,.editor-panel textarea:hover,
.panel input:hover,.panel select:hover,.panel textarea:hover{background:#fff}
.editor-panel input:focus,.editor-panel select:focus,.editor-panel textarea:focus,
.panel input:focus,.panel select:focus,.panel textarea:focus,
.dialog input:focus,.dialog select:focus,.dialog textarea:focus{
  border-color:#b98975;
  box-shadow:0 0 0 4px rgba(181,137,117,.12);
}

/* Discover & communities */
.search-wrap input{
  min-width:320px;
  border-radius:999px;
  padding:13px 18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 24px rgba(39,27,21,.035);
}
.category-row{gap:8px}
.category-btn,.segmented button{
  border-color:#e4d7cb;
  background:rgba(255,255,255,.78);
  padding:9px 14px;
  transition:all .16s ease;
}
.category-btn:hover,.segmented button:hover{
  transform:translateY(-1px);
  border-color:#ccb6a4;
  background:#fff;
}
.category-btn.active,.segmented button.active{
  background:#4A2E2B;
  border-color:#4A2E2B;
}
.room-card,.content-card,.learning-card{
  border-radius:23px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.room-card:hover,.content-card:hover,.learning-card:hover{
  transform:translateY(-3px);
  border-color:#d3bdab;
  box-shadow:0 22px 40px rgba(42,29,23,.07);
}
.mini-action{
  background:rgba(250,247,243,.9);
  border-color:#e4d8cd;
  transition:.16s ease;
}
.mini-action:hover{background:#fff;border-color:#cdb6a4}

/* Studio */
.editor-layout{gap:22px}
.editor-panel{padding:30px}
.privacy-aside{
  background:
    linear-gradient(180deg,rgba(250,244,238,.98),rgba(255,253,250,.96));
  border-color:#dfcdbc;
}
.aside-icon{
  width:44px;height:44px;border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  background:#f0e1d6;
  margin-bottom:20px;
  font-size:18px;
}
.toggle-list{
  padding:14px;
  border-radius:16px;
  background:#fbf7f3;
  border:1px solid #e8ddd3;
}

/* Assistant */
.assistant-layout{grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);gap:20px}
.assistant-settings{
  background:linear-gradient(180deg,#fbf5ef,#fffdfa);
  position:sticky;
  top:112px;
}
.chat-panel{
  padding:0;
  overflow:hidden;
  min-height:600px;
}
.chat-panel-head{
  min-height:72px;
  padding:14px 18px;
  border-bottom:1px solid #e6d9cd;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(250,246,242,.8);
}
.chat-panel-head>div:first-child{display:flex;align-items:center;gap:10px}
.chat-panel-head>div:first-child>div{display:flex;flex-direction:column}
.chat-panel-head b{font-size:14px}
.chat-panel-head small{font-size:11px;color:#89796d;margin-top:2px}
.assistant-avatar{
  width:38px;height:38px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#4A2E2B,#8d5748);
  color:#fff;font-weight:800;
}
.messages{padding:20px;max-height:520px}
.bubble{border-radius:18px;padding:13px 15px}
.bubble.ai{background:#f3ebe4;border:1px solid #e7d8cc}
.bubble.user{background:linear-gradient(135deg,#4A2E2B,#875044)}
.chat-compose{
  padding:14px 16px 16px;
  border-top:1px solid #e7d9cd;
  background:#fffdf9;
}

/* Dashboard */
.stat-grid{gap:14px}
.stat{
  border-radius:21px;
  padding:20px;
  position:relative;
  overflow:hidden;
}
.stat:after{
  content:"";
  position:absolute;right:-24px;top:-24px;
  width:80px;height:80px;border-radius:50%;
  background:rgba(232,223,200,.28);
}
.stat i{
  width:32px;height:32px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  background:#f2e7dd;color:#79463a;
  font-style:normal;font-size:13px;
  margin-bottom:16px;
}
.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.055em}
.stat b{font-size:31px;letter-spacing:-.04em}
.list-item{
  border-color:#e6dad0;
  background:#fdfaf7;
  border-radius:15px;
  transition:.16s ease;
}
.list-item:hover{background:#fff;border-color:#d7c2b1}

/* Account */
.profile-identity-preview{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  margin-bottom:20px;
  border:1px solid #e6d9cd;
  border-radius:18px;
  background:#fbf6f1;
}
.profile-identity-preview>div{display:flex;flex-direction:column}
.profile-identity-preview small{font-size:10px;color:#8a796d}
.profile-identity-preview strong{font-size:15px;margin-top:3px}
.account-avatar{
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#4A2E2B,#9a604f);
  background-position:center;background-size:cover;
  color:white;font-weight:800;
}
.account-avatar.has-image{color:transparent}
.account-links{border-radius:22px}
.account-link{padding:18px 20px;background:transparent;transition:.16s ease}
.account-link:hover{background:#fbf6f1}

/* Privacy */
.privacy-grid{gap:16px}
.privacy-card{
  position:relative;
  overflow:hidden;
  min-height:260px;
}
.privacy-card-icon{
  width:40px;height:40px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#f2e7dd;color:#7b4438;
  font-style:normal;font-weight:800;
  margin-bottom:22px;
}
.privacy-card-icon.danger{background:#f6e4e1;color:#9f3f39}
.privacy-card p{min-height:90px}

/* Learning */
.learning-grid{gap:16px}
.learning-card{padding:24px}
.learning-icon{
  width:46px;height:46px;border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  background:#f2e6dc;
  font-size:20px;
}
.lesson{border-radius:17px;background:#fdfaf7;border-color:#e6d9cd}

/* Admin */
.admin-privacy-note{
  display:inline-flex;
  margin-top:12px;
  padding:9px 12px;
  border-radius:999px;
  background:#eef5f0;
  border:1px solid #d7e8db;
  font-size:12px;
}
.admin-controls{
  padding:6px;
  border:1px solid #e4d7cb;
  border-radius:17px;
  background:rgba(255,255,255,.78);
}
.admin-controls select{border:0;background:transparent}
.admin-series-panel,.awa-learning-studio{border-radius:24px}
.activity-table th{
  background:#faf5f0;
  color:#7a6b60;
  padding:13px 12px;
}
.activity-table td{padding:13px 12px}
.admin-learning-item{
  border-radius:15px;
  background:#fdfaf7;
  border-color:#e6d9cd;
}

/* Dialogs */
.dialog{
  border-radius:26px;
  border:1px solid #decdbd;
  box-shadow:0 35px 90px rgba(33,23,18,.19);
}
.dialog-body{padding:32px}
.dialog-close button{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.78);
  border:1px solid #e6d9cd;
}

/* Buttons */
.btn{border-radius:14px}
.btn-primary{
  background:linear-gradient(135deg,#4A2E2B,#875044);
  box-shadow:0 10px 24px rgba(74,46,43,.17);
}
.btn-outline{background:rgba(255,255,255,.60)}
.btn-outline:hover{background:#fff}

/* Mobile consistency */
@media(max-width:980px){
  .app-surface-view .page-head,.app-surface-view .app-head{padding-top:52px}
  .assistant-layout{grid-template-columns:1fr}
  .assistant-settings{position:static}
  .chat-panel{min-height:520px}
}
@media(max-width:640px){
  .panel{padding:20px}
  .editor-panel{padding:20px}
  .app-surface-view .page-head,.app-surface-view .app-head{padding-top:42px}
  .page-head h1,.app-head h1{font-size:36px}
  .search-wrap input{min-width:0;width:100%}
  .privacy-card{min-height:0}
  .stat{padding:17px}
  .stat b{font-size:26px}
}


/* V18 — Immersive, restrained */
.nav-dropdown-menu{display:none!important;opacity:0;transform:translateY(-7px) scale(.985);transform-origin:top;transition:opacity .18s ease,transform .18s cubic-bezier(.2,.8,.2,1)}
.nav-dropdown.open .nav-dropdown-menu{display:flex!important;opacity:1;transform:translateY(0) scale(1);animation:dropdownIn .18s cubic-bezier(.2,.8,.2,1)}
.nav-dropdown.open .nav-dropdown-trigger{background:#fff;border:1px solid #eaded1;box-shadow:0 10px 24px rgba(37,26,20,.06)}
.nav-dropdown.open .nav-dropdown-trigger em{transform:rotate(180deg)}
.nav-dropdown-trigger em{transition:transform .18s ease}
@keyframes dropdownIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

.site-header{transition:width .22s ease,top .22s ease,box-shadow .22s ease,background .22s ease}
.site-header.compact{top:5px;width:min(1210px,calc(100% - 20px));background:rgba(255,252,247,.94);box-shadow:0 16px 42px rgba(44,31,24,.11)}
.site-header.compact .nav-shell{height:68px}
.site-header.compact .brand-copy small{display:none}
.site-header.compact .brand-symbol{width:32px;height:32px}

.icon-nav-btn{width:40px;height:40px;border-radius:14px;border:1px solid #e2d5c8;background:rgba(255,255,255,.82);display:flex;align-items:center;justify-content:center;position:relative;color:#5e493f;font-weight:800}
.icon-nav-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(44,31,24,.07)}
.awa-nav-btn span{font-family:Georgia,serif;font-size:16px;color:#7b3f34}
.nav-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;border-radius:999px;padding:0 5px;background:#7b3f34;color:white;font-size:9px;display:flex;align-items:center;justify-content:center;border:2px solid #fffaf4}

.drawer-backdrop{position:fixed;inset:0;background:rgba(27,20,16,.28);backdrop-filter:blur(2px);z-index:70}
.side-drawer{position:fixed;right:12px;top:12px;bottom:12px;width:min(420px,calc(100vw - 24px));z-index:80;background:rgba(255,253,249,.97);backdrop-filter:blur(22px);border:1px solid #dfd0c1;border-radius:24px;box-shadow:0 30px 80px rgba(29,20,16,.22);transform:translateX(calc(100% + 36px));opacity:0;transition:transform .28s cubic-bezier(.2,.85,.25,1),opacity .2s ease;display:flex;flex-direction:column;overflow:hidden}
.side-drawer.open{transform:translateX(0);opacity:1}
.drawer-head{padding:20px 20px 14px;border-bottom:1px solid #e7d9cd;display:flex;justify-content:space-between;align-items:center}
.drawer-head h2{margin:4px 0 0;font-size:27px}
.drawer-close{width:38px;height:38px;border-radius:50%;border:1px solid #e3d6ca;background:#fff;color:#6f6259;font-size:22px}
.drawer-toolbar{padding:11px 18px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#807167;border-bottom:1px solid #eee4da}
.drawer-list{padding:10px;overflow:auto}
.notification-item{width:100%;border:1px solid transparent;background:transparent;border-radius:16px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:11px;text-align:left}
.notification-item:hover{background:#fbf6f1;border-color:#e8dbcf}
.notification-item.unread{background:#f9efe8}
.notification-icon{width:34px;height:34px;border-radius:12px;background:#f1e4da;color:#7b4438;display:flex;align-items:center;justify-content:center}
.notification-item b{font-size:13px;display:block;color:#342923}
.notification-item small{font-size:12px;color:#766960;display:block;margin-top:3px;line-height:1.35}
.notification-item time{font-size:10px;color:#a08d80;display:block;margin-top:6px}
.drawer-ai-title{display:flex;align-items:center;gap:10px}
.awa-drawer-intro{padding:12px 18px;color:#776a61;font-size:13px;background:#fbf6f1}
.drawer-chat{padding:16px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:10px}
.drawer-compose{padding:14px;border-top:1px solid #e8dcd1;background:#fffdfa}
.drawer-compose textarea{width:100%;resize:none;border:1px solid #dfd3c7;border-radius:15px;padding:12px}
.drawer-compose>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}

.cover-preview{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #e5d8cd;border-radius:16px;background:#fbf7f3;margin:0 0 15px}
.cover-preview img{width:86px;height:58px;object-fit:cover;border-radius:12px}
.cover-preview div{display:flex;flex-direction:column}.cover-preview small{color:#87766b;margin-top:4px}

.content-grid{align-items:start}
.content-card.immersive-card{overflow:hidden;padding:0}
.content-card-body{padding:20px;display:flex;flex-direction:column;min-height:250px}
.content-cover{border:0;background:#eee;padding:0;width:100%;height:190px;overflow:hidden;display:block}
.content-cover img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.content-card:hover .content-cover img{transform:scale(1.06)}
.content-title-btn{border:0;background:transparent;padding:0;text-align:left;color:inherit}
.content-title-btn h3{margin-top:18px;margin-bottom:10px}
.important-tag{background:#f6e6dc!important;border-color:#dfbcaa!important;color:#8b3d31!important;font-weight:800}
.compact-actions{margin-top:18px;padding-top:14px;border-top:1px solid #eee3da;display:grid;grid-template-columns:repeat(4,auto);justify-content:start}
.compact-actions .mini-action{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:7px 8px}
.compact-actions .mini-action:hover{background:#f6eee8}
.content-card p{min-height:0}

.content-detail-dialog{width:min(760px,calc(100% - 24px))}
.detail-cover{width:calc(100% + 68px);margin:-34px -34px 24px;height:300px;object-fit:cover}
.content-detail-kicker{display:flex;gap:7px;flex-wrap:wrap}
.content-detail-dialog h2{font-size:38px;margin-top:15px}
.content-detail-text{white-space:pre-wrap;font-size:15px;line-height:1.75;color:#514740}
.content-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.comments-section{border-top:1px solid #e6d9ce;padding-top:20px;margin-top:24px}
.comments-head{display:flex;align-items:center;justify-content:space-between}.comments-head h3{margin:0}.comments-head span{font-size:12px;color:#85756a}
.comments-list{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.comment-row{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border-radius:15px;background:#fbf7f3;border:1px solid #eadfd6}
.comment-avatar{width:32px;height:32px;border-radius:50%;background:#f0e2d8;display:flex;align-items:center;justify-content:center;color:#7b4438;font-weight:800}
.comment-row b{font-size:12px}.comment-row p{margin:5px 0;font-size:13px;line-height:1.5}.comment-row small{color:#99887d;font-size:10px}
.comment-empty{padding:18px;color:#89796f;text-align:center}
.comment-compose{display:grid;grid-template-columns:140px 1fr auto;gap:8px;align-items:end}
.comment-compose select,.comment-compose textarea{border:1px solid #ded1c6;border-radius:13px;padding:10px;background:#fff}

.reveal-item{opacity:0;transform:translateY(12px);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.8,.2,1)}
.reveal-item.revealed,.no-reveal .reveal-item{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal-item{opacity:1!important;transform:none!important}
}
@media(max-width:980px){
  .site-header.compact .nav-shell{height:66px}
  .icon-nav-btn{width:38px;height:38px}
  .compact-actions{grid-template-columns:repeat(4,1fr)}
  .compact-actions .mini-action{justify-content:center}
  .compact-actions .mini-action span:last-child:not(:only-child){font-size:11px}
}
@media(max-width:640px){
  .side-drawer{right:6px;top:6px;bottom:6px;width:calc(100vw - 12px);border-radius:20px}
  .content-cover{height:210px}
  .detail-cover{width:calc(100% + 44px);margin:-28px -22px 20px;height:230px}
  .comment-compose{grid-template-columns:1fr}
  .compact-actions .mini-action span:last-child{font-size:10px}
}


/* V19 — Guided communities & Premium trial */
.mock-grid>button.mock-feature{
  border:1px solid var(--line);background:rgba(255,255,255,.62);padding:16px;border-radius:16px;
  display:flex;flex-direction:column;min-height:120px;text-align:left;color:var(--ink);position:relative;transition:.2s ease
}
.mock-feature span{color:var(--accent2);font-size:11px;font-weight:800}
.mock-feature b{margin-top:15px;font-family:Inter,Arial,sans-serif;font-size:15px}
.mock-feature small{color:var(--muted);margin-top:5px}
.mock-feature em{position:absolute;right:14px;bottom:13px;font-style:normal;color:#8f6d5c;opacity:0;transform:translateX(-5px);transition:.18s ease}
.mock-feature:hover{transform:translateY(-3px);border-color:#cdb6a4;box-shadow:0 14px 28px rgba(55,38,29,.07)}
.mock-feature:hover em{opacity:1;transform:none}

.premium-banner{
  margin:0 0 18px;padding:14px 16px;border-radius:18px;border:1px solid #dac4aa;
  background:linear-gradient(100deg,#fbf4e9,#fffaf3);display:flex;align-items:center;justify-content:space-between;gap:16px
}
.premium-banner>div{display:flex;align-items:center;gap:12px}.premium-banner b{display:block;font-size:13px}.premium-banner small{display:block;color:#7c6e62;margin-top:3px}
.premium-crown{width:36px;height:36px;border-radius:13px;background:#4A2E2B;color:#fff;display:flex;align-items:center;justify-content:center}
.mini-premium-note{background:#fbf4e9;border:1px solid #e4d4c1;border-radius:14px;padding:10px 12px;color:#6e5b50;font-size:12px;margin:12px 0 18px}
.premium-feature-list{display:grid;gap:8px;margin:20px 0}.premium-feature-list span{padding:10px 12px;border-radius:12px;background:#f8f1e9;border:1px solid #eadccd}

.distribution-panel{padding:15px;border:1px solid #e4d7cb;border-radius:17px;background:#fbf7f3;margin:6px 0 14px}
.distribution-panel label{margin-bottom:0!important}.distribution-panel small{display:block;margin-top:8px;color:#7d6f65;line-height:1.45}

.room-content-section{margin-top:28px;border-top:1px solid #eaded3;padding-top:20px}
.room-content-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.room-content-head h3{margin:0;font-size:18px}.room-content-head span{font-size:11px;color:#8c7b70;background:#f3ece6;padding:6px 9px;border-radius:999px}
.room-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.room-content-card{border:1px solid #e5d8cc;border-radius:15px;background:#fffdfa;padding:0;overflow:hidden;text-align:left;display:grid;grid-template-columns:90px 1fr;min-height:92px}
.room-content-card img,.room-content-placeholder{width:90px;height:100%;min-height:92px;object-fit:cover;background:#f0e5dc;display:flex;align-items:center;justify-content:center;color:#825447;font-size:20px}
.room-content-card>span:last-child{padding:11px;display:flex;flex-direction:column;min-width:0}.room-content-card small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#9c735d}.room-content-card b{font-size:13px;margin:5px 0}.room-content-card em{font-style:normal;color:#7a6d63;font-size:11px;line-height:1.35}
.room-content-card:hover{border-color:#cdb6a4;transform:translateY(-1px)}

.onboarding-dialog{width:min(720px,calc(100% - 28px));background:#fffdf9}
.onboarding-shell{padding:26px}.onboarding-top{display:flex;align-items:center;justify-content:space-between}
.onboarding-brand{display:flex;align-items:center;gap:10px}.onboarding-brand>span{width:38px;height:38px;border-radius:12px;background:#7b3f34;color:#fff;display:flex;align-items:center;justify-content:center;font:700 20px Georgia,serif}
.onboarding-brand>div{display:flex;flex-direction:column}.onboarding-brand small{font-size:10px;color:#8e7c70;margin-top:3px}
.onboarding-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:24px 0}.onboarding-progress span{height:4px;border-radius:999px;background:#eadfd5}.onboarding-progress span.active,.onboarding-progress span.done{background:#7b3f34}
.onboarding-content{text-align:center;padding:20px 28px 26px}.onboarding-icon{width:58px;height:58px;border-radius:18px;background:#f1e4da;color:#7b3f34;display:flex;align-items:center;justify-content:center;font-size:23px;margin:0 auto 18px}
.onboarding-content h2{font-size:34px;margin:8px auto 12px;max-width:560px}.onboarding-content>p{color:#6f6259;line-height:1.65;max-width:590px;margin:0 auto}
.onboarding-country{max-width:300px;margin:20px auto 0;text-align:left}.onboarding-country input{width:100%;border:1px solid #dfd2c6;border-radius:13px;padding:11px;margin-top:6px}.onboarding-country small{display:block;color:#88776c;margin-top:6px;line-height:1.4}
.onboarding-tip{margin:20px auto 0;max-width:590px;background:#f8f1e9;border:1px solid #eadbcd;border-radius:15px;padding:12px 14px;color:#684e42;font-size:12px;line-height:1.5}
.onboarding-actions{border-top:1px solid #eaded3;padding-top:18px;display:flex;justify-content:space-between}.onboarding-actions button{min-width:120px}
@media(max-width:640px){.room-content-grid{grid-template-columns:1fr}.onboarding-shell{padding:18px}.onboarding-content{padding:18px 5px 22px}.onboarding-content h2{font-size:29px}.premium-banner{align-items:flex-start;flex-direction:column}.mock-grid>button.mock-feature{min-height:105px;padding:12px}}


/* V20 — Bring Your Own OpenAI */
.ai-connection-card{
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;
  padding:12px;margin-bottom:18px;border-radius:16px;border:1px solid #e4d7ca;background:#fbf6f1
}
.ai-connection-icon{
  width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#4A2E2B,#885044);
  color:#fff;display:flex;align-items:center;justify-content:center;font:700 18px Georgia,serif
}
.ai-connection-card>div:nth-child(2){display:flex;flex-direction:column;min-width:0}
.ai-connection-card small{font-size:10px;color:#8b796d}.ai-connection-card b{font-size:13px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.soft-pill.connected{background:#e8f1eb;color:#356b4f}

.ai-connect-dialog .dialog-body>p{max-width:650px}
.openai-state-card{
  display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:16px;
  border:1px solid #e4d7cb;background:#fbf7f3;margin:18px 0
}
.openai-state-card>div{display:flex;flex-direction:column}.openai-state-card b{font-size:13px}.openai-state-card small{font-size:11px;color:#857469;margin-top:3px}
.openai-state-dot{width:10px;height:10px;border-radius:50%;background:#b68a70;box-shadow:0 0 0 4px rgba(182,138,112,.12)}
.openai-state-card.connected{border-color:#d3e4d7;background:#f2f7f3}.openai-state-card.connected .openai-state-dot{background:#3c7b59}
.openai-state-card.error{border-color:#ebcfca;background:#fbf2f0}.openai-state-card.error .openai-state-dot{background:#a34a41}
.openai-steps{display:grid;gap:10px;margin:20px 0}
.openai-steps article{
  display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border:1px solid #e7dbcf;border-radius:17px;background:#fffdfa
}
.openai-steps article>span{
  width:32px;height:32px;border-radius:11px;background:#f0e4da;color:#7b4438;display:flex;align-items:center;justify-content:center;font-weight:800
}
.openai-steps article b{font-size:14px}.openai-steps article p{font-size:12px;color:#74675e;line-height:1.45;margin:4px 0 10px}
.openai-key-form{margin-top:20px;padding-top:18px;border-top:1px solid #e8dbcf}
.openai-key-form input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.openai-security-note{font-size:11px;line-height:1.45;color:#74675e;background:#f7f0e9;border:1px solid #eadacd;border-radius:13px;padding:10px 12px;margin:10px 0 14px}
.chat-compose button:disabled,.drawer-compose button:disabled{opacity:.45;cursor:not-allowed}
.chat-compose textarea:disabled,.drawer-compose textarea:disabled{background:#f5f1ed;color:#94857a}
@media(max-width:640px){.ai-connection-card{grid-template-columns:auto 1fr}.ai-connection-card .btn{grid-column:1/-1}.openai-steps article{grid-template-columns:1fr}.openai-steps article>span{margin-bottom:2px}}

/* V20.1 mobile stability */
@media(max-width:980px){
  body{padding-bottom:104px}
  .mobile-lux-dock{bottom:max(12px,env(safe-area-inset-bottom))}
  .site-footer{padding-bottom:118px}
}


/* V21 — Approved dashboard + stable header */
.site-header,
.site-header.compact{
  position:sticky;
  top:10px;
  width:min(1460px,calc(100% - 24px));
  margin:0 auto;
  border-radius:20px;
  background:rgba(255,253,249,.96);
  backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 14px 38px rgba(55,39,30,.09);
  transition:none!important;
}
.site-header .nav-shell,
.site-header.compact .nav-shell{height:76px!important}
.site-header.compact .brand-copy small{display:block!important}
.site-header.compact .brand-symbol{width:36px!important;height:36px!important}
.nav-shell{grid-template-columns:auto minmax(560px,1fr) auto}
.modern-desktop-nav{justify-self:center;min-width:0}
.nav-actions{white-space:nowrap}

.header-user-wrap{position:relative}
.header-user-card{max-width:235px;min-width:178px}
.header-user-chevron{font-size:14px;color:#8c7467;margin-left:4px;transition:transform .15s ease}
.header-user-card[aria-expanded="true"] .header-user-chevron{transform:rotate(180deg)}
.profile-dropdown{
  position:absolute;right:0;top:calc(100% + 10px);z-index:90;
  width:320px;background:#fffdf9;border:1px solid #dfd0c1;border-radius:18px;
  box-shadow:0 25px 65px rgba(48,33,25,.18);overflow:hidden
}
.profile-dropdown-head{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px;border-bottom:1px solid #eadfd5}
.profile-menu-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#7b3f34,#a76855);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;background-size:cover;background-position:center}
.profile-menu-avatar.has-image{color:transparent}
.profile-dropdown-head>div{display:flex;flex-direction:column;min-width:0}
.profile-dropdown-head b{font-size:14px;color:#2d211c}.profile-dropdown-head small{font-size:11px;color:#8a796e;margin:3px 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-premium-badge{display:inline-flex;align-self:flex-start;background:#f7e5bc;color:#784c27;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}
.profile-premium-badge.expired{background:#f3ece7;color:#806f65}
.profile-dropdown-links{padding:7px}
.profile-dropdown-links.secondary{border-top:1px solid #eadfd5}
.profile-dropdown-links button,.profile-logout{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:11px;text-align:left;padding:10px 12px;border-radius:11px;color:#332720;font-size:13px}
.profile-dropdown-links button span,.profile-logout span{width:20px;text-align:center;color:#7b3f34;font-weight:800}
.profile-dropdown-links button:hover{background:#f8f1ea}
.profile-logout{margin:0 7px 8px;width:calc(100% - 14px);color:#c33a31;background:#fff0ee;border-top:1px solid transparent}
.profile-logout:hover{background:#fee7e4}

.dashboard-v21{background:linear-gradient(180deg,#fbf7f1 0,#f8f0e6 46%,#fbf8f3 100%)}
.dashboard-hero{
  margin-top:32px;
  min-height:230px;border-radius:28px;position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.35fr) .75fr auto;align-items:center;gap:28px;
  padding:42px 46px;
  background:
    radial-gradient(circle at 72% 28%,rgba(255,255,255,.56),transparent 25%),
    linear-gradient(115deg,#fffaf4 0%,#f1dfcc 60%,#c79a78 100%);
  border:1px solid #dfc9b5;box-shadow:0 20px 55px rgba(83,54,37,.08)
}
.dashboard-hero:before,.dashboard-hero:after{content:"";position:absolute;border-radius:48% 52% 62% 38%;background:rgba(255,255,255,.16);transform:rotate(20deg)}
.dashboard-hero:before{width:300px;height:300px;right:210px;top:-150px}
.dashboard-hero:after{width:240px;height:240px;right:60px;bottom:-150px}
.dashboard-title,.dashboard-quote,.dashboard-create{position:relative;z-index:2}
.dashboard-title .eyebrow{letter-spacing:.16em;color:#8a4e3d}
.dashboard-title h1{font-size:clamp(50px,5vw,70px);line-height:.98;margin:12px 0 12px;color:#211714}
.dashboard-title p{font-size:16px;color:#6d5d53}
.dashboard-quote{padding:23px 24px;border-left:1px solid rgba(113,68,48,.30)}
.dashboard-quote p{font:italic 26px/1.28 Georgia,serif;color:#6b4c3c;margin:0 0 15px}
.dashboard-quote span{font-size:9px;letter-spacing:.2em;color:#775849}
.dashboard-create{align-self:center;box-shadow:0 12px 30px rgba(97,45,34,.20)}
.dashboard-create span{font-size:17px;margin-right:5px}

.dashboard-stats{margin-top:18px;grid-template-columns:repeat(4,1fr);gap:14px}
.dashboard-stats .stat{border-radius:20px;padding:20px 20px 18px;text-align:left;cursor:default}
.dashboard-stats button.stat{border:1px solid rgba(225,213,201,.95);cursor:pointer}
.dashboard-stats button.stat:hover{transform:translateY(-2px);border-color:#d2baa7}
.dashboard-stats .stat i{margin-bottom:13px}
.dashboard-stats .stat b{font-size:32px}
.dashboard-stats .stat em{display:block;font-style:normal;font-size:10px;color:#8d7d72;margin-top:7px}

.dashboard-main-grid{display:grid;grid-template-columns:1.18fr .9fr .9fr;gap:16px;margin-top:4px;margin-bottom:16px}
.dashboard-main-grid>.panel{min-height:300px}
.dashboard-community-panel .list-item{padding:15px 14px}
.dashboard-payment-panel{display:flex;flex-direction:column}
.dashboard-payment-panel #paymentRequests{flex:1}
.dashboard-billing-btn{align-self:center;margin-top:12px}
.dashboard-resources{display:flex;flex-direction:column}
.dashboard-resources>button{border:0;background:transparent;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;padding:11px 8px;border-radius:12px}
.dashboard-resources>button:hover{background:#f9f1e9}
.dashboard-resources>button>span{width:32px;height:32px;border-radius:11px;background:#f2e3d8;color:#7b3f34;display:flex;align-items:center;justify-content:center}
.dashboard-resources>button>div{display:flex;flex-direction:column}.dashboard-resources>button b{font-size:12px}.dashboard-resources>button small{font-size:10px;color:#88766a;margin-top:2px}.dashboard-resources>button em{font-style:normal;color:#8f6d5c}
.dashboard-inspiration{margin-top:auto;min-height:112px;border-radius:17px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(125deg,#9c765d,#5e3c2e);color:#fff;position:relative;overflow:hidden}
.dashboard-inspiration:after{content:"";position:absolute;right:-20px;top:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
.dashboard-inspiration b{font:italic 22px/1.18 Georgia,serif;position:relative;z-index:1}.dashboard-inspiration small{letter-spacing:.18em;font-size:8px;margin-top:9px;position:relative;z-index:1}

.dashboard-invite-panel{margin-top:0}
.dashboard-invite-panel .panel-head{margin-bottom:18px}

@media(max-width:1250px){
  .nav-shell{grid-template-columns:auto 1fr auto}
  .header-user-card{min-width:150px;max-width:185px}
  .modern-desktop-nav .nav-link{padding:9px 10px}
  .dashboard-main-grid{grid-template-columns:1fr 1fr}
  .dashboard-resources{grid-column:1/-1}
}
@media(max-width:980px){
  .site-header,.site-header.compact{top:7px;width:calc(100% - 14px)}
  .site-header .nav-shell,.site-header.compact .nav-shell{height:72px!important;grid-template-columns:1fr auto}
  .profile-dropdown{position:fixed;top:78px;right:10px;left:10px;width:auto;max-height:calc(100vh - 95px);overflow:auto}
  .dashboard-hero{grid-template-columns:1fr;padding:28px 24px;gap:14px}
  .dashboard-title h1{font-size:48px}
  .dashboard-quote{border-left:0;border-top:1px solid rgba(113,68,48,.22);padding:16px 0}
  .dashboard-quote p{font-size:21px}
  .dashboard-create{justify-self:start}
  .dashboard-main-grid{grid-template-columns:1fr}
  .dashboard-resources{grid-column:auto}
}
@media(max-width:640px){
  .dashboard-hero{margin-top:18px;border-radius:22px}
  .dashboard-title h1{font-size:42px}
  .dashboard-stats{grid-template-columns:1fr 1fr}
  .dashboard-stats .stat{padding:16px}
  .dashboard-main-grid>.panel{min-height:0}
}


/* V22 — Commercial Growth */
.hero-pro-link{align-self:center;margin-left:4px}
.audience-grid .audience-card{
  text-align:left;border:1px solid var(--line);background:#fff;border-radius:22px;padding:24px;color:var(--ink);
  box-shadow:0 14px 40px rgba(58,42,31,.045);transition:.18s ease
}
.audience-grid .audience-card:hover{transform:translateY(-3px);border-color:#d4bca9;box-shadow:0 20px 42px rgba(58,42,31,.08)}
.audience-card span:last-child{display:block;color:#7b3f34;font-size:12px;font-weight:800;margin-top:14px}

.commercial-view{background:linear-gradient(180deg,#fbf7f1,#f4e8dc 46%,#fbf8f3)}
.commercial-hero{padding:74px 0 46px;display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.commercial-hero h1{font-size:clamp(52px,5vw,74px);line-height:1;letter-spacing:-.055em;margin:16px 0}
.commercial-hero>div:first-child>p{font-size:17px;line-height:1.65;color:#6f6258;max-width:700px}
.commercial-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.commercial-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.commercial-trust span{padding:8px 11px;border-radius:999px;border:1px solid #dfcdbd;background:rgba(255,255,255,.65);font-size:11px;color:#705b4f}
.creator-pro-card{background:linear-gradient(150deg,#3a211b,#7c4437);color:#fff;border-radius:28px;padding:34px;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 70px rgba(58,31,24,.22)}
.creator-pro-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#b87558,#fff0da);color:#512a21;display:flex;align-items:center;justify-content:center;font:700 30px Georgia,serif}
.creator-pro-card small{display:block;letter-spacing:.16em;margin-top:22px;color:#e0c7b8}
.creator-pro-card h2{font-size:42px;color:#fff;margin:8px 0}.creator-pro-card p{color:#eadbd2;line-height:1.55}
.creator-pro-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}
.creator-pro-features span{padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.09);font-size:11px}

.commercial-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:rgba(255,255,255,.75);border:1px solid #e1d1c3;border-radius:20px}
.commercial-tabs button{border:0;background:transparent;padding:11px 15px;border-radius:13px;color:#6f6259;font-weight:750}
.commercial-tabs button.active{background:#4A2E2B;color:#fff}

.commercial-audience-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;padding:42px 0 64px}
.commercial-audience-copy{background:#fffdf9;border:1px solid #e1d2c4;border-radius:25px;padding:30px}
.audience-big-icon{width:52px;height:52px;border-radius:17px;background:#f0e2d7;color:#7b3f34;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px}
.commercial-audience-copy h2{font-size:38px;line-height:1.08;margin:10px 0}.commercial-audience-copy p{color:#75685f;line-height:1.6;margin-bottom:22px}
.commercial-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.commercial-benefit-grid>div{background:rgba(255,255,255,.78);border:1px solid #e3d4c7;border-radius:18px;padding:20px;display:flex;gap:10px;align-items:flex-start}
.commercial-benefit-grid span{width:26px;height:26px;border-radius:50%;background:#e7f1e9;color:#356b4f;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.commercial-benefit-grid b{font-size:13px;line-height:1.4}

.commercial-path{padding:10px 0 70px}.commercial-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}
.commercial-steps article{background:#fff;border:1px solid #e3d4c7;border-radius:20px;padding:22px}
.commercial-steps article span{font-size:11px;color:#a16a54;font-weight:800}.commercial-steps article b{display:block;font-size:15px;margin:14px 0 8px}.commercial-steps article p{font-size:12px;color:#796b61;line-height:1.5;margin:0}
.commercial-final-cta{margin-bottom:70px;padding:34px 38px;border-radius:27px;background:linear-gradient(125deg,#241a16,#5f352b);color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}
.commercial-final-cta h2{font-size:36px;color:#fff;margin:8px 0}.commercial-final-cta p{color:#e6d7cf;max-width:720px}

.commercial-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px}
.creator-growth-panel,.referral-panel{min-height:280px}
.growth-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.growth-metrics>div{background:#fbf6f1;border:1px solid #eaded4;border-radius:15px;padding:14px}
.growth-metrics span{font-size:10px;color:#85766b;text-transform:uppercase;letter-spacing:.04em}.growth-metrics b{display:block;font-size:24px;margin-top:8px}
.growth-footer{margin-top:13px;padding-top:12px;border-top:1px solid #eadfd6;color:#745f52;font-size:12px;font-weight:700}
.referral-code-card{background:linear-gradient(145deg,#f8ecdf,#fffaf3);border:1px solid #e1cdb9;border-radius:17px;padding:16px}
.referral-code-card small{color:#8a776a}.referral-code-card code{display:block;font-size:12px;word-break:break-all;margin:8px 0 14px;color:#5e3c30}.referral-code-card>div{display:flex;gap:7px}
.referral-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.referral-stats>div{padding:12px;border:1px solid #e7dbd0;border-radius:14px}.referral-stats span{font-size:10px;color:#87766b}.referral-stats b{display:block;font-size:21px;margin-top:5px}

@media(max-width:980px){
  .commercial-hero,.commercial-audience-panel,.commercial-dashboard-grid{grid-template-columns:1fr}
  .commercial-steps{grid-template-columns:1fr 1fr}
  .commercial-benefit-grid{grid-template-columns:1fr}
  .commercial-final-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
  .commercial-hero{padding-top:45px}.commercial-hero h1{font-size:44px}
  .creator-pro-features,.commercial-steps,.growth-metrics{grid-template-columns:1fr}
  .commercial-tabs{overflow:auto;flex-wrap:nowrap}.commercial-tabs button{white-space:nowrap}
}

/* V23 — Live / Média */
.media-composer{border:1px solid #e2d4c9;background:#fbf7f3;border-radius:18px;padding:18px;margin:4px 0 18px}
.media-composer-head h3{font-size:20px;margin:5px 0 4px}.media-composer-head p{font-size:12px;color:#7d6e63;margin:0 0 14px}
.media-actions-row{display:flex;gap:8px;flex-wrap:wrap}.media-file-label{display:inline-flex!important;align-items:center;margin:0!important;width:auto!important}
.btn-danger-soft{background:#fff1ef;color:#9b3c31;border:1px solid #e7b9b3}
.recording-notice{margin-top:12px;font-size:12px;font-weight:800;color:#a33b32;display:flex;align-items:center;gap:8px}
.recording-notice span{width:9px;height:9px;border-radius:50%;background:#c43d34;animation:jamaRecPulse 1.2s infinite}
@keyframes jamaRecPulse{0%,100%{opacity:1}50%{opacity:.25}}
.media-preview{margin-top:14px;border:1px solid #e1d4c8;border-radius:16px;overflow:hidden;background:#211915}
.media-preview video{display:block;width:100%;max-height:420px;background:#000;object-fit:contain}
.media-preview-meta{background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px}
.media-preview-meta>div:first-child{display:flex;flex-direction:column;min-width:0}.media-preview-meta b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-preview-meta small{font-size:11px;color:#87766b;margin-top:3px}
.media-preview-actions{display:flex;gap:10px;flex-wrap:wrap}.danger-link{color:#9b3c31}
.content-media-section{border-top:1px solid #eadfd6;margin-top:22px;padding-top:20px}
.detail-media-list{display:flex;flex-direction:column;gap:9px}
.detail-media-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #e4d8cd;border-radius:15px;padding:11px;background:#fbf7f3}
.detail-media-icon{width:38px;height:38px;border-radius:12px;background:#6f3a30;color:#fff;display:grid;place-items:center}
.detail-media-item>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.detail-media-item b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-media-item small{font-size:11px;color:#88776b;margin-top:3px}
@media(max-width:640px){.media-actions-row{flex-direction:column}.media-actions-row .btn,.media-file-label{width:100%!important;justify-content:center}.media-preview-meta{align-items:flex-start;flex-direction:column}.detail-media-item{grid-template-columns:auto 1fr}.detail-media-item .btn{grid-column:1/-1;width:100%}}

/* V24 — Creator Training / QCM / Certificates */
.learning-info-strip{display:flex;gap:9px;flex-wrap:wrap;margin-top:-12px;margin-bottom:26px}
.learning-info-strip span,.learning-badges span{font-size:11px;padding:7px 10px;border-radius:999px;background:#f3e8df;color:#70483a;border:1px solid #e4d3c5}
.learning-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:13px}.paid-course-label{font-weight:800;color:#7b3f34}
.course-paywall{padding:18px 4px;text-align:center;max-width:680px;margin:auto}.course-paywall h2{font-size:38px;margin:12px 0}.course-paywall p{color:var(--muted);line-height:1.65}.course-price-large{font:700 40px Georgia,serif;color:#71382f;margin:22px 0}.course-paywall-features{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:18px 0 24px}.course-paywall-features span{padding:8px 11px;border-radius:999px;background:#f3e9e0;font-size:12px}.course-paywall.success{background:#f6fbf7;border:1px solid #cee3d4;border-radius:20px}
.course-quizzes{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.course-quizzes h3{font-size:23px;margin:6px 0 12px}.course-quiz-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;margin:8px 0}.course-quiz-row>div{display:flex;flex-direction:column}.course-quiz-row small{color:var(--muted);margin-top:4px}
.quiz-head h2{font-size:32px;margin:9px 0}.quiz-head p{color:var(--muted)}.quiz-question-list{display:flex;flex-direction:column;gap:14px;margin:20px 0}.quiz-question{border:1px solid var(--line);border-radius:16px;padding:16px}.quiz-question legend{font-weight:800;padding:0 6px}.quiz-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #e8ddd4;border-radius:12px;margin-top:8px;cursor:pointer}.quiz-option input{width:auto;margin-top:2px}
.training-manager-dialog{max-width:1180px}.training-manager-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.training-manager-head h2{font-size:34px;margin:6px 0}.training-manager-head p{color:var(--muted);max-width:720px}.training-manager-grid{display:grid;grid-template-columns:300px 1fr;gap:18px}.training-course-list-wrap{border-right:1px solid var(--line);padding-right:16px}.author-course-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.author-course-stats>div{background:#f7f0ea;border:1px solid #e5d8ce;border-radius:13px;padding:11px}.author-course-stats b{display:block;font-size:20px}.author-course-stats span{font-size:10px;color:var(--muted)}
.author-course-list{display:flex;flex-direction:column;gap:8px}.author-course-item{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;text-align:left;display:flex;justify-content:space-between;gap:10px;color:var(--ink)}.author-course-item.active{border-color:#9c704e;background:#fbf4ee}.author-course-item>div{display:flex;flex-direction:column}.author-course-item small{color:var(--muted);margin-top:4px}
.training-editor{min-width:0}.training-builder{margin-top:22px;display:flex;flex-direction:column;gap:18px}.builder-section{border-top:1px solid var(--line);padding-top:20px}.builder-section-head{display:flex;justify-content:space-between;align-items:center}.builder-section h3{font-size:24px;margin:5px 0 12px}.builder-form{background:#faf5f0;border:1px solid #e9ddd3;border-radius:16px;padding:15px;margin-top:12px}.author-lesson-list,.author-quiz-list,.course-access-requests{display:flex;flex-direction:column;gap:8px}.author-builder-item,.access-request-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px}.author-builder-item>div:first-child,.access-request-item>div:first-child{display:flex;flex-direction:column}.author-builder-item small,.access-request-item small{color:var(--muted);margin-top:3px}.builder-item-actions{display:flex;gap:9px;align-items:center}.question-form-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.question-form-title span{font-size:11px;color:var(--muted)}.training-publish-note{font-size:11px;color:var(--muted);align-self:center}.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.training-manager-grid{grid-template-columns:1fr}.training-course-list-wrap{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:15px}.form-grid.three{grid-template-columns:1fr 1fr}.training-manager-head{flex-direction:column}.course-quiz-row{align-items:flex-start}}
@media(max-width:640px){.form-grid.three{grid-template-columns:1fr}.course-quiz-row,.author-builder-item,.access-request-item{flex-direction:column;align-items:stretch}.builder-item-actions{justify-content:flex-start}.learning-info-strip{display:grid;grid-template-columns:1fr 1fr}}

/* V25 — Smart Training */
.smart-training-import{background:linear-gradient(145deg,#fbf4ed,#fffdf9);border:1px solid #dfcbbb;border-radius:20px;padding:18px;margin-top:4px}
.builder-help{color:var(--muted);font-size:13px;line-height:1.55;margin:3px 0 14px}
.smart-import-options{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:10px 0 14px}.smart-import-options label{margin:0}
.video-lesson-form{border:1px solid #ddc7b6;background:#fffaf5}.video-form-head h4{font:700 20px Georgia,serif;margin:4px 0 12px}
.video-lesson-form input[type=file]{padding:10px;background:#fff}
.lesson-video{margin-right:7px;margin-top:10px}
@media(max-width:640px){.smart-import-options{flex-direction:column;align-items:stretch}}

/* V26 — Lemon Squeezy billing */
.lemon-premium-plans{display:flex;flex-direction:column;gap:9px;margin:18px 0}
.lemon-plan{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fbf6f1}
.lemon-plan>div:first-child{display:flex;flex-direction:column}.lemon-plan small{color:var(--muted);margin-top:3px}.lemon-plan-price{font-weight:800;color:#71382f}
@media(max-width:620px){.lemon-plan{grid-template-columns:1fr}.lemon-plan .btn{width:100%}}

/* V27 — Hybrid payments Europe + Senegal */
.payment-choice-block{margin-top:16px}
.payment-choice-head p{font-size:12px;color:var(--muted);margin:4px 0 12px}
.payment-method-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.payment-method-tab{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 13px;border-radius:999px;font-weight:750}
.payment-method-tab.active{background:#5b3028;color:#fff;border-color:#5b3028}
.mobile-premium-pay{margin:12px 0}
.mobile-pay-card{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fbf6f1}
.mobile-pay-card>div:first-child{display:flex;flex-direction:column}.mobile-pay-card small{color:var(--muted);margin-top:3px}.mobile-pay-price{font-weight:800;color:#71382f}
.course-payment-methods{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}
@media(max-width:620px){.mobile-pay-card{grid-template-columns:1fr}.mobile-pay-card .btn{width:100%}.course-payment-methods{flex-direction:column}.course-payment-methods .btn{width:100%}}

/* V27.1 — Mobile Money manuel avec code */
.activation-link,.course-activation-code{display:block;margin:10px auto 0}
.manual-pay-summary{border:1px solid var(--line);background:#fbf6f1;border-radius:16px;padding:16px;margin:12px 0}
.manual-pay-summary>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.manual-pay-summary span{color:var(--muted);font-size:12px}.manual-pay-summary b{font-size:18px;color:#71382f}.manual-pay-summary p{color:var(--muted);font-size:12px;line-height:1.5;margin:12px 0 0}
.manual-payment-form{display:flex;flex-direction:column;gap:10px}
.manual-provider-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.manual-provider-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbf7f3}.manual-provider-form>div{display:flex;flex-direction:column}.manual-provider-form small{color:var(--muted);margin-top:3px}.manual-provider-form input[type=text],.manual-provider-form input:not([type]){min-width:0}
.manual-payment-requests{display:flex;flex-direction:column;gap:8px}.manual-request-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}.manual-request-row>div:first-child{display:flex;flex-direction:column}.manual-request-row small{color:var(--muted);margin-top:4px}.manual-request-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:850px){.manual-provider-settings{grid-template-columns:1fr}.manual-provider-form{grid-template-columns:1fr}.manual-request-row{flex-direction:column;align-items:stretch}}

/* V28 — Accueil facile, contenus populaires et guide nouveaux utilisateurs */
.proof-strip-actions{display:grid;grid-template-columns:repeat(3,1fr);padding:0;overflow:hidden}
.proof-strip-actions button{border:0;border-right:1px solid #dfcfbf;background:transparent;text-align:left;padding:12px 14px;color:var(--ink);min-width:0}
.proof-strip-actions button:last-child{border-right:0}.proof-strip-actions button b{display:block;font:700 14px Georgia,serif}.proof-strip-actions button span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.proof-strip-actions button em{display:block;font-style:normal;font-size:10px;font-weight:800;color:#7b4639;margin-top:7px}
@media(hover:hover){.proof-strip-actions button:hover{background:#fff9f3}}
.home-popular-section{padding-top:48px}.home-popular-title{display:flex;justify-content:space-between;gap:22px;align-items:end}.home-popular-title>div:first-child{max-width:720px}.home-popular-title p{color:var(--muted);line-height:1.55}
.home-popular-tabs{display:flex;gap:7px;flex-wrap:wrap}.home-popular-tabs button{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-weight:750;color:#5d4e45}.home-popular-tabs button.active{background:#5b3028;color:#fff;border-color:#5b3028}
.home-popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.home-popular-card{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden;text-align:left;color:var(--ink);padding:0;min-width:0;transition:.18s ease}.home-popular-card img,.home-popular-placeholder{width:100%;height:150px;object-fit:cover}.home-popular-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#eeded1,#c99575);font:700 48px Georgia,serif;color:#fff}.home-popular-card-body{padding:15px}.home-popular-meta{display:flex;justify-content:space-between;gap:8px;font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.home-popular-card h3{font-size:20px;margin:9px 0 6px;line-height:1.12}.home-popular-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.home-popular-card em{display:block;font-style:normal;font-size:11px;font-weight:800;color:#7b4639;margin-top:12px}.home-popular-footer{text-align:center;margin-top:16px}.home-popular-empty{grid-column:1/-1}.home-popular-empty .btn{display:block;margin:12px auto 0}
@media(hover:hover){.home-popular-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(73,45,35,.08)}}
.quick-guide-card{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;background:linear-gradient(125deg,#fffaf5,#f3e4d8);border:1px solid #dfcbb9;border-radius:26px;padding:28px}.quick-guide-copy h2{font-size:36px;margin:8px 0}.quick-guide-copy p{color:var(--muted);line-height:1.6}.quick-guide-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.quick-guide-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-guide-steps button{border:1px solid #dfcfc0;background:rgba(255,255,255,.78);border-radius:17px;padding:16px;text-align:left;color:var(--ink)}.quick-guide-steps span{font-size:10px;font-weight:800;color:#a16a54}.quick-guide-steps b{display:block;margin:9px 0 4px}.quick-guide-steps small{color:var(--muted)}
.commercial-step-actions button{background:#fff;border:1px solid #e3d4c7;border-radius:20px;padding:22px;text-align:left;color:var(--ink)}.commercial-step-actions button span{font-size:11px;color:#a16a54;font-weight:800}.commercial-step-actions button b{display:block;font-size:15px;margin:14px 0 8px}.commercial-step-actions button p{font-size:12px;color:#796b61;line-height:1.5;margin:0}.commercial-step-actions button em{display:block;font-style:normal;font-size:10px;font-weight:800;color:#7b4639;margin-top:12px}
@media(max-width:900px){.home-popular-grid{grid-template-columns:1fr 1fr}.home-popular-title{align-items:flex-start;flex-direction:column}.quick-guide-card{grid-template-columns:1fr}.proof-strip-actions{grid-template-columns:1fr}.proof-strip-actions button{border-right:0;border-bottom:1px solid #dfcfbf}.proof-strip-actions button:last-child{border-bottom:0}}
@media(max-width:620px){.home-popular-grid,.quick-guide-steps{grid-template-columns:1fr}.home-popular-card img,.home-popular-placeholder{height:180px}}

/* V28.1 — Super Admin + citation de bienvenue */
.home-motivation{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-top:18px;margin-bottom:8px;border:1px solid #dfcbb9;border-radius:20px;padding:17px 20px;background:linear-gradient(125deg,#fffaf5,#f4e6db)}
.home-motivation-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#5b3028;color:#fff;font-size:18px}
.home-motivation small{display:block;color:#8e6a58;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.home-motivation blockquote{margin:5px 0 4px;font:700 20px/1.25 Georgia,serif;color:#2d201a}
.home-motivation span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#9b7866}
.profile-dropdown-links .staff-only{color:#6c352c;font-weight:800;background:#fbf1ea}
.manual-payment-admin{margin-top:16px}
.manual-provider-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.manual-provider-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbf7f3}
.manual-provider-form>div{display:flex;flex-direction:column}.manual-provider-form small{color:var(--muted);margin-top:3px}
.manual-payment-requests{display:flex;flex-direction:column;gap:8px}
.manual-request-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}
.manual-request-row>div:first-child{display:flex;flex-direction:column}.manual-request-row small{color:var(--muted);margin-top:4px}.manual-request-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:850px){
  .home-motivation{grid-template-columns:auto 1fr}
  .home-motivation .text-link{grid-column:1/-1;text-align:left}
  .manual-provider-settings{grid-template-columns:1fr}
  .manual-provider-form{grid-template-columns:1fr}
  .manual-request-row{flex-direction:column;align-items:stretch}
}

/* V28.2 — génération manuelle de codes */
.manual-code-generator{border:1px solid #dfc9b8;background:linear-gradient(145deg,#fffaf5,#f7ece2);border-radius:18px;padding:16px;margin:16px 0}
.manual-code-generator .panel-head.compact{margin-bottom:10px}.manual-code-generator .panel-head.compact h3{font:700 22px Georgia,serif;margin:5px 0}.manual-code-generator .panel-head.compact p{color:var(--muted);font-size:12px;margin:0}
.manual-code-generator-form{display:flex;flex-direction:column;gap:10px}
.manual-generated-code{margin-top:14px;border:1px solid #cda988;background:#fff;border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.manual-generated-code small{font-size:9px;font-weight:800;color:#8c6655;letter-spacing:.08em}.manual-generated-code strong{font:700 28px Georgia,serif;color:#5b3028;letter-spacing:.08em}
.manual-generated-code .btn{margin-left:auto}
@media(max-width:640px){.manual-generated-code{align-items:stretch}.manual-generated-code .btn{margin-left:0;width:100%}}

/* V28.3 — Accueil réorganisé et professionnel */
.connected-home-hub{margin-top:24px;margin-bottom:10px}
.connected-home-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:16px}
.connected-home-head h2{font:700 34px/1.06 Georgia,serif;margin:6px 0;color:var(--ink)}
.connected-home-head p{color:var(--muted);max-width:720px;line-height:1.55;margin:0}
.home-premium-mini{border:1px solid #dfcbb9;background:#fff8ef;color:#704536;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:800;white-space:nowrap}

.connected-quick-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 20px}
.connected-quick-actions button{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;text-align:left;color:var(--ink);min-width:0}
.connected-quick-actions button>span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f2e6dc;color:#744236;font-weight:800}
.connected-quick-actions button b{display:block;margin:10px 0 3px;font-size:13px}
.connected-quick-actions button small{display:block;color:var(--muted);font-size:10.5px}
@media(hover:hover){.connected-quick-actions button:hover{border-color:#cda98e;background:#fffaf6}}

.home-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.home-mode-card{border:1px solid var(--line);background:#fff;border-radius:21px;padding:20px;text-align:left;color:var(--ink);min-width:0;transition:.18s ease}
.home-mode-card.active{border-color:#9f6e58;box-shadow:0 12px 28px rgba(79,48,37,.08)}
.home-mode-card .home-mode-kicker{font-size:9px;font-weight:800;letter-spacing:.1em;color:#9a725e}
.home-mode-card h3{font:700 26px Georgia,serif;margin:7px 0}
.home-mode-card p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 12px}
.home-mode-card ul{margin:0;padding-left:17px;color:#5f5148;font-size:11px;line-height:1.65}
.home-mode-card em{display:block;font-style:normal;font-weight:800;font-size:11px;color:#7b4639;margin-top:14px}
.home-mode-card.private{background:linear-gradient(145deg,#fffaf5,#f8ede4)}
.home-mode-card.discreet{background:linear-gradient(145deg,#fff,#f5f0ed)}

.home-organized-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.home-organized-panel{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px}
.home-organized-panel h3{font:700 22px Georgia,serif;margin:4px 0}
.home-mini-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.home-mini-item{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;border:1px solid #e9ddd3;background:#fbf8f4;border-radius:13px;padding:12px;text-align:left;color:var(--ink)}
.home-mini-item>div{display:flex;flex-direction:column;min-width:0}.home-mini-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-mini-item small{font-size:10px;color:var(--muted);margin-top:3px}

.home-discovery-strip{margin-top:18px;margin-bottom:18px;border:1px solid #dfcbb9;border-radius:20px;padding:18px 20px;background:linear-gradient(120deg,#fffaf5,#f5e7dd);display:flex;justify-content:space-between;align-items:center;gap:20px}
.home-discovery-strip h3{font:700 22px Georgia,serif;margin:4px 0}
.home-discovery-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.landing-commercial-secondary{margin-top:24px}
.landing-commercial-secondary .commercial-steps{margin-top:18px}

@media(max-width:980px){
  .connected-quick-actions{grid-template-columns:repeat(3,1fr)}
  .home-mode-grid{grid-template-columns:1fr}
  .home-organized-grid{grid-template-columns:1fr}
  .connected-home-head{flex-direction:column}
  .home-discovery-strip{flex-direction:column;align-items:flex-start}
  .home-discovery-actions{justify-content:flex-start}
}
@media(max-width:620px){
  .connected-quick-actions{grid-template-columns:1fr 1fr}
  .connected-home-head h2{font-size:29px}
  .home-discovery-actions{display:grid;grid-template-columns:1fr;width:100%}
  .home-discovery-actions .btn{width:100%}
}

/* V28.4 — Suivi social fonctionnel */
.content-detail-social{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 10px}
.content-detail-social .btn,.content-detail-actions .btn{transition:.15s ease}
.content-detail-social .is-following,.content-detail-actions .is-following{background:#5b3028;color:#fff;border-color:#5b3028}
.content-detail-social .detail-like.is-liked{background:#fff0ef;color:#9b302d;border-color:#d9aaa3}
.detail-like span{font-weight:800}
.content-detail-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.notification-icon{display:inline-grid;place-items:center}
@media(max-width:620px){
  .content-detail-social,.content-detail-actions{display:grid;grid-template-columns:1fr}
  .content-detail-social .btn,.content-detail-actions .btn,.content-detail-actions .text-link{width:100%;justify-content:center;text-align:center}
}

/* V28.4.1 — correction événements boutons sociaux */
@keyframes jamaSocialConfirm{0%{transform:scale(1)}45%{transform:scale(1.035)}100%{transform:scale(1)}}
.social-confirm{animation:jamaSocialConfirm .65s ease}

/* V28.5 — Responsive artistique + performance */

/* Rendering performance */
.content-card,.room-card,.learning-card,.home-popular-card,.panel,.stat{
  content-visibility:auto;
  contain-intrinsic-size:1px 360px;
}
.content-cover,.detail-cover{background:#f2e9e1}
.content-cover img,.detail-cover,img{
  transition:opacity .18s ease;
}
.content-cover img:not(.img-ready){opacity:.96}
.content-cover{aspect-ratio:16/9;overflow:hidden}
.content-cover img{width:100%;height:100%;object-fit:cover;display:block}
.react-btn.active{background:#fff0ef;color:#9b302d;border-color:#d9aaa3}
.react-btn:disabled,.detail-like:disabled{opacity:.8;cursor:default}

/* Header refinement */
.site-header{will-change:transform}
.nav-shell{max-width:1440px}
.icon-nav-btn,.mobile-menu,.header-user-card,.brand{touch-action:manipulation}
.icon-nav-btn span{font-family:Georgia,serif}

/* Tablet */
@media (max-width:1100px){
  .shell{width:min(100% - 32px,960px)}
  .desktop-nav{display:none!important}
  .mobile-menu{display:inline-grid!important;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#fff}
  .nav-shell{height:72px;gap:10px}
  .brand-copy small{display:none}
  .header-user-copy small{display:none}
  .header-user-card{padding:7px 10px}
  .header-user-name{max-width:130px}
  .hero{grid-template-columns:1fr;gap:26px;padding:48px 0 40px}
  .hero-product{max-width:720px;width:100%;margin:auto}
  .content-grid,.room-grid,.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .connected-quick-actions{grid-template-columns:repeat(3,1fr)}
  .home-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phone */
@media (max-width:760px){
  html{scroll-padding-bottom:92px}
  body{padding-bottom:82px}
  .shell{width:calc(100% - 24px)}
  .site-header{background:rgba(255,252,248,.96);backdrop-filter:blur(18px)}
  .nav-shell{height:66px;padding:0 2px;gap:7px}
  .brand{min-width:0;gap:7px}
  .brand-symbol{width:38px;height:38px;border-radius:12px;font-size:18px;flex:0 0 auto}
  .brand-name{display:block;font-size:18px;line-height:.92;max-width:112px}
  .brand-badge{font-size:9px;margin-left:4px}
  .sync-chip,#awaQuickBtn,#headerAdminBadge{display:none!important}
  #notificationBtn{display:none!important}
  .header-user-card{min-width:0;padding:5px 7px;border-radius:14px}
  .header-user-avatar{width:36px;height:36px}
  .header-user-copy{display:none}
  .header-user-chevron{font-size:12px}
  .mobile-menu{width:44px;height:44px;border-radius:14px;font-size:0}
  .mobile-menu span{font-size:22px;line-height:1}
  .profile-dropdown{position:fixed!important;left:12px!important;right:12px!important;top:72px!important;width:auto!important;max-height:calc(100vh - 160px);overflow:auto;border-radius:18px}
  .mobile-panel{position:fixed;inset:70px 12px auto 12px;z-index:45;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 48px rgba(59,39,31,.14);max-height:calc(100vh - 160px);overflow:auto}
  .mobile-panel-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px}
  .mobile-panel button{padding:13px!important;background:#fff!important;border:1px solid #eadfd5!important;min-height:72px}
  .mobile-panel button span:last-child small{display:block;margin-top:3px}

  .hero{padding:30px 0 26px;display:block}
  .hero h1{font-size:clamp(37px,12vw,54px);line-height:1.01;margin:12px 0 16px}
  .hero-copy>p{font-size:15px;line-height:1.55}
  .hero-product{margin-top:22px;padding:16px;border-radius:24px}
  .app-mock{padding:17px;border-radius:18px}
  .hero-actions{display:grid;grid-template-columns:1fr;margin-top:18px}
  .hero-actions .btn{width:100%}
  .trust-line{gap:9px;font-size:11px}

  .home-motivation{padding:15px;gap:12px;border-radius:18px}
  .home-motivation blockquote{font-size:17px}
  .connected-home-head h2{font-size:29px}
  .connected-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .connected-quick-actions button{padding:12px;min-height:115px}
  .home-mode-grid{grid-template-columns:1fr;gap:10px}
  .home-mode-card{padding:17px}
  .home-popular-grid,.content-grid,.room-grid,.learning-grid{grid-template-columns:1fr!important}
  .home-organized-grid{grid-template-columns:1fr}
  .page-head,.app-head{padding:34px 0 20px;display:block}
  .page-head h1,.app-head h1{font-size:35px}
  .search-wrap input{width:100%;margin-top:12px}
  .category-row{margin-left:-2px;margin-right:-2px}
  .content-card{padding:0;border-radius:18px;min-height:auto}
  .content-card-body{padding:15px}
  .content-card h3{font-size:20px;margin:12px 0 8px}
  .content-card p{font-size:13px;line-height:1.5}
  .compact-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
  .mini-action{min-width:0;padding:9px 5px;font-size:12px;justify-content:center}
  .mini-action span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  dialog.dialog{width:calc(100% - 18px)!important;max-width:none!important;max-height:calc(100dvh - 20px)!important;margin:auto!important;border-radius:22px!important}
  .dialog-body{padding:18px!important}
  .content-detail-text{font-size:15px;line-height:1.65}
  .detail-cover{max-height:38vh;object-fit:cover;border-radius:16px}

  .dashboard-hero{padding:24px 18px!important;border-radius:22px!important}
  .dashboard-title h1{font-size:34px!important}
  .dashboard-stats{grid-template-columns:1fr 1fr!important}
  .commercial-dashboard-grid{grid-template-columns:1fr!important}

  .mobile-bottom-nav{
    position:fixed;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));
    z-index:60;display:grid;grid-template-columns:repeat(5,1fr);
    background:rgba(255,252,248,.96);backdrop-filter:blur(20px);
    border:1px solid rgba(219,202,189,.9);border-radius:22px;
    box-shadow:0 12px 36px rgba(65,41,31,.16);padding:7px 5px 6px;
  }
  .mobile-bottom-nav.hidden{display:none!important}
  .mobile-bottom-nav button{
    position:relative;border:0;background:transparent;color:#71635b;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;min-width:0;min-height:50px;font-size:9px;font-weight:650;padding:2px;
  }
  .mobile-bottom-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav button.active{color:#783d32}
  .mobile-create-main{transform:translateY(-14px)}
  .mobile-create-circle{
    width:52px;height:52px;border-radius:50%;background:#7b3f34;color:#fff;
    display:grid;place-items:center;box-shadow:0 8px 22px rgba(123,63,52,.25);border:4px solid #fffaf6
  }
  .mobile-create-circle svg{width:26px;height:26px}
  .mobile-icon-wrap{position:relative;display:grid;place-items:center}
  .mobile-nav-count{
    position:absolute;right:-8px;top:-6px;min-width:17px;height:17px;border-radius:999px;
    background:#d83c35;color:#fff;font-size:9px;display:grid;place-items:center;padding:0 4px
  }
}

@media (max-width:380px){
  .brand-name{font-size:16px;max-width:95px}
  .brand-badge{display:none}
  .connected-quick-actions{grid-template-columns:1fr}
  .dashboard-stats{grid-template-columns:1fr!important}
}

/* Desktop large: visual hierarchy closer to the approved artistic model */
@media (min-width:1200px){
  .hero{padding-top:58px}
  .content-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-popular-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Reduced motion improves perceived speed for users/devices that request it */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* V28.5.1 — navigation mobile cliquable */
.mobile-bottom-nav{pointer-events:auto!important}
.mobile-bottom-nav button{pointer-events:auto!important;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.mobile-bottom-nav svg,.mobile-bottom-nav span{pointer-events:none}
.mobile-bottom-nav button:active{transform:scale(.96)}
.mobile-bottom-nav .mobile-create-main:active{transform:translateY(-14px) scale(.96)}

/* V28.5.2 — global stability */
.network-soft-error{font-size:12px;color:var(--muted)}

/* V28.5.3 — restauration/stabilisation des images illustratives */
.connected-home-visual{margin:0 0 18px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#f6eee7}
.connected-home-visual img{width:100%;display:block;aspect-ratio:16/7;object-fit:cover;object-position:center 32%}
.content-cover,.home-popular-image{position:relative;overflow:hidden;background:linear-gradient(145deg,#f6eee7,#efe1d5)}
.content-cover{display:block;width:100%;aspect-ratio:16/9}
.publication-cover-img{display:block;width:100%;height:100%;object-fit:cover;opacity:1!important;visibility:visible!important}
.home-popular-image{width:100%;height:150px}
.home-popular-image .publication-cover-img{width:100%;height:100%;object-fit:cover}
.image-fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font:700 20px Georgia,serif;color:#7b4639}
.image-load-error .image-fallback{display:flex}
.content-card,.home-popular-card{content-visibility:visible!important}
@media(max-width:760px){
  .connected-home-visual{border-radius:18px}
  .connected-home-visual img{aspect-ratio:4/3;object-position:center}
  .content-cover{aspect-ratio:4/3}
  .home-popular-image{height:190px}
}

/* V28.5.4 — vrai dashboard artistique, sans image statique dans le fil */
.connected-home-visual{display:none!important}

.dashboard-v21{background:
  radial-gradient(circle at 86% 8%,rgba(205,169,142,.16),transparent 24%),
  linear-gradient(180deg,#fbf6f0 0%,#fffdf9 42%,#f8f0e9 100%);
}
.dashboard-v21 .dashboard-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:22px;
  align-items:end;
  margin-top:28px;
  padding:34px;
  border:1px solid #dfcdbf;
  border-radius:28px;
  background:
    linear-gradient(120deg,rgba(255,253,249,.98),rgba(244,228,216,.92)),
    radial-gradient(circle at 82% 30%,rgba(122,63,52,.08),transparent 32%);
  box-shadow:0 20px 55px rgba(75,47,37,.08);
  overflow:hidden;
}
.dashboard-v21 .dashboard-hero::after{
  content:"J";
  position:absolute;
  right:28px;
  bottom:-52px;
  font:700 210px/1 Georgia,serif;
  color:rgba(123,63,52,.055);
  pointer-events:none;
}
.dashboard-title{position:relative;z-index:1}
.dashboard-title h1{
  font:700 clamp(42px,5vw,68px)/.98 Georgia,serif!important;
  letter-spacing:-.045em!important;
  margin:8px 0 12px!important;
}
.dashboard-greeting{font-size:15px!important;color:#75665c!important;max-width:620px}
.dashboard-quote{
  position:relative;
  z-index:1;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:160px;
  padding:22px;
  border:1px solid rgba(201,169,145,.72);
  border-radius:22px;
  background:rgba(255,252,248,.78);
  backdrop-filter:blur(10px);
}
.dashboard-quote p{
  font:italic 700 23px/1.3 Georgia,serif!important;
  color:#5b3028!important;
  margin:0 0 14px!important;
}
.dashboard-quote span{font-size:9px!important;letter-spacing:.16em!important;color:#9b7663!important}
.dashboard-create{
  position:absolute;
  left:34px;
  bottom:28px;
  transform:translateY(100%);
  margin-top:0!important;
  z-index:3;
}
.dashboard-v21 .premium-banner{margin-top:56px}

.dashboard-art-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
  margin-bottom:18px;
}
.dashboard-art-actions button{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:11px;
  align-items:center;
  min-height:100px;
  padding:16px;
  border:1px solid #e2d3c7;
  border-radius:20px;
  background:rgba(255,255,255,.9);
  color:#2d211c;
  text-align:left;
  box-shadow:0 8px 24px rgba(70,44,34,.045);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.dashboard-art-actions button:hover{
  transform:translateY(-2px);
  border-color:#c99f87;
  box-shadow:0 12px 28px rgba(70,44,34,.08);
}
.dashboard-action-icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:#f2e3d8;color:#7b3f34;
  font-size:20px;font-weight:800;
}
.dashboard-art-actions b{display:block;font:700 17px Georgia,serif}
.dashboard-art-actions small{display:block;color:#7e7066;font-size:10.5px;line-height:1.35;margin-top:4px}
.dashboard-art-actions em{font-style:normal;color:#8a5845;font-size:20px}

.dashboard-v21 .dashboard-stats .stat,
.dashboard-v21 .panel{
  border-color:#e5d6ca!important;
  box-shadow:0 8px 26px rgba(68,43,34,.045);
}
.dashboard-v21 .dashboard-stats .stat{
  background:linear-gradient(145deg,#fff,#fbf5ef);
}
.dashboard-v21 .panel{background:rgba(255,255,255,.92)}
.dashboard-v21 .panel-head h2{font-family:Georgia,serif}

@media(max-width:980px){
  .dashboard-v21 .dashboard-hero{
    grid-template-columns:1fr;
    padding:26px;
    align-items:start;
  }
  .dashboard-quote{min-height:auto}
  .dashboard-create{position:static;transform:none;width:max-content;margin-top:4px!important}
  .dashboard-v21 .premium-banner{margin-top:16px}
  .dashboard-art-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .dashboard-v21 .dashboard-hero{
    margin-top:16px;
    padding:22px 18px!important;
    border-radius:22px!important;
  }
  .dashboard-title h1{font-size:39px!important}
  .dashboard-quote{
    min-height:118px;
    padding:16px;
    border-radius:18px;
  }
  .dashboard-quote p{font-size:19px!important}
  .dashboard-create{width:100%;justify-content:center}
  .dashboard-art-actions{
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:14px;
  }
  .dashboard-art-actions button{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:142px;
    padding:14px;
  }
  .dashboard-art-actions em{margin-top:auto;align-self:flex-end}
  .dashboard-action-icon{width:40px;height:40px}
  .dashboard-art-actions b{font-size:16px}
}

@media(max-width:380px){
  .dashboard-art-actions{grid-template-columns:1fr}
  .dashboard-art-actions button{min-height:105px}
}

/* V28.5.5 — accueil propre + images mobiles fiables */
#connectedHomeHub,.connected-home-visual{display:none!important}

.content-card,.home-popular-card{
  content-visibility:visible!important;
  contain:none!important;
}
.content-cover{
  display:block!important;
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(145deg,#f3e8df,#ead8ca);
}
.publication-cover-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:1px;
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
}
.publication-cover-img.img-ready{opacity:1!important}
.image-fallback{
  display:none;
  position:absolute;
  inset:0;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#f3e8df,#ead8ca);
  color:#7b4639;
  font:700 18px Georgia,serif;
}
.image-load-error .image-fallback{display:flex}

@media(max-width:760px){
  .content-cover{aspect-ratio:4/3}
  .home-popular-image{height:210px}
  .brand-badge{font-size:8px!important;padding:4px 6px!important}
}

/* V28.6.1 — images visibles immédiatement */
.content-cover,.home-popular-image{
  position:relative;
  background:linear-gradient(145deg,#f3e8df,#ead8ca);
}
.publication-cover-img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
}
.publication-cover-img.img-ready{opacity:1!important}
.image-fallback{
  display:none!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(145deg,#f3e8df,#ead8ca)!important;
  color:#7b4639!important;
  font:700 18px Georgia,serif!important;
}
.image-load-error .image-fallback{display:flex!important}

/* Final override — Safari/iPhone */
img.publication-cover-img{
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
}

/* V28.6.2 — Guest/public image fallback for Safari/iPhone */
.guest-safe-cover{
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
}
.guest-mode .content-cover,
.guest-mode .home-popular-image{
  background-color:#efe2d7!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
}
.guest-mode .publication-cover-img{
  position:relative!important;
  z-index:2!important;
  background:transparent!important;
}
.detail-cover-wrap{
  width:calc(100% + 68px);
  margin:-34px -34px 24px;
  height:300px;
  overflow:hidden;
  background-position:center;
  background-size:cover;
}
.detail-cover-wrap .detail-cover{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover!important;
}
@media(max-width:640px){
  .detail-cover-wrap{
    width:calc(100% + 44px);
    margin:-28px -22px 20px;
    height:230px;
  }
}

/* =====================================================================
   V28.7 — Design professionnel (maquette V29 validée)
   Typographie Fraunces + Instrument Sans, accueil réorganisé,
   navigation mobile unique, notifications, paiement mobile en 3 étapes.
   ===================================================================== */
:root{
  --jc-bg:#F7F1EA;--jc-surface:#FFFDF9;--jc-ink:#241A16;--jc-muted:#5E514A;--jc-muted2:#6B5D55;
  --jc-line:#E6DACE;--jc-line2:#DCCBBB;--jc-soft:#F1E6DB;--jc-accent:#7B3F34;--jc-accent-dark:#5E2C24;
  --jc-placeholder:#E9DCCF;--jc-dark:#241A16;
  --jc-serif:Fraunces,Georgia,"Times New Roman",serif;
  --jc-sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body{font-family:var(--jc-sans);background:var(--jc-bg);color:var(--jc-ink)}
h1,h2,.page-head h1,.app-head h1,.dashboard-v21 .panel-head h2,.dialog-body h2,.proof-strip b{font-family:var(--jc-serif);letter-spacing:-.015em}
.jc-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* En-tête */
.brand-name{font-family:var(--jc-serif)!important;font-weight:600!important;font-size:20px!important;color:var(--jc-ink)!important;letter-spacing:-.01em}
.brand-name b{color:inherit;font-weight:inherit}
.brand-symbol{background:var(--jc-accent)!important;color:#FFFDF9!important;font-family:var(--jc-serif);border-radius:12px}
#notificationBtn .jc-ico{width:21px;height:21px}
@media (max-width:760px){
  body.member-mode #notificationBtn{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px}
}

/* Boutons et liens communs */
.jc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid transparent;font:600 16px/1 var(--jc-sans);cursor:pointer;transition:background .15s ease,transform .15s ease;text-decoration:none}
.jc-btn:active{transform:scale(.98)}
.jc-btn-primary{background:var(--jc-accent);color:#FFFDF9}
.jc-btn-primary:hover{background:var(--jc-accent-dark)}
.jc-btn-ghost{background:var(--jc-surface);color:var(--jc-ink);border-color:var(--jc-line2)}
.jc-btn-ghost:hover{background:var(--jc-soft)}
.jc-btn-light{background:var(--jc-bg);color:var(--jc-ink)}
.jc-btn-block{width:100%}
.jc-link{background:none;border:0;padding:12px 4px;color:var(--jc-accent);font:600 15px var(--jc-sans);cursor:pointer;text-decoration:none}
.jc-link:hover{color:var(--jc-accent-dark);text-decoration:underline;text-underline-offset:3px}
.jc-btn:focus-visible,.jc-link:focus-visible,.jc-tabs button:focus-visible,.jc-card-link:focus-visible,.jc-bottom-nav button:focus-visible{outline:2px solid var(--jc-accent);outline-offset:2px}
.jc-eyebrow{font:600 13px var(--jc-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--jc-accent)}
.jc-h2{font:600 clamp(32px,4vw,44px)/1.1 var(--jc-serif);letter-spacing:-.015em;margin:12px 0 0}
.jc-center{text-align:center;margin-top:36px}
.jc-center-block{display:block;margin:6px auto 0}

/* Squelettes de chargement */
.jc-skeleton,.jc-sk-line{background:linear-gradient(90deg,#EFE4D9 0%,#F7EEE6 50%,#EFE4D9 100%);background-size:200% 100%;animation:jcShimmer 1.3s ease-in-out infinite}
.jc-sk-line{display:block;height:14px;border-radius:7px;margin:10px 0}
.jc-sk-line.short{width:55%}
@keyframes jcShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* Héro visiteurs */
.jc-hero{display:flex;flex-wrap:wrap;gap:64px;align-items:center;padding:80px 0 88px}
.jc-hero-copy{flex:1 1 540px;min-width:0}
.jc-hero-title{font:600 clamp(40px,5.4vw,68px)/1.04 var(--jc-serif);letter-spacing:-.02em;margin:20px 0 24px;max-width:660px}
.jc-hero-title em{color:var(--jc-accent);font-weight:400}
.jc-hero-lead{font-size:19px;line-height:1.6;color:var(--jc-muted);margin:0 0 34px;max-width:540px}
.jc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.jc-trust{list-style:none;margin:0;padding:0;display:flex;gap:26px;flex-wrap:wrap;font-size:14px;color:var(--jc-muted)}
.jc-trust li{display:inline-flex;align-items:center;gap:8px}
.jc-trust .jc-ico{color:var(--jc-accent)}
.jc-hero-side{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:16px}
.jc-feature-card{background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:24px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(70,35,25,.35)}
.jc-feature-open{display:block;width:100%;border:0;padding:0;background:none;text-align:left;color:inherit;cursor:pointer}
.jc-feature-card .jc-cover{aspect-ratio:16/10}
.jc-feature-body{padding:22px 24px 24px}
.jc-feature-body h3{font:600 24px/1.25 var(--jc-serif);margin:12px 0 8px}
.jc-feature-body p{margin:0;color:var(--jc-muted);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jc-hero-minis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jc-mini{display:flex;gap:12px;align-items:center;text-align:left;background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:18px;padding:14px 16px;color:var(--jc-ink);cursor:pointer;min-height:68px}
.jc-mini b{display:block;font-size:14px}.jc-mini small{display:block;font-size:13px;color:var(--jc-muted2)}
.jc-mini-ico{width:40px;height:40px;flex:none;border-radius:12px;background:var(--jc-soft);color:var(--jc-accent);display:flex;align-items:center;justify-content:center}
.jc-tags{display:flex;gap:8px;flex-wrap:wrap}
.jc-tag{font:600 12px var(--jc-sans);color:var(--jc-muted);background:var(--jc-soft);padding:5px 10px;border-radius:999px}
.jc-tag.strong{background:var(--jc-accent);color:#FFFDF9}

/* Couvertures */
.jc-cover{position:relative;overflow:hidden;background-color:var(--jc-placeholder);background-size:cover;background-position:center;aspect-ratio:4/3}
.jc-cover .publication-cover-img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}
.jc-cover-empty{display:flex;align-items:center;justify-content:center}
.jc-cover-empty span{font:700 44px var(--jc-serif);color:#C9AE98}

/* Membres : bienvenue et reprise */
.jc-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:40px 0 8px}
.jc-welcome small{font-size:15px;color:var(--jc-muted2)}
.jc-welcome blockquote{font:italic 400 clamp(20px,2.4vw,26px)/1.4 var(--jc-serif);margin:6px 0 0;color:var(--jc-ink)}
.jc-resume{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px 0 48px}
.jc-panel{background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:20px;padding:20px 22px}
.jc-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.jc-panel-head h3{font:600 19px var(--jc-serif);margin:0}
.jc-panel .home-mini-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:0;border-top:1px solid #EFE5DA;padding:13px 2px;text-align:left;color:var(--jc-ink);cursor:pointer}
.jc-panel .home-mini-item:first-child{border-top:0}
.jc-panel .home-mini-item b{display:block;font-size:15px}.jc-panel .home-mini-item small{color:var(--jc-muted2);font-size:13px}
.jc-panel .empty-card{border:0;background:none;padding:10px 0;color:var(--jc-muted2);text-align:left}

/* Sections */
.jc-band{background:var(--jc-surface);border-top:1px solid var(--jc-line);border-bottom:1px solid var(--jc-line);padding:80px 0}
.jc-section{padding:88px 0}
.jc-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.jc-section-intro{max-width:620px}
.jc-section-intro p{margin:12px 0 0;font-size:17px;line-height:1.6;color:var(--jc-muted)}
.jc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.jc-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}

/* Onglets Ouvert / Privé / Discret */
.jc-tabs-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.jc-tabs{display:inline-flex;background:var(--jc-soft);border-radius:999px;padding:4px}
.jc-tabs button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--jc-muted);font:600 15px var(--jc-sans);min-height:44px;padding:0 20px;border-radius:999px;cursor:pointer}
.jc-tabs button .jc-ico{width:16px;height:16px}
.jc-tabs button.active{background:var(--jc-accent);color:#FFFDF9}
.jc-tabs-hint{margin:0;font-size:14px;color:var(--jc-muted2)}

/* Cartes de publication */
.jc-card{background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.jc-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -28px rgba(70,35,25,.45)}
.jc-card-link{display:flex;flex-direction:column;height:100%;width:100%;border:0;padding:0;background:none;text-align:left;color:inherit;cursor:pointer}
.jc-card-body{padding:20px 22px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.jc-card-meta{display:flex;justify-content:space-between;gap:10px;font:600 12px var(--jc-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--jc-muted2)}
.jc-views{display:inline-flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0}
.jc-views .jc-ico{width:15px;height:15px}
.jc-card h3{font:600 21px/1.3 var(--jc-serif);margin:0}
.jc-card p{margin:0;color:var(--jc-muted);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jc-read{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--jc-accent)}
.jc-read .jc-ico{width:16px;height:16px}
.jc-card-skeleton .jc-cover{aspect-ratio:4/3}
.jc-empty{grid-column:1/-1;background:var(--jc-surface);border:1px dashed var(--jc-line2);border-radius:20px;padding:36px 24px;text-align:center}
.jc-empty p{margin:0 auto 18px;max-width:460px;color:var(--jc-muted);font-size:16px;line-height:1.55}

/* Communautés (accueil) */
.jc-room{background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px}
.jc-room-top{display:flex;justify-content:space-between;align-items:center}
.jc-room-initial{width:48px;height:48px;border-radius:14px;background:var(--jc-soft);color:var(--jc-accent);display:flex;align-items:center;justify-content:center;font:700 20px var(--jc-serif)}
.jc-badge{font:600 12px var(--jc-sans);padding:6px 12px;border-radius:999px}
.jc-badge.free{background:#E4EFE4;color:#2F5A33}
.jc-badge.premium{background:var(--jc-soft);color:var(--jc-accent)}
.jc-room h3{font:600 21px var(--jc-serif);margin:4px 0 0}
.jc-room p{margin:0;color:var(--jc-muted);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jc-room-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--jc-muted2)}

/* Formations (bande sombre) */
.jc-dark{background:var(--jc-dark);color:var(--jc-bg)}
.jc-dark-inner{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding:88px 0}
.jc-dark-copy{flex:1 1 460px;min-width:0}
.jc-dark .jc-eyebrow{color:#E2B8A6}
.jc-dark .jc-h2{color:var(--jc-bg);margin-bottom:18px}
.jc-dark-copy p{margin:0 0 30px;font-size:18px;line-height:1.6;color:#D9CBBE;max-width:520px}
.jc-course-card{flex:1 1 400px;min-width:0;background:var(--jc-surface);color:var(--jc-ink);border-radius:24px;padding:30px}
.jc-course-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.jc-course-price{font-size:14px;color:var(--jc-muted2)}
.jc-course-card h3{font:600 26px/1.25 var(--jc-serif);margin:0 0 10px}
.jc-course-card p{margin:0 0 20px;color:var(--jc-muted);font-size:15px;line-height:1.55}
.jc-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.jc-chips span{font-size:13px;color:var(--jc-muted);border:1px solid var(--jc-line);padding:6px 12px;border-radius:999px}
.jc-course-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}

/* Confidentialité */
.jc-privacy{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.jc-privacy .jc-section-intro{flex:1 1 420px}
.jc-privacy .jc-grid-2{flex:1 1 460px;min-width:0}
.jc-mode{background:var(--jc-surface);border:1px solid var(--jc-line);border-radius:18px;padding:22px}
.jc-mode .jc-mini-ico{margin-bottom:14px}
.jc-mode b{display:block;font-size:16px;margin-bottom:4px}
.jc-mode small{font-size:14px;color:var(--jc-muted2);line-height:1.5}

/* Démarrer */
.jc-start-wrap{padding-top:0}
.jc-start{background:#EFE3D8;border-radius:32px;padding:52px}
.jc-start .jc-h2{margin:0;max-width:560px}
.jc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.jc-steps button{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;height:100%;text-align:left;background:none;border:0;border-top:2px solid var(--jc-accent);padding:18px 0 4px;color:var(--jc-ink);cursor:pointer}
.jc-steps span{display:block;font:600 15px var(--jc-serif);color:var(--jc-accent);margin-bottom:8px}
.jc-steps b{display:block;font-size:17px;margin-bottom:6px}
.jc-steps small{font-size:14px;color:var(--jc-muted);line-height:1.5}

/* Pied de page */
.jc-footer{background:transparent!important;border-top:1px solid var(--jc-line)!important;margin-top:0!important}
.jc-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:30px 0;font-size:14px;color:var(--jc-muted2)}
.jc-footer-brand{display:flex;align-items:center;gap:10px}
.jc-footer-brand .brand-symbol{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.jc-footer-links{display:flex;gap:6px 22px;flex-wrap:wrap}
.jc-footer-links button,.jc-footer-links a{background:none;border:0;padding:10px 0;color:var(--jc-muted);font:500 14px var(--jc-sans);cursor:pointer;text-decoration:none}
.jc-footer-links button:hover,.jc-footer-links a:hover{color:var(--jc-accent)}
.jc-version{font-size:12px;color:#8A7769}

/* Fil Découvrir : icônes et compteurs */
.mini-action{display:inline-flex;align-items:center;gap:6px;min-height:40px}
.mini-action .jc-ico{width:17px;height:17px}
.mini-action span:empty{display:none}
.react-btn.active,.favorite-btn.active{color:var(--jc-accent)!important;border-color:#D9B9AC!important}
.react-btn.active .jc-ico,.favorite-btn.active .jc-ico{fill:currentColor}

/* Navigation mobile unique */
.mobile-bottom-nav.jc-bottom-nav{display:none!important}
@media (max-width:980px){
  body{padding-bottom:88px!important}
  .site-footer{padding-bottom:0!important}
  .mobile-bottom-nav.jc-bottom-nav{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;
    position:fixed;left:0!important;right:0!important;bottom:0!important;z-index:60;
    background:rgba(255,253,249,.97);backdrop-filter:blur(18px);
    border:0;border-top:1px solid var(--jc-line);border-radius:0!important;box-shadow:none;
    padding:6px 6px calc(8px + env(safe-area-inset-bottom))!important;
  }
  .jc-bottom-nav button{border:0;background:transparent;color:var(--jc-muted2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;font:600 11px var(--jc-sans);padding:2px;transform:none!important}
  .jc-bottom-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .jc-bottom-nav button.active{color:var(--jc-accent)}
  .jc-nav-create-btn{width:46px;height:46px;border-radius:14px;background:var(--jc-accent);color:#FFFDF9;display:flex;align-items:center;justify-content:center}
  .jc-nav-create-btn svg{stroke-width:2.2}
}

/* Notifications (toasts) */
.jc-toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:2147483000;display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100% - 32px));pointer-events:none}
@media (max-width:980px){.jc-toasts{bottom:calc(96px + env(safe-area-inset-bottom))}}
dialog .jc-toasts{position:fixed}
.jc-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;background:var(--jc-dark);color:var(--jc-bg);border-radius:14px;padding:12px 10px 12px 14px;font:500 14px/1.4 var(--jc-sans);box-shadow:0 16px 36px -16px rgba(36,26,22,.6);animation:jcToastIn .22s ease}
.jc-toast.leaving{opacity:0;transform:translateY(6px);transition:all .2s ease}
.jc-toast-ico{width:26px;height:26px;flex:none;border-radius:999px;background:var(--jc-accent);display:flex;align-items:center;justify-content:center}
.jc-toast.error .jc-toast-ico{background:#A23B32}
.jc-toast.info .jc-toast-ico{background:#5E514A}
.jc-toast-ico svg{width:15px;height:15px;fill:none;stroke:#FFFDF9;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.jc-toast-msg{flex:1;min-width:0}
.jc-toast-action{background:none;border:0;color:#E2B8A6;font:600 14px var(--jc-sans);padding:8px;cursor:pointer}
.jc-toast-close{background:none;border:0;color:#BFAea2;font-size:20px;width:32px;height:32px;cursor:pointer;line-height:1}
@keyframes jcToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Paiement mobile en 3 étapes */
.jc-sheet .dialog-body h2{margin:6px 0 4px}
.jc-pay-price{font:600 30px var(--jc-serif);margin:6px 0 4px}
.jc-pay-methods{display:flex;gap:8px;margin:16px 0 20px}
.jc-pay-methods button{flex:1;min-height:48px;border-radius:12px;border:1px solid var(--jc-line2);background:var(--jc-surface);color:var(--jc-muted);font:600 14px var(--jc-sans);cursor:pointer}
.jc-pay-methods button.active{border:2px solid var(--jc-accent);background:#F7EDE6;color:var(--jc-ink)}
.jc-pay-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.jc-pay-steps>li{display:flex;gap:12px}
.jc-pay-steps>li>div{flex:1;min-width:0}
.jc-pay-steps b{display:block;font-size:15px;margin-bottom:8px}
.jc-step-num{flex:none;width:26px;height:26px;border-radius:999px;background:var(--jc-accent);color:#FFFDF9;font:600 13px var(--jc-sans);display:flex;align-items:center;justify-content:center}
.jc-step-num.soft{background:var(--jc-soft);color:var(--jc-accent)}
.jc-pay-number{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--jc-bg);border:1px solid var(--jc-line);border-radius:12px;padding:4px 4px 4px 14px;min-height:50px}
.jc-pay-number .jc-sk-line{flex:1;margin:0 10px 0 0}
.jc-pay-num{font-weight:600;font-size:17px;letter-spacing:.02em}
.jc-copy{border:0;background:var(--jc-surface);color:var(--jc-accent);font:600 13px var(--jc-sans);min-height:40px;padding:0 14px;border-radius:10px;cursor:pointer}
.jc-pay-note{margin:8px 0 0;font-size:14px;color:var(--jc-muted);line-height:1.45}
.jc-sheet .manual-payment-form label{margin-bottom:10px}
@media (max-width:640px){
  dialog.jc-sheet{margin:auto 0 0!important;width:100%!important;max-width:none!important;border-radius:24px 24px 0 0!important;max-height:92dvh!important}
}

/* Responsive accueil */
@media (max-width:980px){
  .jc-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .jc-hero{padding:32px 0 40px;gap:28px}
  .jc-hero-lead{font-size:16px;margin-bottom:22px}
  .jc-hero-actions{flex-direction:column}
  .jc-hero-actions .jc-btn{width:100%}
  .jc-trust{gap:10px 18px;font-size:13px}
  .jc-grid-3,.jc-resume{grid-template-columns:1fr}
  .jc-hero-minis{grid-template-columns:1fr 1fr;gap:10px}
  .jc-tabs-wrap{align-items:stretch;width:100%}
  .jc-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .jc-tabs button{justify-content:center;padding:0 8px}
  .jc-band,.jc-section{padding:56px 0}
  .jc-dark-inner{padding:56px 0;gap:32px}
  .jc-start{padding:32px 22px;border-radius:24px}
  .jc-welcome{padding-top:24px;align-items:flex-start;flex-direction:column;gap:4px}
  .jc-footer-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:420px){
  .jc-steps{grid-template-columns:1fr}
  .jc-hero-minis{grid-template-columns:1fr}
}
/* V28.7 — ajustements après revue visuelle */
.brand-name{max-width:none!important;white-space:nowrap;line-height:1.1!important}
.jc-sheet .dialog-body>.jc-eyebrow,.jc-sheet .dialog-body>h2{padding-right:52px}
.jc-pay-note b{display:inline;margin:0}
.jc-sheet .form-status:empty{min-height:0;margin:0}
.jc-pay-steps>li:last-child{align-items:center}
.jc-pay-steps>li:last-child .jc-pay-note{margin:0}
@media (max-width:380px){.brand-name{font-size:17px!important}}

/* V28.7 final — accessibilité, signalement, journal d'erreurs */
.jc-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--jc-accent);color:#FFFDF9;padding:12px 18px;border-radius:12px;font-weight:600;text-decoration:none}
.jc-skip:focus{top:12px}
main:focus{outline:none}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--jc-accent);outline-offset:2px}
.jc-muted-text{color:var(--jc-muted);line-height:1.55;margin:4px 0 14px}
.jc-choices{border:0;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:8px}
.jc-choices label{display:flex!important;align-items:center;gap:12px;margin:0!important;font-weight:500!important;font-size:15px!important;min-height:48px;padding:0 14px;border:1px solid var(--jc-line);border-radius:12px;cursor:pointer;background:var(--jc-surface)}
.jc-choices label:has(input:checked){border-color:var(--jc-accent);background:#F7EDE6}
.jc-choices input{width:18px!important;height:18px;margin:0!important;accent-color:var(--jc-accent);flex:none}
.content-detail-social .btn,.content-detail-actions .btn{display:inline-flex;align-items:center;gap:8px}
.detail-whatsapp{color:#1F6B45!important}
.jc-errors-panel{margin-top:18px;margin-bottom:55px}
.jc-errors-list{display:flex;flex-direction:column}
.jc-error-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 2px;border-top:1px solid var(--jc-line)}
.jc-error-row:first-child{border-top:0}
.jc-error-row b{display:block;font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word}
.jc-error-row small{color:var(--jc-muted2);font-size:12px}
.jc-error-count{font-weight:700;color:var(--jc-accent);font-size:14px}
.jc-error-row time{font-size:12px;color:var(--jc-muted2);white-space:nowrap}
.notification-icon .jc-ico{width:16px;height:16px}
.aside-icon .jc-ico,.mobile-ico .jc-ico{width:22px;height:22px;color:var(--jc-accent)}
.stat i .jc-ico{width:20px;height:20px;color:var(--jc-accent)}
.openai-security-note .jc-ico{width:16px;height:16px;vertical-align:-3px;margin-right:4px}
#recordVideoBtn,.training-editor .btn{display:inline-flex;align-items:center;gap:8px}
@media (max-width:640px){.jc-error-row{grid-template-columns:1fr auto}.jc-error-row time{display:none}}

/* V28.7.2 — chargement images accéléré */
.publication-cover-img{
  content-visibility:auto;
  background:#efe5dc;
}
.jc-cover,.content-cover,.home-popular-image{
  background-color:#efe5dc;
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
.image-bg-active .publication-cover-img{background:transparent}
@media(max-width:760px){
  .publication-cover-img{transition:none!important}
  .content-card:hover .content-cover img{transform:none!important}
}

/* V28.7.3 — média visible avant le texte */
.content-media-prominent{
  margin:18px 0 22px!important;
  padding:0!important;
  border:0!important;
}
.content-media-prominent .comments-head{
  margin-bottom:10px;
}
.detail-media-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.inline-media-card{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.inline-media-card.featured-media{
  box-shadow:0 12px 35px rgba(46,32,25,.07);
}
.inline-video-shell{
  width:100%;
  background:#111;
  aspect-ratio:16/9;
  display:flex;
  align-items:center;
  justify-content:center;
}
.inline-content-video{
  display:block;
  width:100%;
  height:100%;
  max-height:72vh;
  object-fit:contain;
  background:#000;
}
.inline-content-audio{
  width:calc(100% - 28px);
  margin:18px 14px;
}
.inline-content-image{
  display:block;
  width:100%;
  max-height:72vh;
  object-fit:contain;
  background:#f1ebe5;
}
.inline-media-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
}
.inline-media-meta>div{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.inline-media-meta b{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.inline-media-meta small{
  color:var(--muted);
  margin-top:3px;
}
.inline-media-loading{
  min-height:220px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:30px;
  background:#f7f1eb;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
}
.detail-media-error{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #e2c8be;
  background:#fff7f4;
  border-radius:14px;
  padding:14px;
}
.detail-media-error>div{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.detail-media-error small{
  margin-top:4px;
  color:#8d6254;
}
.content-detail-text-wrap{
  margin-top:0;
  padding-top:4px;
}
.content-detail-text{
  white-space:pre-wrap;
  font-size:16px;
  line-height:1.75;
}
.secure-media-dialog{
  width:min(980px,calc(100% - 28px));
}
.secure-media-viewer{
  min-height:320px;
}
.secure-video{
  width:100%;
  height:auto;
  max-height:76vh;
  background:#000;
}

@media(max-width:700px){
  .content-media-prominent{margin:14px 0 18px!important}
  .inline-video-shell{aspect-ratio:16/9}
  .inline-media-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .inline-media-meta .btn{width:100%}
  .inline-media-loading{min-height:180px}
  .content-detail-text{font-size:15px;line-height:1.68}
  .secure-media-dialog{width:calc(100% - 12px)}
  .secure-media-viewer{min-height:220px}
}

/* V28.7.4 — Branding vidéo Jama Content */
.jama-branded-video{
  position:relative;
  overflow:hidden;
  background:#000;
}
.jama-video-brand{
  position:absolute;
  z-index:8;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.72);
  letter-spacing:.08em;
  font-family:Inter,Arial,sans-serif;
}
.jama-video-brand-top{
  top:12px;
  left:14px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(70,34,28,.72);
  border:1px solid rgba(255,255,255,.22);
  font-size:11px;
  font-weight:800;
}
.jama-video-brand-site{
  right:14px;
  bottom:48px;
  padding:5px 8px;
  border-radius:8px;
  background:rgba(0,0,0,.5);
  font-size:10px;
  font-weight:700;
  text-transform:lowercase;
}
.secure-video-brand-shell{
  width:100%;
  max-height:76vh;
}
.secure-video-brand-shell .secure-video{
  display:block;
  width:100%;
  max-height:76vh;
}
@media(max-width:700px){
  .jama-video-brand-top{
    top:8px;
    left:8px;
    font-size:9px;
    padding:5px 7px;
  }
  .jama-video-brand-site{
    right:8px;
    bottom:42px;
    font-size:9px;
    padding:4px 6px;
  }
}

/* V28.7.5 — médias privés en lecture seule */
.private-media-player{position:relative}
.private-view-only-badge{
  position:absolute;
  z-index:9;
  top:12px;
  right:14px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(20,20,20,.72);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
}
@media(max-width:700px){
  .private-view-only-badge{
    top:8px;
    right:8px;
    font-size:9px;
    padding:5px 7px;
  }
}

/* V28.7.6 — gestion propriétaire + fermeture persistante */
.dialog{
  position:relative;
}
.dialog-close{
  position:sticky!important;
  top:8px!important;
  right:auto!important;
  z-index:100!important;
  height:0!important;
  display:flex!important;
  justify-content:flex-end!important;
  margin:0 10px 0 auto!important;
  pointer-events:none;
}
.dialog-close button{
  pointer-events:auto;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:50%!important;
  background:rgba(255,253,249,.96)!important;
  border:1px solid #dbc8b8!important;
  box-shadow:0 6px 20px rgba(43,29,23,.14)!important;
  color:#5e5149!important;
  font-size:26px!important;
  line-height:1!important;
}
.owner-management-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0 18px;
  padding:12px 14px;
  border:1px solid #dfcbbc;
  border-radius:14px;
  background:#fbf5ef;
}
.owner-management-bar>span{
  font-size:12px;
  font-weight:800;
  color:#765246;
}
.owner-management-bar>div{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.btn-danger-soft{
  border:1px solid #d9aaa3!important;
  background:#fff3f1!important;
  color:#983e34!important;
}
.btn-danger-soft:hover{
  background:#fce8e5!important;
}
.content-edit-dialog textarea{
  resize:vertical;
}
.compact-toggle-list{
  margin:16px 0;
}
@media(max-width:640px){
  .dialog-close{
    top:6px!important;
    margin-right:6px!important;
  }
  .dialog-close button{
    width:40px!important;
    height:40px!important;
  }
  .owner-management-bar{
    align-items:stretch;
    flex-direction:column;
  }
  .owner-management-bar>div{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .owner-management-bar .btn{
    width:100%;
    justify-content:center;
  }
}

/* V28.7.7 — plein écran mobile + annuaire des membres */
.room-members-section{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.room-member-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.room-member-item{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.room-member-item.owner{
  border-color:#d9b8aa;
  background:#fff8f4;
}
.room-member-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg,#7d493f,#b36b59);
  background-size:cover;
  background-position:center;
}
.room-member-avatar.has-image{font-size:0}
.room-member-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.room-member-copy b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.room-member-copy small{
  margin-top:3px;
  color:var(--muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.room-member-badge{
  font-size:10px;
  font-weight:800;
  padding:5px 7px;
  border-radius:999px;
  background:#f5e5dc;
  color:#7b4438;
  white-space:nowrap;
}

@media(max-width:760px){
  html,body{min-height:100%;}

  .dialog{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    border:0!important;
    inset:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .dialog::backdrop{
    background:#f8f1ea!important;
    backdrop-filter:none!important;
  }

  .dialog-body{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding:
      calc(58px + env(safe-area-inset-top))
      18px
      calc(28px + env(safe-area-inset-bottom))
      18px!important;
    box-sizing:border-box!important;
  }

  .dialog-close{
    position:fixed!important;
    top:calc(8px + env(safe-area-inset-top))!important;
    right:10px!important;
    left:auto!important;
    z-index:10000!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    display:block!important;
  }

  .dialog-close button{
    width:44px!important;
    height:44px!important;
    background:rgba(255,253,249,.98)!important;
    box-shadow:0 6px 22px rgba(43,29,23,.18)!important;
  }

  .content-detail-dialog,
  .secure-media-dialog,
  .course-dialog,
  .quiz-dialog,
  .training-manager-dialog,
  .content-edit-dialog{
    width:100vw!important;
    max-width:100vw!important;
  }

  .detail-cover-wrap{
    width:calc(100% + 36px)!important;
    margin-left:-18px!important;
    margin-right:-18px!important;
  }

  .room-member-list{
    grid-template-columns:1fr!important;
  }

  .room-member-item{
    padding:11px;
  }

  .room-member-avatar{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .room-content-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:390px){
  .dialog-body{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .detail-cover-wrap{
    width:calc(100% + 28px)!important;
    margin-left:-14px!important;
    margin-right:-14px!important;
  }
}

/* V28.7.8 — correctif scroll + navigation communauté */
.room-mobile-toolbar{
  position:sticky;
  top:-1px;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:-18px -4px 18px;
  padding:8px 52px 8px 0;
  background:linear-gradient(180deg,#fffdf9 80%,rgba(255,253,249,.90));
  border-bottom:1px solid rgba(222,205,189,.7);
}
.room-mobile-toolbar>span{
  font-size:11px;
  font-weight:800;
  color:#8a6a59;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.room-back-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #dfcdbd;
  background:#fff;
  color:#5e4c43;
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
}
.community-owner-tools{
  margin:12px 0 22px;
  padding:16px;
  border:1px solid #dfcabb;
  border-radius:18px;
  background:linear-gradient(145deg,#fffaf6,#f8ede5);
}
.community-owner-tools-head{
  display:flex;
  flex-direction:column;
  margin-bottom:12px;
}
.community-owner-tools-head b{
  font-family:Georgia,serif;
  font-size:20px;
}
.community-owner-tools-head small{
  margin-top:3px;
  color:var(--muted);
}
.community-owner-tools-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.community-owner-tools-grid button{
  min-height:92px;
  border:1px solid #e1cfc2;
  border-radius:15px;
  background:#fff;
  padding:12px;
  text-align:left;
  color:var(--ink);
  display:flex;
  flex-direction:column;
}
.community-owner-tools-grid button>span{
  font-size:20px;
  color:#8a4f42;
}
.community-owner-tools-grid button>b{
  margin-top:8px;
}
.community-owner-tools-grid button>small{
  margin-top:3px;
  color:var(--muted);
  line-height:1.3;
}
.community-delete-btn{
  width:100%;
  margin-top:10px;
}
.content-detail-dialog .dialog-body,
#roomDialog .dialog-body{
  scroll-behavior:auto!important;
}
@media(max-width:760px){
  .room-mobile-toolbar{
    margin-top:-6px;
    padding-right:50px;
  }
  .community-owner-tools-grid{
    grid-template-columns:1fr 1fr;
  }
  .community-owner-tools-grid button{
    min-height:105px;
  }
}

/* V28.7.9 — image publication au-dessus, sans zoom automatique */

/* Aucun agrandissement automatique dans les cartes. */
.content-cover img,
.content-card:hover .content-cover img,
.room-content-card img,
.home-popular-image img,
.publication-cover-img{
  transform:none!important;
  scale:1!important;
  transition:opacity .16s ease!important;
}

/* Dans le détail, afficher l'image entière dans son ratio naturel. */
.content-detail-dialog .detail-cover-wrap.detail-cover-natural{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 20px 0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  aspect-ratio:auto!important;
}

.content-detail-dialog .detail-cover-wrap.detail-cover-natural img{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
  scale:1!important;
  filter:none!important;
  border-radius:18px;
  background:#f3ece5;
  touch-action:pan-x pan-y pinch-zoom;
}

/* Le contenu du détail commence réellement au haut du panneau. */
.content-detail-dialog .dialog-body{
  scroll-padding-top:0!important;
  overscroll-behavior:contain;
}
.content-detail-dialog #contentDetailBody{
  display:block!important;
  min-height:0!important;
}
.content-detail-dialog #contentDetailBody > .detail-cover-wrap:first-child{
  margin-top:0!important;
}

/* Empêcher les règles historiques mobiles de réélargir/cadrer l'image. */
@media(max-width:760px){
  .content-detail-dialog .detail-cover-wrap.detail-cover-natural{
    width:100%!important;
    margin:0 0 16px 0!important;
  }
  .content-detail-dialog .detail-cover-wrap.detail-cover-natural img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    border-radius:14px;
  }
}

/* V28.8.0 — images recadrées selon l'appareil, détail sans zoom */
.content-cover,
.home-popular-image,
.room-content-card{
  overflow:hidden!important;
  background:#f2e9e1;
}

/* Ordinateur */
@media(min-width:1101px){
  .content-cover,
  .home-popular-image{
    aspect-ratio:16/9!important;
  }
  .content-cover img,
  .home-popular-image img,
  .room-content-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* Tablette */
@media(min-width:761px) and (max-width:1100px){
  .content-cover,
  .home-popular-image{
    aspect-ratio:3/2!important;
  }
  .content-cover img,
  .home-popular-image img,
  .room-content-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* Portable */
@media(max-width:760px){
  .content-cover,
  .home-popular-image{
    aspect-ratio:4/3!important;
  }
  .content-cover img,
  .home-popular-image img,
  .room-content-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* Dans une publication ouverte : jamais de recadrage automatique. */
.content-detail-dialog .detail-cover-natural,
.content-detail-dialog .detail-cover-natural img{
  aspect-ratio:auto!important;
}
.content-detail-dialog .detail-cover-natural img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
  scale:1!important;
}

/* Gestion droit de publication */
.room-member-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.member-publish-toggle{
  border:1px solid #d8c4b6;
  background:#fff;
  color:#6f5146;
  border-radius:999px;
  padding:7px 10px;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.member-publish-toggle.active{
  background:#5b3028;
  color:#fff;
  border-color:#5b3028;
}
.member-publish-toggle:disabled{
  opacity:.6;
}
.room-member-help{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
@media(max-width:640px){
  .room-member-item{
    grid-template-columns:auto 1fr;
  }
  .room-member-actions,
  .room-member-badge{
    grid-column:2;
    justify-self:start;
  }
  .member-publish-toggle{
    margin-top:6px;
  }
}

/* V28.8.1 — catalogue de formations professionnelles gratuites */
.jc-free-training-wrap{
  padding:8px 0 54px;
}
.jc-free-training-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin:0 0 18px;
  color:#fff;
}
.jc-free-training-head h3{
  margin:6px 0 0;
  font:600 30px/1.08 Georgia,serif;
}
.jc-free-training-head .jc-eyebrow{color:#d8af9e}
.jc-free-training-head .jc-link{color:#f3d8ca}
.jc-free-training-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.jc-free-training-card{
  min-height:310px;
  display:flex;
  flex-direction:column;
  padding:22px;
  border-radius:22px;
  background:#fffaf6;
  color:#291d18;
  border:1px solid rgba(255,255,255,.12);
}
.jc-free-training-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.jc-free-training-top span{
  color:#925444;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.jc-free-training-top b{
  padding:5px 8px;
  border-radius:999px;
  background:#edf7ef;
  color:#2e7144;
  font-size:10px;
}
.jc-free-training-card h4{
  margin:20px 0 10px;
  font:600 23px/1.08 Georgia,serif;
}
.jc-free-training-card p{
  color:#74665e;
  line-height:1.55;
  flex:1;
}
.jc-free-training-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:16px 0;
}
.jc-free-training-meta span{
  border:1px solid #dfcec1;
  border-radius:999px;
  padding:6px 8px;
  font-size:10px;
  color:#695a52;
}
.jc-free-training-card .jc-btn{
  background:#844939!important;
  color:#fff!important;
  border-color:#844939!important;
  width:100%;
}
.jc-training-skeleton{
  height:300px;
  border-radius:22px;
  background:rgba(255,255,255,.09);
}
.learning-professional-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  padding:16px 18px;
  border:1px solid #dfccbe;
  border-radius:16px;
  background:#fff8f3;
}
.learning-professional-banner>div{
  display:flex;
  flex-direction:column;
}
.learning-professional-banner b{font-family:Georgia,serif;font-size:18px}
.learning-professional-banner span{margin-top:4px;color:var(--muted);font-size:12px}
.learning-free-pill{
  flex:0 0 auto;
  margin:0!important;
  padding:7px 10px;
  border-radius:999px;
  background:#e9f6ec;
  color:#287241!important;
  font-weight:900;
  font-size:10px!important;
}
.free-learning-badge{
  background:#eaf6ed!important;
  color:#2e7144!important;
  border-color:#badac2!important;
}
@media(max-width:980px){
  .jc-free-training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .jc-free-training-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .jc-free-training-head h3{font-size:26px}
  .jc-free-training-grid{grid-template-columns:1fr}
  .jc-free-training-card{min-height:0}
  .learning-professional-banner{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* V28.8.2 — Lecteur de formation mobile performant */
.fast-course-opening{min-height:210px;padding:32px 16px 22px}
.fast-course-opening h2{font:700 clamp(26px,5vw,42px)/1.1 Georgia,serif;margin:12px 0}
.fast-course-opening p{color:var(--muted)}
.fast-course-skeleton{height:62px;margin:24px 0 9px;background:linear-gradient(110deg,#f3eae3,#e7d8cd,#f3eae3);border-radius:14px}
.fast-course-skeleton.small{width:60%;height:40px;margin:0}
.fast-course-header{margin:0 0 12px}
.fast-course-header h2{font-size:clamp(27px,4vw,38px);line-height:1.08}
.fast-course-header .course-meta{margin:12px 0 16px}
.course-progress-panel{padding:10px 0 12px;display:flex;flex-direction:column;gap:8px}
.course-progress-panel b{font-size:12px;color:var(--ink)}
.course-progress-track{height:7px;border-radius:9px;background:#e8d9cb;overflow:hidden}
.course-progress-track>div{height:100%;width:0;background:#814839;border-radius:9px;transition:width .2s ease}
.fast-course-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 18px}
.course-lesson-tab{display:flex;align-items:center;gap:8px;min-width:0;text-align:left;border:1px solid #e3d2c5;border-radius:12px;background:#fffaf7;color:var(--ink);padding:10px 11px;cursor:pointer}
.course-lesson-tab.is-current{background:#f4e8e0;border-color:#9e6c59;box-shadow:inset 0 0 0 1px #9e6c59}
.course-lesson-tab.is-done{border-color:#b7d3b8}
.course-lesson-num{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:10px;background:#eaddd2;font-weight:800;font-size:12px;color:#6d3b32}
.course-lesson-tab-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.course-lesson-tab-text strong{font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.course-lesson-tab-text small{font-size:10px;color:var(--muted)}
.course-lesson-done{color:#237c45;font-weight:900;font-size:17px}
.fast-lesson-panel{border:1px solid #dcc6b6;border-radius:18px;background:#fffcf9;overflow:hidden;min-width:0}
.fast-lesson-head{padding:20px 20px 13px;border-bottom:1px solid #eee0d4}
.fast-lesson-head h3{font:700 clamp(25px,3.5vw,31px)/1.1 Georgia,serif;margin:6px 0 8px}
.fast-lesson-head p{color:#63534b;line-height:1.5;margin:0 0 8px}
.fast-lesson-head small{color:#886a5b;font-size:12px}
.fast-lesson-reading{padding:6px 20px 14px;color:#534840;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
.fast-lesson-reading p{margin:13px 0;white-space:normal}
.fast-lesson-actions{padding:4px 20px 14px;display:flex;gap:8px;flex-wrap:wrap}
.course-reader-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 20px 20px}
.course-reader-nav .btn{width:100%;min-width:0}
.course-reader-nav button:disabled{opacity:.45;cursor:not-allowed}
#courseQuizzes{margin:24px 0 12px;scroll-margin-top:12px}
#courseDialog .dialog-body{min-height:0;overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch}
#courseDialog .dialog-close,#quizDialog .dialog-close{z-index:10020!important}
@media(max-width:760px){
  dialog#courseDialog,dialog#quizDialog{
    position:fixed!important;inset:0!important;top:0!important;left:0!important;
    width:100vw!important;max-width:100vw!important;
    height:100dvh!important;max-height:100dvh!important;
    padding:0!important;margin:0!important;border:0!important;
    border-radius:0!important;overflow:hidden!important;
  }
  #courseDialog .dialog-body,#quizDialog .dialog-body{
    display:block!important;box-sizing:border-box!important;
    height:100dvh!important;max-height:100dvh!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    padding:calc(64px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom))!important;
    scroll-padding-top:12px;
  }
  .fast-course-index{grid-template-columns:1fr 1fr;gap:7px}
  .course-lesson-tab{padding:10px 8px}
  .fast-lesson-head{padding:18px 14px 12px}
  .fast-lesson-reading{padding:2px 14px 12px;font-size:15px;line-height:1.72}
  .fast-lesson-actions{padding:2px 14px 14px}
  .course-reader-nav{padding:10px 14px 18px}
  .course-reader-nav .btn{font-size:12px;padding:10px 7px}
  #courseDialog .dialog-close,#quizDialog .dialog-close{position:fixed!important;top:calc(8px + env(safe-area-inset-top))!important;right:10px!important}
}
@media(max-width:360px){.fast-course-index{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.course-progress-track>div{transition:none}}

/* V28.8.3 — accueil utilisable dès le premier affichage */
.jc-feature-poster{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:radial-gradient(circle at 77% 20%,rgba(255,243,224,.92),transparent 39%),
    linear-gradient(125deg,#dbbca8 0%,#bf8e77 43%,#79483c 100%)!important;
}
.jc-feature-poster:before,.jc-feature-poster:after{
  content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,250,244,.28);
  border-radius:50%;pointer-events:none;
}
.jc-feature-poster:before{top:-60px;right:-45px}
.jc-feature-poster:after{bottom:-92px;left:-36px;width:240px;height:240px}
.jc-feature-monogram{
  font:700 clamp(68px,9vw,108px)/1 Georgia,serif;
  color:rgba(255,250,245,.92);text-shadow:0 12px 28px rgba(60,32,27,.14)
}
.jc-feature-poster-tag{
  position:absolute;left:18px;bottom:17px;color:#fff9f3;
  font-size:10px;font-weight:700;letter-spacing:.13em
}
.jc-feature-discover{
  display:inline-flex;align-items:center;padding:0;border:0;background:none;
  color:#804337;font-weight:750;margin-top:14px;cursor:pointer
}
.jc-popular-loading{min-height:114px}
.jc-hero{width:100%;min-width:0}
.jc-hero-copy,.jc-hero-side,.jc-feature-card,.jc-feature-card *{min-width:0}
@media(max-width:1100px){
  .jc-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
  .jc-hero-copy,.jc-hero-side{width:100%;min-width:0}
}
@media(max-width:760px){
  #heroFeatured .jc-cover{aspect-ratio:16/10}
  .jc-feature-card .jc-feature-body{padding:18px}
}
