:root {
    /* Buzzen V5 deliberately keeps the established Buzzen blue/navy/yellow palette. */
    --buzzen-navy: #07111f;
    --buzzen-navy-soft: #102a45;
    --buzzen-blue-dark: #163e66;
    --buzzen-blue: #0b7ed8;
    --buzzen-blue-mid: #225f9b;
    --buzzen-yellow: #ffb31f;
    --buzzen-yellow-light: #ffd66a;
    --buzzen-page-bg: #eef3f8;
    --buzzen-surface: #ffffff;
    --buzzen-surface-soft: #f7f9fb;
    --buzzen-text: #172331;
    --buzzen-muted: #667587;
    --buzzen-border: #d9e2ea;
    --buzzen-shadow: 0 12px 34px rgba(11, 23, 38, 0.09);
    --buzzen-shadow-soft: 0 7px 22px rgba(11, 23, 38, 0.07);

    /* Build 0082 main-site design foundation. */
    --buzzen-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --buzzen-font-heading: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
    --buzzen-content-width-narrow: 960px;
    --buzzen-content-width-standard: 1240px;
    --buzzen-content-width-wide: 1320px;
    --buzzen-radius-sm: 10px;
    --buzzen-radius-md: 14px;
    --buzzen-radius-lg: 18px;
    --buzzen-radius-pill: 999px;
    --buzzen-shadow-card: 0 12px 30px rgba(17, 71, 111, .075);
    --buzzen-shadow-panel: 0 22px 55px rgba(13, 43, 72, .14);
    --buzzen-shadow-elevated: 0 15px 34px rgba(17, 71, 111, .09);

    /* Backward-compatible aliases used by existing V5 pages. */
    --buzzen-radius: var(--buzzen-radius-md);
}

html {
    background: var(--buzzen-page-bg);
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--buzzen-text);
    background: linear-gradient(to bottom, #eef3f8 0%, #f8fafc 45%, #eef3f8 100%);
    font-family: var(--buzzen-font-body);
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--buzzen-blue-dark);
}

a:hover {
    color: var(--buzzen-blue);
}

.buzzen-main {
    min-height: calc(100vh - 178px);
}

[x-cloak] {
    display: none !important;
}

/* Build 0082: shared main-site visual primitives.
 * Pages opt into these classes as they are normalized during the theme pass.
 */
.buzzen-v5-page {
    position: relative;
    padding: 0 0 38px;
    background: linear-gradient(180deg, #eef3f8 0%, #f7fafc 100%);
}

.buzzen-v5-page h1,
.buzzen-v5-page h2,
.buzzen-v5-page h3,
.buzzen-v5-page h4 {
    font-family: var(--buzzen-font-heading);
}

.buzzen-v5-page-container {
    padding-top: 38px;
}

@media (min-width: 1400px) {
    .buzzen-v5-page-container {
        max-width: calc(var(--buzzen-content-width-standard) + 48px);
    }
}

.buzzen-v5-page-width-narrow {
    width: 100%;
    max-width: var(--buzzen-content-width-narrow);
    margin-inline: auto;
}

.buzzen-v5-page-width-standard {
    width: 100%;
    max-width: var(--buzzen-content-width-standard);
    margin-inline: auto;
}

.buzzen-v5-page-width-wide {
    width: 100%;
    max-width: var(--buzzen-content-width-wide);
    margin-inline: auto;
}

.buzzen-v5-shell {
    position: relative;
    padding: 18px 22px 26px;
    border: 1px solid rgba(35, 93, 137, .18);
    border-radius: var(--buzzen-radius-lg);
    background: rgba(246, 250, 253, .96);
    box-shadow: var(--buzzen-shadow-panel), inset 0 1px 0 rgba(255,255,255,.92);
    overflow: hidden;
}

.buzzen-v5-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #103858 0%, #1b79bd 58%, var(--buzzen-yellow-light) 100%);
}

.buzzen-v5-page-title {
    position: relative;
    margin: 0 0 12px !important;
    padding: 11px 15px !important;
    border: 1px solid rgba(71, 151, 213, .22);
    border-radius: var(--buzzen-radius-md) var(--buzzen-radius-md) 6px 6px;
    background: linear-gradient(135deg, #103858 0%, #155c91 72%, #1b79bd 100%);
    color: #fff !important;
    font-family: var(--buzzen-font-heading);
    font-size: 22px !important;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(0,0,0,.28);
    box-shadow: 0 10px 22px rgba(12, 55, 91, .14), inset 0 1px 0 rgba(255,255,255,.12);
}

.buzzen-v5-page-title::after {
    content: "";
    position: absolute;
    left: 15px;
    bottom: 0;
    width: 76px;
    height: 3px;
    border-radius: var(--buzzen-radius-pill);
    background: var(--buzzen-yellow-light);
    box-shadow: 0 0 18px rgba(255, 210, 74, .45);
}

.buzzen-v5-page-title > i,
.buzzen-v5-page-title > span[class*="fa-"] {
    margin-right: 8px;
    color: var(--buzzen-yellow-light);
}

.buzzen-v5-page-rule {
    height: 1px;
    margin: 14px 0 16px;
    border: 0;
    background: linear-gradient(to right, transparent, rgba(25, 92, 142, .25), transparent);
}

.buzzen-v5-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .35rem;
    margin: 0 0 16px;
    padding: 10px 13px;
    border: 1px solid rgba(34, 103, 154, .13);
    border-radius: var(--buzzen-radius-sm);
    background: rgba(255,255,255,.88);
    box-shadow: var(--buzzen-shadow-soft);
    font-size: 14px;
    list-style: none;
}

.buzzen-v5-breadcrumb a {
    color: #13527f;
    font-weight: 700;
    text-decoration: none;
}

.buzzen-v5-breadcrumb a:hover,
.buzzen-v5-breadcrumb a:focus {
    color: #1b79bd;
}

.buzzen-v5-hero-card {
    border: 1px solid rgba(31, 103, 154, .18);
    border-radius: var(--buzzen-radius-lg);
    box-shadow: var(--buzzen-shadow-elevated);
}

.buzzen-v5-card,
.buzzen-v5-section-card {
    border: 1px solid rgba(34, 103, 154, .14);
    border-radius: var(--buzzen-radius-md);
    background: rgba(255,255,255,.97);
    box-shadow: var(--buzzen-shadow-card);
}

.buzzen-v5-section-header {
    position: relative;
    display: flex;
    gap: 13px;
    align-items: center;
    padding: 17px 19px 15px;
    border-bottom: 1px solid rgba(34, 103, 154, .10);
    background: linear-gradient(135deg, #fbfdff 0%, #f2f9fe 100%);
}

.buzzen-v5-section-header::after {
    content: "";
    position: absolute;
    left: 19px;
    bottom: 0;
    width: 86px;
    height: 3px;
    border-radius: var(--buzzen-radius-pill);
    background: #f5ad24;
}

.buzzen-v5-section-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: var(--buzzen-radius-sm);
    background: #eaf5fc;
    color: #1b79bd;
    font-size: 18px;
}

.buzzen-v5-section-header h2 {
    margin: 0;
    color: #123d5c;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
}

.buzzen-v5-section-header p {
    margin: 4px 0 0;
    color: #61798a;
    font-family: var(--buzzen-font-body);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
}

.buzzen-v5-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #176a9e;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.buzzen-v5-kicker i {
    color: #e5a31e;
}

/* Shared V5 form primitives. Opt-in only; established during the authentication theme pass. */
.buzzen-v5-form {
    display: grid;
    gap: 16px;
}

.buzzen-v5-form-field {
    min-width: 0;
}

.buzzen-v5-form-label {
    display: block;
    margin: 0 0 7px;
    color: #214c68;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .025em;
}

.buzzen-v5-form .form-control,
.buzzen-v5-form .form-select,
.buzzen-v5-input-group .form-control,
.buzzen-v5-input-group .form-select {
    min-height: 48px;
    border-color: rgba(34, 103, 154, .20);
    border-radius: var(--buzzen-radius-sm);
    color: #283b49;
    background-color: #fff;
    box-shadow: inset 0 1px 2px rgba(14, 65, 104, .04);
    font-size: 15px;
}

.buzzen-v5-form .form-control:focus,
.buzzen-v5-form .form-select:focus,
.buzzen-v5-input-group .form-control:focus,
.buzzen-v5-input-group .form-select:focus {
    border-color: rgba(27, 121, 189, .52);
    box-shadow: 0 0 0 3px rgba(27, 121, 189, .11);
}

.buzzen-v5-input-group .input-group-text,
.buzzen-v5-input-group .btn {
    min-width: 48px;
    justify-content: center;
    border-color: rgba(34, 103, 154, .20);
    background: #f2f9fe;
    color: #176a9e;
}

.buzzen-v5-input-group .input-group-text:first-child {
    border-radius: var(--buzzen-radius-sm) 0 0 var(--buzzen-radius-sm);
}

.buzzen-v5-input-group .btn:last-child {
    border-radius: 0 var(--buzzen-radius-sm) var(--buzzen-radius-sm) 0;
}

.buzzen-v5-form-help {
    margin-top: 6px;
    color: #688092;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 600;
}

.buzzen-v5-form-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    border: 1px solid rgba(34, 103, 154, .14);
    border-radius: var(--buzzen-radius-sm);
    background: #f4f9fd;
    color: #4f6b7e;
    font-size: 13px;
    line-height: 1.55;
    font-weight: 650;
}

.buzzen-v5-form-note i {
    margin-top: 2px;
    color: #e5a31e;
}

.buzzen-v5-form-agreement {
    padding: 13px 14px 13px 38px;
    border: 1px solid rgba(34, 103, 154, .13);
    border-radius: var(--buzzen-radius-sm);
    background: #fbfdff;
    color: #526f82;
    font-size: 13px;
    line-height: 1.55;
    font-weight: 600;
}

.buzzen-v5-form-agreement a {
    color: #0f6499;
    font-weight: 800;
}

