/*
 * Susret.app final product UI/UX layer.
 * Presentation only: UNA routes, forms, ACL, privacy, authentication,
 * public registration, CAPTCHA and SMTP semantics remain governed by the canonical UNA configuration.
 */

:root {
    --sus-p4-shell: 74rem;
    --sus-p4-reading: 58rem;
    --sus-p4-auth: 38rem;
    --sus-p4-card-shadow: 0 6px 20px rgba(30, 58, 77, .065);
    --sus-p4-card-shadow-hover: 0 12px 28px rgba(30, 58, 77, .105);
}

/* Shared canvas, container and type rhythm. */
body.bx-artificer {
    background: var(--sus-canvas) !important;
    color: var(--sus-text) !important;
}

body.bx-artificer #bx-content-wrapper,
body.bx-artificer #bx-content-container,
body.bx-artificer #bx-content-with-cover-wrapper {
    background: transparent !important;
}

body.bx-artificer #bx-content-main {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--sus-p4-shell) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: calc(100% - 2rem) !important;
}

body.bx-artificer #bx-content-main h1,
body.bx-artificer #bx-content-main h2,
body.bx-artificer #bx-content-main h3,
body.bx-artificer #bx-content-main .bx-db-title {
    color: var(--sus-text);
    text-wrap: balance;
}

body.bx-artificer #bx-content-main p,
body.bx-artificer #bx-content-main li {
    text-wrap: pretty;
}

body.bx-artificer :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid var(--sus-focus) !important;
    outline-offset: 3px;
}

body.bx-artificer .bx-form-element {
    margin-bottom: 1.1rem;
}

body.bx-artificer .bx-form-element .bx-form-element-label,
body.bx-artificer .bx-form-element > label,
body.bx-artificer form label {
    color: var(--sus-text);
    font-weight: 680;
}

body.bx-artificer .bx-form-element .bx-form-element-desc,
body.bx-artificer .bx-form-element .bx-form-element-info,
body.bx-artificer .bx-form-element .bx-form-element-help,
body.bx-artificer form small {
    color: var(--sus-text-muted);
    font-size: .875rem;
    line-height: 1.45;
}

body.bx-artificer input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
body.bx-artificer select {
    box-sizing: border-box;
    min-height: 3rem;
    padding-left: .8rem;
    padding-right: .8rem;
}

body.bx-artificer textarea {
    box-sizing: border-box;
    min-height: 7rem;
    padding: .8rem;
}

body.bx-artificer .bx-btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 2.85rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

body.bx-artificer .bx-form-element input[type="checkbox"],
body.bx-artificer .bx-form-element input[type="radio"] {
    min-height: 1.1rem;
    min-width: 1.1rem;
}

/* Header: compact, legible and consistent with the product shell. */
#bx-toolbar {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--sus-border) !important;
    box-shadow: var(--sus-shadow-sm) !important;
}

#bx-toolbar .bx-header-cnt {
    max-width: var(--sus-p4-shell);
}

#bx-logo,
#bx-logo-dark {
    max-height: 2.55rem;
    width: auto;
}

#sys-site > li > a {
    min-height: 2.75rem;
}

/* Covers remain useful on genuine landing/detail surfaces. */
.bx-cover-wrapper {
    background: var(--sus-brand-primary) !important;
}

.bx-cover-wrapper .text-gray-700,
.bx-cover-wrapper .text-gray-900,
.bx-cover-wrapper .text-gray-800,
.bx-cover-wrapper .dark\:text-white {
    color: rgba(255, 255, 255, .9) !important;
}

.bx-cover-wrapper h1,
.bx-cover-wrapper h2,
.bx-cover-wrapper h3 {
    color: #fff !important;
    letter-spacing: -.03em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}

.bx-cover-wrapper .bx-btn-primary,
.bx-cover-wrapper .bx-btn {
    border-color: rgba(255, 255, 255, .72) !important;
}

