/* Buzzen V5 Build 0096 - Main-site theme pass Phase 11: Chatrooms. */
.buzzen-chatroom-theme-page {
    padding: 0 0 42px;
    font-family: var(--buzzen-font-body);
    color: #24465f;
}

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

.buzzen-chatroom-theme-page .buzzen-chatroom-shell {
    margin: 0;
    padding: 18px 22px 26px;
    background: rgba(246,250,253,.97);
}

/* Shared Chatroom hero language */
.buzzen-chatroom-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1.62fr) minmax(285px,.72fr);
    gap: 0;
    margin: 0 0 24px;
    overflow: hidden;
    background: linear-gradient(135deg,#f8fcff 0%,#eaf5fc 60%,#fff7d9 100%);
}

.buzzen-chatroom-hero::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg,#1b79bd 0%,#f5ad24 100%);
}

.buzzen-chatroom-hero-copy {
    position: relative;
    padding: 29px 30px 30px 35px;
}

.buzzen-chatroom-hero-copy h1 {
    max-width: 760px;
    margin: 8px 0 10px;
    color: #103858;
    font-family: var(--buzzen-font-heading);
    font-size: clamp(30px,3vw,42px);
    line-height: 1.04;
    font-weight: 700;
}

.buzzen-chatroom-hero-copy > p {
    max-width: 770px;
    margin: 0;
    color: #526f83;
    font-size: 15px;
    line-height: 1.65;
    font-weight: 500;
}

.buzzen-chatroom-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 19px;
}

.buzzen-chatroom-hero-pills span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(27,121,189,.13);
    border-radius: var(--buzzen-radius-pill);
    background: rgba(255,255,255,.8);
    color: #315d7c;
    box-shadow: 0 8px 18px rgba(17,71,111,.06);
    font-size: 13px;
    font-weight: 700;
}

.buzzen-chatroom-hero-pills i { color: #1b79bd; }

.buzzen-chatroom-hero-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    padding: 27px 25px;
    overflow: hidden;
    background: linear-gradient(145deg,#103858 0%,#155c91 76%,#1b79bd 100%);
    color: #fff;
}

.buzzen-chatroom-hero-panel::after {
    content: "";
    position: absolute;
    right: -45px;
    bottom: -70px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255,210,74,.13);
    pointer-events: none;
}

.buzzen-chatroom-panel-icon,
.buzzen-chatroom-side-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 12px;
    background: rgba(255,210,74,.16);
    color: #ffd24a;
    font-size: 18px;
}