.buzzen-v5-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.buzzen-v5-primary-action,
.buzzen-v5-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 18px;
    border-radius: var(--buzzen-radius-pill) !important;
    font-weight: 800 !important;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.buzzen-v5-primary-action {
    border: 1px solid #155c91 !important;
    background: linear-gradient(135deg, #155c91 0%, #1b79bd 100%) !important;
    color: #fff !important;
    box-shadow: 0 9px 20px rgba(27, 121, 189, .20);
}

.buzzen-v5-primary-action:hover,
.buzzen-v5-primary-action:focus {
    border-color: #f5ad24 !important;
    background: linear-gradient(135deg, #f5ad24 0%, #ffd24a 100%) !important;
    color: #123d5c !important;
    transform: translateY(-1px);
    box-shadow: 0 11px 24px rgba(245, 173, 36, .24);
}

.buzzen-v5-secondary-action {
    border: 1px solid rgba(27, 121, 189, .22) !important;
    background: #f4f9fd !important;
    color: #13527f !important;
}

.buzzen-v5-secondary-action:hover,
.buzzen-v5-secondary-action:focus {
    border-color: rgba(245, 173, 36, .42) !important;
    background: #fff9e8 !important;
    color: #123d5c !important;
    transform: translateY(-1px);
}

.buzzen-v5-form-security {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: #607888;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 650;
}

.buzzen-v5-form-security i {
    margin-top: 2px;
    color: #e5a31e;
}

@media (max-width: 767.98px) {
    .buzzen-v5-page-container {
        padding-top: 24px;
    }

    .buzzen-v5-shell {
        padding: 14px 14px 20px;
        border-radius: 15px;
    }

    .buzzen-v5-page-title {
        font-size: 19px !important;
    }

    .buzzen-v5-section-header {
        align-items: flex-start;
        padding-left: 15px;
        padding-right: 15px;
    }

    .buzzen-v5-section-header::after {
        left: 15px;
    }
}

@media (max-width: 480px) {
    .buzzen-v5-page-container {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* Shared navigation */
.buzzen-site-alert {
    font-size: .93rem;
}

.buzzen-navbar {
    min-height: 55px;
    padding: 0;
    overflow: visible;
    background: #07111f;
    background: linear-gradient(180deg, #152941 0%, #081423 58%, #050b13 100%);
    border-bottom: 1px solid rgba(80, 176, 255, .22);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .35), inset 0 -1px 0 rgba(255, 255, 255, .04);
}

.buzzen-navbar::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #1b82e6 0%, #31b7ff 38%, #ffd24a 70%, #ffb31a 100%);
    box-shadow: 0 0 18px rgba(49, 183, 255, .35);
    pointer-events: none;
}

.buzzen-navbar > .container {
    position: relative;
}

.buzzen-brand {
    position: relative;
    z-index: 1031;
    display: block;
    flex: 0 0 145px;
    width: 145px;
    height: 55px;
    margin-right: .6rem;
    padding: 0;
    overflow: visible;
}

.buzzen-brand img {
    position: absolute;
    top: -4px;
    left: 15px;
    display: block;
    width: 118px;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: contain;
    filter: drop-shadow(0 8px 13px rgba(0, 0, 0, .55));
    transition: filter .16s ease;
}

.buzzen-brand:hover img,
.buzzen-brand:focus img {
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .58)) brightness(1.04);
}

.buzzen-navbar .nav-link {
    position: relative;
    min-height: 55px;
    padding: 18px 14px 15px !important;
    color: #edf7ff;
    font-family: var(--buzzen-font-heading);
    font-size: .94rem;
    font-weight: 700;
    letter-spacing: .025rem;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
}

.buzzen-navbar .nav-link::before {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 9px;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, #35b9ff, #ffd24a);
    opacity: 0;
    transform: scaleX(.45);
    transition: opacity .18s ease, transform .18s ease;
}

/* Keep Bootstrap's dropdown caret separate from the shared hover accent so
 * Home, Chatrooms, Features, and Support all receive the exact same highlight. */
.buzzen-navbar .dropdown-toggle::after {
    position: static;
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: .35rem;
    vertical-align: .16em;
    content: "";
    border-top: .28em solid currentColor;
    border-right: .28em solid transparent;
    border-bottom: 0;
    border-left: .28em solid transparent;
    background: none;
    opacity: .82;
    transform: none;
    transition: none;
}

.buzzen-navbar .nav-link:hover,
.buzzen-navbar .nav-link:focus,
.buzzen-navbar .nav-link.show {
    color: #fff;
    background: rgba(53, 151, 229, .18);
    box-shadow: inset 0 0 18px rgba(61, 178, 255, .10);
}

.buzzen-navbar .nav-link:hover::before,
.buzzen-navbar .nav-link:focus::before,
.buzzen-navbar .nav-link.show::before {
    opacity: 1;
    transform: scaleX(1);
}

.buzzen-navbar .dropdown-menu {
    margin-top: 0;
    padding: .55rem;
    color: #dcefff;
    background: rgba(8, 28, 48, .98);
    border: 1px solid rgba(66, 169, 255, .25);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}

.buzzen-navbar .dropdown-item {
    color: #dcefff;
    border-radius: 10px;
    padding: .58rem .75rem;
    font-size: .83rem;
}

.buzzen-navbar .dropdown-item i {
    color: #ffd24a;
}

.buzzen-navbar .dropdown-item:hover,
.buzzen-navbar .dropdown-item:focus {
    color: #fff;
    background: rgba(45, 147, 231, .22);
}

.buzzen-navbar .dropdown-divider {
    border-color: rgba(255, 255, 255, .10);
}

.buzzen-chat-btn,
.buzzen-register-btn,
.buzzen-primary-cta,
.buzzen-login-submit,
.buzzen-small-cta {
    color: var(--buzzen-navy) !important;
    background: var(--buzzen-yellow);
    border-color: var(--buzzen-yellow);
    font-weight: 750;
}

.buzzen-chat-btn:hover,
.buzzen-register-btn:hover,
.buzzen-primary-cta:hover,
.buzzen-login-submit:hover,
.buzzen-small-cta:hover {
    color: var(--buzzen-navy) !important;
    background: var(--buzzen-yellow-light);
    border-color: var(--buzzen-yellow-light);
}

.buzzen-signin-btn,
.buzzen-account-btn {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .05);
    font-weight: 650;
}

.buzzen-signin-btn:hover,
.buzzen-account-btn:hover,
.buzzen-account-btn.show {
    color: #fff;
    border-color: #fff;
    background: rgba(255, 255, 255, .12);
}

.buzzen-register-btn,
.buzzen-chat-btn,
.buzzen-signin-btn,
.buzzen-account-btn {
    padding: .48rem .8rem;
    border-radius: 8px;
}

/* Logged-out portal hero */
.buzzen-portal-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #071525;
    background-image:
        radial-gradient(circle at 11% 55%, rgba(33, 138, 255, .42), transparent 24%),
        radial-gradient(circle at 92% 11%, rgba(255, 211, 73, .24), transparent 27%),
        linear-gradient(120deg, #071525 0%, #0b3561 43%, #07111d 100%);
    box-shadow: 0 20px 48px rgba(5, 19, 34, .32);
}

.buzzen-portal-hero::before,
.buzzen-portal-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.buzzen-portal-hero::before {
    width: 260px;
    height: 260px;
    left: -100px;
    bottom: -120px;
    background: rgba(77, 166, 255, .16);
}

.buzzen-portal-hero::after {
    width: 360px;
    height: 360px;
    right: -125px;
    top: -125px;
    background: rgba(255, 202, 65, .17);
}

.buzzen-hero-eyebrow,
.buzzen-eyebrow,
.buzzen-section-kicker {
    color: var(--buzzen-yellow-light);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.buzzen-hero-eyebrow i {
    margin-right: .45rem;
}

.buzzen-hero-title {
    max-width: 680px;
    margin: .7rem 0 .7rem;
    color: #fff;
    font-size: clamp(2.3rem, 5vw, 4.25rem);
    line-height: 1.02;
    letter-spacing: -.04em;
    font-weight: 820;
}

.portal-brand-highlight,
.buzzen-brand-highlight {
    color: var(--buzzen-yellow-light);
}

.buzzen-hero-subtitle {
    max-width: 690px;
    margin-bottom: .7rem;
    color: #fff;
    font-size: clamp(1.12rem, 2vw, 1.42rem);
    font-weight: 600;
}

.buzzen-hero-copy {
    max-width: 660px;
    color: rgba(255, 255, 255, .73);
    font-size: 1rem;
    line-height: 1.7;
}

.buzzen-benefit-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    max-width: 610px;
    margin-top: 1.35rem;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, .16);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.buzzen-benefit-grid > div {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
    justify-content: center;
    padding: .72rem .55rem;
    color: #fff;
    background: transparent;
    border-right: 1px solid rgba(255, 255, 255, .16);
    border-radius: 0;
    font-family: var(--buzzen-font-heading);
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
}

.buzzen-benefit-grid i {
    width: 1.15rem;
    color: var(--buzzen-yellow);
    text-align: center;
}

.buzzen-benefit-grid > div:nth-child(6n) {
    border-right: 0;
}

.buzzen-laptop-wrap {
    position: relative;
    z-index: 1;
    padding: .5rem;
}

.buzzen-laptop {
    width: min(100%, 620px);
    filter: drop-shadow(0 24px 27px rgba(0, 0, 0, .28));
}

.buzzen-primary-cta,
.buzzen-secondary-cta {
    border-radius: 9px;
    padding: .72rem 1.1rem;
    font-size: .95rem;
    font-weight: 750;
}

.buzzen-secondary-cta {
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .06);
}

.buzzen-secondary-cta:hover {
    color: #fff !important;
    border-color: #fff;
    background: rgba(255, 255, 255, .14);
}

.buzzen-hero-stats {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 900px;
    margin: .2rem auto 1.6rem;
    overflow: hidden;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(170, 216, 255, .30);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .12);
    backdrop-filter: blur(5px);
}

.buzzen-hero-stats > div {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: .75rem;
    padding: .85rem 1.35rem;
    color: #fff;
}

.buzzen-hero-stats > div + div {
    border-left: 1px solid rgba(255, 255, 255, .15);
}

.buzzen-hero-stats i {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: #ffd45d;
    background: rgba(6, 28, 51, .36);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 50%;
}

.buzzen-hero-stats strong {
    color: #ffd45d;
    font-size: 1.35rem;
    line-height: 1.05;
}

.buzzen-hero-stats span {
    color: #f7fbff;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .055em;
}

/* Logged-out portal information panel — retains the established legacy portal treatment. */
.buzzen-portal-intro-section {
    padding: 2.25rem 0 1.25rem;
}

.buzzen-portal-intro-panel {
    position: relative;
    overflow: hidden;
    padding: 1.75rem 1.9rem;
    border: 1px solid rgba(34, 105, 161, .18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 92% 4%, rgba(255, 211, 77, .18) 0, rgba(255, 211, 77, .18) 72px, transparent 73px),
        linear-gradient(135deg, #ffffff 0%, #f5fbff 52%, #edf7ff 100%);
    box-shadow: 0 18px 45px rgba(17, 54, 88, .12);
}

.buzzen-portal-intro-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(to bottom, #ffd24a 0%, #1c8be8 100%);
}

.buzzen-portal-intro-panel::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -110px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(28, 139, 232, .08);
    pointer-events: none;
}

.buzzen-portal-intro-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .7rem;
    padding: .38rem .75rem;
    color: #0f4c7d;
    background: rgba(10, 48, 82, .08);
    border: 1px solid rgba(255, 210, 74, .55);
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.buzzen-portal-intro-kicker i {
    color: #ffc928;
}

.buzzen-portal-intro-panel h2,
.buzzen-portal-intro-faq h3 {
    position: relative;
    z-index: 1;
    color: #11395d;
    font-family: var(--buzzen-font-heading);
    font-weight: 800;
}

.buzzen-portal-intro-panel h2 {
    margin: 0 0 .7rem;
    font-size: clamp(1.75rem, 3vw, 2.15rem);
    line-height: 1.12;
}

.buzzen-portal-intro-panel p {
    position: relative;
    z-index: 1;
    color: #36546c;
    font-size: .95rem;
    line-height: 1.65;
}

.buzzen-portal-intro-lead {
    color: #264a67 !important;
    font-size: 1rem !important;
}

.buzzen-portal-intro-lead strong {
    color: #0f5f9d;
}

.buzzen-portal-intro-tags {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: .48rem;
    margin-top: .6rem;
}

.buzzen-portal-intro-tags span {
    display: inline-block;
    padding: .42rem .7rem;
    color: #16486f;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(28, 116, 188, .18);
    border-radius: 999px;
    box-shadow: 0 5px 14px rgba(19, 70, 110, .06);
    font-size: .79rem;
    font-weight: 750;
}

.buzzen-portal-intro-more {
    margin-top: .75rem;
    margin-bottom: .55rem;
}

.buzzen-portal-intro-link {
    font-weight: 750;
    text-decoration: none;
}

