/* Target all cards that should have aligned footers */
wa-card.with-footer {
    height: 100%;
    display: flex;
    flex-direction: column;
    --spacing: var(--wa-space-s);
}

/* Force the body part to fill the void, pushing the footer down */
wa-card.with-footer::part(body) {
    flex-grow: 1;
}

.card-270 {
    width: 270px;
}

.card-300 {
    width: 300px;
}

.subheader-icon {
    font-size: 1.2em;
}
wa-page[view="desktop"] .subheader-menu-toggle {
    display: none;
}
/*wa-page {*/
/*    margin-top: var(--wa-space-m);*/
/*}*/
wa-page::part(main) {
    padding-inline: var(--wa-space-l);
}
footer {
    margin-top: var(--wa-space-l);
}
.alerts-bell-btn {
    color: inherit;
    text-decoration: none;
    font-size: 1.2em;
    padding: 0;
    position: relative;
    display: inline-flex;
    align-items: center;
}
#alerts-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: var(--wa-color-danger-fill-loud);
    color: #fff;
    font-size: 0.6em;
    font-weight: 700;
    border-radius: 999px;
    padding: 1px 5px;
    line-height: 1.4;
    pointer-events: none;
}
#alerts-panel {
    width: 380px;
    max-height: 420px;
    overflow-y: auto;
    overflow-x: hidden;
}
/* Collapsible nav sub-sections */
.nav-subnav-row { display: flex; align-items: center; }
.nav-subnav-row > a { flex: 1; }
.nav-subnav-chevron { font-size: 0.75em; opacity: 0.8; transition: transform 0.2s; display: inline-block; cursor: pointer; padding-inline: var(--wa-space-s); }
.nav-subnav-chevron.open { transform: rotate(90deg); }
.nav-subnav-links { display: none; flex-direction: column; margin-top: calc(var(--wa-space-m) * -0.5); }
.nav-subnav-links.open { display: flex; }
.nav-subnav-links a { padding-inline-start: var(--wa-space-l) !important; }
a.nav-subnav-active { color: var(--wa-color-brand) !important; font-weight: 600; }

nav a[aria-current="page"] { font-weight: 600; }
/*nav a {text-decoration: none;}*/
/*nav a:hover {text-decoration: var(--wa-link-decoration-hover);}*/
nav a .nav-label {
    /*text-decoration: var(--wa-link-decoration-default);*/
    padding-left: var(--wa-space-xs);
}

/* Utility classes */
.row-center   { display: flex; align-items: center; gap: var(--wa-space-s); }
.row-center-m { display: flex; align-items: center; gap: var(--wa-space-m); }
.text-muted   { color: var(--wa-color-neutral-on-quiet); }
.text-sm      { font-size: 0.9em; }
.text-xs      { font-size: 0.8em; }
.cursor-pointer { cursor: pointer; }
.link-card    { text-decoration: none; display: contents; }
.action-btns  { display: flex; gap: var(--wa-space-xs); }
.section-title { font-size: 1.1em; font-weight: 600; margin: var(--wa-space-m) 0 var(--wa-space-s); display: flex; align-items: center; gap: var(--wa-space-s); }
.section-label { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--wa-color-neutral-on-quiet); margin: var(--wa-space-m) 0 var(--wa-space-s); display: flex; align-items: center; gap: var(--wa-space-xs); }
.empty-state      { color: var(--wa-color-neutral-on-quiet); }
.empty-state.hint { font-style: italic; padding: var(--wa-space-s) 0; }
.empty-state.full { text-align: center; padding: var(--wa-space-xl); }
.empty-state.full i { font-size: 3rem; display: block; margin-bottom: var(--wa-space-s); }
.result-count { font-size: 0.85rem; color: var(--wa-color-neutral-on-quiet); white-space: nowrap; }

details > summary { cursor: pointer; user-select: none; color: var(--wa-color-neutral-on-quiet); margin: var(--wa-space-m) 0 var(--wa-space-s); font-size: 0.95em; }
details[open] > summary { margin-bottom: var(--wa-space-s); }