.buzzen-chatroom-panel-kicker {
    display: block;
    margin-top: 12px;
    color: #ffd24a;
    font-family: var(--buzzen-font-heading);
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.buzzen-chatroom-hero-panel h2 {
    margin: 8px 0;
    color: #fff;
    font-family: var(--buzzen-font-heading);
    font-size: 25px;
    line-height: 1.08;
    font-weight: 700;
}

.buzzen-chatroom-hero-panel p {
    margin: 0 0 16px;
    color: rgba(255,255,255,.82);
    font-size: 14px;
    line-height: 1.55;
}

.buzzen-chatroom-hero-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.buzzen-chatroom-hero-actions .btn { font-weight: 800; }

.buzzen-chatroom-service-note {
    margin: -8px 0 22px;
    border-radius: var(--buzzen-radius-sm);
    font-size: 14px;
}

/* Shared content surfaces */
.buzzen-chatroom-directory-card,
.buzzen-chatroom-search-card,
.buzzen-chatroom-results-card,
.buzzen-chatroom-form-card,
.buzzen-chatroom-favorite-list,
.buzzen-chatgames-filter-card,
.buzzen-chatgames-results-card {
    overflow: hidden;
}

.buzzen-chatroom-section-body,
.buzzen-chatroom-directory-body {
    padding: 18px;
}

.buzzen-chatroom-theme-page .buzzen-v5-section-header h2 {
    margin: 0 0 2px;
    color: #123d5c;
    font-size: 23px;
    line-height: 1.1;
    font-weight: 700;
}

.buzzen-chatroom-theme-page .buzzen-v5-section-header p {
    margin: 0;
    color: #6a8293;
    font-size: 13px;
    line-height: 1.45;
}

.buzzen-chatroom-empty {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px;
    border: 1px dashed rgba(34,103,154,.24);
    border-radius: var(--buzzen-radius-md);
    background: #f7fbfe;
    color: #607a8c;
    font-size: 14px;
    font-weight: 700;
}

.buzzen-chatroom-empty i { color: #f5ad24; }

/* Directory filters */
.buzzen-chatroom-filter {
    display: grid;
    grid-template-columns: minmax(180px,1fr) minmax(180px,1fr) auto;
    gap: 13px;
    align-items: end;
    margin-bottom: 18px;
    padding: 15px;
    border: 1px solid rgba(34,103,154,.13);
    border-radius: var(--buzzen-radius-md);
    background: linear-gradient(135deg,#f8fcff,#f2f8fc);
}

.buzzen-chatroom-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.buzzen-chatroom-filter-actions .btn { white-space: nowrap; font-weight: 750; }

/* Directory/search table: keep established semantics, modernize the surface. */
.buzzen-chatroom-table-wrap {
    overflow: hidden;
    border: 1px solid rgba(34,103,154,.18);
    border-radius: var(--buzzen-radius-md);
    background: #fff;
    box-shadow: var(--buzzen-shadow-soft);
}

.buzzen-chatroom-table {
    margin: 0;
    font-size: 14px;
}

.buzzen-chatroom-table > thead.roomlist_header > tr > th {
    padding: 11px 12px;
    background: linear-gradient(135deg,#103858,#155c91) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: #fff;
    font-family: var(--buzzen-font-heading);
    font-size: 15px;
    letter-spacing: .02em;
}

.buzzen-chatroom-table > tbody > tr > td {
    padding: 11px 12px;
    border-color: rgba(34,103,154,.1);
}

.buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row:nth-child(even) > td { background: #fbfdff; }
.buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row:hover > td { background: #eef7fd; }
.buzzen-chatroom-table a { color: #145f96; font-weight: 800; text-decoration: none; }
.buzzen-chatroom-table a:hover { color: #0b7ed8; }
.buzzen-chatroom-table .roomlist_topic { color: #466276; font-size: 13.5px; line-height: 1.5; }

.buzzen-chatroom-table tr.roomlist_headerb > td {
    background: #edf5fb !important;
    color: #315d7c !important;
    border-color: rgba(34,103,154,.14) !important;
    font-family: var(--buzzen-font-heading);
    font-size: 15px;
    font-weight: 700;
}

.buzzen-chatroom-table .buzzen-roomlist-section-row > td {
    padding: 8px 12px !important;
    font-family: var(--buzzen-font-heading);
    font-size: 15px;
    letter-spacing: .02em;
}

.buzzen-chatroom-table .buzzen-roomlist-section-supported > td { background: #276a9d !important; }
.buzzen-chatroom-table .buzzen-roomlist-section-unsupported > td { background: #364756 !important; }
.buzzen-chatroom-featured-row > td { background: #fffdf5 !important; }
.buzzen-chatroom-featured-row:hover > td { background: #fff8df !important; }
.buzzen-chatroom-featured-row.is-community-home > td { border-bottom-color: rgba(245,173,36,.28); }

.buzzen-roomlist-room-note {
    margin-top: 3px;
    color: #758a9a;
    font-size: 12px;
    font-weight: 600;
}

.buzzen-roomlist-card-icon img { max-width: 26px; max-height: 26px; }

.buzzen-roomlist-stats-callout,
.buzzen-roomlist-radio-callout {
    border-radius: var(--buzzen-radius-sm);
    box-shadow: 0 7px 18px rgba(17,71,111,.06);
}

.buzzen-roomlist-stats-callout { background: linear-gradient(135deg,#fff9e7,#fff3c8); border-color: #eed98c; }
.buzzen-roomlist-radio-callout { background: linear-gradient(145deg,#103858,#155c91); border-color: #2b6d9e; }
.buzzen-roomlist-callout-copy strong { font-family: var(--buzzen-font-heading); font-size: 16px; }
.buzzen-roomlist-callout-copy span { font-size: 13px; line-height: 1.5; }
.buzzen-roomlist-callout-btn { border-radius: 8px; font-size: 12px; font-weight: 800; }

.buzzen-chatroom-legend {
    justify-content: flex-start;
    gap: 8px 14px;
    margin-top: 16px;
    padding: 13px 14px;
    border: 1px solid rgba(34,103,154,.12);
    border-radius: var(--buzzen-radius-sm);
    background: #f8fcff;
    color: #5d7587;
    font-size: 12.5px;
    font-weight: 650;
}

/* Form/search pages */
.buzzen-chatroom-form-layout,
.buzzen-chatroom-favorites-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 300px;
    gap: 22px;
    align-items: start;
}

.buzzen-chatroom-favorites-layout main,
.buzzen-chatroom-form-layout main {
    display: grid;
    gap: 18px;
}

.buzzen-chatroom-side-stack { display: grid; gap: 16px; }

.buzzen-chatroom-side-card {
    padding: 19px;
    overflow: hidden;
}

.buzzen-chatroom-side-card .buzzen-chatroom-side-icon {
    background: #eaf5fc;
    color: #1b79bd;
}

.buzzen-chatroom-side-card .buzzen-chatroom-panel-kicker { color: #b8780e; }
.buzzen-chatroom-side-card h2 { margin: 7px 0 10px; color: #123d5c; font-family: var(--buzzen-font-heading); font-size: 22px; line-height: 1.1; }
.buzzen-chatroom-side-card p { margin: 0; color: #5b7486; font-size: 14px; line-height: 1.6; }
.buzzen-chatroom-side-card ul { margin: 14px 0 0; padding: 0; list-style: none; }
.buzzen-chatroom-side-card li { position: relative; padding: 6px 0 6px 20px; color: #506b7d; font-size: 13px; line-height: 1.45; }
.buzzen-chatroom-side-card li::before { content: "\f00c"; position:absolute; left:0; top:7px; color:#1b79bd; font-family:"Font Awesome 7 Free"; font-weight:900; }
.buzzen-chatroom-side-card.is-warning { background: linear-gradient(145deg,#fffdf6,#fff7dd); border-color: rgba(214,168,53,.25); }
.buzzen-chatroom-side-card.is-warning .buzzen-chatroom-side-icon { background:#fff0bd; color:#b8780e; }
.buzzen-chatroom-side-card code { color:#a45300; }

.buzzen-chatroom-search-card { margin-bottom: 18px; }
.buzzen-chatroom-search-form .input-group .btn { min-width: 120px; }

.buzzen-chatroom-form-card .input-group-text,
.buzzen-chatroom-search-card .input-group-text { min-width: 44px; justify-content: center; color:#1b79bd; background:#eef7fd; border-color:#cbdce8; }

.buzzen-chatroom-agreement { margin: 3px 0 18px; }
.buzzen-chatroom-terms-note {
    margin-top: 13px;
    color: #708595;
    font-size: 12.5px;
    line-height: 1.5;
    text-align: center;
}
.buzzen-chatroom-terms-note a { font-weight: 750; }

/* Favorite room cards */
.buzzen-chatroom-favorite-list { margin-top: 18px; }
.buzzen-chatroom-favorite-cards { display: grid; gap: 10px; }
.buzzen-chatroom-favorite-card {
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 14px 15px 14px 18px;
    overflow: hidden;
    border: 1px solid rgba(34,103,154,.13);
    border-radius: var(--buzzen-radius-md);
    background: linear-gradient(135deg,#fff,#f7fbfe);
    box-shadow: var(--buzzen-shadow-soft);
}
.buzzen-chatroom-favorite-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(180deg,#1b79bd,#f5ad24); }
.buzzen-chatroom-favorite-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#fff4cf; color:#c98b12; }
.buzzen-chatroom-favorite-copy h3 { margin:0 0 3px; font-family:var(--buzzen-font-heading); font-size:20px; line-height:1.05; }
.buzzen-chatroom-favorite-copy h3 a { color:#123d5c; text-decoration:none; }
.buzzen-chatroom-favorite-copy h3 a:hover { color:#1b79bd; }
.buzzen-chatroom-favorite-copy p { margin:0; color:#728798; font-size:12.5px; }
.buzzen-chatroom-favorite-actions { display:flex; align-items:center; gap:7px; }
.buzzen-chatroom-favorite-actions form { margin:0; }

/* Chat Games */
.buzzen-chatgames-filter-card { margin-bottom: 18px; }
.buzzen-chatgames-filter {
    display: grid;
    grid-template-columns: minmax(220px,1.4fr) minmax(150px,.6fr) minmax(150px,.6fr) auto;
    gap: 12px;
    align-items: end;
}
.buzzen-chatgames-filter-actions { display:flex; flex-wrap:wrap; gap:7px; }
.buzzen-chatgames-filter-actions .btn { font-weight:750; }

.buzzen-chatgames-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(34,103,154,.14);
    border-radius: var(--buzzen-radius-md);
    background: linear-gradient(145deg,#fff,#f7fbfe);
    box-shadow: var(--buzzen-shadow-card);
}
.buzzen-chatgames-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(180deg,#1b79bd,#f5ad24); }
.buzzen-chatgames-card > header {
    display:flex;
    gap:11px;
    align-items:center;
    padding:14px 15px 12px 18px;
    border-bottom:1px solid rgba(34,103,154,.1);
    background:linear-gradient(135deg,#fbfdff,#eef7fd);
}
.buzzen-chatgames-card-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:11px; background:#e4f2fc; color:#1b79bd; }
.buzzen-chatgames-card h3 { margin:0 0 3px; color:#123d5c; font-family:var(--buzzen-font-heading); font-size:20px; line-height:1.05; }
.buzzen-chatgames-card header span { color:#758a9a; font-size:12px; font-weight:650; }
.buzzen-chatgames-card-body { padding:14px 16px 15px 18px; }
.buzzen-chatgames-winner { margin:0 0 10px; color:#3d5a6f; font-size:14px; }
.buzzen-chatgames-winner > i { color:#d79718; margin-right:5px; }
.buzzen-chatgames-winner a { color:#145f96; font-weight:800; text-decoration:none; }
.buzzen-chatgames-note { margin-top:9px; padding:10px 11px; border-radius:10px; background:#f3f8fc; color:#5b7486; font-size:13px; line-height:1.5; }
.buzzen-chatgames-created { margin-top:10px; color:#8192a0; font-size:12px; }
.buzzen-chatroom-pagination { margin-top:18px; }

/* Pagination consistency */
.buzzen-chatroom-theme-page .pagination .page-link {
    color: #155c91;
    border-color: rgba(34,103,154,.16);
    font-weight: 700;
}
.buzzen-chatroom-theme-page .pagination .page-item.active .page-link { background:#155c91; border-color:#155c91; color:#fff; }

@media (max-width: 1199.98px) {
    .buzzen-chatroom-hero { grid-template-columns: minmax(0,1.45fr) minmax(260px,.75fr); }
    .buzzen-chatroom-filter { grid-template-columns: 1fr 1fr; }
    .buzzen-chatroom-filter-actions { grid-column: 1 / -1; }
    .buzzen-chatgames-filter { grid-template-columns: 1.2fr .7fr .7fr; }
    .buzzen-chatgames-filter-actions { grid-column: 1 / -1; }
}

@media (max-width: 991.98px) {
    .buzzen-chatroom-hero { grid-template-columns: 1fr; }
    .buzzen-chatroom-hero-panel { min-height: auto; }
    .buzzen-chatroom-form-layout,
    .buzzen-chatroom-favorites-layout { grid-template-columns: 1fr; }
    .buzzen-chatroom-side-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }

    .buzzen-roomlist-stats-callout,
    .buzzen-roomlist-radio-callout { grid-template-columns: auto minmax(0,1fr); }
    .buzzen-roomlist-callout-btn { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 767.98px) {
    .buzzen-chatroom-theme-page { padding-bottom: 24px; }
    .buzzen-chatroom-theme-page .buzzen-v5-page-container { padding-top: 18px; }
    .buzzen-chatroom-theme-page .buzzen-chatroom-shell { padding: 14px; }
    .buzzen-chatroom-hero-copy { padding: 24px 20px 24px 26px; }
    .buzzen-chatroom-hero-copy h1 { font-size: 31px; }
    .buzzen-chatroom-hero-panel { padding: 22px 20px 23px; }
    .buzzen-chatroom-filter { grid-template-columns: 1fr; }
    .buzzen-chatroom-filter-actions { grid-column: auto; display:grid; grid-template-columns:1fr; }
    .buzzen-chatroom-filter-actions .btn { width:100%; }
    .buzzen-chatroom-side-stack { grid-template-columns: 1fr; }
    .buzzen-chatgames-filter { grid-template-columns: 1fr; }
    .buzzen-chatgames-filter-actions { grid-column:auto; }

    /* Mobile room table becomes readable room cards. */
    .buzzen-chatroom-table-wrap { overflow: visible; border:0; box-shadow:none; background:transparent; }
    .buzzen-chatroom-table { display:block; min-width:0; font-size:14px; }
    .buzzen-chatroom-table > thead { display:none; }
    .buzzen-chatroom-table > tbody { display:block; }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row {
        display:grid;
        grid-template-columns: 48px minmax(0,1fr) auto;
        margin-bottom:10px;
        overflow:hidden;
        border:1px solid rgba(34,103,154,.15);
        border-radius:var(--buzzen-radius-md);
        background:#fff;
        box-shadow:var(--buzzen-shadow-soft);
    }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td { display:block; padding:9px 10px; background:transparent !important; border:0; }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td:nth-child(1) { grid-column:1; grid-row:1 / span 2; width:auto; min-width:0; align-self:center; }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td:nth-child(2) { grid-column:2; grid-row:1; align-self:end; padding-bottom:3px; }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td:nth-child(3) { grid-column:1 / -1; grid-row:3; min-width:0; padding-top:9px; border-top:1px solid rgba(34,103,154,.09); }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td:nth-child(4) { grid-column:3; grid-row:1; align-self:end; font-weight:800; }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td:nth-child(4)::before { content:"Users: "; color:#73808c; font-size:12px; font-weight:600; }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td:nth-child(5) { grid-column:2 / -1; grid-row:2; padding-top:1px; color:#768391; font-size:12px; text-align:left !important; }
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-card-row > td:nth-child(5)::before { content:"Language: "; font-weight:700; }
    .buzzen-chatroom-table > tbody > tr.roomlist_headerb,
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-section-row { display:block; margin:13px 0 7px; border-radius:8px; overflow:hidden; }
    .buzzen-chatroom-table > tbody > tr.roomlist_headerb > td,
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-section-row > td { display:none; }
    .buzzen-chatroom-table > tbody > tr.roomlist_headerb > td:nth-child(2),
    .buzzen-chatroom-table > tbody > tr.buzzen-roomlist-section-row > td:nth-child(2) { display:block; padding:9px 11px !important; border-radius:8px; }
    .buzzen-roomlist-stats-callout,
    .buzzen-roomlist-radio-callout { grid-template-columns:1fr; gap:7px; }
    .buzzen-roomlist-callout-icon { display:none; }
    .buzzen-roomlist-callout-btn { grid-column:auto; justify-self:stretch; }

    .buzzen-chatroom-favorite-card { grid-template-columns:42px minmax(0,1fr); }
    .buzzen-chatroom-favorite-actions { grid-column:1 / -1; padding-left:55px; }
}

@media (max-width: 479.98px) {
    .buzzen-chatroom-theme-page .buzzen-chatroom-shell { padding: 11px; border-radius: 15px; }
    .buzzen-chatroom-hero-copy { padding: 22px 17px 22px 23px; }
    .buzzen-chatroom-hero-copy h1 { font-size: 28px; }
    .buzzen-chatroom-hero-pills { gap:6px; }
    .buzzen-chatroom-hero-pills span { width:100%; justify-content:flex-start; }
    .buzzen-chatroom-hero-actions { display:grid; grid-template-columns:1fr; }
    .buzzen-chatroom-hero-actions .btn { width:100%; }
    .buzzen-chatroom-section-body,
    .buzzen-chatroom-directory-body { padding:13px; }
    .buzzen-chatroom-search-form .input-group { display:grid; grid-template-columns:44px minmax(0,1fr); }
    .buzzen-chatroom-search-form .input-group .btn { grid-column:1 / -1; width:100%; border-radius:var(--buzzen-radius-sm) !important; margin-top:8px; }
    .buzzen-chatroom-favorite-card { grid-template-columns:1fr; padding-left:16px; }
    .buzzen-chatroom-favorite-icon { width:38px; height:38px; }
    .buzzen-chatroom-favorite-actions { grid-column:auto; padding-left:0; }
}