.buzzen-portal-intro-faq {
    position: relative;
    z-index: 1;
    height: 100%;
    padding: 1.1rem;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(28, 116, 188, .16);
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.buzzen-portal-intro-faq h3 {
    margin: 0 0 .75rem;
    font-size: 1.35rem;
    line-height: 1.2;
}

.buzzen-portal-intro-faq ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.buzzen-portal-intro-faq li {
    position: relative;
    padding: .65rem 0 .65rem 1.15rem;
    color: #36546c;
    border-top: 1px solid rgba(28, 116, 188, .12);
    font-size: .86rem;
    line-height: 1.45;
}

.buzzen-portal-intro-faq li:first-child {
    padding-top: 0;
    border-top: 0;
}

.buzzen-portal-intro-faq li::before {
    content: "";
    position: absolute;
    top: 1.03rem;
    left: 0;
    width: 7px;
    height: 7px;
    background: #ffd24a;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(255, 210, 74, .18);
}

.buzzen-portal-intro-faq li:first-child::before {
    top: .38rem;
}

.buzzen-portal-intro-faq strong,
.buzzen-portal-intro-faq span {
    display: block;
}

.buzzen-portal-intro-faq strong {
    margin-bottom: .12rem;
    color: #143d61;
}

@media (max-width: 767.98px) {
    .buzzen-portal-intro-section {
        padding-top: 1.45rem;
    }

    .buzzen-portal-intro-panel {
        padding: 1.4rem 1.1rem;
        border-radius: 18px;
    }

    .buzzen-portal-intro-panel h2 {
        font-size: 1.55rem;
    }

    .buzzen-portal-intro-panel p,
    .buzzen-portal-intro-lead {
        font-size: .9rem !important;
        line-height: 1.6;
    }

    .buzzen-portal-intro-tags span {
        padding: .38rem .62rem;
        font-size: .75rem;
    }

    .buzzen-portal-intro-faq {
        height: auto;
        padding: .95rem;
    }
}

/* Shared content cards */
.buzzen-portal-section,
.buzzen-dashboard-section,
.buzzen-community-section {
    padding: 3.2rem 0 1rem;
}

.buzzen-portal-section + .buzzen-portal-section {
    padding-top: 1rem;
}

.buzzen-community-section {
    padding-top: 1rem;
}

.buzzen-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.buzzen-section-heading h2 {
    margin: .15rem 0 0;
    color: var(--buzzen-navy);
    font-size: clamp(1.55rem, 3vw, 2.05rem);
    font-weight: 790;
    letter-spacing: -.025em;
}

.buzzen-section-heading > a,
.buzzen-card-footer-link a {
    font-size: .88rem;
    font-weight: 750;
    text-decoration: none;
}

.buzzen-section-heading > i {
    color: #a9bbc9;
    font-size: 1.5rem;
}

.buzzen-content-card,
.buzzen-auth-card {
    overflow: hidden;
    background: var(--buzzen-surface);
    border: 1px solid #dce6f0;
    border-radius: var(--buzzen-radius);
    box-shadow: 0 12px 30px rgba(27, 58, 92, .10);
}

.buzzen-card-header {
    display: flex;
    align-items: center;
    gap: .62rem;
    padding: .88rem 1.05rem;
    color: #fff;
    background: #102a45;
    background: linear-gradient(to right, #102a45 0%, #225f9b 100%);
    border-bottom: 3px solid var(--buzzen-yellow);
    font-size: .91rem;
    font-weight: 760;
}

.buzzen-card-header i {
    color: var(--buzzen-yellow-light);
}

.buzzen-topic-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.buzzen-topic-tags span {
    padding: .42rem .7rem;
    color: var(--buzzen-blue-dark);
    background: #edf6fc;
    border: 1px solid #d4eafb;
    border-radius: 999px;
    font-size: .79rem;
    font-weight: 700;
}

.buzzen-faq-list > div {
    padding: .85rem 0;
}

.buzzen-faq-list > div + div {
    border-top: 1px solid var(--buzzen-border);
}

.buzzen-faq-list strong,
.buzzen-faq-list span {
    display: block;
}

.buzzen-faq-list strong {
    color: var(--buzzen-navy);
    font-size: .91rem;
}

.buzzen-faq-list span {
    margin-top: .2rem;
    color: var(--buzzen-muted);
    font-size: .86rem;
    line-height: 1.45;
}

/* Members */
.buzzen-member-grid {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: .7rem;
}

.buzzen-member-tile {
    min-width: 0;
    color: var(--buzzen-text);
    text-align: center;
    text-decoration: none;
}

.buzzen-member-tile img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    background: #fff;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--buzzen-border);
    transition: transform .18s ease, box-shadow .18s ease;
}

.buzzen-member-tile span {
    display: block;
    margin-top: .38rem;
    overflow: hidden;
    color: var(--buzzen-muted);
    font-size: .71rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-member-tile:not(.disabled):hover img {
    transform: translateY(-2px);
    box-shadow: 0 0 0 2px var(--buzzen-yellow), 0 7px 15px rgba(11, 23, 38, .15);
}

.buzzen-member-tile.disabled {
    pointer-events: none;
}

/* News / featured / winners / rooms */
.buzzen-list-stack > * + * {
    border-top: 1px solid var(--buzzen-border);
}

.buzzen-news-item {
    padding: 1.05rem;
}

.buzzen-news-title {
    display: inline-block;
    margin-bottom: .4rem;
    color: var(--buzzen-navy);
    font-weight: 780;
    text-decoration: none;
}

.buzzen-news-title:hover {
    color: var(--buzzen-blue);
}

.buzzen-news-item p {
    margin: 0 0 .6rem;
    color: var(--buzzen-muted);
    font-size: .86rem;
    line-height: 1.5;
}

.buzzen-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    color: #82909c;
    font-size: .74rem;
    font-weight: 650;
}

.buzzen-item-meta span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

.buzzen-feature-card {
    text-align: center;
}

.buzzen-feature-icon {
    width: 76px;
    height: 76px;
    object-fit: contain;
    margin-bottom: .65rem;
}

.buzzen-feature-badge {
    display: table;
    margin: 0 auto .55rem;
    padding: .27rem .58rem;
    color: #704900;
    background: #fff0c2;
    border-radius: 999px;
    font-size: .69rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.buzzen-feature-card h3 {
    color: var(--buzzen-navy);
    font-size: 1.12rem;
    font-weight: 780;
}

.buzzen-feature-card p {
    color: var(--buzzen-muted);
    font-size: .86rem;
    line-height: 1.5;
}

.buzzen-small-cta {
    padding: .45rem .8rem;
    border-radius: 7px;
    font-size: .8rem;
}

.buzzen-winner-list > * + * {
    border-top: 1px solid var(--buzzen-border);
}

.buzzen-winner-item {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .85rem 1rem;
}

.buzzen-winner-item img {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    object-fit: cover;
    background: #fff;
    border: 1px solid var(--buzzen-border);
    border-radius: 50%;
}

.buzzen-winner-item strong,
.buzzen-winner-item span {
    display: block;
}

.buzzen-winner-item strong {
    color: var(--buzzen-navy);
    font-size: .82rem;
}

.buzzen-winner-item span {
    margin-top: .12rem;
    color: var(--buzzen-muted);
    font-size: .74rem;
}

.buzzen-room-list > * + * {
    border-top: 1px solid var(--buzzen-border);
}

.buzzen-room-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 48px;
    padding: .62rem .9rem;
    color: var(--buzzen-text);
    text-decoration: none;
    transition: background .15s ease;
}

.buzzen-room-item:hover {
    color: var(--buzzen-text);
    background: #f3f8fc;
}

.buzzen-room-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    color: var(--buzzen-blue);
    background: #eaf4fb;
    border-radius: 7px;
    font-size: .75rem;
}

.buzzen-room-name {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    font-size: .81rem;
    font-weight: 680;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-room-count {
    min-width: 25px;
    color: var(--buzzen-muted);
    font-size: .74rem;
    font-weight: 750;
    text-align: right;
}

.buzzen-room-go {
    color: #8ea0ae;
    font-size: .67rem;
}

.buzzen-card-footer-link {
    padding: .78rem 1rem;
    background: var(--buzzen-surface-soft);
    border-top: 1px solid var(--buzzen-border);
    text-align: right;
}

.buzzen-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 120px;
    padding: 1.2rem;
    color: var(--buzzen-muted);
    text-align: center;
    font-size: .85rem;
}

.buzzen-empty-state > i {
    margin-bottom: .2rem;
    color: #b4c2cd;
    font-size: 1.6rem;
}

.buzzen-empty-state a {
    font-weight: 700;
}

.buzzen-join-strip {
    margin-top: 2.5rem;
    padding: 1.65rem 0;
    color: #fff;
    background: var(--buzzen-navy-soft);
    border-top: 4px solid var(--buzzen-yellow);
}

.buzzen-join-strip span,
.buzzen-join-strip strong {
    display: block;
}

.buzzen-join-strip span {
    color: rgba(255, 255, 255, .68);
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.buzzen-join-strip strong {
    margin-top: .2rem;
    font-size: 1.12rem;
}

/* Logged-in dashboard */
.buzzen-dashboard-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 20%, rgba(27, 121, 189, .36), transparent 28%),
        linear-gradient(125deg, var(--buzzen-navy) 0%, var(--buzzen-navy-soft) 70%, #154b78 100%);
    border-bottom: 4px solid var(--buzzen-yellow);
}

.buzzen-dashboard-hero > .container {
    position: relative;
    z-index: 2;
}

.buzzen-dashboard-cover-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.buzzen-dashboard-hero-has-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at 78% 24%, rgba(21, 92, 145, .28), transparent 34%),
        linear-gradient(105deg, rgba(5, 18, 32, .9) 0%, rgba(8, 35, 58, .78) 52%, rgba(6, 28, 47, .82) 100%);
}

.buzzen-dashboard-hero h1 {
    margin: .45rem 0 .65rem;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 820;
    letter-spacing: -.035em;
}

.buzzen-dashboard-lead {
    max-width: 660px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 1.05rem;
    line-height: 1.65;
}

.buzzen-dashboard-profile {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem;
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--buzzen-radius);
    backdrop-filter: blur(4px);
}

.buzzen-dashboard-avatar {
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    object-fit: cover;
    background: #fff;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(245, 173, 36, .85);
}

.buzzen-profile-label,
.buzzen-profile-handle {
    display: block;
}

.buzzen-profile-label {
    color: rgba(255, 255, 255, .62);
    font-size: .7rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.buzzen-dashboard-profile h2 {
    max-width: 320px;
    margin: .1rem 0 0;
    overflow: hidden;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-profile-handle {
    max-width: 320px;
    overflow: hidden;
    color: var(--buzzen-yellow-light);
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-profile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem .8rem;
    margin-top: .6rem;
    color: rgba(255, 255, 255, .68);
    font-size: .74rem;
}

.buzzen-profile-meta span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

.buzzen-dashboard-section {
    padding-top: 2rem;
}

.buzzen-tool-card {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-height: 82px;
    height: 100%;
    padding: .85rem;
    color: var(--buzzen-text);
    background: #fff;
    border: 1px solid var(--buzzen-border);
    border-radius: 11px;
    box-shadow: 0 4px 13px rgba(11, 23, 38, .045);
    text-decoration: none;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.buzzen-tool-card > i {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    color: var(--buzzen-blue-dark);
    background: #eaf4fb;
    border-radius: 10px;
}

.buzzen-tool-card strong,
.buzzen-tool-card small {
    display: block;
}

.buzzen-tool-card strong {
    color: var(--buzzen-navy);
    font-size: .87rem;
}

.buzzen-tool-card small {
    margin-top: .15rem;
    color: var(--buzzen-muted);
    font-size: .72rem;
}

.buzzen-tool-card:hover {
    transform: translateY(-2px);
    color: var(--buzzen-text);
    border-color: #aac9df;
    box-shadow: var(--buzzen-shadow-soft);
}

.buzzen-tool-card:hover > i {
    color: var(--buzzen-navy);
    background: #fff0c2;
}

.buzzen-favorites-section {
    margin-top: 2.2rem;
    padding-top: 2rem;
    border-top: 1px solid #d8e4ee;
}

.buzzen-favorites-heading {
    align-items: center;
    margin-bottom: .9rem;
}

.buzzen-favorites-heading h2 {
    font-size: clamp(1.35rem, 2.5vw, 1.7rem);
}

.buzzen-favorites-heading > a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--buzzen-blue-dark);
}

.buzzen-favorites-heading > a:hover {
    color: var(--buzzen-navy);
}

.buzzen-favorite-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: .8rem;
}