/* Guest home: explain the product first and make the invitation path clear. */
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper {
    min-height: 18rem !important;
    padding: clamp(2.75rem, 7vw, 4.5rem) clamp(1rem, 4vw, 2rem) !important;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper h1 {
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1.05;
    max-width: 48rem;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper p,
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-gray-700,
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-gray-900 {
    color: rgba(255, 255, 255, .86) !important;
    font-size: clamp(.98rem, 2vw, 1.08rem);
    line-height: 1.55;
    max-width: 44rem;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper [data-susret-p2-02-invite-cta="1"],
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper a[href="invites-request"] {
    background: #fff !important;
    border-color: #fff !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .14) !important;
    color: var(--sus-brand-primary) !important;
    font-weight: 720;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper a[href="login"] {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .78) !important;
    color: #fff !important;
}

body.bx-page-home.bx-user-unauthorized #bx-page-block-27 {
    display: none !important;
}

/* Discovery pages use a connected page header and tab system. */
body.bx-page-groups-home .bx-cover-wrapper,
body.bx-page-organizations-home .bx-cover-wrapper,
body.bx-page-events-home .bx-cover-wrapper,
body.bx-page-posts-home .bx-cover-wrapper,
body.bx-page-discussions-home .bx-cover-wrapper,
body.bx-page-groups-search .bx-cover-wrapper,
body.bx-page-organizations-search .bx-cover-wrapper,
body.bx-page-events-search .bx-cover-wrapper,
body.bx-page-posts-search .bx-cover-wrapper,
body.bx-page-discussions-search .bx-cover-wrapper,
body:has(#bx-page-groups-home) .bx-cover-wrapper,
body:has(#bx-page-organizations-home) .bx-cover-wrapper,
body:has(#bx-page-events-home) .bx-cover-wrapper,
body:has(#bx-page-posts-home) .bx-cover-wrapper,
body:has(#bx-page-discussions-home) .bx-cover-wrapper {
    display: none !important;
}

body.bx-page-groups-home #bx-content-main,
body.bx-page-organizations-home #bx-content-main,
body.bx-page-events-home #bx-content-main,
body.bx-page-posts-home #bx-content-main,
body.bx-page-discussions-home #bx-content-main,
body.bx-page-groups-search #bx-content-main,
body.bx-page-organizations-search #bx-content-main,
body.bx-page-events-search #bx-content-main,
body.bx-page-posts-search #bx-content-main,
body.bx-page-discussions-search #bx-content-main {
    padding-top: .35rem !important;
}

body.bx-artificer #bx-menu-main-submenu,
body.bx-artificer #bx-menu-main-submenu > ul {
    align-items: center;
    background: var(--sus-surface);
    border-bottom: 1px solid var(--sus-border);
    box-sizing: border-box;
    display: flex !important;
    gap: .2rem;
    margin: 0 auto;
    max-width: var(--sus-p4-shell);
    overflow-x: auto;
    padding: 0 .25rem;
    scrollbar-width: thin;
    width: calc(100% - 2rem);
}

body.bx-artificer #bx-menu-main-submenu li {
    flex: 0 0 auto;
    list-style: none;
    margin: 0 !important;
}

body.bx-artificer #bx-menu-main-submenu li > a {
    align-items: center;
    border-bottom: 2px solid transparent;
    color: var(--sus-text-muted) !important;
    display: inline-flex;
    font-size: .93rem;
    font-weight: 650;
    min-height: 2.9rem;
    padding: .55rem .7rem;
    white-space: nowrap;
}

body.bx-artificer #bx-menu-main-submenu li > a:hover {
    color: var(--sus-text) !important;
}

body.bx-artificer #bx-menu-main-submenu li.bx-menu-tab-active > a,
body.bx-artificer #bx-menu-main-submenu li.bx-menu-item-active > a,
body.bx-artificer #bx-menu-main-submenu li > a[aria-current="page"] {
    border-bottom-color: var(--sus-brand-accent);
    color: var(--sus-text) !important;
}

/* Discovery intro is a page header, not a second CMS card. */
#susret-p2-02-discovery-intro {
    align-items: flex-end;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--sus-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin: 1.25rem 0 1rem;
    padding: 0 0 1.25rem !important;
}

#susret-p2-02-discovery-intro > div {
    min-width: 0;
}

#susret-p2-02-discovery-intro .susret-p2-02-kicker {
    color: var(--sus-brand-accent) !important;
    font-size: .75rem;
    font-weight: 780;
    letter-spacing: .12em;
    margin: 0 0 .35rem;
    text-transform: uppercase;
}

#susret-p2-02-discovery-intro h1 {
    color: var(--sus-text) !important;
    font-size: clamp(1.85rem, 3.5vw, 2.65rem);
    letter-spacing: -.035em;
    line-height: 1.08;
    margin: 0 0 .45rem;
}

#susret-p2-02-discovery-intro > div > p:last-child {
    color: var(--sus-text-muted) !important;
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
    max-width: 42rem;
}

#susret-p2-02-discovery-intro > a {
    background: var(--sus-brand-primary) !important;
    border-color: var(--sus-brand-primary) !important;
    color: #fff !important;
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Keep a populated discovery result as one useful surface. */
#bx-page-groups-home .bx-page-block-container,
#bx-page-organizations-home .bx-page-block-container,
#bx-page-events-home .bx-page-block-container,
#bx-page-posts-home .bx-page-block-container,
#bx-page-discussions-home .bx-page-block-container {
    margin-bottom: 1rem;
}

#bx-page-groups-home .bx-db-container,
#bx-page-organizations-home .bx-db-container,
#bx-page-events-home .bx-db-container,
#bx-page-posts-home .bx-db-container,
#bx-page-discussions-home .bx-db-container {
    background: var(--sus-surface) !important;
    border: 1px solid var(--sus-border) !important;
    border-radius: var(--sus-radius-lg) !important;
    box-shadow: var(--sus-p4-card-shadow) !important;
}

#bx-page-groups-home .bx-db-title,
#bx-page-organizations-home .bx-db-title,
#bx-page-events-home .bx-db-title,
#bx-page-posts-home .bx-db-title,
#bx-page-discussions-home .bx-db-title {
    font-size: 1.1rem;
    letter-spacing: -.01em;
}

#bx-content-main [data-susret-empty-shell="1"] {
    display: none !important;
}

#susret-p2-02-empty-guidance {
    align-items: center;
    background: var(--sus-surface) !important;
    border: 1px solid var(--sus-border) !important;
    border-radius: var(--sus-radius-lg) !important;
    box-shadow: none !important;
    display: grid;
    gap: .55rem;
    justify-items: center;
    margin: 1.25rem 0 2rem;
    padding: clamp(1.75rem, 5vw, 3rem) clamp(1rem, 5vw, 2rem) !important;
    text-align: center;
}

#susret-p2-02-empty-guidance[hidden] {
    display: none !important;
}

#susret-p2-02-empty-guidance h2 {
    color: var(--sus-text) !important;
    font-size: clamp(1.25rem, 2.5vw, 1.55rem);
    letter-spacing: -.02em;
    margin: 0;
}

