.forum-page { padding-block:28px 64px; color:#354d71; }
.forum-page .forum-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:12px; color:#7a8ba4; margin-bottom:22px; }
.forum-breadcrumb a { color:#617ba1; }
.forum-hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:38px; border:1px solid #dfe7f2; border-radius:24px; background:radial-gradient(ellipse at top left,#dce6f8,transparent 65%),linear-gradient(120deg,#f1f5fc,#fff); margin-bottom:28px; }
.forum-hero::after { content:''; position:absolute; width:210px; height:210px; border:1px solid #b9c8df55; border-radius:50%; left:-95px; bottom:-140px; pointer-events:none; }
.forum-eyebrow { display:block; color:#8c7444; font-size:12px; margin-bottom:10px; }
.mr-theme .forum-page h1 { font-size:clamp(23px,3vw,34px); line-height:1.8; margin:0 0 12px; color:#2d456b; font-weight:700; overflow-wrap:anywhere; }
.forum-hero p { margin:0; color:#73859f; line-height:2.2; font-size:13px; }
.forum-hero__icon { display:grid; place-items:center; flex-shrink:0; width:88px; height:88px; border:1px solid #fff; border-radius:26px; background:#ffffff9c; color:#7793bf; font-size:36px; transform:rotate(-8deg); }
.forum-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:26px; align-items:start; }
.forum-layout > * { min-width:0; }
.forum-toolbar,.forum-panel,.forum-message,.forum-composer { background:#fff; border:1px solid #e0e7f1; border-radius:18px; padding:24px; margin-bottom:20px; }
.forum-toolbar { display:flex; align-items:center; gap:16px; justify-content:space-between; padding:16px; }
.forum-search { display:flex; align-items:center; gap:8px; flex:1; background:#f5f8fc; border:1px solid #e1e8f2; border-radius:12px; padding:5px; }
.forum-search input { min-width:0; width:100%; border:0; background:transparent; padding:10px; font-size:13px; color:#354d71; }
.forum-search button { border:0; border-radius:9px; background:#e7eef9; color:#526e99; min-width:42px; min-height:42px; }
.forum-count { font-size:12px; color:#7486a0; white-space:nowrap; }
.forum-card { display:flex; align-items:flex-start; gap:16px; padding:24px; background:#fff; border:1px solid #e1e8f3; border-radius:18px; margin-bottom:14px; transition:transform .22s,box-shadow .22s,border-color .22s; }
.forum-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px #233e6610; border-color:#bccde5; }
.forum-avatar { width:48px; height:48px; border-radius:15px; object-fit:cover; flex-shrink:0; border:1px solid #e8eef6; }
.forum-card__body { flex:1; min-width:0; }
.forum-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; color:#8292a9; font-size:11px; line-height:1.9; }
.forum-status { color:#7a6b4e; background:#f8f4ec; border-radius:6px; padding:3px 8px; font-size:10px; }
.mr-theme .forum-card h2 { font-size:17px; line-height:2; margin:10px 0; overflow-wrap:anywhere; }
.forum-card h2 a { color:#344e76; }
.forum-card h2 a:hover { color:#1128af; }
.forum-course { display:inline-flex; gap:8px; align-items:center; color:#7089ac; font-size:11px; line-height:1.9; }
.forum-replies { display:flex; flex-direction:column; align-items:center; min-width:58px; padding:12px 8px; border-radius:12px; background:#f3f6fa; color:#8291a8; font-size:10px; gap:4px; }
.forum-replies strong { font-size:21px; font-weight:500; }
.forum-replies.has-replies { background:#edf5f3; color:#4d8279; }
.forum-panel h2,.forum-composer h2,.forum-section-title { color:#3c567d; font-size:18px; line-height:1.9; margin:0 0 16px; }
.forum-panel p,.forum-panel li { color:#7b8ca5; font-size:12px; line-height:2.3; }
.forum-panel ul { padding-inline-start:18px; margin-bottom:0; }
.forum-panel--tint { background:linear-gradient(135deg,#edf2fa,#f8fafd); }
.forum-latest { list-style:none; padding:0; margin:0; }
.forum-latest li + li { border-top:1px solid #edf1f7; }
.forum-latest a { display:block; padding:15px 0; }
.forum-latest h3 { font-size:13px; color:#536c90; line-height:2; margin:0 0 8px; }
.forum-latest .forum-meta { font-size:10px; }
.forum-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; background:#304e7b; border:1px solid #304e7b; color:#fff!important; padding:12px 20px; border-radius:11px; min-height:44px; font-size:13px; transition:background .2s; }
.forum-button:hover { background:#233c64; }
.forum-button--light { background:#eef3fb; border-color:#dce5f3; color:#49668f!important; }
.forum-button--light:hover { background:#e1eaf8; }
.forum-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:20px; }
.forum-empty { text-align:center; border:1px dashed #d7e2f1; border-radius:18px; padding:40px 24px; background:#f8fafd; }
.forum-empty > i { font-size:36px; color:#9aafd0; margin-bottom:18px; }
.forum-empty h2 { font-size:18px; color:#546e95; }
.forum-empty p,.forum-notice { font-size:13px; line-height:2.2; color:#7889a2; }
.forum-message--question { border-inline-start:3px solid #c5ae79; }
.forum-message header { display:flex; align-items:center; gap:12px; border-bottom:1px solid #edf1f6; padding-bottom:18px; }
.forum-message header strong { display:block; font-size:13px; margin-bottom:5px; color:#425e85; }
.forum-richtext { line-height:2.5; color:#425773; font-size:14px; padding-block:22px 8px; overflow-wrap:anywhere; overflow-x:auto; }
.forum-richtext p { font-size:inherit; line-height:inherit; }
.forum-richtext img,.forum-richtext video,.forum-richtext iframe { max-width:100%; }
.forum-richtext img { height:auto; border-radius:10px; }
.forum-richtext pre { direction:ltr; text-align:left; overflow:auto; }
.forum-votes { display:flex; align-items:center; flex-wrap:wrap; gap:10px; border-top:1px solid #edf1f6; padding-top:14px; margin-top:16px; color:#8594aa; font-size:11px; }
.forum-votes button { display:grid; place-items:center; width:40px; height:40px; border:1px solid #e1e8f3; border-radius:10px; background:#f7f9fd; color:#7089af; }
.forum-votes button:disabled { opacity:.5; }
.forum-votes [role=status] { color:#9d584c; }
.forum-composer label { display:block; color:#516b91; font-size:13px; margin:18px 0 10px; }
.forum-composer input:not([type=hidden]),.forum-composer textarea { width:100%; border:1px solid #dce5f1; border-radius:11px; background:#f8fafd; padding:13px; color:#354d71; }
.forum-composer textarea { min-height:180px; }
.forum-composer .cke { border-color:#dce5f1!important; border-radius:12px; overflow:hidden; }
.forum-composer .field-validation-error { display:block; color:#b65252; font-size:12px; margin-top:8px; }
.forum-page :is(a,button,input,textarea):focus-visible { outline:3px solid #9ab3dc; outline-offset:3px; }
.forum-page .wp-pagenavi { margin-top:24px; }
@media(max-width:991.98px) { .forum-layout { grid-template-columns:minmax(0,1fr); } .forum-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:575.98px) { .forum-page { padding-block:20px 40px; } .forum-hero { padding:24px; border-radius:18px; } .forum-hero__icon { display:none; } .forum-toolbar { flex-direction:column; align-items:stretch; } .forum-card { padding:18px; gap:12px; flex-wrap:wrap; } .forum-card > .forum-avatar { width:38px; height:38px; border-radius:12px; } .forum-card__body { flex-basis:calc(100% - 50px); } .forum-replies { margin-inline-start:50px; flex-direction:row; padding:6px 12px; } .forum-replies strong { font-size:16px; } .forum-sidebar { display:block; } .forum-message,.forum-composer,.forum-panel { padding:20px; } .forum-actions .forum-button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .forum-page * { transition:none!important; } .forum-card:hover { transform:none; } }