.buzzen-favorite-room {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    padding: .8rem .9rem;
    color: var(--buzzen-text);
    background: #fff;
    border: 1px solid var(--buzzen-border);
    border-radius: 11px;
    box-shadow: 0 4px 13px rgba(11, 23, 38, .045);
    text-decoration: none;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.buzzen-favorite-room:hover {
    transform: translateY(-2px);
    color: var(--buzzen-text);
    border-color: #efbd3a;
    box-shadow: var(--buzzen-shadow-soft);
}

.buzzen-favorite-room-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    color: var(--buzzen-blue-dark);
    background: #eaf4fb;
    border-radius: 10px;
}

.buzzen-favorite-room:hover .buzzen-favorite-room-icon {
    color: #7b5200;
    background: #fff0c2;
}

.buzzen-favorite-room-copy {
    min-width: 0;
    flex: 1;
}

.buzzen-favorite-room-copy strong,
.buzzen-favorite-room-copy small {
    display: block;
}

.buzzen-favorite-room-copy strong {
    overflow: hidden;
    color: var(--buzzen-navy);
    font-size: .88rem;
    font-weight: 780;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-favorite-room-copy small {
    margin-top: .12rem;
    color: var(--buzzen-muted);
    font-size: .72rem;
}

.buzzen-favorite-room-go {
    flex: 0 0 auto;
    color: #8ea0ae;
    font-size: .72rem;
}

.buzzen-favorite-empty {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .9rem;
    background: #fff;
    border: 1px dashed #bfd0dd;
    border-radius: 11px;
}

.buzzen-favorite-empty > div {
    min-width: 0;
    flex: 1;
}

.buzzen-favorite-empty strong,
.buzzen-favorite-empty small {
    display: block;
}

.buzzen-favorite-empty strong {
    color: var(--buzzen-navy);
    font-size: .88rem;
}

.buzzen-favorite-empty small {
    margin-top: .12rem;
    color: var(--buzzen-muted);
    font-size: .75rem;
}

.buzzen-member-strip {
    margin-top: 1rem;
    background: #fff;
    border-top: 1px solid var(--buzzen-border);
}

.buzzen-member-strip h2 {
    margin: .2rem 0 .7rem;
    color: var(--buzzen-navy);
    font-size: 1.45rem;
    font-weight: 800;
}

.buzzen-dashboard-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .8rem;
    color: var(--buzzen-muted);
    font-size: .78rem;
}

.buzzen-dashboard-stats strong {
    color: var(--buzzen-blue-dark);
}

.buzzen-member-row-title {
    margin-bottom: .55rem;
    color: var(--buzzen-navy);
    font-size: .82rem;
    font-weight: 780;
}

.buzzen-avatar-row {
    display: flex;
    align-items: center;
}

.buzzen-avatar-row a,
.buzzen-avatar-row > span {
    position: relative;
    display: block;
    margin-left: -8px;
}

.buzzen-avatar-row a:first-child,
.buzzen-avatar-row > span:first-child {
    margin-left: 0;
}

.buzzen-avatar-row img {
    display: block;
    width: 44px;
    height: 44px;
    object-fit: cover;
    background: #fff;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--buzzen-border);
}

.buzzen-avatar-row a:hover {
    z-index: 2;
}

.buzzen-avatar-row a:hover img {
    box-shadow: 0 0 0 2px var(--buzzen-yellow);
}

.buzzen-dashboard-hero-locked {
    min-height: 430px;
    display: flex;
    align-items: center;
}

.buzzen-locked-card {
    display: flex;
    align-items: flex-start;
    gap: 1.3rem;
    max-width: 820px;
    margin-inline: auto;
    padding: 2rem;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: var(--buzzen-radius);
}

.buzzen-locked-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    color: var(--buzzen-navy);
    background: var(--buzzen-yellow);
    border-radius: 15px;
    font-size: 1.45rem;
}

.buzzen-locked-card h1 {
    margin: .3rem 0 .5rem;
    font-size: 2rem;
}

.buzzen-locked-card p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    line-height: 1.65;
}

/* Sign-in: intentionally follows the established Buzzen login presentation. */
.buzzen-auth-page {
    background: #f7f7f6;
}

.buzzen-legacy-auth-page {
    padding: 1rem 0 1.2rem;
}

.buzzen-login-page {
    max-width: 1100px;
}

.buzzen-login-page .buzzen-page-heading {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    overflow: hidden;
    margin: 0 0 14px;
    padding: 18px 20px;
    border: 1px solid rgba(34, 103, 154, .14);
    border-radius: 16px;
    background: linear-gradient(135deg, #f9fdff 0%, #eef8ff 100%);
    box-shadow: 0 8px 22px rgba(16, 69, 110, .08);
}

.buzzen-login-page .buzzen-page-heading::after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, #f5ad24, rgba(245, 173, 36, .15));
}

.buzzen-login-page .buzzen-page-heading-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 48px;
    color: #fff;
    background: linear-gradient(135deg, #155c91, #1b79bd);
    border-radius: 14px;
    box-shadow: 0 7px 18px rgba(27, 121, 189, .22);
}

.buzzen-login-page .buzzen-page-heading-icon i {
    color: #fff;
    font-size: 22px;
}

.buzzen-login-page .buzzen-page-heading h1 {
    margin: 0;
    color: #123d5c;
    font-family: var(--buzzen-font-heading);
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
}

.buzzen-login-page .buzzen-page-heading p {
    margin: 5px 0 0;
    color: #547184;
    font-size: .86rem;
    font-weight: 700;
}

.buzzen-login-page .buzzen-auth-breadcrumb {
    margin: 10px 0 18px;
    padding: 10px 14px;
    border: 1px solid rgba(34, 103, 154, .14);
    border-radius: 12px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 18px rgba(17, 71, 111, .06);
    font-size: .86rem;
}

.buzzen-login-page .buzzen-auth-breadcrumb a {
    color: #13527f;
    font-weight: 800;
    text-decoration: none;
}

.buzzen-login-page .buzzen-auth-breadcrumb .active {
    color: #607888;
    font-weight: 800;
}

.buzzen-login-page .breadcrumb-item + .breadcrumb-item::before {
    color: #8aa0af;
}

.buzzen-login-row {
    margin-top: 0;
}

.buzzen-login-card,
.buzzen-login-sidecard {
    overflow: hidden;
    border: 1px solid rgba(34, 103, 154, .14);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(16, 69, 110, .08);
}

.buzzen-login-card-header {
    position: relative;
    padding: 18px 20px 15px;
    border-bottom: 1px solid rgba(34, 103, 154, .10);
    background: linear-gradient(135deg, #fbfdff 0%, #f2f9fe 100%);
}

.buzzen-login-card-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    width: 90px;
    height: 3px;
    border-radius: 999px;
    background: #f5ad24;
}

.buzzen-login-card-header h2 {
    margin: 0;
    color: #123d5c;
    font-family: var(--buzzen-font-heading);
    font-size: 1.5rem;
    font-weight: 800;
}

.buzzen-login-card-header h2 i,
.buzzen-login-links i,
.buzzen-login-sidecard h3 i,
.buzzen-login-side-link i {
    color: #f5ad24;
}

.buzzen-login-card-header p {
    margin: 6px 0 0;
    color: #61798a;
    font-size: .81rem;
    font-weight: 700;
}

.buzzen-login-form {
    width: 100%;
    padding: 22px 28px 10px;
}

.buzzen-login-label {
    display: block;
    margin: 0 0 7px;
    color: #234f69;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.buzzen-login-input {
    width: 100%;
    margin-bottom: 16px;
}

.buzzen-login-input .input-group-text,
.buzzen-login-input .buzzen-password-toggle {
    min-width: 52px;
    justify-content: center;
    color: #1b79bd;
    border-color: rgba(34, 103, 154, .18);
    background: #f5fbff;
}

.buzzen-login-input .buzzen-password-toggle {
    min-width: 48px;
    color: #72818b;
    background: #fff;
    border-left: 0;
}

.buzzen-login-input .buzzen-password-toggle:hover,
.buzzen-login-input .buzzen-password-toggle:focus {
    color: #1b79bd;
    background: #f5fbff;
}

.buzzen-login-input .form-control {
    min-height: 48px;
    color: #283b49;
    border-color: rgba(34, 103, 154, .18);
    box-shadow: inset 0 1px 2px rgba(14, 65, 104, .04);
}

.buzzen-login-input .form-control:focus {
    border-color: rgba(27, 121, 189, .45);
    box-shadow: 0 0 0 3px rgba(27, 121, 189, .10);
}

.buzzen-login-session-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 14px;
    color: #526f82;
    font-size: .78rem;
    font-weight: 800;
}

.buzzen-login-session-note i {
    color: #f5ad24;
}

.buzzen-login-submit {
    width: 100%;
    min-height: 48px;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #155c91, #1b79bd) !important;
    box-shadow: 0 8px 18px rgba(27, 121, 189, .20) !important;
    font-weight: 900 !important;
    transition: all .18s ease-in-out;
}

.buzzen-login-submit:hover,
.buzzen-login-submit:focus {
    color: #123d5c !important;
    background: linear-gradient(135deg, #f5ad24, #ffd24d) !important;
    box-shadow: 0 10px 24px rgba(245, 173, 36, .28) !important;
    transform: translateY(-1px);
}

.buzzen-login-submit i {
    color: inherit;
}

.buzzen-login-secure {
    margin: 11px 2px 0;
    color: #5f798a;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.45;
}

.buzzen-login-secure i {
    color: #f5ad24;
}

.buzzen-login-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 10px 28px 0;
    padding: 14px 0;
    border-top: 1px solid rgba(34, 103, 154, .10);
    color: #5d7484;
    font-size: .78rem;
    font-weight: 800;
}

.buzzen-login-links a,
.buzzen-login-policy a,
.buzzen-login-side-link {
    color: #0d4f7a;
    font-weight: 900;
    text-decoration: none;
}

.buzzen-login-links a:hover,
.buzzen-login-policy a:hover,
.buzzen-login-side-link:hover {
    color: #1b79bd;
}

.buzzen-login-policy {
    margin: 0;
    padding: 14px 28px 18px;
    border-top: 1px solid rgba(34, 103, 154, .08);
    color: #607786;
    background: #f8fcff;
    font-size: .72rem;
    line-height: 1.55;
    font-weight: 700;
}