#susret-p2-02-empty-guidance p {
    color: var(--sus-text-muted) !important;
    line-height: 1.55;
    margin: 0 auto .35rem;
    max-width: 38rem;
}

#susret-p2-02-empty-guidance a {
    align-items: center;
    background: var(--sus-brand-primary);
    border: 1px solid var(--sus-brand-primary);
    border-radius: var(--sus-radius-sm);
    color: #fff !important;
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-height: 2.85rem;
    padding: .65rem 1rem;
}

/* Search forms keep the same shell and readable controls. */
body.bx-page-groups-search #bx-content-main .bx-db-container,
body.bx-page-organizations-search #bx-content-main .bx-db-container,
body.bx-page-events-search #bx-content-main .bx-db-container,
body.bx-page-posts-search #bx-content-main .bx-db-container,
body.bx-page-discussions-search #bx-content-main .bx-db-container {
    background: var(--sus-surface) !important;
    border: 1px solid var(--sus-border) !important;
    border-radius: var(--sus-radius-lg) !important;
    box-shadow: var(--sus-p4-card-shadow) !important;
}

body.bx-page-groups-search #bx-content-main,
body.bx-page-organizations-search #bx-content-main,
body.bx-page-events-search #bx-content-main,
body.bx-page-posts-search #bx-content-main,
body.bx-page-discussions-search #bx-content-main {
    max-width: 54rem !important;
}

/* Authentication and invite request: full-width forms inside a quiet card. */
body[data-susret-p4-04-auth] .bx-cover-wrapper,
body.bx-page-invites-request .bx-cover-wrapper,
body:has(#bx-page-invites-request) .bx-cover-wrapper {
    display: none !important;
}

body[data-susret-p4-04-auth] #bx-content-main,
body.bx-page-invites-request #bx-content-main,
body:has(#bx-page-invites-request) #bx-content-main {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: clamp(2rem, 6vw, 4rem) !important;
    padding-top: clamp(1.25rem, 4vw, 2.5rem) !important;
    width: calc(100% - 2rem) !important;
}

body[data-susret-p4-04-auth] #bx-content-main {
    max-width: var(--sus-p4-auth) !important;
}

body[data-susret-p4-04-auth="create-account"] #bx-content-main {
    max-width: 46rem !important;
}

body.bx-page-invites-request #bx-content-main,
body:has(#bx-page-invites-request) #bx-content-main {
    max-width: 48rem !important;
}

