/* SKLOBLOG — Feuille de style principale */
:root {
    --blue:    #4A6CF7;
    --blue-dk: #3451D1;
    --dark:    #1A1B2E;
    --darker:  #0D0E1A;
    --light:   #F4F6FB;
    --border:  #E2E8F0;
    --muted:   #8896AB;
    --text:    #2D3748;
    --white:   #FFFFFF;
    --green:   #22C55E;
    --red:     #EF4444;
    --orange:  #F59E0B;
    --shadow:  0 2px 12px rgba(0,0,0,.07);
    --shadow-lg: 0 8px 32px rgba(0,0,0,.12);
    --radius:  14px;
    --radius-sm: 8px;
}
[data-theme="dark"] {
    --light:   #1E2435;
    --border:  #2D3650;
    --text:    #E8EDF5;
    --muted:   #9AABB8;
    --dark:    #E8EDF5;
    --white:   #16213E;
    --shadow:  0 2px 12px rgba(0,0,0,.3);
    --shadow-lg: 0 8px 32px rgba(0,0,0,.4);
}
[data-theme="dark"] body { background: #0F1221; color: var(--text); }
[data-theme="dark"] .card { background: var(--white); border-color: var(--border); }
[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] select { background:#1A2540;border-color:var(--border);color:var(--text); }
[data-theme="dark"] .post-card-excerpt { color: var(--muted); }
[data-theme="dark"] .post-meta { color: var(--muted); }
[data-theme="dark"] .blog-header p { color: var(--muted); }
[data-theme="dark"] .forum-card { background: var(--white); }
[data-theme="dark"] .forum-card-desc { color: var(--muted); }
[data-theme="dark"] .post-full-content { color: var(--text); }
[data-theme="dark"] .comment-text { color: var(--text); }
[data-theme="dark"] .breadcrumb { color: var(--muted); }
[data-theme="dark"] .data-table td { color: var(--text); }
[data-theme="dark"] .data-table th { background: #1A2540; color: var(--muted); }
[data-theme="dark"] .data-table tr:hover td { background: rgba(255,255,255,.04); }
[data-theme="dark"] .admin-sidebar { background: var(--white); }
[data-theme="dark"] .admin-sidebar a { color: var(--text); }
[data-theme="dark"] .admin-sidebar a:hover { background: rgba(255,255,255,.06); }
[data-theme="dark"] .stat-card { background: var(--white); }
[data-theme="dark"] .stat-label { color: var(--muted); }
[data-theme="dark"] .forum-stats { color: var(--muted); }
[data-theme="dark"] p { color: var(--text); }
[data-theme="dark"] .post-body { background: var(--white); border-color: var(--border); }
[data-theme="dark"] .post-body-header { background: #1A2540; color: var(--muted); border-color: var(--border); }
[data-theme="dark"] .post-body-content { color: var(--text); }
[data-theme="dark"] .post-author-card { color: var(--text); }
[data-theme="dark"] .cat-table tr:hover td,.topic-table tr:hover td { background: rgba(255,255,255,.04); }
[data-theme="dark"] .shop-card { background: var(--white); border-color: var(--border); }
[data-theme="dark"] .card-name { color: var(--text); }
[data-theme="dark"] .card-desc { color: var(--muted); }
[data-theme="dark"] .pay-methods { background: var(--white); border-color: var(--border); }
[data-theme="dark"] .pay-method { color: var(--text); }
[data-theme="dark"] .shop-tab { background: var(--white); color: var(--muted); border-color: var(--border); }
[data-theme="dark"] .alert-error { background: #3D0F0F; color: #FCA5A5; border-color: #7F1D1D; }
[data-theme="dark"] .alert-success { background: #0A2E18; color: #86EFAC; border-color: #14532D; }
[data-theme="dark"] .alert-info { background: #0C1A3D; color: #93C5FD; border-color: #1E3A8A; }
[data-theme="dark"] .alert-warn { background: #2E1F00; color: #FDE68A; border-color: #78350F; }
[data-theme="dark"] .form-group label { color: var(--muted); }
[data-theme="dark"] .btn-secondary { background: #1A2540; color: var(--text); border-color: var(--border); }
/* Dark mode — visibilité globale du texte */
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6 { color: var(--text); }
[data-theme="dark"] label { color: var(--text); }
[data-theme="dark"] span:not(.ribbon):not(.role-badge):not(.nav-forum):not(.nav-shop):not(.nav-admin):not(.nav-logout):not(.nav-user):not(.credits-pill) { color: inherit; }
[data-theme="dark"] .room-card { background: var(--white); border-color: var(--border); }
[data-theme="dark"] .room-name { color: var(--text); }
[data-theme="dark"] .room-desc { color: var(--muted); }
[data-theme="dark"] .room-meta { color: var(--muted); }
[data-theme="dark"] .create-room-form { background: var(--white); border-color: var(--border); }
[data-theme="dark"] .create-room-form h3 { color: var(--text); }
[data-theme="dark"] .emoji-select button { background: var(--light); color: inherit; }
[data-theme="dark"] .tab-btn { color: var(--muted); }
[data-theme="dark"] .tab-btn.active { color: var(--blue); }
[data-theme="dark"] .credit-card { background: var(--white); border-color: var(--border); }
[data-theme="dark"] .credit-amount { color: var(--text); }
[data-theme="dark"] .shop-card .card-name { color: var(--text); }
[data-theme="dark"] .shop-card .card-desc { color: var(--muted); }
[data-theme="dark"] .price-big { color: var(--text); }
[data-theme="dark"] .role-admin { background: #3D2E00; color: #FDE68A; border-color: #5A4500; }
[data-theme="dark"] .lobby-header h1 { color: #fff; }
[data-theme="dark"] .lobby-header p { color: rgba(255,255,255,.8); }
[data-theme="dark"] .gift-card { background: var(--white); border-color: var(--border); color: var(--text); }

*,*::before,*::after { box-sizing:border-box;margin:0;padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Nunito','Segoe UI',sans-serif;background:#F0F2F9;color:var(--text);font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column; }
a { color:var(--blue);text-decoration:none; }
a:hover { text-decoration:underline; }
img { max-width:100%;height:auto; }

.site-content { flex:1;max-width:1100px;margin:0 auto;padding:2rem 1.5rem;width:100%; }

.site-header { background:linear-gradient(135deg,#1A1B2E 0%,#0D0E1A 100%);box-shadow:0 2px 20px rgba(0,0,0,.25);position:sticky;top:0;z-index:100; }
.site-header { overflow: visible; }
.header-inner { max-width:1400px;margin:0 auto;padding:0 1rem;height:44px;display:flex;align-items:center;justify-content:space-between;gap:.4rem; }
.logo { font-family:'Pacifico',cursive;font-size:1.2rem;color:#fff;text-decoration:none;letter-spacing:.02em;display:flex;align-items:center;gap:.3rem;flex-shrink:0;white-space:nowrap; }
.logo:hover { text-decoration:none;opacity:.9; }
.main-nav { display:flex;align-items:center;gap:.18rem;flex-wrap:nowrap; }
.main-nav a { color:rgba(255,255,255,.82);text-decoration:none;font-size:.76rem;font-weight:700;padding:.28rem .55rem;border-radius:14px;transition:background .15s,color .15s;white-space:nowrap; }
.main-nav a:hover { background:rgba(255,255,255,.12);color:#fff;text-decoration:none; }
.main-nav .nav-forum { background:rgba(108,61,224,.4);color:#d4c6ff; }
.main-nav .nav-shop  { background:rgba(255,140,0,.3);color:#FFD700; }
.main-nav .nav-chat  { background:rgba(255,255,255,.12); }
.main-nav .nav-admin { background:rgba(239,68,68,.3);color:#fca5a5; }
.main-nav .nav-logout { background:rgba(239,68,68,.15);color:#fca5a5; }
.main-nav .btn-register { background:var(--blue);color:#fff;padding:.28rem .75rem;border-radius:14px; }
.nav-avatar { width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4);vertical-align:middle; }
.nav-user { display:none; }
.nav-avatar-container { position:relative;display:inline-flex;align-items:center; }

.site-footer { background:#1A1B2E;color:rgba(255,255,255,.5);text-align:center;padding:1.5rem;font-size:.85rem;margin-top:auto; }

.card { background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.25rem; }

.btn { display:inline-block;padding:.55rem 1.2rem;border-radius:20px;font-size:.9rem;font-weight:700;cursor:pointer;border:none;transition:opacity .15s,transform .1s;text-decoration:none;line-height:1.4; }
.btn:hover { opacity:.88;transform:translateY(-1px);text-decoration:none; }
.btn:active { transform:translateY(0); }
.btn-primary { background:linear-gradient(135deg,var(--blue),var(--blue-dk));color:#fff; }
.btn-secondary { background:var(--light);color:var(--text);border:1px solid var(--border); }
.btn-block { display:block;width:100%;text-align:center;padding:.7rem; }
.btn-link { color:var(--blue);font-weight:700;font-size:.88rem;background:none;border:none;padding:0;cursor:pointer; }
.btn-danger { background:var(--red);color:#fff; }

.form-wrap { max-width:460px;margin:2rem auto; }
.form-group { margin-bottom:1.1rem; }
.form-group label { display:block;font-size:.83rem;font-weight:700;color:var(--muted);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em; }
.form-group input,.form-group textarea,.form-group select { width:100%;padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,108,247,.12); }
.form-group textarea { resize:vertical;min-height:120px;line-height:1.6; }

.alert { padding:.85rem 1.1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-weight:700;font-size:.9rem; }
.alert-error   { background:#FEE2E2;color:#991B1B;border:1px solid #FECACA; }
.alert-success { background:#DCFCE7;color:#166534;border:1px solid #BBF7D0; }
.alert-info    { background:#DBEAFE;color:#1E40AF;border:1px solid #BFDBFE; }
.alert-warn    { background:#FEF9C3;color:#854D0E;border:1px solid #FDE047; }

.grid-2 { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem; }
.grid-3 { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem; }

.section-title { font-size:1.3rem;font-weight:800;color:var(--dark);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border); }
[data-theme="dark"] .section-title { color:#fff; }

.hero-section { background:linear-gradient(135deg,var(--dark) 0%,#2D1B69 50%,var(--blue-dk) 100%);color:#fff;padding:3.5rem 2rem;border-radius:var(--radius);text-align:center;margin-bottom:2rem;position:relative;overflow:hidden; }
.hero-section::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(74,108,247,.25) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(255,140,0,.15) 0%,transparent 50%);pointer-events:none; }
.hero-section h1 { font-family:'Pacifico',cursive;font-size:2.8rem;margin-bottom:.6rem;position:relative; }
.hero-section p { font-size:1.1rem;opacity:.82;margin-bottom:1.5rem;position:relative; }

.post-card { display:flex;gap:1.25rem;align-items:flex-start;transition:transform .2s,box-shadow .2s; }
.post-card:hover { transform:translateY(-3px);box-shadow:var(--shadow-lg); }
.post-card-img { width:120px;height:90px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0; }
.post-card-img-placeholder { width:120px;height:90px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--blue),var(--blue-dk));display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0; }
.post-card-body { flex:1; }
.post-card-title { font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:.35rem; }
[data-theme="dark"] .post-card-title { color:#fff; }
.post-card-excerpt { font-size:.87rem;color:var(--muted);line-height:1.55;margin-bottom:.6rem; }
.post-meta { font-size:.78rem;color:var(--muted);display:flex;gap:.75rem;flex-wrap:wrap; }

.blog-page-wrapper { max-width:820px;margin:0 auto; }
.blog-header { text-align:center;padding:2.5rem 2rem; }
.blog-avatar-container { position:relative;width:100px;height:100px;margin:0 auto 1.25rem; }
.blog-avatar-img { width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid var(--blue);display:block; }
.avatar-decoration-mini { position:absolute;top:-8px;right:-8px;font-size:1.4rem;line-height:1; }
.blog-header h1 { font-size:1.9rem;font-weight:800;color:var(--text);margin-bottom:.4rem; }
[data-theme="dark"] .blog-header h1 { color:#fff; }
.blog-header p { color:var(--muted); }
.posts-grid { display:flex;flex-direction:column;gap:.5rem; }

.post-full { max-width:780px;margin:0 auto; }
.post-full-title { font-size:2rem;font-weight:800;color:var(--dark);margin-bottom:.75rem;line-height:1.3; }
[data-theme="dark"] .post-full-title { color:#fff; }
.post-full-image { width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius);margin-bottom:1.5rem; }
.post-full-content { font-size:1rem;line-height:1.85;color:var(--text);white-space:pre-wrap;word-break:break-word; }

.comment-wrap { display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border); }
.comment-wrap:last-child { border-bottom:none; }
.comment-avatar { width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border); }
.comment-avatar-placeholder { width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-dk));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0; }
.comment-body { flex:1; }
.comment-author { font-weight:800;font-size:.9rem;color:var(--dark); }
[data-theme="dark"] .comment-author { color:#fff; }
.comment-date { font-size:.75rem;color:var(--muted);margin-left:.5rem; }
.comment-text { font-size:.9rem;color:var(--text);margin-top:.3rem;line-height:1.6; }

.editor-wrap { max-width:820px;margin:0 auto; }
.editor-wrap textarea { min-height:340px; }

.badge { display:inline-block;font-size:.72rem;font-weight:800;padding:2px 9px;border-radius:10px;background:var(--light);color:var(--muted);border:1px solid var(--border); }
.badge-blue   { background:#EFF6FF;color:var(--blue);border-color:#BFDBFE; }
.badge-green  { background:#DCFCE7;color:#166534;border-color:#BBF7D0; }
.badge-gold   { background:#FFF8E1;color:#8B6914;border-color:#FFD70066; }
.badge-red    { background:#FEE2E2;color:#991B1B;border-color:#FECACA; }

.admin-wrap { display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start; }
.admin-sidebar { background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;position:sticky;top:80px; }
.admin-sidebar h3 { font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.75rem;font-weight:800; }
.admin-sidebar a { display:block;padding:.55rem .8rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:700;color:var(--text);text-decoration:none;margin-bottom:.25rem;transition:background .15s; }
.admin-sidebar a:hover { background:var(--light); }
.admin-sidebar a.active { background:var(--blue);color:#fff; }
.admin-content { min-width:0; }

.admin-stats { display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem;margin-bottom:1.5rem; }
.stat-card { background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1rem;text-align:center;box-shadow:var(--shadow); }
.stat-num { font-size:2rem;font-weight:800;color:var(--blue);line-height:1;margin-bottom:.3rem; }
.stat-label { font-size:.78rem;color:var(--muted);font-weight:700; }

.data-table { width:100%;border-collapse:collapse;font-size:.88rem; }
.data-table th { background:var(--light);color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;padding:.65rem 1rem;text-align:left;border-bottom:2px solid var(--border);font-weight:800; }
.data-table td { padding:.8rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text); }
.data-table tr:hover td { background:#FAFCFF; }
.data-table .btn-sm { padding:.3rem .7rem;font-size:.78rem;border-radius:var(--radius-sm); }
.private-badge { display:inline-block;background:#FEE2E2;color:#991B1B;font-size:.7rem;font-weight:800;padding:1px 7px;border-radius:8px;margin-left:6px; }

.forum-hero { border-radius:var(--radius);padding:2rem 2.5rem;margin-bottom:2rem;color:#fff;box-shadow:var(--shadow-lg); }
.forums-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.1rem; }
.forum-card { background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column; }
.forum-card:hover { transform:translateY(-3px);box-shadow:var(--shadow-lg); }
.forum-card-header { padding:1rem 1.2rem .7rem;display:flex;align-items:center;gap:.8rem; }
.forum-icon { font-size:2rem;line-height:1; }
.forum-card-body { padding:.6rem 1.2rem 1.2rem;flex:1; }
.forum-card-desc { font-size:.85rem;color:var(--muted);margin-bottom:.7rem;line-height:1.55; }
.forum-stats { display:flex;gap:.85rem;font-size:.78rem;color:var(--muted); }
.forum-badge { display:inline-block;background:#EFF6FF;color:var(--blue);font-size:.7rem;font-weight:800;padding:2px 8px;border-radius:10px;margin-left:5px; }
.forum-admin-bar { background:#FEF9C3;border:1px solid #FDE047;border-radius:var(--radius);padding:.75rem 1.2rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap; }

.cat-table,.topic-table { width:100%;border-collapse:collapse; }
.cat-table th,.topic-table th { background:var(--light);color:var(--muted);font-size:.75rem;text-align:left;padding:.6rem 1rem;border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.05em;font-weight:800; }
.cat-table td,.topic-table td { padding:.9rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle; }
.cat-table tr:hover td,.topic-table tr:hover td { background:#FAFCFF; }
.topic-pinned td { background:#FFFBEA !important; }
.breadcrumb { font-size:.85rem;color:var(--muted);margin-bottom:1.25rem; }
.breadcrumb a { color:var(--muted); }
.breadcrumb a:hover { color:var(--blue); }

.post-wrap { display:flex;gap:1.25rem;margin-bottom:.75rem; }
.post-author-card { width:120px;flex-shrink:0;text-align:center; }
.post-author-avatar { width:60px;height:60px;border-radius:50%;object-fit:cover;margin:0 auto .5rem;border:3px solid var(--blue);display:block; }
.post-author-avatar-placeholder { width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-dk));display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;margin:0 auto .5rem; }
.post-body { flex:1;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden; }
.post-body-header { display:flex;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid var(--border);font-size:.78rem;color:var(--muted);background:var(--light); }
.post-body-content { padding:1rem;line-height:1.75;font-size:.95rem;white-space:pre-wrap;word-break:break-word; }
.post-op .post-body { border-top:3px solid var(--blue); }

.shop-hero { position:relative;overflow:hidden;background:#0D0D1A;border-radius:var(--radius);padding:3rem 2.5rem 2.5rem;margin-bottom:2rem;color:#fff;box-shadow:var(--shadow-lg); }
.shop-hero::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(108,61,224,.35) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(255,140,0,.2) 0%,transparent 50%);pointer-events:none; }
.shop-hero-title { font-size:2.4rem;font-weight:800;background:linear-gradient(90deg,#fff 0%,#FFD700 60%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.4rem;position:relative; }
.credits-pill { display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,215,0,.12);border:1.5px solid rgba(255,215,0,.4);color:#FFD700;font-weight:700;font-size:1rem;padding:.5rem 1.2rem;border-radius:40px; }
.pay-methods { display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1.3rem;margin-bottom:1.75rem;font-size:.85rem; }
.pay-method { display:flex;align-items:center;gap:.35rem;font-weight:700;color:var(--text); }
.shop-tabs { display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.75rem; }
.shop-tab { padding:.42rem .95rem;border-radius:30px;font-size:.83rem;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:var(--white);color:var(--muted);transition:all .15s;user-select:none; }
.shop-tab.active,.shop-tab:hover { background:var(--dark);color:#fff;border-color:var(--dark); }
.shop-section-header { display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:var(--radius);color:#fff;margin-bottom:1.1rem; }
.shop-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:2.25rem; }
.shop-card { background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;position:relative; }
.shop-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-lg); }
.shop-card.premium { border-color:#FFD700;box-shadow:0 0 0 1px #FFD70033,0 4px 20px rgba(255,215,0,.12); }
.shop-card.owned { border-color:var(--green); }
.ribbon { position:absolute;top:12px;right:-8px;font-size:.63rem;font-weight:800;padding:3px 14px 3px 10px;border-radius:4px 0 0 4px;text-transform:uppercase;letter-spacing:.05em;box-shadow:2px 2px 8px rgba(0,0,0,.2); }
.ribbon-gold { background:#FFD700;color:#000; }
.ribbon-red  { background:#EF4444;color:#fff; }
.card-ico { font-size:2.8rem;text-align:center;padding:1.4rem 1rem .6rem; }
.card-body-shop { padding:.4rem 1.15rem 1.1rem;flex:1;display:flex;flex-direction:column; }
.card-name-shop { font-weight:800;font-size:.97rem;color:var(--dark);margin-bottom:.3rem; }
[data-theme="dark"] .card-name-shop { color:#fff; }
.card-desc-shop { font-size:.8rem;color:var(--muted);line-height:1.55;flex:1;margin-bottom:.85rem; }
.price-big { font-size:1.5rem;font-weight:800;color:var(--dark);line-height:1; }
[data-theme="dark"] .price-big { color:#fff; }
.price-big sup { font-size:.85rem;vertical-align:super; }
.price-sub { font-size:.73rem;color:var(--muted);margin-top:.15rem; }
.price-cr { display:inline-block;background:#FFF8E1;color:#8B6914;font-weight:800;font-size:.86rem;padding:4px 12px;border-radius:20px;border:1.5px solid #FFD70055; }
.btn-card { display:block;width:100%;text-align:center;font-weight:700;padding:.62rem;border-radius:10px;font-size:.88rem;cursor:pointer;border:none;text-decoration:none;margin-top:.35rem;transition:opacity .2s; }
.btn-card:hover { opacity:.88;text-decoration:none; }
.btn-card-main { background:linear-gradient(135deg,var(--blue),var(--blue-dk));color:#fff; }
.btn-card-crypto { background:#0D0D1A;color:#FFD700;border:1.5px solid #FFD70044; }
.btn-card-credits { background:#FFF8E1;color:#8B6914;border:1.5px solid #FFD70055; }
.btn-card-owned { background:#DCFCE7;color:#166534;border:1.5px solid #BBF7D0;cursor:default; }

.checkout-wrap { max-width:860px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem;align-items:start; }
.order-summary { background:#0D0D1A;color:#fff;border-radius:var(--radius);padding:2rem;position:sticky;top:80px; }
.checkout-panel { background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden; }
.pay-tabs { display:flex;border-bottom:2px solid var(--border); }
.pay-tab { flex:1;padding:.9rem;text-align:center;font-weight:700;font-size:.88rem;cursor:pointer;color:var(--muted);transition:all .15s;border:none;background:transparent; }
.pay-tab.active { color:var(--dark);border-bottom:2px solid var(--dark);margin-bottom:-2px; }
.pay-body { padding:1.75rem; }
.pay-section { display:none; }
.pay-section.active { display:block; }
.crypto-address { font-family:'Courier New',monospace;font-size:.75rem;background:var(--light);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;word-break:break-all;cursor:pointer; }
.qr-placeholder { width:130px;height:130px;background:var(--light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1rem;border:1px solid var(--border); }
.btn-pay { display:block;width:100%;text-align:center;font-weight:800;padding:.8rem;border-radius:10px;font-size:.95rem;cursor:pointer;border:none;margin-top:.5rem; }
.btn-pay-card { background:linear-gradient(135deg,var(--blue),var(--blue-dk));color:#fff; }
.btn-pay-crypto { background:#0D0D1A;color:#FFD700; }
.success-card { text-align:center;padding:3rem 2rem;background:var(--white);border-radius:var(--radius);border:2px solid var(--green); }

.modal-overlay { display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;align-items:center;justify-content:center;backdrop-filter:blur(3px); }
.modal-overlay.active { display:flex; }
.modal-box { background:var(--white);border-radius:var(--radius);padding:2rem;width:100%;max-width:500px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;overflow-y:auto; }

.chat-wrap { display:flex;flex-direction:column;height:calc(100vh - 140px);max-width:900px;margin:0 auto; }
.chat-header { background:linear-gradient(135deg,var(--dark),var(--darker));color:#fff;padding:1rem 1.5rem;border-radius:var(--radius) var(--radius) 0 0;display:flex;align-items:center;justify-content:space-between; }
.chat-header h2 { font-family:'Pacifico',cursive;font-size:1.3rem; }
.chat-messages { flex:1;overflow-y:auto;padding:1.25rem;background:var(--white);border:1px solid var(--border);border-top:none;border-bottom:none;display:flex;flex-direction:column;gap:.5rem; }
.chat-msg { display:flex;gap:.75rem;align-items:flex-start; }
.chat-msg-own { flex-direction:row-reverse; }
.chat-msg-bubble { background:var(--light);border-radius:14px 14px 14px 4px;padding:.55rem .9rem;max-width:70%;font-size:.9rem;line-height:1.55; }
.chat-msg-own .chat-msg-bubble { background:var(--blue);color:#fff;border-radius:14px 14px 4px 14px; }
.chat-input-bar { display:flex;gap:.75rem;padding:1rem;background:var(--white);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius); }
.chat-input-bar input { flex:1;padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:20px;font-size:.95rem;font-family:inherit; }
.chat-input-bar input:focus { outline:none;border-color:var(--blue); }

@media(max-width:768px){
    .header-inner{flex-direction:column;height:auto;padding:.75rem 1rem;gap:.5rem}
    .main-nav{gap:.35rem;justify-content:center}
    .main-nav a{font-size:.8rem;padding:.32rem .65rem}
    .site-content{padding:1rem}
    .hero-section h1{font-size:2rem}
    .hero-section{padding:2.5rem 1.25rem}
    .post-card{flex-direction:column}
    .post-card-img,.post-card-img-placeholder{width:100%;height:180px}
    .admin-wrap{grid-template-columns:1fr}
    .admin-sidebar{position:static}
    .checkout-wrap{grid-template-columns:1fr}
    .order-summary{position:static}
    .shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
    .forums-grid{grid-template-columns:1fr}
    .post-wrap{flex-direction:column}
    .post-author-card{width:100%;display:flex;align-items:center;gap:1rem;text-align:left}
    .grid-3{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
    .grid-3{grid-template-columns:1fr}
    .shop-grid{grid-template-columns:1fr 1fr}
}

/* ---- Misc fixes ---- */
.form-hint { font-size:.8rem;color:var(--muted);margin-top:.3rem; }
.form-hint strong { color:var(--blue); }
article.card { margin-bottom:1.25rem; }
.post-actions { display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border); }
[data-theme="dark"] .data-table tr:hover td { background:rgba(255,255,255,.03); }
[data-theme="dark"] .admin-sidebar a { color:var(--text); }
[data-theme="dark"] .cat-table tr:hover td,[data-theme="dark"] .topic-table tr:hover td { background:rgba(255,255,255,.03); }
[data-theme="dark"] .forum-admin-bar { background:#2D2A00;border-color:#5A4F00; }
[data-theme="dark"] .post-body-header { background:var(--light); }
[data-theme="dark"] .pay-methods { background:var(--white);border-color:var(--border); }
[data-theme="dark"] .shop-tab { background:var(--white);border-color:var(--border);color:var(--muted); }
[data-theme="dark"] input[type="color"] { background:#1E2435;border-color:var(--border); }

.editor-toolbar { display:flex;gap:.4rem;margin-bottom:.5rem;flex-wrap:wrap; }
.editor-toolbar button { padding:.3rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--light);color:var(--text);cursor:pointer;font-size:.85rem;font-family:inherit;transition:background .15s; }
.editor-toolbar button:hover { background:var(--border); }

/* ---- Cosmetics avatar wrapper ---- */
.av-wrap { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0; }
.av-wrap img { display:block; }

/* Blog dark mode fixes */
[data-theme="dark"] .post-card-title { color: var(--text); }
[data-theme="dark"] .blog-header h1 { color: var(--text); }
[data-theme="dark"] .post-card { background: transparent; }
[data-theme="dark"] .post-card-img-placeholder { opacity: .85; }

/* ── VIP navbar animation ── */
@keyframes vipNavShine {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}


/* ── Dark mode — pages légales (CGU/CGV) ── */
[data-theme="dark"] .legal-toggle a {
    background: #1E2435;
    color: #9AABB8;
    border-color: #2D3650;
}
[data-theme="dark"] .legal-toggle a.active,
[data-theme="dark"] .legal-toggle a:hover {
    background: #E8EDF5;
    color: #1A1B2E;
    border-color: #E8EDF5;
}
[data-theme="dark"] .legal-section-title {
    color: var(--text);
    border-color: var(--border);
}
[data-theme="dark"] .legal-body {
    color: var(--text);
}
[data-theme="dark"] .legal-body strong {
    color: #fff;
}
[data-theme="dark"] .legal-list li {
    color: var(--text);
    border-color: var(--border);
}
[data-theme="dark"] .legal-footer {
    color: var(--muted);
    border-color: var(--border);
}

/* ── Dark mode — éléments utilisant --dark comme couleur de texte ── */
[data-theme="dark"] .section-title { color: var(--text); border-color: var(--border); }
[data-theme="dark"] .post-full-title { color: var(--text); }
[data-theme="dark"] .comment-author { color: var(--text); }
[data-theme="dark"] .card-name-shop { color: var(--text); }
[data-theme="dark"] .price-big { color: var(--text); }
[data-theme="dark"] .pay-tab.active { color: var(--text); border-color: var(--text); }
[data-theme="dark"] .shop-tab.active,[data-theme="dark"] .shop-tab:hover { background: #2D3650; color: var(--text); border-color: var(--border); }