.buzzen-login-errors {
    margin: 15px 28px 0 !important;
    padding: 12px 14px !important;
    color: #8d2424 !important;
    background: linear-gradient(135deg, #fff7f7 0%, #fde9e9 100%) !important;
    border: 1px solid rgba(194, 56, 56, .22) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 18px rgba(194, 56, 56, .08);
    font-size: .8rem;
    font-weight: 800;
}

.buzzen-login-sidecard {
    height: 100%;
    padding: 20px;
    text-align: center;
}

.buzzen-login-side-img {
    padding: 12px;
    border: 1px solid rgba(34, 103, 154, .10);
    border-radius: 15px;
    background: linear-gradient(135deg, #fbfdff 0%, #f2f9fe 100%);
}

.buzzen-login-side-img img {
    display: block;
    max-height: 265px;
    margin: 0 auto;
    opacity: .9;
    filter: saturate(1.15) contrast(1.08);
}

.buzzen-login-sidecard h3 {
    margin: 17px 0 7px;
    color: #123d5c;
    font-family: var(--buzzen-font-heading);
    font-size: 1.45rem;
    font-weight: 800;
}

.buzzen-login-sidecard p {
    margin: 0 0 12px;
    color: #61798a;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.55;
}

.buzzen-login-side-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 13px;
    border: 1px solid rgba(245, 173, 36, .35);
    border-radius: 999px;
    background: rgba(245, 173, 36, .10);
}

/* Footer: preserve the established Buzzen three-column treatment. */
.buzzen-footer {
    position: relative;
    overflow: hidden;
    padding: 26px 0 30px;
    color: #eaf5ff;
    background: linear-gradient(115deg, #0c2944 0%, #123b62 42%, #07111f 100%);
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.buzzen-footer::before,
.buzzen-footer::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.buzzen-footer::before {
    top: -135px;
    right: -95px;
    width: 260px;
    height: 260px;
    background: rgba(255, 205, 45, .17);
}

.buzzen-footer::after {
    bottom: -110px;
    left: -85px;
    width: 190px;
    height: 190px;
    background: rgba(29, 116, 191, .22);
}

.buzzen-footer .container {
    position: relative;
    z-index: 1;
}

.buzzen-footer-inner {
    padding: 18px 18px 14px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    background: rgba(255, 255, 255, .045);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .28);
}

.buzzen-footer-card {
    min-height: 116px;
    padding: 4px 8px;
}

.buzzen-footer-title {
    margin: 0 0 14px;
    padding: 0 0 10px;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    font-family: var(--buzzen-font-heading);
    font-size: 1.1rem;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.buzzen-footer-title span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 0 10px;
    border-bottom: 3px solid #ffd34d;
}

.buzzen-footer-title i {
    color: #ffd34d;
    text-shadow: 0 0 12px rgba(255, 211, 77, .35);
}

.buzzen-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.buzzen-footer li {
    margin: 0;
    padding: 0;
    font-size: .8rem;
    line-height: 1.45;
}

.buzzen-footer a {
    color: #eaf5ff;
    text-decoration: none;
}

.buzzen-footer a:hover,
.buzzen-footer a:focus {
    color: #ffd34d;
}

.buzzen-footer-links,
.buzzen-footer-copy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.buzzen-footer-copy {
    display: block;
}

.buzzen-footer-copy li + li {
    margin-top: 8px;
}

.buzzen-footer-links a {
    display: inline-block;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    transition: all .18s ease-in-out;
}

.buzzen-footer-links a:hover,
.buzzen-footer-links a:focus {
    border-color: rgba(255, 211, 77, .45);
    background: rgba(255, 211, 77, .12);
    transform: translateY(-1px);
}

.buzzen-footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

.buzzen-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #fff;
    background: linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04));
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
    transition: all .18s ease-in-out;
}

.buzzen-footer-social a:hover,
.buzzen-footer-social a:focus {
    color: #fff;
    background: linear-gradient(145deg, rgba(255, 211, 77, .28), rgba(26, 111, 189, .18));
    border-color: rgba(255, 211, 77, .5);
    transform: translateY(-2px);
}

.buzzen-footer-social i {
    font-size: 1.15rem;
    line-height: 1;
}

@media (max-width: 767.98px) {
    .buzzen-legacy-auth-page {
        padding-top: .75rem;
    }

    .buzzen-login-page .buzzen-page-heading {
        align-items: flex-start;
        padding: 15px;
    }

    .buzzen-login-page .buzzen-page-heading h1 {
        font-size: 1.55rem;
    }

    .buzzen-login-form {
        padding: 20px 20px 10px;
    }

    .buzzen-login-links {
        display: block;
        margin-right: 20px;
        margin-left: 20px;
        text-align: center;
    }

    .buzzen-login-links span {
        display: block;
        margin-top: 10px;
    }

    .buzzen-login-policy {
        padding-right: 20px;
        padding-left: 20px;
    }

    .buzzen-footer {
        padding: 20px 0;
    }

    .buzzen-footer-inner {
        padding: 14px;
        border-radius: 14px;
    }

    .buzzen-footer-card {
        min-height: 0;
        padding: 0 0 18px;
    }

    .buzzen-footer-row > div:last-child .buzzen-footer-card {
        padding-bottom: 0;
    }
}

/* Foundation/status compatibility */
.buzzen-foundation-card {
    border-color: var(--buzzen-border);
}

/* Responsive */
@media (max-width: 1199.98px) {
    .buzzen-benefit-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .buzzen-benefit-grid > div:nth-child(3n) {
        border-right: 0;
    }

    .buzzen-member-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .buzzen-navbar {
        position: relative !important;
    }

    .buzzen-navbar .navbar-collapse {
        padding: .7rem 0 .4rem;
    }

    .buzzen-navbar .nav-link {
        min-height: 0;
        padding: .65rem .55rem !important;
        border-radius: 9px;
    }

    .buzzen-navbar .nav-link::after {
        display: none;
    }

    .buzzen-nav-actions {
        align-items: stretch !important;
        padding-top: .65rem;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .buzzen-nav-actions .btn,
    .buzzen-nav-actions .dropdown,
    .buzzen-nav-actions .dropdown > .btn {
        width: 100%;
    }

    .buzzen-portal-hero .row {
        padding-top: 2.2rem !important;
    }

    .buzzen-laptop-wrap {
        max-width: 560px;
        margin-inline: auto;
    }

    .buzzen-portal-section {
        padding-top: 2.8rem;
    }

    .buzzen-dashboard-profile {
        max-width: 540px;
    }
}

@media (max-width: 767.98px) {
    .buzzen-brand {
        flex-basis: auto;
        width: 68px;
        height: 52px;
        margin-right: .4rem;
        overflow: hidden;
    }

    .buzzen-brand img {
        position: static;
        width: auto;
        max-width: 68px;
        max-height: 50px;
        margin-top: 2px;
        filter: drop-shadow(0 4px 9px rgba(0, 0, 0, .45));
    }

    .buzzen-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .buzzen-benefit-grid > div:nth-child(2n) {
        border-right: 0;
    }

    .buzzen-hero-stats {
        grid-template-columns: 1fr;
        margin: .2rem auto 1.25rem;
        border-radius: 16px;
    }

    .buzzen-hero-stats > div {
        padding: .82rem 1rem;
    }

    .buzzen-hero-stats > div + div {
        border-top: 1px solid var(--buzzen-border);
        border-left: 0;
    }

    .buzzen-hero-stats i {
        width: 36px;
        height: 36px;
    }

    .buzzen-member-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .buzzen-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .buzzen-favorites-heading {
        gap: .45rem;
    }

    .buzzen-favorite-grid {
        grid-template-columns: 1fr;
    }

    .buzzen-favorite-empty {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .buzzen-favorite-empty .btn {
        width: 100%;
    }

    .buzzen-dashboard-avatar {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }

    .buzzen-locked-card {
        flex-direction: column;
        padding: 1.4rem;
    }

    .buzzen-avatar-row img {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 575.98px) {
    .buzzen-hero-title {
        font-size: 2.35rem;
    }

    .buzzen-benefit-grid {
        grid-template-columns: 1fr 1fr;
        gap: .45rem;
    }

    .buzzen-benefit-grid > div {
        padding: .55rem .6rem;
        font-size: .76rem;
    }

    .buzzen-member-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .buzzen-dashboard-profile {
        align-items: flex-start;
    }

    .buzzen-dashboard-profile h2,
    .buzzen-profile-handle {
        max-width: 185px;
    }

    .buzzen-auth-heading {
        align-items: flex-start;
        padding: 1.15rem;
    }

    .buzzen-auth-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .buzzen-auth-heading h1 {
        font-size: 1.3rem;
    }

    .buzzen-room-name {
        font-size: .78rem;
    }
}


@media (max-width: 767.98px) {
    .buzzen-dashboard-cover-image {
        object-position: center top;
    }
}

/* Registration / activation — V5 account-entry flow using the established Buzzen auth styling. */
.buzzen-register-form .buzzen-login-label,
.buzzen-activate-page .buzzen-login-form .buzzen-login-label {
    margin-top: 2px;
}

.buzzen-register-control {
    min-height: 48px;
    margin-bottom: 16px;
    color: #283b49;
    border-color: rgba(34, 103, 154, .18);
    box-shadow: inset 0 1px 2px rgba(14, 65, 104, .04);
}

.buzzen-register-control:focus {
    border-color: rgba(27, 121, 189, .45);
    box-shadow: 0 0 0 3px rgba(27, 121, 189, .10);
}

.buzzen-register-help {
    margin: -9px 2px 15px;
    color: #718896;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.4;
}

.buzzen-register-password-rules {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: -2px 2px 15px;
    padding: 10px 12px;
    color: #536f81;
    background: #f5fbff;
    border: 1px solid rgba(34, 103, 154, .12);
    border-radius: 10px;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.45;
}

.buzzen-register-password-rules i,
.buzzen-register-beta-note i {
    color: #f5ad24;
    margin-top: 2px;
}

.buzzen-register-agreement {
    margin: 2px 2px 18px;
    padding: 12px 12px 12px 36px;
    color: #526f82;
    background: #fbfdff;
    border: 1px solid rgba(34, 103, 154, .10);
    border-radius: 10px;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.5;
}

.buzzen-register-agreement .form-check-input {
    margin-top: .22rem;
}

.buzzen-register-agreement a {
    color: #0d4f7a;
    font-weight: 900;
}

.buzzen-register-beta-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 18px;
    padding: 11px 12px;
    color: #526f82;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(245, 173, 36, .28);
    border-radius: 10px;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.45;
    text-align: left;
}

.buzzen-register-success {
    margin: 22px 28px 28px;
    padding: 24px;
    color: #365b70;
    background: linear-gradient(135deg, #f7fcff 0%, #edf8ff 100%);
    border: 1px solid rgba(34, 103, 154, .16);
    border-radius: 14px;
    text-align: center;
}

.buzzen-register-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
    color: #fff;
    background: linear-gradient(135deg, #155c91, #1b79bd);
    border-radius: 50%;
    box-shadow: 0 8px 18px rgba(27, 121, 189, .20);
}

.buzzen-register-success-icon i {
    font-size: 1.55rem;
}

.buzzen-register-success h3 {
    margin: 0 0 8px;
    color: #123d5c;
    font-family: var(--buzzen-font-heading);
    font-size: 1.55rem;
    font-weight: 800;
}

.buzzen-register-success p {
    margin: 0 0 10px;
    font-size: .85rem;
    font-weight: 700;
}

.buzzen-register-success .buzzen-login-submit {
    display: inline-flex;
    width: auto;
    min-width: 220px;
    align-items: center;
    justify-content: center;
    padding-right: 24px;
    padding-left: 24px;
}

.buzzen-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

@media (max-width: 767.98px) {
    .buzzen-register-success {
        margin: 20px;
        padding: 20px;
    }

    .buzzen-register-success .buzzen-login-submit {
        width: 100%;
        min-width: 0;
    }
}

/* Forgot/reset password — keeps the established Buzzen auth presentation. */
.buzzen-forgot-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 18px 28px 0;
    padding: 11px 13px;
    color: #536f81;
    background: #f5fbff;
    border: 1px solid rgba(34, 103, 154, .12);
    border-radius: 10px;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.5;
}

.buzzen-forgot-note i {
    margin-top: 2px;
    color: #f5ad24;
}

.buzzen-forgot-success {
    padding: 26px 28px 18px;
    color: #4d6879;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.65;
}

.buzzen-forgot-success p:last-of-type {
    margin-bottom: 18px;
}

.buzzen-forgot-success .buzzen-login-submit {
    display: inline-flex;
    width: auto;
    min-width: 220px;
    align-items: center;
    justify-content: center;
    padding-right: 24px;
    padding-left: 24px;
    text-decoration: none;
}

.buzzen-reset-invalid {
    padding-top: 30px;
}

@media (max-width: 767.98px) {
    .buzzen-forgot-note,
    .buzzen-forgot-success {
        margin-right: 18px;
        margin-left: 18px;
    }

    .buzzen-forgot-success {
        padding-right: 0;
        padding-left: 0;
    }

    .buzzen-forgot-success .buzzen-login-submit {
        width: 100%;
    }
}

/* ============================================================
   Buzzen V5 member profile
   Build 0023
   ============================================================ */
.buzzen-member-profile-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 20%, rgba(27, 121, 189, .36), transparent 28%),
        linear-gradient(125deg, var(--buzzen-navy) 0%, var(--buzzen-navy-soft) 70%, #154b78 100%);
    border-bottom: 4px solid var(--buzzen-yellow);
}

.buzzen-member-profile-hero > .container {
    position: relative;
    z-index: 2;
    padding-top: .9rem;
    padding-bottom: 1.55rem;
}

.buzzen-member-profile-hero-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.buzzen-member-profile-hero.has-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(4, 20, 35, .92) 0%, rgba(7, 32, 52, .80) 46%, rgba(7, 28, 47, .70) 100%),
        linear-gradient(0deg, rgba(4, 18, 31, .20), rgba(4, 18, 31, .20));
}