body[data-susret-p4-04-auth] #bx-content-main > .bx-layout,
body[data-susret-p4-04-auth] #bx-content-main > .bx-page-block-container,
body[data-susret-p4-04-auth] #bx-content-main .bx-layout-col,
body[data-susret-p4-04-auth] #bx-content-main .bx-page-block-container,
body[data-susret-p4-04-auth] #bx-content-main [class~="md:w-1/3"],
body[data-susret-p4-04-auth] #bx-content-main [class~="md:w-1/2"],
body.bx-page-invites-request #bx-content-main > .bx-page-block-container,
body.bx-page-invites-request #bx-content-main [class~="md:w-1/3"],
body.bx-page-invites-request #bx-content-main [class~="md:w-1/2"],
body:has(#bx-page-invites-request) #bx-content-main > .bx-page-block-container,
body:has(#bx-page-invites-request) #bx-content-main [class~="md:w-1/3"],
body:has(#bx-page-invites-request) #bx-content-main [class~="md:w-1/2"] {
    box-sizing: border-box;
    flex: 1 1 100% !important;
    max-width: none !important;
    width: 100% !important;
}

body[data-susret-p4-04-auth] #bx-content-main .bx-db-container,
body[data-susret-p4-04-auth] #bx-content-main .bx-def-box,
body.bx-page-invites-request #bx-content-main .bx-db-container,
body:has(#bx-page-invites-request) #bx-content-main .bx-db-container {
    background: var(--sus-surface) !important;
    border: 1px solid var(--sus-border) !important;
    border-radius: var(--sus-radius-lg) !important;
    box-shadow: var(--sus-p4-card-shadow) !important;
    box-sizing: border-box;
    width: 100% !important;
}

body[data-susret-p4-04-auth] #bx-content-main .bx-db-head,
body[data-susret-p4-04-auth] #bx-content-main .bx-db-content,
body.bx-page-invites-request #bx-content-main .bx-db-head,
body.bx-page-invites-request #bx-content-main .bx-db-content,
body:has(#bx-page-invites-request) #bx-content-main .bx-db-head,
body:has(#bx-page-invites-request) #bx-content-main .bx-db-content {
    box-sizing: border-box;
    padding: clamp(1rem, 4vw, 1.75rem) !important;
}

body[data-susret-p4-04-auth] #bx-content-main .bx-db-head {
    border-bottom: 1px solid var(--sus-border);
}

body[data-susret-p4-04-auth] #bx-content-main .bx-db-title,
body[data-susret-p4-04-auth] #bx-content-main h1,
body.bx-page-invites-request #bx-content-main .bx-db-title,
body:has(#bx-page-invites-request) #bx-content-main .bx-db-title {
    color: var(--sus-text) !important;
    font-size: clamp(1.45rem, 4vw, 2rem);
    line-height: 1.15;
    margin-bottom: .45rem;
}

body[data-susret-p4-04-auth] #bx-content-main form,
body[data-susret-p4-04-auth] #bx-content-main .sys-lf,
body[data-susret-p4-04-auth] #bx-content-main #sys-form-login,
body[data-susret-p4-04-auth] #bx-content-main #sys-form-forgot-password,
body.bx-page-invites-request #bx-content-main form,
body:has(#bx-page-invites-request) #bx-content-main form {
    box-sizing: border-box;
    max-width: none !important;
    width: 100% !important;
}

body[data-susret-p4-04-auth] #bx-content-main input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
body[data-susret-p4-04-auth] #bx-content-main select,
body[data-susret-p4-04-auth] #bx-content-main textarea,
body.bx-page-invites-request #bx-content-main input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
body.bx-page-invites-request #bx-content-main select,
body.bx-page-invites-request #bx-content-main textarea,
body:has(#bx-page-invites-request) #bx-content-main input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
body:has(#bx-page-invites-request) #bx-content-main select,
body:has(#bx-page-invites-request) #bx-content-main textarea {
    box-sizing: border-box;
    max-width: none !important;
    width: 100% !important;
}

body[data-susret-p4-04-auth="login"] #bx-content-main .bx-form-element:has(input[type="checkbox"]) label {
    align-items: flex-start;
    display: inline-flex;
    gap: .55rem;
    line-height: 1.4;
    white-space: normal;
}

body[data-susret-p4-04-auth] #bx-content-main .bx-btn-primary,
body[data-susret-p4-04-auth] #bx-content-main button[type="submit"],
body[data-susret-p4-04-auth] #bx-content-main input[type="submit"],
body.bx-page-invites-request #bx-content-main button[type="submit"],
body.bx-page-invites-request #bx-content-main input[type="submit"] {
    min-width: 9rem;
}

/* Static information pages read like pages, not banner-plus-card duplicates. */
body.bx-page-about .bx-cover-wrapper,
body.bx-page-terms .bx-cover-wrapper,
body.bx-page-privacy .bx-cover-wrapper,
body:has(#bx-page-about) .bx-cover-wrapper,
body:has(#bx-page-terms) .bx-cover-wrapper,
body:has(#bx-page-privacy) .bx-cover-wrapper {
    display: none !important;
}

body.bx-page-about #bx-content-main,
body.bx-page-terms #bx-content-main,
body.bx-page-privacy #bx-content-main,
body:has(#bx-page-about) #bx-content-main,
body:has(#bx-page-terms) #bx-content-main,
body:has(#bx-page-privacy) #bx-content-main {
    max-width: var(--sus-p4-reading) !important;
    padding-top: clamp(1.5rem, 5vw, 3rem) !important;
}

body.bx-page-about #bx-content-main .bx-db-container,
body.bx-page-terms #bx-content-main .bx-db-container,
body.bx-page-privacy #bx-content-main .bx-db-container,
body:has(#bx-page-about) #bx-content-main .bx-db-container,
body:has(#bx-page-terms) #bx-content-main .bx-db-container,
body:has(#bx-page-privacy) #bx-content-main .bx-db-container {
    background: var(--sus-surface) !important;
    border: 1px solid var(--sus-border) !important;
    border-radius: var(--sus-radius-lg) !important;
    box-shadow: var(--sus-p4-card-shadow) !important;
}

body.bx-page-about #bx-content-main .bx-db-content,
body.bx-page-terms #bx-content-main .bx-db-content,
body.bx-page-privacy #bx-content-main .bx-db-content,
body:has(#bx-page-about) #bx-content-main .bx-db-content,
body:has(#bx-page-terms) #bx-content-main .bx-db-content,
body:has(#bx-page-privacy) #bx-content-main .bx-db-content {
    padding: clamp(1rem, 4vw, 2rem) !important;
}

/* General content units: quiet boundaries and clear hover affordance. */
body.bx-artificer .bx-def-box,
body.bx-artificer .bx-grid-unit,
body.bx-artificer .bx-base-profile-unit,
body.bx-artificer .bx-base-general-unit {
    border-color: var(--sus-border) !important;
}

body.bx-artificer .bx-grid-unit,
body.bx-artificer .bx-base-profile-unit,
body.bx-artificer .bx-base-general-unit {
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

@media (hover: hover) {
    body.bx-artificer .bx-grid-unit:hover,
    body.bx-artificer .bx-base-profile-unit:hover,
    body.bx-artificer .bx-base-general-unit:hover {
        border-color: color-mix(in srgb, var(--sus-brand-primary) 25%, var(--sus-border)) !important;
        box-shadow: var(--sus-p4-card-shadow-hover);
        transform: translateY(-1px);
    }
}

/* Timeline stays social and readable without extra decorative chrome. */
body[data-susret-p3-04-surface="home-feed"] .bx-tl-item,
body[data-susret-p3-04-surface="timeline"] .bx-tl-item {
    box-shadow: var(--sus-p4-card-shadow);
}

body[data-susret-p3-04-surface="home-feed"] .bx-tl-item + .bx-tl-item,
body[data-susret-p3-04-surface="timeline"] .bx-tl-item + .bx-tl-item {
    margin-top: .25rem;
}

body[data-susret-p3-04-surface] .bx-tl-item-owner-name,
body[data-susret-p3-04-surface] .bx-tl-item-owner-name a {
    color: var(--sus-text) !important;
    font-weight: 720;
}

body[data-susret-p3-04-surface] .bx-tl-item-content {
    font-size: 1.01rem;
}

/* Status messages keep meaning and severity; only presentation is softened. */
body.bx-artificer .bx-msg-box-container,
body.bx-artificer .bx-msg-box {
    border-radius: var(--sus-radius-md);
    line-height: 1.5;
}

body.bx-artificer .bx-msg-box {
    padding: .9rem 1rem;
}

body.bx-artificer .bx-msg-box-error {
    background: color-mix(in srgb, var(--sus-danger) 7%, var(--sus-surface)) !important;
}

body.bx-artificer .bx-msg-box-success {
    background: color-mix(in srgb, var(--sus-success) 7%, var(--sus-surface)) !important;
}

/* Footer remains compact, centered and limited to canonical legal links. */
#bx-footer {
    border-top: 1px solid color-mix(in srgb, var(--sus-border) 82%, transparent);
    margin-top: clamp(2rem, 5vw, 4rem);
    padding-top: 1.25rem;
}

#bx-footer .bx-footer-cnt {
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

#bx-footer #bx-menu-footer {
    align-items: center;
    column-gap: .85rem;
    justify-content: center;
    margin-left: 0;
    margin-right: 0;
    row-gap: .1rem;
}

#bx-footer #bx-menu-footer > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#bx-footer #bx-menu-footer > li > a {
    align-items: center;
    display: inline-flex;
    min-height: 2.75rem;
    padding: .5rem .2rem;
}

/* Mobile layout: stack page headers and let tabs scroll instead of wrap. */
@media (max-width: 700px) {
    body.bx-artificer #bx-content-main {
        width: calc(100% - 1rem) !important;
    }

    body.bx-artificer #bx-menu-main-submenu,
    body.bx-artificer #bx-menu-main-submenu > ul {
        gap: 0;
        width: calc(100% - 1rem);
    }

    body.bx-artificer #bx-menu-main-submenu li > a {
        min-height: 2.75rem;
        padding-left: .6rem;
        padding-right: .6rem;
    }

    #susret-p2-02-discovery-intro {
        align-items: stretch;
        flex-direction: column;
        gap: .9rem;
        margin-top: 1rem;
        padding-bottom: 1rem !important;
    }

    #susret-p2-02-discovery-intro h1 {
        font-size: clamp(1.75rem, 8vw, 2.25rem);
    }

    #susret-p2-02-discovery-intro > a {
        align-self: flex-start;
        max-width: 100%;
        width: auto;
    }

    #susret-p2-02-empty-guidance {
        margin-top: 1rem;
    }

    body[data-susret-p4-04-auth] #bx-content-main,
    body.bx-page-invites-request #bx-content-main,
    body:has(#bx-page-invites-request) #bx-content-main {
        width: calc(100% - 1rem) !important;
    }

    body[data-susret-p4-04-auth] #bx-content-main .bx-db-head,
    body[data-susret-p4-04-auth] #bx-content-main .bx-db-content,
    body.bx-page-invites-request #bx-content-main .bx-db-head,
    body.bx-page-invites-request #bx-content-main .bx-db-content,
    body:has(#bx-page-invites-request) #bx-content-main .bx-db-head,
    body:has(#bx-page-invites-request) #bx-content-main .bx-db-content {
        padding: 1rem !important;
    }

    body[data-susret-p4-04-auth] #bx-content-main .bx-btn-primary,
    body[data-susret-p4-04-auth] #bx-content-main button[type="submit"],
    body[data-susret-p4-04-auth] #bx-content-main input[type="submit"],
    body.bx-page-invites-request #bx-content-main button[type="submit"],
    body.bx-page-invites-request #bx-content-main input[type="submit"] {
        max-width: 100%;
        width: 100%;
    }

    body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper {
        min-height: 20rem !important;
        padding: 2.5rem 1rem !important;
    }

    body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper h1 {
        font-size: clamp(1.9rem, 9vw, 2.55rem);
    }

    #bx-footer {
        margin-top: 2rem;
    }

    #bx-footer #bx-menu-footer {
        column-gap: .7rem;
        row-gap: .15rem;
    }
}

