/* Forumeze 2 theme: on top of the 1.x styles in css/ (colours, header, sidebar, footer), the pieces the 2.x
   templates add: avatars, the colour mode button, entries, cards, forum lists and posts. */

body { min-height: 100vh; }
.fmz-page-content { min-width: 0; }

/* Initial-letter avatars (until member avatars are uploaded) */
.fmz-avatar-initial { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--fmz-accent); color: var(--fmz-text-inv, #fff); font-weight: 700; font-size: .9rem; flex: none; }
.fmz-sidebar-avatar.fmz-avatar-initial { width: 2.75rem; height: 2.75rem; font-size: 1.1rem; }
.fmz-header-account { display: inline-flex; align-items: center; gap: .5rem; color: var(--bs-body-color); text-decoration: none; font-weight: 600; }
.fmz-header-account:hover { color: var(--fmz-accent-text); }
.fmz-header-user { display: flex; align-items: center; gap: .5rem; }
.fmz-header-logo .fmz-logo-image { width: 32px; height: 32px; }
.fmz-mode-toggle { color: var(--fmz-muted); border: 0; order: 9; }
.fmz-mode-toggle:hover { color: var(--fmz-accent-text); }
.fmz-sidebar-logout { margin: 0; }
.fmz-footer-brand { display: flex; align-items: center; gap: .5rem; font-weight: 700; font-size: 1.1rem; }

/* Lists of entries */
.fmz-card { background: var(--glass-bg, var(--fmz-surface)); border: 1px solid var(--glass-border, var(--fmz-border)); }
.fmz-card .card-title a { color: var(--bs-body-color); text-decoration: none; }
.fmz-card .card-title a:hover { color: var(--fmz-accent-text); }
.fmz-hero { padding: 1.5rem 0 1rem; }
.fmz-hero h1 { font-weight: 800; }

/* An entry's page */
.fmz-entry header h1 { font-weight: 800; }
.fmz-body { line-height: 1.75; max-width: 48rem; }
.fmz-body img { max-width: 100%; height: auto; border-radius: .5rem; }
.fmz-body .fmz-quote blockquote { border-left: 4px solid var(--fmz-accent); padding-left: 1rem; margin: 1rem 0; }
.fmz-body .fmz-code, .fmz-post-body pre { background: var(--fmz-surface); border: 1px solid var(--fmz-border); border-radius: .5rem; padding: .75rem 1rem; overflow-x: auto; }
.fmz-spacer-s { height: 1rem; } .fmz-spacer-m { height: 2.5rem; } .fmz-spacer-l { height: 5rem; }
.fmz-group-box { border: 1px solid var(--fmz-border); border-radius: .75rem; padding: 1rem 1.25rem; margin: 1rem 0; }
.fmz-group-accent { background: var(--fmz-accent-subtle); border-radius: .75rem; padding: 1rem 1.25rem; margin: 1rem 0; }

/* Page builder blocks */
.fmz-canvas img, .fmz-part img { max-width: 100%; height: auto; }
.fmz-cover { position: relative; display: flex; align-items: center; background: var(--fmz-surface) center / cover no-repeat; border-radius: .75rem; overflow: hidden; margin: 1rem 0; }
.fmz-cover-s { min-height: 14rem; } .fmz-cover-m { min-height: 22rem; } .fmz-cover-l { min-height: 32rem; } .fmz-cover-full { min-height: 100vh; border-radius: 0; }
.fmz-cover::before { content: ""; position: absolute; inset: 0; }
.fmz-cover-dark::before { background: rgba(0, 0, 0, .55); } .fmz-cover-light::before { background: rgba(255, 255, 255, .6); } .fmz-cover-accent::before { background: color-mix(in srgb, var(--fmz-accent) 70%, transparent); }
.fmz-cover-dark { color: #fff; } .fmz-cover-light { color: #111; }
.fmz-cover-inner { position: relative; width: 100%; max-width: 48rem; padding: 2rem 1.5rem; margin: 0 auto; }
.fmz-cover.text-start .fmz-cover-inner { margin: 0; }
.fmz-accordion { margin: 1rem 0; border: 1px solid var(--fmz-border); border-radius: .75rem; overflow: hidden; }
.fmz-accordion-item + .fmz-accordion-item { border-top: 1px solid var(--fmz-border); }
.fmz-accordion-item summary { cursor: pointer; padding: .85rem 1.1rem; font-weight: 600; }
.fmz-accordion-item summary:hover { background: var(--fmz-accent-subtle); }
.fmz-accordion-body { padding: 0 1.1rem 1rem; }
.fmz-feature-icon { font-size: 1.75rem; color: var(--fmz-accent); }
.fmz-query { margin: 1rem 0; }
.fmz-query-item + .fmz-query-item { margin-top: 1.25rem; }
.fmz-query.row .fmz-query-item + .fmz-query-item { margin-top: 0; }
.fmz-entry-title a { color: inherit; text-decoration: none; } .fmz-entry-title a:hover { color: var(--fmz-accent-text); }
.fmz-gallery figure, .fmz-video { margin: 1rem 0; }

/* Forum */
.fmz-category > .card-header, .fmz-topics, .fmz-post { background: var(--glass-bg, var(--fmz-surface)); }
.fmz-forum-row, .fmz-topic-row { background: transparent; }
.fmz-forum-row:hover, .fmz-topic-row:hover { background: var(--fmz-accent-subtle); }
.fmz-forum-title, .fmz-topic-title { color: var(--bs-body-color); text-decoration: none; }
.fmz-forum-title:hover, .fmz-topic-title:hover { color: var(--fmz-accent-text); }
.fmz-post .card-header { border-bottom-color: var(--fmz-border); }
.fmz-post-body { line-height: 1.7; overflow-wrap: anywhere; }
.fmz-post-body > :last-child { margin-bottom: 0; }
.fmz-post-body img { max-width: 100%; height: auto; }
.fmz-trail .breadcrumb { font-size: .9rem; }
.min-w-0 { min-width: 0; }

/* Profile */
.fmz-profile-head { display: flex; align-items: center; gap: 1rem; }
.fmz-profile-head .fmz-avatar-initial { width: 4rem; height: 4rem; font-size: 1.6rem; }