@media (min-width: 992px) {
    .buzzen-logo-clearance {
        padding-top: 3.15rem !important;
    }
}

.buzzen-profile-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    margin: 0 0 1rem;
    color: rgba(255, 255, 255, .72);
    font-size: .84rem;
}

.buzzen-profile-breadcrumbs a {
    color: #fff;
    text-decoration: none;
}

.buzzen-profile-breadcrumbs a:hover {
    color: var(--buzzen-yellow-light);
}

.buzzen-profile-breadcrumbs i {
    color: var(--buzzen-yellow);
    font-size: .58rem;
}

/* Unified profile dashboard card. Everything in the hero belongs to one
   component instead of floating as unrelated pills and panels. */
.buzzen-profile-dashboard-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 1.05rem;
    background: rgba(5, 25, 42, .58);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .18);
    backdrop-filter: blur(8px);
}

.buzzen-profile-dashboard-main {
    min-width: 0;
}

.buzzen-profile-person-block {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.buzzen-member-profile-photo {
    display: block;
    width: 124px;
    height: 124px;
    flex: 0 0 124px;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, .96);
    border-radius: 1rem;
    background: #eef3f8;
    box-shadow: 0 0 0 2px rgba(245, 173, 36, .92), 0 12px 28px rgba(0, 0, 0, .28);
}

.buzzen-member-profile-identity {
    min-width: 0;
}

.buzzen-profile-name-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .3rem .65rem;
}

.buzzen-member-profile-identity h1 {
    margin: .08rem 0 0;
    color: #fff;
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -.04em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .25);
}

.buzzen-member-profile-identity .buzzen-profile-handle {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    color: var(--buzzen-yellow-light);
    font-size: .92rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-profile-realname {
    margin-top: .3rem;
    color: rgba(255, 255, 255, .72);
    font-size: .86rem;
}

.buzzen-profile-badges {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: .7rem;
}

.buzzen-profile-badges-label {
    color: rgba(255, 255, 255, .58);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.buzzen-profile-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: .36rem;
}

.buzzen-profile-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: .58rem;
    background: rgba(255, 255, 255, .09);
}

.buzzen-profile-badge img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: .15rem;
}

/* Structured facts replace the old unlabelled pill cloud. */
.buzzen-profile-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin-top: .95rem;
}

.buzzen-profile-fact {
    display: flex;
    align-items: center;
    gap: .58rem;
    min-width: 0;
    min-height: 52px;
    padding: .52rem .62rem;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: .68rem;
    color: #fff;
    background: rgba(2, 15, 27, .31);
    text-decoration: none;
}

.buzzen-profile-fact > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: .5rem;
    color: #ffd66a;
    background: rgba(255, 179, 31, .12);
}

.buzzen-profile-fact span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .08rem;
}

.buzzen-profile-fact small {
    color: rgba(255, 255, 255, .52);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .065em;
    line-height: 1;
    text-transform: uppercase;
}

.buzzen-profile-fact strong {
    overflow: hidden;
    color: #fff;
    font-size: .73rem;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-profile-fact-link:hover {
    color: #fff;
    border-color: rgba(255, 214, 106, .48);
    background: rgba(18, 55, 91, .68);
}

.buzzen-profile-dashboard-side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: .85rem;
    padding: .85rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: .85rem;
    background: rgba(3, 18, 31, .38);
}

.buzzen-profile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
}

.buzzen-profile-actions-top {
    margin: 0;
}

.buzzen-profile-primary-action,
.buzzen-profile-secondary-action {
    border-radius: .55rem;
    font-size: .78rem;
    font-weight: 750;
}

.buzzen-profile-primary-action {
    color: #102a45;
    border: 1px solid var(--buzzen-yellow-light);
    background: linear-gradient(180deg, #ffd66a 0%, #ffb31f 100%);
}

.buzzen-profile-primary-action:hover {
    color: #081522;
    border-color: #ffe39a;
    background: #ffd66a;
}

.buzzen-profile-secondary-action {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .24);
    background: rgba(11, 42, 69, .62);
}

.buzzen-profile-secondary-action:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .55);
    background: rgba(27, 82, 130, .82);
}

.buzzen-profile-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
}

.buzzen-profile-stat-grid > div {
    display: flex;
    align-items: center;
    gap: .48rem;
    min-width: 0;
    padding: .58rem .52rem;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: .62rem;
    background: rgba(255, 255, 255, .055);
}

.buzzen-profile-stat-grid i {
    color: #ffd66a;
    font-size: .82rem;
}

.buzzen-profile-stat-grid span {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.buzzen-profile-stat-grid strong {
    overflow: hidden;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-profile-stat-grid small {
    color: rgba(255, 255, 255, .52);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.buzzen-profile-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.buzzen-profile-status-row span {
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    padding: .28rem .5rem;
    border-radius: 999px;
    color: #fff;
    background: rgba(31, 103, 160, .42);
    font-size: .68rem;
    font-weight: 700;
}

.buzzen-profile-status-row i {
    color: var(--buzzen-yellow-light);
}

.buzzen-profile-content-section {
    background: linear-gradient(180deg, #eef3f8 0%, #f8fafc 34%, #fff 100%);
}

/* Profile overview is content-driven: the About card expands when no
   secondary profile modules exist, while populated profiles gain a compact
   supporting column. Gallery content always gets its own full-width shelf. */
.buzzen-profile-overview-grid {
    display: grid;
    gap: 1.5rem;
    align-items: start;
}

.buzzen-profile-overview-grid.has-sidebar {
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
}

.buzzen-profile-overview-grid.is-single {
    grid-template-columns: minmax(0, 1fr);
}

.buzzen-profile-overview-main,
.buzzen-profile-overview-sidebar {
    min-width: 0;
}

.buzzen-profile-overview-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Profile content cards deliberately do not inherit the legacy blue panel
   header. Their visual hierarchy comes from the card surface and title block. */
.buzzen-profile-card {
    overflow: hidden;
    border: 1px solid rgba(16, 42, 69, .10);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 42, 69, .075);
}

.buzzen-profile-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem .78rem;
    border-bottom: 1px solid #e7edf3;
    background: #fff;
}

.buzzen-profile-card-title {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .68rem;
}

.buzzen-profile-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: .72rem;
    color: #1769a4;
    background: linear-gradient(145deg, #eaf6ff 0%, #dff0fb 100%);
    box-shadow: inset 0 0 0 1px #d3e8f7;
}

.buzzen-profile-card-title > div {
    min-width: 0;
}

.buzzen-profile-card-title small {
    display: block;
    margin-bottom: .08rem;
    color: #91a2b2;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.buzzen-profile-card-title h2 {
    margin: 0;
    color: #102a45;
    font-size: .98rem;
    font-weight: 820;
    line-height: 1.1;
}

.buzzen-profile-card-link {
    color: #0f64a0;
    font-size: .72rem;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
}

.buzzen-profile-card-link:hover {
    color: #102a45;
}

.buzzen-profile-about-card {
    position: relative;
}

.buzzen-profile-about-card::before,
.buzzen-profile-card:not(.buzzen-profile-about-card)::before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #ffb31f 0%, #ffd66a 40%, #2b77ae 100%);
}

.buzzen-profile-about-body {
    padding: 1.25rem 1.35rem 1.4rem;
    color: #334b61;
    font-size: .94rem;
    line-height: 1.74;
}

.buzzen-profile-about-body p {
    margin: 0;
}

.buzzen-profile-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    min-height: 110px;
    padding: 1rem;
    color: #6d8194;
    text-align: center;
}

.buzzen-profile-empty i {
    font-size: 1.75rem;
    color: #9bb0c3;
}

.buzzen-profile-gallery-card {
    width: 100%;
}

.buzzen-profile-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(104px, 126px));
    justify-content: start;
    gap: .72rem;
    padding: 1rem;
}

.buzzen-profile-photo-grid a {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border: 1px solid #dce6ee;
    border-radius: .78rem;
    background: #eef3f8;
    box-shadow: 0 4px 12px rgba(16, 42, 69, .06);
}

.buzzen-profile-photo-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .18s ease;
}

.buzzen-profile-photo-overlay {
    position: absolute;
    right: .45rem;
    bottom: .45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #fff;
    background: rgba(8, 21, 34, .72);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .18s ease, transform .18s ease;
}

.buzzen-profile-photo-grid a:hover img {
    transform: scale(1.045);
}

.buzzen-profile-photo-grid a:hover .buzzen-profile-photo-overlay {
    opacity: 1;
    transform: translateY(0);
}

.buzzen-profile-side-panel + .buzzen-profile-side-panel {
    margin-top: 0;
}

.buzzen-profile-audio {
    padding: 1rem;
}

.buzzen-profile-audio audio {
    display: block;
    width: 100%;
}

.buzzen-profile-list {
    padding: .38rem .55rem .55rem;
}

.buzzen-profile-list > a,
.buzzen-profile-wins > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-top: .35rem;
    padding: .72rem .72rem;
    border-radius: .66rem;
    color: #183b5f;
    background: #f7fafc;
    text-decoration: none;
}

.buzzen-profile-list > a:hover {
    color: #0f5f9d;
    background: #eef7fd;
}

.buzzen-profile-list span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .15rem;
}

.buzzen-profile-list strong {
    overflow: hidden;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.buzzen-profile-list small {
    color: #7b8d9e;
    font-size: .7rem;
}

.buzzen-profile-list > a > i {
    color: #9db0c1;
    font-size: .68rem;
}

.buzzen-profile-wins > div {
    justify-content: flex-start;
}

.buzzen-profile-wins > div > i {
    flex: 0 0 auto;
    width: 26px;
    color: #ffb31f;
    font-size: 1.1rem;
    text-align: center;
}

.buzzen-profile-award-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    padding: .85rem;
}

.buzzen-profile-award-grid img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    padding: .24rem;
    border-radius: .72rem;
    background: #f7fafc;
    box-shadow: inset 0 0 0 1px #e0e8ef;
}

.buzzen-profile-login-note {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1rem 1.1rem;
    border: 1px solid #cddae5;
    border-radius: .75rem;
    color: #38546d;
    background: #f7fafc;
}

.buzzen-profile-login-note > i {
    color: #225f9b;
    font-size: 1.25rem;
}

.buzzen-profile-login-note div {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
}

.buzzen-profile-login-note strong {
    font-size: .85rem;
}

.buzzen-profile-login-note span {
    color: #748799;
    font-size: .73rem;
}