@media (max-width: 390px) {
    body[data-susret-p4-04-auth] #bx-content-main .bx-db-container,
    body.bx-page-invites-request #bx-content-main .bx-db-container,
    body:has(#bx-page-invites-request) #bx-content-main .bx-db-container {
        border-radius: var(--sus-radius-md) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.bx-artificer .bx-grid-unit,
    body.bx-artificer .bx-base-profile-unit,
    body.bx-artificer .bx-base-general-unit {
        transform: none !important;
        transition: none !important;
    }
}


/* Live audit rectification: consistent internal routes and guest hero. */
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper > .relative.mx-auto:not(.bx-cover-gradient) {
    box-sizing: border-box;
    min-height: 0 !important;
    padding: clamp(3rem, 7vw, 4.5rem) clamp(1rem, 4vw, 2rem) !important;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-4xl,
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-5xl,
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-6xl {
    color: #fff !important;
    line-height: 1.08;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 60rem;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-4xl span,
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-5xl span,
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .text-6xl span {
    color: #fff !important;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper > .relative.mx-auto:not(.bx-cover-gradient) > div > p:not(.susret-p2-02-guest-note) {
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 1rem !important;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper .susret-p2-02-guest-note {
    margin: 0 auto 1rem !important;
    padding: 0 !important;
}

body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper a[href="login"],
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper a[href="/login"],
body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper button[onclick*="login"] {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .78) !important;
    color: #fff !important;
}

body.bx-page-home.bx-user-unauthorized #bx-page-home #bx-page-block-27,
body.bx-page-home.bx-user-unauthorized #bx-page-block-27,
body.bx-page-home.bx-user-unauthorized #bx-homepage-menu-sys_homepage {
    display: none !important;
}

/* Internal list/calendar pages use the same shell as discovery pages. */
body.bx-page-posts-popular .bx-cover-wrapper,
body.bx-page-posts-top .bx-cover-wrapper,
body.bx-page-groups-top .bx-cover-wrapper,
body.bx-page-organizations-active .bx-cover-wrapper,
body.bx-page-organizations-online .bx-cover-wrapper,
body.bx-page-events-top .bx-cover-wrapper,
body.bx-page-events-upcoming .bx-cover-wrapper,
body.bx-page-events-past .bx-cover-wrapper,
body.bx-page-events-calendar .bx-cover-wrapper,
body.bx-page-groups-joined .bx-cover-wrapper,
body.bx-page-groups-followed .bx-cover-wrapper,
body.bx-page-events-joined .bx-cover-wrapper,
body.bx-page-events-followed .bx-cover-wrapper,
body.bx-page-files-home .bx-cover-wrapper,
body.bx-page-persons-home .bx-cover-wrapper,
body.bx-page-spaces-home .bx-cover-wrapper,
body.bx-page-photos-home .bx-cover-wrapper,
body:has(#bx-page-posts-popular) .bx-cover-wrapper,
body:has(#bx-page-posts-top) .bx-cover-wrapper,
body:has(#bx-page-groups-top) .bx-cover-wrapper,
body:has(#bx-page-organizations-active) .bx-cover-wrapper,
body:has(#bx-page-organizations-online) .bx-cover-wrapper,
body:has(#bx-page-events-top) .bx-cover-wrapper,
body:has(#bx-page-events-upcoming) .bx-cover-wrapper,
body:has(#bx-page-events-past) .bx-cover-wrapper,
body:has(#bx-page-events-calendar) .bx-cover-wrapper,
body:has(#bx-page-groups-joined) .bx-cover-wrapper,
body:has(#bx-page-groups-followed) .bx-cover-wrapper,
body:has(#bx-page-events-joined) .bx-cover-wrapper,
body:has(#bx-page-events-followed) .bx-cover-wrapper,
body:has(#bx-page-files-home) .bx-cover-wrapper,
body:has(#bx-page-persons-home) .bx-cover-wrapper,
body:has(#bx-page-spaces-home) .bx-cover-wrapper,
body:has(#bx-page-photos-home) .bx-cover-wrapper {
    display: none !important;
}

body.bx-page-posts-popular #bx-content-main,
body.bx-page-posts-top #bx-content-main,
body.bx-page-groups-top #bx-content-main,
body.bx-page-organizations-active #bx-content-main,
body.bx-page-organizations-online #bx-content-main,
body.bx-page-events-top #bx-content-main,
body.bx-page-events-upcoming #bx-content-main,
body.bx-page-events-past #bx-content-main,
body.bx-page-events-calendar #bx-content-main,
body.bx-page-groups-joined #bx-content-main,
body.bx-page-groups-followed #bx-content-main,
body.bx-page-events-joined #bx-content-main,
body.bx-page-events-followed #bx-content-main,
body.bx-page-files-home #bx-content-main,
body.bx-page-persons-home #bx-content-main,
body.bx-page-spaces-home #bx-content-main,
body.bx-page-photos-home #bx-content-main {
    padding-top: .35rem !important;
}

/* One calm, reusable empty/access surface replaces raw UNA placeholders. */
#susret-p2-02-secondary-surface {
    align-items: flex-end;
    background: transparent !important;
    border-bottom: 1px solid var(--sus-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin: 1.25rem 0 1rem;
    padding: 0 0 1.25rem !important;
}

#susret-p2-02-secondary-surface > div {
    min-width: 0;
}

#susret-p2-02-secondary-surface .susret-p2-02-kicker {
    color: var(--sus-brand-accent) !important;
    font-size: .75rem;
    font-weight: 780;
    letter-spacing: .12em;
    margin: 0 0 .35rem;
    text-transform: uppercase;
}

#susret-p2-02-secondary-surface h1 {
    color: var(--sus-text) !important;
    font-size: clamp(1.85rem, 3.5vw, 2.65rem);
    letter-spacing: -.035em;
    line-height: 1.08;
    margin: 0 0 .45rem;
}

#susret-p2-02-secondary-surface > div > p:last-child {
    color: var(--sus-text-muted) !important;
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
    max-width: 42rem;
}

#susret-p2-02-secondary-surface > a {
    background: var(--sus-brand-primary) !important;
    border-color: var(--sus-brand-primary) !important;
    color: #fff !important;
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Search category controls are compact on desktop and single-column on phones. */
body[class*="-search"] #bx-content-main .bx-form-input-checkbox_set {
    align-items: center;
    column-gap: .9rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
    row-gap: .35rem;
    width: 100%;
}

body[class*="-search"] #bx-content-main .bx-form-input-checkbox_set > .bx-form-input-dv-nl {
    display: none !important;
}

body[class*="-search"] #bx-content-main .bx-form-input-checkbox_set > .bx-form-input-wrapper-checkbox {
    margin: 0 !important;
}

body[class*="-search"] #bx-content-main .bx-form-input-checkbox_set > label {
    margin: 0 !important;
    min-width: 0;
}

/* Calendar stays readable when the month grid is wider than a narrow screen. */
body.bx-page-events-calendar #bx-page-events-calendar {
    background: var(--sus-surface) !important;
    border: 1px solid var(--sus-border) !important;
    border-radius: var(--sus-radius-lg) !important;
    box-shadow: var(--sus-p4-card-shadow) !important;
    box-sizing: border-box;
    padding: 1rem !important;
}

body.bx-page-events-calendar #bx-page-events-calendar .fc {
    max-width: 100%;
    overflow-x: auto;
}

body.bx-page-events-calendar #bx-page-events-calendar .fc-toolbar {
    flex-wrap: wrap;
    gap: .75rem;
}

body.bx-page-events-calendar #bx-page-events-calendar .fc-toolbar-title {
    color: var(--sus-text);
    font-size: clamp(1.15rem, 2vw, 1.55rem);
}

/* Keep the late-loaded generic surface aligned with the mobile shell. */
@media (max-width: 700px) {
    body.bx-page-home.bx-user-unauthorized .bx-cover-wrapper > .relative.mx-auto:not(.bx-cover-gradient) {
        padding: 2.75rem 1rem !important;
    }

    #susret-p2-02-secondary-surface {
        align-items: stretch;
        flex-direction: column;
        gap: .9rem;
        margin-top: 1rem;
        padding-bottom: 1rem !important;
    }

    #susret-p2-02-secondary-surface > a {
        align-self: flex-start;
        max-width: 100%;
    }

    body[class*="-search"] #bx-content-main .bx-form-input-checkbox_set {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.bx-page-events-calendar #bx-page-events-calendar {
        padding: .75rem !important;
    }
}


/* Catholic network entry and profile onboarding. */
body.bx-page-home.bx-user-unauthorized [data-susret-p2-02-register-cta="1"],
body.bx-page-home.bx-user-unauthorized [data-susret-p4-04-register-cta="1"],
body.bx-page-home.bx-user-unauthorized a[href="create-account"] {
    background: var(--sus-brand-primary) !important;
    border-color: var(--sus-brand-primary) !important;
    color: var(--sus-surface) !important;
    font-weight: 760;
}

body.bx-page-home.bx-user-unauthorized [data-susret-p2-02-register-cta="1"]:hover,
body.bx-page-home.bx-user-unauthorized [data-susret-p4-04-register-cta="1"]:hover,
body.bx-page-home.bx-user-unauthorized a[href="create-account"]:hover {
    background: var(--sus-brand-primary-hover) !important;
    color: var(--sus-surface) !important;
}

#susret-p2-02-registration-intro {
    box-sizing: border-box;
    margin: 0 auto 1.25rem;
    max-width: var(--sus-p4-auth);
    padding: 1.25rem 1.35rem;
    background: var(--sus-surface);
    border: 1px solid var(--sus-border);
    border-radius: var(--sus-radius-lg);
    box-shadow: var(--sus-p4-card-shadow);
}

#susret-p2-02-registration-intro h2 {
    margin: 0 0 .45rem;
    color: var(--sus-text);
    font-size: clamp(1.25rem, 2.3vw, 1.65rem);
    line-height: 1.2;
}

