/* Community pages: announcements, polls, events. Uses theme vars from styles.css. */

/* Announcement banners */
.ck-ann { border-radius: 10px; padding: 12px 16px; margin: 0 0 12px; border:1px solid var(--border,#3a2e22);
          display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.ck-ann strong { font-family: var(--font-display, serif); }
.ck-ann a { margin-left:auto; color:#fff; text-decoration:underline; font-size:.88rem; }
.ck-ann-info    { background: rgba(78,195,255,.12);  border-color:#4ec3ff; color:#cdeeff; }
.ck-ann-success { background: rgba(80,170,90,.14);   border-color:#4a8;    color:#bdf0c6; }
.ck-ann-warn    { background: rgba(200,150,40,.14);  border-color:#c93;    color:#ffe6b0; }
.ck-ann-danger  { background: rgba(200,60,60,.14);   border-color:#b34;    color:#ffc2c2; }

/* Poll widget */
.poll-card { background:var(--panel-grad,#1a1410); border:1px solid var(--border,#3a2e22);
             border-radius:14px; padding:22px; max-width:560px; }
.poll-q { font-family:var(--font-display,serif); color:var(--gold,#f4c95d); font-size:1.2rem; margin:0 0 4px; }
.poll-desc { color:var(--muted,#9a8f80); font-size:.88rem; margin:0 0 16px; }
.poll-opt { position:relative; display:block; width:100%; text-align:left; cursor:pointer;
            background:#120e0a; border:1px solid var(--border,#3a2e22); border-radius:8px;
            padding:11px 13px; margin-bottom:9px; color:#f0e9df; font-size:.95rem; overflow:hidden; }
.poll-opt:hover { border-color:var(--accent,#e0883a); }
.poll-opt.voted { cursor:default; }
.poll-opt .bar { position:absolute; left:0; top:0; bottom:0; background:rgba(224,136,58,.22); z-index:0; transition:width .4s ease; }
.poll-opt .lbl, .poll-opt .pct { position:relative; z-index:1; }
.poll-opt .pct { float:right; color:var(--gold,#f4c95d); font-weight:600; }
.poll-opt.mine { border-color:var(--accent,#e0883a); box-shadow:0 0 0 1px var(--accent,#e0883a) inset; }
.poll-total { color:var(--muted,#9a8f80); font-size:.82rem; margin-top:6px; }
.poll-hint  { color:var(--muted,#9a8f80); font-size:.82rem; margin-top:8px; }

/* Events */
.ev-list { display:flex; flex-direction:column; gap:12px; max-width:680px; }
.ev-card { display:flex; gap:14px; background:var(--panel-grad,#1a1410); border:1px solid var(--border,#3a2e22);
           border-left:3px solid var(--accent,#e0883a); border-radius:10px; padding:14px 16px; }
.ev-date { flex:0 0 auto; text-align:center; min-width:56px; }
.ev-date .d { font-family:var(--font-display,serif); font-size:1.5rem; color:var(--gold,#f4c95d); line-height:1; }
.ev-date .m { font-size:.72rem; text-transform:uppercase; color:var(--muted,#9a8f80); letter-spacing:1px; }
.ev-body h3 { margin:0 0 3px; font-family:var(--font-display,serif); color:#f0e9df; font-size:1.05rem; }
.ev-body .when { color:var(--muted,#9a8f80); font-size:.82rem; margin-bottom:5px; }
.ev-body .etype { display:inline-block; font-size:.7rem; padding:1px 8px; border-radius:999px; background:rgba(224,136,58,.15); color:#ffd6a8; margin-bottom:5px; }
.ev-body p { margin:0; color:#c5c5c5; font-size:.9rem; line-height:1.5; }
.ev-empty, .poll-empty { color:var(--muted,#9a8f80); }

/* Coming soon placeholder */
.soon-card { max-width:560px; margin:8px auto; text-align:center;
             background:var(--panel-grad,#1a1410); border:1px solid var(--border,#3a2e22);
             border-radius:16px; padding:48px 28px; box-shadow:0 0 28px var(--aura-soft,rgba(0,0,0,.4)); }
.soon-card .soon-icon { font-size:3rem; line-height:1; margin-bottom:10px; }
.soon-card h1 { font-family:var(--font-display,serif); color:var(--gold,#f4c95d); margin:0 0 8px; font-size:1.8rem; }
.soon-card .soon-tag { display:inline-block; font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase;
                       color:#ffd6a8; background:rgba(224,136,58,.15); border:1px solid var(--accent,#e0883a);
                       border-radius:999px; padding:3px 12px; margin-bottom:16px; }
.soon-card p { color:#c5c5c5; line-height:1.7; margin:0 auto; max-width:420px; }