.buzzen-profile-login-note a {
    color: #0d5d9b;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}

.buzzen-profile-unavailable {
    min-height: 480px;
    background: linear-gradient(180deg, #eef3f8 0%, #fff 100%);
}

.buzzen-profile-unavailable-card {
    max-width: 680px;
    margin: 2rem auto;
    padding: 2.5rem;
    border: 1px solid #cbd8e5;
    border-top: 4px solid #ffb31f;
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 12px 34px rgba(16, 42, 69, .10);
    text-align: center;
}

.buzzen-profile-unavailable-card .buzzen-eyebrow {
    color: #225f9b;
}

.buzzen-profile-unavailable-icon {
    margin: .8rem 0;
    color: #225f9b;
    font-size: 2.4rem;
}

.buzzen-profile-unavailable-card h1 {
    color: #102a45;
    font-size: 1.65rem;
}

.buzzen-profile-unavailable-card p {
    color: #657a8d;
}

@media (max-width: 1199.98px) {
    .buzzen-profile-dashboard-card {
        grid-template-columns: minmax(0, 1fr) 320px;
    }

    .buzzen-profile-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .buzzen-profile-dashboard-card {
        grid-template-columns: 1fr;
    }

    .buzzen-profile-overview-grid.has-sidebar {
        grid-template-columns: minmax(0, 1fr);
    }

    .buzzen-profile-dashboard-side {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
    }

    .buzzen-profile-status-row {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .buzzen-member-profile-hero > .container {
        padding-top: .8rem;
        padding-bottom: 1.25rem;
    }

    .buzzen-profile-breadcrumbs {
        margin-bottom: .9rem;
    }

    .buzzen-profile-dashboard-card {
        padding: .85rem;
    }

    .buzzen-profile-person-block {
        align-items: flex-start;
    }

    .buzzen-member-profile-photo {
        width: 96px;
        height: 96px;
        flex-basis: 96px;
        border-radius: .85rem;
    }

    .buzzen-profile-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .buzzen-profile-dashboard-side {
        display: flex;
    }

    .buzzen-profile-actions {
        justify-content: flex-start;
    }

    .buzzen-profile-photo-grid {
        grid-template-columns: repeat(auto-fill, minmax(92px, 112px));
    }

    .buzzen-profile-login-note {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .buzzen-profile-login-note div {
        flex-basis: calc(100% - 2.5rem);
    }

    .buzzen-profile-login-note a {
        margin-left: 2.1rem;
    }
}

@media (max-width: 575.98px) {
    .buzzen-profile-person-block {
        flex-direction: column;
    }

    .buzzen-member-profile-photo {
        width: 104px;
        height: 104px;
        flex-basis: 104px;
    }

    .buzzen-member-profile-identity h1 {
        font-size: 2rem;
    }

    .buzzen-profile-facts {
        grid-template-columns: 1fr;
    }

    .buzzen-profile-stat-grid {
        grid-template-columns: 1fr;
    }

    .buzzen-profile-actions .btn {
        flex: 1 1 auto;
    }

    .buzzen-profile-photo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

   .buzzen-profile-about-body {
        min-height: 160px;
        padding: 1rem;
    }

    .buzzen-profile-card-header {
        align-items: flex-start;
    }
}

/* Build 0025: Edit Profile ------------------------------------------------- */
.buzzen-edit-profile-page {
    background: linear-gradient(180deg, #edf3f8 0%, #f8fafc 100%);
    min-height: 70vh;
    color: #132a42;
}

.buzzen-edit-profile-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.4rem;
}

.buzzen-edit-profile-kicker {
    color: #d89000;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.buzzen-edit-profile-heading h1 {
    margin: .25rem 0 .2rem;
    color: #0d2741;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 900;
}

.buzzen-edit-profile-heading p {
    margin: 0;
    color: #64768a;
}

.buzzen-edit-profile-view {
    border: 1px solid #b8c9d9;
    background: #fff;
    color: #12375b;
    font-weight: 700;
    white-space: nowrap;
}

.buzzen-edit-profile-view:hover {
    background: #12375b;
    border-color: #12375b;
    color: #fff;
}

.buzzen-edit-profile-alert {
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(12, 39, 65, .08);
}

.buzzen-edit-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #d6e1eb;
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(17, 46, 75, .08);
}

.buzzen-edit-card::before {
    display: block;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, #ffb31f 0%, #ffcf58 35%, #2b83c6 100%);
}

.buzzen-edit-card-heading {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #e2eaf1;
    background: #fbfdff;
}

.buzzen-edit-card-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 10px;
    background: #e6f3fc;
    color: #176ea9;
}

.buzzen-edit-card-heading small {
    display: block;
    margin-bottom: .05rem;
    color: #7b8da0;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.buzzen-edit-card-heading h2 {
    margin: 0;
    color: #12375b;
    font-size: 1.08rem;
    font-weight: 800;
}

.buzzen-edit-card-heading p {
    margin: .15rem 0 0;
    color: #718397;
    font-size: .82rem;
}

.buzzen-edit-card-body {
    padding: 1.2rem;
}

.buzzen-edit-card .form-label {
    margin-bottom: .35rem;
    color: #173a5b;
    font-size: .8rem;
    font-weight: 800;
}

.buzzen-edit-card .form-control,
.buzzen-edit-card .form-select,
.buzzen-edit-card .input-group-text {
    min-height: 43px;
    border-color: #cedbe7;
}

.buzzen-edit-card .form-control:focus,
.buzzen-edit-card .form-select:focus {
    border-color: #2a83c5;
    box-shadow: 0 0 0 .2rem rgba(42, 131, 197, .12);
}

.buzzen-edit-card .input-group-text {
    background: #edf6fc;
    color: #12649d;
}

.buzzen-edit-about {
    min-height: 220px;
    resize: vertical;
    line-height: 1.6;
}

.buzzen-edit-switch {
    color: #314d66;
    font-size: .85rem;
    font-weight: 600;
}

.buzzen-edit-privacy-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border: 1px solid #dbe6ef;
    border-radius: 11px;
    background: #f7fafc;
}

.buzzen-edit-privacy-row strong,
.buzzen-edit-privacy-row span {
    display: block;
}

.buzzen-edit-privacy-row strong {
    color: #163b5e;
    font-size: .86rem;
}

.buzzen-edit-privacy-row span {
    margin-top: .15rem;
    color: #6c7f91;
    font-size: .78rem;
}

.buzzen-edit-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.2rem;
    border-top: 1px solid #e1e9f0;
    background: #f7fafc;
}

.buzzen-edit-card-footer > span {
    color: #718397;
    font-size: .76rem;
}

.buzzen-edit-profile-photo {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border: 4px solid #fff;
    border-radius: 18px;
    box-shadow: 0 0 0 2px #ffb31f, 0 10px 25px rgba(16, 48, 79, .16);
}

.buzzen-edit-member-name {
    margin-top: .8rem;
    color: #12375b;
    font-size: 1.05rem;
    font-weight: 800;
}

.buzzen-edit-member-name small {
    display: block;
    margin-top: .1rem;
    color: #d89000;
    font-size: .76rem;
}

.buzzen-edit-empty-media {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1rem;
    padding: .8rem;
    border-radius: 10px;
    background: #f3f7fa;
    color: #6c8092;
    font-size: .82rem;
}

.buzzen-edit-theme-panel {
    border: 1px solid rgba(23, 80, 117, .14);
    border-radius: 14px;
    background: rgba(247, 251, 254, .82);
    padding: 16px;
}

.buzzen-edit-theme-heading {
    margin-bottom: 12px;
}

.buzzen-edit-theme-heading strong,
.buzzen-edit-theme-heading span {
    display: block;
}

.buzzen-edit-theme-heading span {
    color: #6b7d8a;
    font-size: .875rem;
    margin-top: 2px;
}

.buzzen-edit-cover-heading {
    align-items: flex-start;
}

.buzzen-edit-cover-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem;
}

.buzzen-edit-cover-option {
    margin: 0;
}

.buzzen-edit-cover-option button {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 11px;
    background: #e7eef5;
    color: #fff;
    cursor: pointer;
}

.buzzen-edit-cover-option button:focus-visible {
    outline: 3px solid rgba(42, 131, 197, .35);
    outline-offset: 2px;
}

.buzzen-edit-cover-option img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.buzzen-edit-cover-option span {
    position: absolute;
    right: .35rem;
    bottom: .35rem;
    padding: .2rem .4rem;
    border-radius: 999px;
    background: rgba(4, 24, 42, .82);
    font-size: .65rem;
    font-weight: 800;
}

.buzzen-edit-cover-option.is-selected button {
    border-color: #ffb31f;
    box-shadow: 0 0 0 2px rgba(255, 179, 31, .18);
}

.buzzen-edit-cover-option.is-selected span {
    background: #ffb31f;
    color: #0b2238;
}

.buzzen-edit-cover-empty {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1rem;
    border: 1px dashed #c8d6e3;
    border-radius: 11px;
    color: #60768a;
    background: #f8fbfd;
}

.buzzen-edit-cover-empty > i {
    color: #2b83c6;
    font-size: 1.5rem;
}

.buzzen-edit-cover-empty strong,
.buzzen-edit-cover-empty span {
    display: block;
}

.buzzen-edit-cover-empty strong {
    color: #173b5e;
}

.buzzen-edit-cover-empty span {
    margin-top: .1rem;
    font-size: .82rem;
}

@media (max-width: 1199.98px) {
    .buzzen-edit-cover-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .buzzen-edit-profile-heading { align-items: flex-start; flex-direction: column; }
    .buzzen-edit-profile-view { width: 100%; }
    .buzzen-edit-card-footer { align-items: stretch; flex-direction: column; }
    .buzzen-edit-card-footer .btn { width: 100%; }
    .buzzen-edit-cover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Build 0026: legacy-first public profile presentation.
   This intentionally mirrors the established Buzzen profile organization while
   retaining the V5 data/security layer underneath. */
.buzzen-legacy-profile-page {
    position: relative;
    min-height: 520px;
    padding: 0 0 2.25rem;
    background-color: #eef3f8;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

.buzzen-legacy-profile-page.has-member-background {
    background-attachment: fixed;
}

.buzzen-legacy-profile-page.has-member-background::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(8, 21, 34, .18);
    pointer-events: none;
}

.buzzen-legacy-profile-container {
    position: relative;
    z-index: 1;
}

.buzzen-legacy-profile-panel {
    position: relative;
    margin: 1rem auto 0;
    padding: 1.15rem 1.3rem 1.55rem;
    border: 1px solid rgba(27, 79, 119, .24);
    border-radius: 15px;
    background: rgba(248, 251, 253, .94);
    box-shadow: 0 18px 42px rgba(6, 26, 43, .28), inset 0 1px 0 rgba(255, 255, 255, .92);
    backdrop-filter: blur(2px);
}

.buzzen-legacy-profile-heading {
    position: relative;
    overflow: hidden;
    margin-bottom: .75rem;
    border: 1px solid rgba(71, 151, 213, .28);
    border-radius: 11px 11px 5px 5px;
    background: linear-gradient(135deg, #103858 0%, #155c91 72%, #1b79bd 100%);
    box-shadow: 0 9px 20px rgba(12, 55, 91, .16), inset 0 1px 0 rgba(255, 255, 255, .12);
}

.buzzen-legacy-profile-heading::after,
.buzzen-legacy-profile-module > header::after {
    content: "";
    position: absolute;
    left: .9rem;
    bottom: 0;
    width: 72px;
    height: 3px;
    border-radius: 999px;
    background: #ffd24a;
    box-shadow: 0 0 14px rgba(255, 210, 74, .38);
}

.buzzen-legacy-profile-heading h1 {
    margin: 0;
    padding: .72rem .95rem .8rem;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .28);
}

.buzzen-legacy-profile-heading i,
.buzzen-legacy-profile-module > header i {
    margin-right: .55rem;
    color: #ffd24a;
}

.buzzen-legacy-profile-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: .9rem;
    padding: .62rem .8rem;
    border: 1px solid rgba(34, 103, 154, .14);
    border-radius: 9px;
    background: rgba(255, 255, 255, .85);
    color: #678091;
    font-size: .82rem;
    box-shadow: 0 5px 14px rgba(17, 71, 111, .05);
}

