/* ============ shared community components (forums / chatrooms / book clubs) ============ */

.comm-intro{padding:60px 8% 10px}
.comm-intro p.lead{font-family:var(--read);color:var(--muted);font-size:14.5px;line-height:1.8;max-width:640px;margin:0}

/* ---- category / room / club card grid ---- */
.comm-grid{padding:36px 8% 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.comm-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px 26px;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;text-decoration:none;color:var(--ink)}
.comm-card h3{text-decoration:none}
.thread-main a{text-decoration:none}
.comm-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px #14233320;border-color:var(--gold)}
.comm-card .ic{width:44px;height:44px;border-radius:50%;background:linear-gradient(160deg,var(--navy2),var(--navy));display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.comm-card .ic svg{width:20px;height:20px;color:var(--gold-lt)}
.comm-card h3{font-family:var(--display);font-size:19px;margin:0 0 8px;font-weight:600}
.comm-card p{font-family:var(--ui);font-size:12.5px;color:var(--muted);line-height:1.7;margin:0 0 18px;flex:1}
.comm-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--ui);font-size:10.5px;color:var(--gold-dp);font-weight:700;letter-spacing:.3px;border-top:1px solid var(--line);padding-top:14px}
.comm-meta .online{display:flex;align-items:center;gap:6px;color:#2f8a4f}
.comm-meta .online b{width:7px;height:7px;border-radius:50%;background:#2f8a4f;display:inline-block;box-shadow:0 0 0 3px #2f8a4f25}
.comm-card .btn{margin-top:16px;width:100%}
.pinned-flag{display:inline-block;font-family:var(--ui);font-size:8.5px;font-weight:700;letter-spacing:.4px;color:#241705;background:linear-gradient(180deg,var(--gold-lt),var(--gold));padding:4px 8px;border-radius:3px;margin-left:8px;vertical-align:middle}

/* ---- avatars ---- */
.avatar{width:38px;height:38px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:13px;color:#241705}
.av-1{background:linear-gradient(180deg,var(--gold-lt),var(--gold))}
.av-2{background:linear-gradient(180deg,#a9c6d8,#5f8aa3);color:#0c1e28}
.av-3{background:linear-gradient(180deg,#d9b3a8,#b06a56);color:#2a120b}
.av-4{background:linear-gradient(180deg,#b7c99a,#7f9c5c);color:#1c2611}
.av-5{background:linear-gradient(180deg,#c8b3d9,#8a67a3);color:#1e1229}

/* ---- section heading small variant ---- */
.comm-section{padding:20px 8% 70px}
.comm-section .section-heading{margin-bottom:22px}

/* ============ forums ============ */
.thread-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.thread-row{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);transition:background .2s}
.thread-row:last-child{border-bottom:0}
.thread-row:hover{background:#faf7ee}
.thread-main{flex:1;min-width:0}
.thread-main a{font-family:var(--display);font-size:15.5px;font-weight:600;color:var(--ink);text-decoration:none}
.thread-main a:hover{color:var(--gold-dp)}
.thread-tag{display:inline-block;font-family:var(--ui);font-size:9.5px;font-weight:700;letter-spacing:.3px;color:var(--gold-dp);background:var(--parchment);padding:3px 9px;border-radius:20px;margin-top:8px;margin-right:6px}
.thread-by{font-family:var(--ui);font-size:11px;color:var(--muted);margin-top:8px}
.thread-stats{text-align:right;font-family:var(--ui);font-size:11px;color:var(--muted);flex:none;min-width:100px}
.thread-stats strong{display:block;color:var(--ink);font-size:14px}
@media(max-width:700px){.thread-row{flex-wrap:wrap}.thread-stats{text-align:left;min-width:0}}

.cta-banner{margin:0 8% 70px;background:linear-gradient(120deg,var(--navy2),var(--navy));border-radius:12px;padding:44px 46px;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#fff}
.cta-banner h3{font-family:var(--display);font-size:24px;margin:0 0 8px;font-weight:600}
.cta-banner p{font-family:var(--ui);font-size:12.5px;color:#c9d2d9;margin:0}
.cta-banner .btn{flex:none}
@media(max-width:700px){.cta-banner{flex-direction:column;text-align:center;padding:36px 26px}}

/* ---- modal (new topic) ---- */
.modal-overlay{position:fixed;inset:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:60;padding:20px;backdrop-filter:blur(2px)}
.modal-overlay.open{display:flex}
.modal-box{background:#fff;border-radius:10px;width:min(480px,100%);padding:32px;max-height:88vh;overflow:auto;animation:slideIn .25s cubic-bezier(.2,.7,.2,1)}
.modal-box h2{font-family:var(--display);font-size:22px;margin:0 0 6px;font-weight:600}
.modal-box .sub{font-family:var(--ui);font-size:11.5px;color:var(--muted);margin:0 0 22px}
.modal-close{float:right;border:0;background:none;font-size:24px;cursor:pointer;color:var(--muted);line-height:1}
.field select{width:100%;border:1px solid var(--line);border-radius:5px;padding:12px 14px;font-family:var(--ui);font-size:13px;background:#fff}

/* ============ chatrooms ============ */
.chat-panel{margin:0 8% 80px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:none}
.chat-panel.open{display:block}
.chat-head{background:linear-gradient(120deg,var(--navy2),var(--navy));color:#fff;padding:18px 26px;display:flex;justify-content:space-between;align-items:center}
.chat-head h3{font-family:var(--display);font-size:18px;margin:0;font-weight:600}
.chat-head small{font-family:var(--ui);color:var(--gold-lt);font-size:10.5px;display:block;margin-top:4px}
.chat-head button{border:0;background:none;color:#c9d2d9;font-size:12px;font-family:var(--ui);cursor:pointer;text-decoration:underline}
.chat-feed{height:360px;overflow-y:auto;padding:22px 26px;display:flex;flex-direction:column;gap:14px;background:var(--cream)}
.chat-msg{display:flex;gap:10px;max-width:78%}
.chat-msg .bubble{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:12px 12px 12px 3px;font-family:var(--ui);font-size:12.5px;line-height:1.6;color:var(--ink)}
.chat-msg strong{display:block;font-size:11px;color:var(--gold-dp);margin-bottom:3px}
.chat-msg.me{align-self:flex-end;flex-direction:row-reverse}
.chat-msg.me .bubble{background:var(--navy);color:#fff;border-color:var(--navy);border-radius:12px 12px 3px 12px}
.chat-msg.me strong{color:var(--gold-lt)}
.chat-msg.sys{align-self:center;max-width:90%}
.chat-msg.sys .bubble{background:var(--parchment);border-color:var(--line);color:var(--muted);font-size:11px;text-align:center;border-radius:20px}
.chat-input{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--line)}
.chat-input input{flex:1;border:1px solid var(--line);border-radius:24px;padding:12px 18px;font-family:var(--ui);font-size:13px;outline:0}
.chat-input input:focus{border-color:var(--gold)}
.chat-input button{border:0;background:var(--navy);color:#fff;border-radius:24px;padding:0 24px;font-family:var(--ui);font-size:12px;font-weight:700;cursor:pointer;transition:background .2s}
.chat-input button:hover{background:var(--gold-dp)}
.chat-guide{font-family:var(--ui);font-size:10.5px;color:var(--muted);padding:12px 26px 18px;border-top:1px dashed var(--line);background:#fff}

/* ============ book clubs ============ */
.club-spotlight{margin:0 8% 60px;background:linear-gradient(120deg,var(--navy2),var(--navy));border-radius:14px;color:#fff;display:grid;grid-template-columns:.7fr 1.3fr;overflow:hidden}
.club-spotlight img{width:100%;height:100%;object-fit:cover;min-height:280px}
.club-spotlight-copy{padding:42px 44px}
.club-spotlight-copy .eyebrow{margin-bottom:10px}
.club-spotlight-copy h2{font-family:var(--display);font-size:30px;margin:0 0 12px;font-weight:600}
.club-spotlight-copy p{font-family:var(--read);color:#d6dce1;line-height:1.8;font-size:14px;max-width:480px;margin:0 0 22px}
.spotlight-meta{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:26px}
.spotlight-meta div{font-family:var(--ui)}
.spotlight-meta small{display:block;color:var(--gold-lt);font-size:9.5px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}
.spotlight-meta strong{font-size:13px;color:#fff}
@media(max-width:760px){.club-spotlight{grid-template-columns:1fr}.club-spotlight img{min-height:200px}.club-spotlight-copy{padding:32px 26px}}

.club-card .members{font-family:var(--ui);font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:auto}
.club-card .reading{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.club-card .reading img{width:44px;height:64px;object-fit:cover;border-radius:2px;flex:none}
.club-card .reading small{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px}
.club-card .reading strong{font-family:var(--display);font-size:14px}

.how-steps{padding:10px 8% 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.how-step{text-align:center;padding:8px 18px}
.how-step .num{width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:#241705;font-family:var(--display);font-weight:600;font-size:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.how-step strong{display:block;font-family:var(--display);font-size:16px;margin-bottom:8px}
.how-step p{font-family:var(--ui);font-size:12px;color:var(--muted);line-height:1.7;margin:0}

@media(max-width:1050px){.comm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .comm-grid{grid-template-columns:1fr;padding:30px 6% 10px}
  .comm-section{padding:10px 6% 60px}
  .comm-intro{padding:44px 6% 6px}
  .cta-banner{margin:0 6% 60px}
  .chat-panel{margin:0 6% 60px}
  .chat-feed{height:300px}
  .how-steps{grid-template-columns:1fr;padding:10px 6% 60px}
}