#susret-p2-02-registration-intro p {
    margin: 0;
    color: var(--sus-text-muted);
    line-height: 1.55;
}

body[data-susret-p4-04-profile="1"] #susret-profile-guide {
    box-sizing: border-box;
    margin: 0 0 1.35rem;
    padding: clamp(1.1rem, 2.2vw, 1.55rem);
    background: var(--sus-surface);
    border: 1px solid var(--sus-border);
    border-left: .3rem solid var(--sus-brand-accent);
    border-radius: var(--sus-radius-lg);
    box-shadow: var(--sus-p4-card-shadow);
}

body[data-susret-p4-04-profile="1"] #susret-profile-guide h2 {
    margin: 0 0 .45rem;
    color: var(--sus-text);
    font-size: clamp(1.25rem, 2.5vw, 1.7rem);
    line-height: 1.2;
}

body[data-susret-p4-04-profile="1"] #susret-profile-guide > p {
    margin: 0;
    color: var(--sus-text-muted);
    line-height: 1.55;
}

body[data-susret-p4-04-profile="1"] .susret-profile-guide-prompts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 1.1rem 0;
    padding: 0;
    list-style: none;
}

body[data-susret-p4-04-profile="1"] .susret-profile-guide-prompts li {
    display: flex;
    min-height: 6.2rem;
    box-sizing: border-box;
    flex-direction: column;
    gap: .3rem;
    padding: .85rem;
    background: var(--sus-surface-elevated);
    border: 1px solid var(--sus-border);
    border-radius: var(--sus-radius-md);
}