.buzzen-legacy-profile-breadcrumbs a {
    color: #13527f;
    font-weight: 700;
    text-decoration: none;
}

.buzzen-legacy-profile-breadcrumbs a:hover {
    color: #0c75bd;
    text-decoration: underline;
}

.buzzen-legacy-profile-breadcrumbs strong {
    color: #647b8a;
}

.buzzen-legacy-profile-breadcrumb-spacer {
    flex: 1 1 auto;
}

.buzzen-legacy-profile-edit-link i {
    margin-right: .3rem;
    color: #d69e00;
}

.buzzen-legacy-userinfo {
    position: relative;
    margin-bottom: .85rem;
    padding: 1rem;
    border: 1px solid rgba(34, 103, 154, .14);
    border-radius: 12px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 7px 18px rgba(17, 71, 111, .07);
}

.buzzen-legacy-mood {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    margin: -.25rem 0 .7rem;
    color: #6e8493;
    font-size: .78rem;
}

.buzzen-legacy-mood > span {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.buzzen-legacy-mood strong {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    padding: .3rem .6rem;
    border: 1px solid #d6e3ec;
    border-radius: 999px;
    background: #f6f9fb;
    color: #234d6c;
}

.buzzen-legacy-mood i {
    color: #e1ad0b;
}

.buzzen-legacy-userinfo-main {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
}

.buzzen-legacy-userinfo-photo {
    position: relative;
}

.buzzen-legacy-userinfo-photo img {
    display: block;
    width: 145px;
    height: 145px;
    object-fit: cover;
    border: 4px solid #fff;
    border-radius: 8px;
    box-shadow: 0 5px 14px rgba(13, 54, 84, .18);
    background: #e9f0f5;
}

.buzzen-legacy-userinfo-body {
    min-width: 0;
    padding-top: .05rem;
}

.buzzen-legacy-userinfo-name {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
}

.buzzen-legacy-userinfo-name-icon {
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    border-radius: 8px;
    background: linear-gradient(135deg, #1a73ad, #0f4b74);
    color: #ffd24a;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

.buzzen-legacy-userinfo-name h2 {
    margin: 0;
    color: #173f5d;
    font-size: 1.32rem;
    font-weight: 800;
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.buzzen-legacy-userinfo-name div > span {
    display: block;
    margin-top: .18rem;
    color: #708695;
    font-size: .8rem;
}

.buzzen-legacy-realname {
    margin: .48rem 0 .72rem 2.95rem;
    color: #607786;
    font-size: .86rem;
}

.buzzen-legacy-detail-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.buzzen-legacy-detail-pill {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-height: 34px;
    padding: .38rem .62rem;
    border: 1px solid #d9e5ed;
    border-radius: 8px;
    background: #f8fbfd;
    color: #466679;
    font-size: .78rem;
    line-height: 1.25;
    text-decoration: none;
}

.buzzen-legacy-detail-pill i {
    color: #e4ad08;
}

.buzzen-legacy-detail-pill strong {
    color: #274f6b;
}

.buzzen-legacy-detail-link:hover {
    border-color: #a9cee8;
    background: #eef8ff;
    color: #155c91;
}

.buzzen-legacy-userinfo-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .72rem;
}

.buzzen-legacy-friend-status {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #397050;
    font-size: .78rem;
    font-weight: 700;
}

.buzzen-legacy-userinfo-badges {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: .4rem;
    max-width: 260px;
    padding-left: .5rem;
}

.buzzen-legacy-userinfo-badges span {
    display: block;
}

.buzzen-legacy-userinfo-badges img {
    display: block;
    max-width: 72px;
    max-height: 72px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.buzzen-legacy-profile-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1rem;
    padding: .65rem .78rem;
    border: 1px solid rgba(34, 103, 154, .13);
    border-radius: 9px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 5px 14px rgba(17, 71, 111, .05);
}

.buzzen-legacy-profile-stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem 1rem;
    color: #526e80;
    font-size: .78rem;
}

.buzzen-legacy-profile-stats span,
.buzzen-legacy-profile-liked {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.buzzen-legacy-profile-stats i,
.buzzen-legacy-profile-liked i {
    color: #e2aa05;
}

.buzzen-legacy-profile-liked {
    color: #a33c44;
    font-size: .78rem;
    font-weight: 700;
}

.buzzen-legacy-profile-grid {
    margin-top: 0;
}

.buzzen-legacy-profile-module {
    margin-bottom: 1rem;
}

.buzzen-legacy-profile-module > header {
    position: relative;
    overflow: hidden;
    margin-bottom: .55rem;
    border: 1px solid rgba(71, 151, 213, .24);
    border-radius: 10px 10px 4px 4px;
    background: linear-gradient(135deg, #103858 0%, #155c91 72%, #1b79bd 100%);
    box-shadow: 0 7px 16px rgba(12, 55, 91, .12), inset 0 1px 0 rgba(255, 255, 255, .11);
}

.buzzen-legacy-profile-module > header h2 {
    margin: 0;
    padding: .62rem .76rem .68rem;
    color: #fff;
    font-size: .93rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .025em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .22);
}

.buzzen-legacy-profile-module > header::after {
    left: .75rem;
    width: 52px;
    height: 2px;
}

.buzzen-legacy-profile-module-body,
.buzzen-legacy-profile-list {
    overflow: hidden;
    border: 1px solid #d8e2e9;
    border-radius: 5px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 5px 14px rgba(22, 65, 96, .05);
}

.buzzen-legacy-about-module .buzzen-legacy-profile-module-body {
    min-height: 250px;
    padding: 1rem 1.15rem;
}

.buzzen-legacy-about-text {
    color: #2d4658;
    font-size: .9rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.buzzen-legacy-profile-list > a,
.buzzen-legacy-profile-list > div {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 42px;
    padding: .55rem .65rem;
    border-bottom: 1px solid #e5edf2;
    color: #355b75;
    font-size: .8rem;
    text-decoration: none;
}

.buzzen-legacy-profile-list > :last-child {
    border-bottom: 0;
}

.buzzen-legacy-profile-list > a:nth-child(even),
.buzzen-legacy-profile-list > div:nth-child(even) {
    background: #f7fafc;
}

.buzzen-legacy-profile-list > a:hover {
    background: #edf7fd;
    color: #0f68a2;
}

.buzzen-legacy-profile-list i {
    color: #dba700;
}

.buzzen-legacy-win-list > div > span {
    display: grid;
    gap: .08rem;
}

.buzzen-legacy-win-list small {
    color: #7c909e;
    font-size: .7rem;
}

.buzzen-legacy-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .35rem;
}

.buzzen-legacy-photo-grid a {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid #cddbe5;
    border-radius: 4px;
    background: #edf3f7;
}

.buzzen-legacy-photo-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .15s ease, opacity .15s ease;
}

.buzzen-legacy-photo-grid a:hover img {
    transform: scale(1.05);
    opacity: .92;
}

.buzzen-legacy-award-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .4rem;
}

.buzzen-legacy-award-grid img {
    display: block;
    width: 100%;
    max-height: 72px;
    object-fit: contain;
    padding: .15rem;
}

.buzzen-legacy-audio {
    padding: .65rem;
}

.buzzen-legacy-audio audio {
    display: block;
    width: 100%;
}

.buzzen-legacy-module-footer {
    margin-top: .45rem;
    text-align: center;
}

@media (max-width: 991.98px) {
    .buzzen-legacy-profile-page.has-member-background {
        background-attachment: scroll;
    }

    .buzzen-legacy-profile-panel {
        padding: 1rem;
    }

    .buzzen-legacy-userinfo-main {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .buzzen-legacy-userinfo-photo img {
        width: 120px;
        height: 120px;
    }

    .buzzen-legacy-userinfo-badges {
        grid-column: 1 / -1;
        justify-content: flex-start;
        max-width: none;
        padding: .25rem 0 0;
    }

    .buzzen-legacy-userinfo-badges img {
        max-width: 64px;
        max-height: 64px;
    }

    .buzzen-legacy-about-module .buzzen-legacy-profile-module-body {
        min-height: 0;
    }

    .buzzen-legacy-profile-sidebar {
        margin-top: .25rem;
    }

    .buzzen-legacy-photo-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .buzzen-legacy-profile-page {
        padding-bottom: 1rem;
    }

    .buzzen-legacy-profile-panel {
        margin-top: .5rem;
        padding: .75rem;
        border-radius: 10px;
    }

    .buzzen-legacy-profile-heading h1 {
        font-size: 1.05rem;
    }

    .buzzen-legacy-profile-breadcrumbs {
        font-size: .75rem;
    }

    .buzzen-legacy-profile-breadcrumb-spacer {
        display: none;
    }

    .buzzen-legacy-profile-edit-link {
        width: 100%;
        margin-top: .15rem;
    }

    .buzzen-legacy-userinfo {
        padding: .8rem;
    }

    .buzzen-legacy-mood {
        justify-content: flex-start;
    }

    .buzzen-legacy-userinfo-main {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: .75rem;
    }

    .buzzen-legacy-userinfo-photo img {
        width: 90px;
        height: 90px;
    }

    .buzzen-legacy-userinfo-name-icon {
        display: none;
    }

    .buzzen-legacy-userinfo-name h2 {
        font-size: 1.08rem;
    }

    .buzzen-legacy-realname {
        margin-left: 0;
    }

    .buzzen-legacy-detail-pill {
        width: 100%;
    }

    .buzzen-legacy-userinfo-badges img {
        max-width: 56px;
        max-height: 56px;
    }

    .buzzen-legacy-profile-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .buzzen-legacy-profile-stats {
        align-items: flex-start;
        flex-direction: column;
        gap: .4rem;
    }

    .buzzen-legacy-photo-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Build 0053: legacy main-site Poll widgets. */
.buzzen-poll-widget-body { padding: 1.25rem; }
.buzzen-poll-widget-question { font-size: 1.05rem; font-weight: 700; margin-bottom: .25rem; }
.buzzen-poll-widget-question a { color: inherit; text-decoration: none; }
.buzzen-poll-widget-question a:hover { text-decoration: underline; }
.buzzen-poll-widget-total { color: var(--bs-secondary-color); font-size: .9rem; margin-bottom: 1rem; }
.buzzen-poll-widget-option + .buzzen-poll-widget-option { margin-top: .85rem; }
.buzzen-poll-widget-meta { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; margin-bottom: .35rem; }
.buzzen-poll-widget-card .progress { height: 1.1rem; }
.buzzen-poll-widget-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; font-weight: 700; text-decoration: none; }

/* Build 0055: authenticated notification bell/count */
.buzzen-nav-counter{position:relative;color:#fff;border-color:rgba(255,255,255,.28);min-width:2.25rem}.buzzen-nav-counter:hover,.buzzen-nav-counter:focus{color:#fff;background:rgba(255,255,255,.12)}.buzzen-nav-count-badge{position:absolute;top:-.45rem;right:-.45rem;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;background:#dc3545;color:#fff;font-size:.7rem;font-weight:700;line-height:1.15rem;text-align:center;box-shadow:0 0 0 2px #123b62}


/* Build 0101 — Phase 15 readability/responsive polish. */
@media (max-width: 767.98px) {
    .pagination {
        flex-wrap: wrap;
        row-gap: 5px;
    }

    .pagination .page-link {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