body[data-susret-p4-04-profile="1"] .susret-profile-guide-prompts strong {
    color: var(--sus-text);
    font-size: .95rem;
}

body[data-susret-p4-04-profile="1"] .susret-profile-guide-prompts span {
    color: var(--sus-text-muted);
    font-size: .88rem;
    line-height: 1.45;
}

body[data-susret-p4-04-profile="1"] .susret-profile-guide-privacy {
    margin-top: .85rem !important;
    padding-top: .85rem;
    border-top: 1px solid var(--sus-border);
    color: var(--sus-text) !important;
    font-size: .9rem;
}

body[data-susret-p4-04-profile="1"] .susret-profile-optional-field {
    padding: .8rem .9rem;
    background: color-mix(in srgb, var(--sus-surface) 82%, var(--sus-brand-accent));
    border: 1px solid var(--sus-border);
    border-radius: var(--sus-radius-md);
}

body[data-susret-p4-04-profile="1"] .susret-profile-field-info,
body[data-susret-p4-04-profile="1"] .susret-profile-location-note {
    margin-top: .35rem;
    color: var(--sus-text-muted);
    font-size: .86rem;
    line-height: 1.45;
}

body[data-susret-p4-04-profile="1"] .susret-profile-location-note {
    margin-bottom: .8rem;
    padding: .7rem .85rem;
    background: var(--sus-surface-elevated);
    border: 1px solid var(--sus-border);
    border-radius: var(--sus-radius-sm);
}

body[data-susret-p4-04-profile="1"] .bx-form-input-location-street,
body[data-susret-p4-04-profile="1"] .bx-form-input-location-street_number,
body[data-susret-p4-04-profile="1"] .bx-form-input-location-zip,
body[data-susret-p4-04-profile="1"] [data-susret-location-hidden="1"] {
    display: none !important;
}

@media (max-width: 700px) {
    body[data-susret-p4-04-profile="1"] .susret-profile-guide-prompts {
        grid-template-columns: 1fr;
    }

    body[data-susret-p4-04-profile="1"] #susret-profile-guide {
        border-left-width: .22rem;
        padding: 1rem;
    }

    #susret-p2-02-registration-intro {
        margin-left: .25rem;
        margin-right: .25rem;
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body[data-susret-p4-04-profile="1"] *,
    #susret-p2-02-registration-intro * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* Unified internal page shell: the public home is the only intentional hero surface. */
body.bx-artificer:not(.bx-page-home) .bx-cover-wrapper {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
}

body.bx-artificer:not(.bx-page-home) #bx-content-with-cover-wrapper,
body.bx-artificer:not(.bx-page-home) #bx-content-wrapper,
body.bx-artificer:not(.bx-page-home) #bx-content-container {
    background: transparent !important;
}

body.bx-artificer:not(.bx-page-home) #bx-content-main {
    padding-top: .35rem !important;
    padding-bottom: clamp(1.5rem, 4vw, 3rem) !important;
}

body.bx-artificer:not(.bx-page-home) #bx-content-main > .bx-page-block-container {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: .75rem 0 1rem !important;
    min-height: 0 !important;
    padding: 0 !important;
}

body.bx-artificer:not(.bx-page-home) #bx-content-main .bx-db-container {
    background: var(--sus-surface) !important;
    border: 1px solid var(--sus-border) !important;
    border-radius: var(--sus-radius-lg) !important;
    box-shadow: var(--sus-p4-card-shadow) !important;
}

body.bx-artificer:not(.bx-page-home) #bx-content-main .bx-db-head {
    box-sizing: border-box;
    padding: clamp(.9rem, 2.5vw, 1.25rem) clamp(1rem, 2.5vw, 1.5rem) !important;
}

body.bx-artificer:not(.bx-page-home) #bx-content-main .bx-db-content {
    box-sizing: border-box;
    padding: clamp(1rem, 2.5vw, 1.5rem) !important;
}

body.bx-artificer:not(.bx-page-home) #bx-content-main .bx-db-title {
    color: var(--sus-text) !important;
    line-height: 1.2;
}

@media (max-width: 700px) {
    body.bx-artificer:not(.bx-page-home) #bx-content-main {
        padding-bottom: 1.5rem !important;
    }

    body.bx-artificer:not(.bx-page-home) #bx-content-main .bx-db-head,
    body.bx-artificer:not(.bx-page-home) #bx-content-main .bx-db-content {
        padding: 1rem !important;
    }
}


/* Keep flatpickr calendar controls compact after the shared form-control rhythm is applied. */
body.bx-artificer .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
body.bx-artificer .flatpickr-calendar .flatpickr-current-month .numInput.cur-year {
    box-sizing: border-box;
    font-family: inherit;
    font-size: inherit;
    font-weight: 300;
    height: auto !important;
    line-height: inherit;
    min-height: 0 !important;
}

body.bx-artificer .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: menulist;
    background: transparent;
    border: 0 !important;
    border-radius: 0;
    margin: -1px 0 0 !important;
    padding: 0 0 0 .5ch !important;
    width: auto !important;
}

body.bx-artificer .flatpickr-calendar .flatpickr-current-month .numInputWrapper {
    height: auto;
    width: 6ch;
}

body.bx-artificer .flatpickr-calendar .flatpickr-current-month .numInput.cur-year {
    background: transparent;
    border: 0 !important;
    border-radius: 0;
    margin: 0 !important;
    padding: 0 0 0 .5ch !important;
    width: 6ch !important;
}


/* Profile completion is contextual onboarding, not a security alert. */
body.bx-artificer #sys-account-profile-system {
    align-items: center;
    background: color-mix(in srgb, var(--sus-surface) 94%, var(--sus-brand-accent)) !important;
    border: 1px solid color-mix(in srgb, var(--sus-brand-accent) 42%, var(--sus-border)) !important;
    border-radius: var(--sus-radius-md) !important;
    box-shadow: none !important;
    color: var(--sus-text) !important;
    gap: .75rem;
    margin-top: .75rem !important;
    padding: .7rem 1rem !important;
}

body.bx-artificer #sys-account-profile-system > div:first-child {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    height: 1.1rem;
    justify-content: center;
    width: 1.1rem;
}

body.bx-artificer #sys-account-profile-system .bx-informer-icon {
    display: none !important;
}

body.bx-artificer #sys-account-profile-system .bx-informer-icon-info {
    color: var(--sus-brand-accent) !important;
    display: block !important;
    flex: 0 0 auto;
    height: 1.1rem;
    width: 1.1rem;
}

body.bx-artificer #sys-account-profile-system > div:last-child {
    color: var(--sus-text-muted) !important;
    font-size: .9rem;
    line-height: 1.45;
    margin-left: 0 !important;
}

body.bx-artificer #sys-account-profile-system a {
    color: var(--sus-text) !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .16em;
}
