/*
 * Eros360 — BuddyPress Design System Override
 * Template: bp-nouveau
 * Palette GP (CSS vars):
 *   --contrast:   #833830  (mahogany primario)
 *   --contrast-2: #b05040  (mattone secondario)
 *   --contrast-3: #c4a090  (terracotta tenue)
 *   --base:       #f9e8e0  (blush — sfondo chiaro)
 *   --base-2:     #fff5f0  (crema — quasi bianco)
 *   --base-3:     #ffffff  (bianco puro)
 *   --accent:     #f06490  (rosa — CTA / link)
 */

/* ═══════════════════════════════════════════════════════════════
   0. CSS CUSTOM PROPERTIES — scoped a .buddypress-wrap
   ═══════════════════════════════════════════════════════════════ */
#buddypress {
    min-height: 100vh;
}
body.buddypress,
.buddypress-wrap {
    --bp-bg:          var(--base-3);
    --bp-bg-alt:      var(--base-2);
    --bp-bg-subtle:   var(--base);
    --bp-border:      var(--contrast-3);
    --bp-text:        var(--contrast);
    --bp-muted:       var(--contrast-3);
    --bp-primary:     var(--contrast);
    --bp-secondary:   var(--contrast-2);
    --bp-accent:      var(--accent);
    --bp-radius:      20px;
    --bp-radius-sm:   14px;
    --bp-shadow:      0 2px 8px rgba(131, 56, 48, .10);
    --bp-shadow-lg:   0 4px 16px rgba(131, 56, 48, .18);
    --bp-ease:        160ms ease;
}

/* ═══════════════════════════════════════════════════════════════
   1. GLOBAL RESET — elimina float / clearfix ereditati da BP
   ═══════════════════════════════════════════════════════════════ */

/* Tutti i contenitori interni: niente float, niente overflow hidden */
.buddypress-wrap .bp-list li,
.buddypress-wrap .bp-list li .list-wrap,
.buddypress-wrap .bp-list li .item,
.buddypress-wrap .bp-list li .item-avatar,
.buddypress-wrap .bp-list li .item-block,
.buddypress-wrap .bp-list li .action,
.buddypress-wrap .activity-list .activity-item,
.buddypress-wrap .subnav-filters,
.buddypress-wrap .subnav-filters > ul,
.buddypress-wrap .subnav-filters div {
    float: none;
    overflow: visible;
}

/* Rimuovi clearfix BP su subnav-filters */
.buddypress-wrap .subnav-filters::before,
.buddypress-wrap .subnav-filters::after {
    display: none;
}

/* Border-radius brand per tutti gli elementi BP */
body #buddypress div,
body #buddypress dl,
body #buddypress li,
body #buddypress textarea,
body #buddypress select,
body #buddypress input[type="search"] {
    border-radius: var(--bp-radius-sm);
}

body #buddypress input[type="submit"],
body #buddypress input[type="reset"],
body #buddypress button[type="submit"] {
    border-radius: var(--bp-radius);
}

/* ═══════════════════════════════════════════════════════════════
   2. NAVIGAZIONE PRINCIPALE — bp-navs / main-navs
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .bp-navs {
    border-bottom: 2px solid var(--bp-border);
    margin-bottom: 16px;
}

.buddypress-wrap .bp-navs ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.buddypress-wrap .bp-navs ul li {
    margin: 0;
}

.buddypress-wrap .bp-navs ul li a,
.buddypress-wrap .bp-navs ul li span {
    border-bottom: 3px solid transparent;
    border-radius: var(--bp-radius-sm) var(--bp-radius-sm) 0 0;
    color: var(--bp-muted);
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    padding: 10px 16px;
    text-decoration: none;
    text-transform: uppercase;
    transition: color var(--bp-ease), border-color var(--bp-ease), background var(--bp-ease);
}

/* Hover inattivo */
.buddypress-wrap .bp-navs li:not(.current) a:hover,
.buddypress-wrap .bp-navs li:not(.current) a:focus,
.buddypress-wrap .bp-navs li:not(.selected) a:hover,
.buddypress-wrap .bp-navs li:not(.selected) a:focus {
    background: var(--bp-bg-subtle);
    border-bottom-color: var(--bp-accent);
    color: var(--bp-primary);
}

/* Tab attivo */
.buddypress-wrap .bp-navs li.selected a,
.buddypress-wrap .bp-navs li.selected a:hover,
.buddypress-wrap .bp-navs li.selected a:focus,
.buddypress-wrap .bp-navs li.current a,
.buddypress-wrap .bp-navs li.current a:hover,
.buddypress-wrap .bp-navs li.current a:focus {
    background: transparent;
    border-bottom-color: var(--bp-accent);
    color: var(--bp-primary);
}

/* Badge contatore */
.buddypress-wrap .bp-navs li a .count,
.buddypress_object_nav .bp-navs li a .count {
    background: var(--bp-bg-subtle);
    border: 1px solid var(--bp-border);
    border-radius: 20px;
    color: var(--bp-muted);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
}

.buddypress-wrap .bp-navs li.selected a .count,
.buddypress-wrap .bp-navs li.current a .count {
    background: var(--bp-accent);
    border-color: var(--bp-accent);
    color: #fff;
}

/* 2.1 Sub-navigazione */
.buddypress-wrap .bp-subnavs,
.buddypress-wrap ul.subnav {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 20px;
    padding: 8px 12px;
}

.buddypress-wrap .bp-subnavs ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.buddypress-wrap .bp-subnavs ul li a {
    border-radius: var(--bp-radius-sm);
    color: var(--bp-secondary);
    font-size: 12px;
    padding: 5px 10px;
    text-decoration: none;
    transition: background var(--bp-ease), color var(--bp-ease);
}

.buddypress-wrap .bp-subnavs ul li.selected a,
.buddypress-wrap .bp-subnavs ul li.current a,
.buddypress-wrap .bp-subnavs ul li.selected a:hover,
.buddypress-wrap .bp-subnavs ul li.current a:hover {
    background: var(--bp-primary);
    color: #fff;
}

.buddypress-wrap .bp-subnavs ul li a:hover,
.buddypress-wrap .bp-subnavs ul li a:focus {
    background: var(--bp-bg-subtle);
    color: var(--bp-primary);
}

/* 2.2 Paginazione */
.buddypress-wrap .pagination-links a,
.buddypress-wrap .pagination-links span {
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius-sm);
    color: var(--bp-primary);
    display: inline-block;
    line-height: 1;
    padding: 6px 11px;
    text-decoration: none;
    transition: background var(--bp-ease), border-color var(--bp-ease);
}

.buddypress-wrap .pagination-links a:hover,
.buddypress-wrap .pagination-links a:focus {
    background: var(--bp-bg-subtle);
    border-color: var(--bp-accent);
}

.buddypress-wrap .pagination-links .current {
    background: var(--bp-accent);
    border-color: var(--bp-accent);
    color: #fff;
}

/* ═══════════════════════════════════════════════════════════════
   3. BOTTONI
   ═══════════════════════════════════════════════════════════════ */

/* Generic button + .button links */
body.buddypress #buddypress .generic-button a,
body.buddypress #buddypress div.generic-button a,
body.buddypress #buddypress a.button,
.buddypress-wrap .generic-button a,
.buddypress-wrap a.button {
    background: var(--bp-accent);
    border: 2px solid var(--bp-accent);
    border-radius: var(--bp-radius);
    color: #fff !important;
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    padding: 8px 18px;
    text-decoration: none;
    text-shadow: none;
    transition: background var(--bp-ease), border-color var(--bp-ease);
}

body.buddypress #buddypress .generic-button a:hover,
body.buddypress #buddypress .generic-button a:focus,
body.buddypress #buddypress a.button:hover,
body.buddypress #buddypress a.button:focus,
.buddypress-wrap .generic-button a:hover,
.buddypress-wrap .generic-button a:focus,
.buddypress-wrap a.button:hover,
.buddypress-wrap a.button:focus {
    background: var(--bp-primary);
    border-color: var(--bp-primary);
    color: #fff !important;
}

/* Submit / button generici */
body.buddypress #buddypress input[type="submit"],
body.buddypress #buddypress button[type="submit"],
.buddypress-wrap input[type="submit"],
.buddypress-wrap button[type="submit"] {
    background: var(--bp-accent);
    border: 2px solid var(--bp-accent);
    border-radius: var(--bp-radius);
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 22px;
    line-height: 1;
    transition: background var(--bp-ease), border-color var(--bp-ease);
}

body.buddypress #buddypress input[type="submit"]:hover,
body.buddypress #buddypress input[type="submit"]:focus,
body.buddypress #buddypress button[type="submit"]:hover,
body.buddypress #buddypress button[type="submit"]:focus,
.buddypress-wrap input[type="submit"]:hover,
.buddypress-wrap input[type="submit"]:focus,
.buddypress-wrap button[type="submit"]:hover,
.buddypress-wrap button[type="submit"]:focus {
    background: var(--bp-primary);
    border-color: var(--bp-primary);
}

/* Bottoni di ricerca — cerchio con icona centrata */
.buddypress-wrap button.nouveau-search-submit,
.buddypress-wrap form.bp-dir-search-form button[type="submit"],
.buddypress-wrap form.bp-messages-search-form button[type="submit"],
.buddypress-wrap form[data-bp-search] button[type="submit"],
.buddypress-wrap form#group-members-search button[type="submit"],
body.buddypress #buddypress button.nouveau-search-submit {
    align-items: center;
    border-radius: 50%;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0;
    height: 50px;
    justify-content: center;
    padding: 0;
    width: 50px;
}

.buddypress-wrap button.nouveau-search-submit span.dashicons,
.buddypress-wrap form.bp-dir-search-form button[type="submit"] span.dashicons,
.buddypress-wrap form.bp-messages-search-form button[type="submit"] span.dashicons,
.buddypress-wrap form[data-bp-search] button[type="submit"] span.dashicons,
.buddypress-wrap form#group-members-search button[type="submit"] span.dashicons {
    align-items: center;
    display: flex;
    font-family: dashicons;
    font-size: 20px;
    height: 20px;
    justify-content: center;
    line-height: 1;
    width: 20px;
}

/* ═══════════════════════════════════════════════════════════════
   4. FORM FIELDS
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap input[type="text"],
.buddypress-wrap input[type="email"],
.buddypress-wrap input[type="password"],
.buddypress-wrap input[type="url"],
.buddypress-wrap input[type="search"],
.buddypress-wrap textarea,
select.eros360-select {
    background: var(--bp-bg);
    border: 1px solid var(--contrast);
    border-radius: var(--bp-radius-sm);
    color: var(--bp-text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    padding: 9px 12px;
    transition: border-color var(--bp-ease), box-shadow var(--bp-ease);
    width: 100%;
}

/* Select standalone (fuori da .select-wrap) */
.buddypress-wrap select {
    background: var(--bp-bg);
    border: 1px solid var(--contrast);
    border-radius: var(--bp-radius-sm);
    color: var(--bp-text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    padding: 9px 12px;
    transition: border-color var(--bp-ease), box-shadow var(--bp-ease);
    width: 100%;
}

.buddypress-wrap input[type="text"]:focus,
.buddypress-wrap input[type="email"]:focus,
.buddypress-wrap input[type="password"]:focus,
.buddypress-wrap input[type="url"]:focus,
.buddypress-wrap input[type="search"]:focus,
.buddypress-wrap textarea:focus,
.buddypress-wrap select:focus,
select.eros360-select:focus {
    border-color: var(--bp-accent);
    box-shadow: 0 0 0 3px rgba(240, 100, 144, .15);
}

.buddypress-wrap label {
    color: var(--bp-text);
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

/* Select-wrap — dropdown custom con freccia brand */
.buddypress-wrap .select-wrap {
    align-items: center;
    background: var(--bp-bg);
    border: 1px solid var(--contrast);
    border-radius: var(--bp-radius-sm);
    display: inline-flex;
    min-width: 160px;
    position: relative;
}

.buddypress-wrap .select-wrap:hover,
.buddypress-wrap .select-wrap:focus-within {
    border-color: var(--bp-accent);
    box-shadow: 0 0 0 3px rgba(240, 100, 144, .12);
}

.buddypress-wrap .select-wrap select {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--bp-radius-sm);
    box-shadow: none;
    color: var(--bp-text);
    cursor: pointer;
    flex: 1 1 0;
    font-size: 14px;
    min-width: 0;
    outline: none;
    padding: 10px 36px 10px 14px;
    position: relative;
    z-index: 1;
}

.buddypress-wrap .select-wrap select:focus,
.buddypress-wrap .select-wrap select:active {
    background: transparent;
    box-shadow: none;
    outline: none;
}

.buddypress-wrap .select-wrap span.select-arrow {
    align-items: center;
    display: flex;
    height: 100%;
    pointer-events: none;
    position: absolute;
    right: 10px;
    top: 0;
    z-index: 0;
}

.buddypress-wrap .select-wrap span.select-arrow::before {
    color: var(--contrast);
    content: "\25BC";
    font-size: 10px;
    line-height: 1;
}

.buddypress-wrap .select-wrap:hover span.select-arrow::before,
.buddypress-wrap .select-wrap:focus-within span.select-arrow::before {
    color: var(--bp-accent);
}

/* ═══════════════════════════════════════════════════════════════
   5. BARRA FILTRI — Activity / Members / Groups (uniforme)
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .subnav-filters {
    align-items: center;
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding: 12px 16px;
}

/* Feed RSS nascosto */
.buddypress-wrap .subnav-filters .feed,
.buddypress-wrap #activity-rss-feed {
    display: none;
}

/* Lato sinistro: form di ricerca */
.buddypress-wrap .subnav-filters .bp-search,
.buddypress-wrap .subnav-filters .subnav-search,
.buddypress-wrap .subnav-filters .dir-search,
.buddypress-wrap .subnav-filters .group-act-search,
.buddypress-wrap .subnav-filters .group-invites-search {
    flex: 1 1 auto;
    min-width: 0;
}

/* Form di ricerca attività (struttura diversa: wrapper diretto) */
.buddypress-wrap #dir-activity-search-form,
.buddypress-wrap .subnav-filters form.bp-dir-search-form {
    align-items: center;
    display: flex;
    gap: 8px;
    width: 100%;
    border: none;
    float: none;
}

.buddypress-wrap .bp-search form:focus, .buddypress-wrap .bp-search form:hover, .buddypress-wrap .select-wrap:focus, .buddypress-wrap .select-wrap:hover {
    border: none;
}

.buddypress-wrap #dir-activity-search-form input[type="search"],
.buddypress-wrap form.bp-dir-search-form input[type="search"],
.buddypress-wrap form.bp-dir-search-form input[type="text"] {
    background: var(--bp-bg);
    border: 1px solid var(--contrast);
    border-radius: var(--bp-radius);
    flex: 1 1 0;
    min-width: 0;
    padding: 10px 16px;
}

/* Lato destro: filtri / ordinamento */
.buddypress-wrap .subnav-filters .component-filters {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 8px;
}

.buddypress-wrap .subnav-filters .component-filters label,
.buddypress-wrap .subnav-filters .last.filter label {
    color: var(--bp-muted);
    font-size: 12px;
    margin-bottom: 0;
    white-space: nowrap;
}

/* La dimensione è controllata dal .select-wrap, non dal select stesso */
.buddypress-wrap .subnav-filters .select-wrap {
    min-width: 180px;
}

/* ═══════════════════════════════════════════════════════════════
   6. CARD LIST — Members / Groups (.bp-list li)
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .bp-list {
    background: transparent;
    border: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.buddypress-wrap .bp-list li {
    background: var(--bp-bg);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 12px;
    padding: 16px;
    transition: border-color var(--bp-ease), box-shadow var(--bp-ease);
}

.buddypress-wrap .bp-list li:hover {
    border-color: var(--bp-accent);
    box-shadow: var(--bp-shadow-lg);
}

/* Riga principale dentro ogni card */
.buddypress-wrap .bp-list li .list-wrap {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    width: 100%;
}

/* Avatar */
.buddypress-wrap .bp-list li .item-avatar {
    flex: 0 0 auto;
    text-align: center;
}

.buddypress-wrap .bp-list li .item-avatar a {
    display: block;
}

.buddypress-wrap .bp-list li .item-avatar img.avatar {
    border-radius: var(--bp-radius-sm);
    display: block;
    height: auto;
    width: auto;
}

/* Contenuto (nome + meta + aggiornamento) */
.buddypress-wrap .bp-list li .item {
    align-items: flex-start;
    display: flex;
    flex: 1 1 0;
    gap: 12px;
    min-width: 0;
}

/* Blocco sinistro: nome + meta + bottoni */
.buddypress-wrap .bp-list li .item-block {
    flex: 1 1 0;
    min-width: 0;
}

/* Titolo */
.buddypress-wrap .bp-list li .list-title {
    clear: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    margin: 0 0 4px;
    text-align: left;
}

.buddypress-wrap .bp-list li .list-title a {
    color: var(--bp-primary);
    text-decoration: none;
    transition: color var(--bp-ease);
}

.buddypress-wrap .bp-list li .list-title a:hover {
    color: var(--bp-accent);
}

/* Meta (ultimo attivo, dettagli gruppo) */
.buddypress-wrap .bp-list li .item-meta,
.buddypress-wrap .bp-list li .meta,
.buddypress-wrap .bp-list li .last-activity {
    color: var(--bp-muted);
    font-size: 12px;
    margin: 4px 0 0;
    text-align: left;
}

/* Blocco destro: ultimo aggiornamento / descrizione gruppo */
.buddypress-wrap .bp-list li .user-update,
.buddypress-wrap .bp-list li .group-desc {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius-sm);
    color: var(--bp-muted);
    flex: 1 1 0;
    font-size: 13px;
    font-style: italic;
    min-width: 0;
    padding: 10px 14px;
}

.buddypress-wrap .bp-list li .user-update p,
.buddypress-wrap .bp-list li .group-desc p {
    margin: 0;
}

/* Azioni (bottoni inline) nella card */
.buddypress-wrap .bp-list li .action {
    clear: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
    text-align: left;
}

.buddypress-wrap .bp-list li .action .generic-button {
    display: inline-block;
    margin: 0;
}

/* Azioni action-list generiche background */
body #buddypress .bp-list .action {
    background: transparent;
}

/* ═══════════════════════════════════════════════════════════════
   7. ACTIVITY LIST
   ═══════════════════════════════════════════════════════════════ */

#activity-stream,
.buddypress-wrap .activity-list {
    padding: 0;
}

.buddypress-wrap .activity-list .activity-item {
    background: var(--bp-bg);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 16px;
    padding: 16px;
    transition: box-shadow var(--bp-ease);
}

.buddypress-wrap .activity-list .activity-item:hover {
    box-shadow: var(--bp-shadow);
}

/* Avatar attività */
.buddypress-wrap .activity-list .activity-item .activity-avatar,
.buddypress-wrap .activity-list .activity-item div.item-avatar {
    flex: 0 0 auto;
    float: none;
    margin: 0;
    text-align: left;
    width: auto;
}

.buddypress-wrap .activity-list .activity-item .activity-avatar img,
.buddypress-wrap .activity-list .activity-item div.item-avatar img {
    border-radius: var(--bp-radius-sm);
    display: block;
    height: auto;
    max-width: none;
    width: auto;
}

/* Contenuto attività */
.buddypress-wrap .activity-list .activity-item .activity-content {
    flex: 1 1 0;
    min-width: 0;
}

/* Header (chi, quando) */
.buddypress-wrap .activity-list .activity-item .activity-header {
    color: var(--bp-muted);
    font-size: 13px;
    margin-bottom: 10px;
}

.buddypress-wrap .activity-list .activity-item .activity-header a {
    color: var(--bp-primary);
    font-weight: 600;
    text-decoration: none;
}

.buddypress-wrap .activity-list .activity-item .activity-header a:hover {
    color: var(--bp-accent);
}

/* Testo attività */
.buddypress-wrap .activity-list .activity-item .activity-inner {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius-sm);
    color: var(--bp-text);
    line-height: 1.6;
    margin-bottom: 12px;
    padding: 10px 14px;
}

/* Meta azioni (like, reply, delete) */
.buddypress-wrap .activity-list .activity-item .activity-meta.action {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.buddypress-wrap .activity-list .activity-item .activity-meta a,
.buddypress-wrap .activity-list .activity-item .activity-meta .button {
    color: var(--bp-muted);
    font-size: 12px;
    text-decoration: none;
}

.buddypress-wrap .activity-list .activity-item .activity-meta a:hover,
.buddypress-wrap .activity-list .activity-item .activity-meta .button:hover {
    color: var(--bp-accent);
}

/* Commenti — full-width sotto avatar+content */
.buddypress-wrap .activity-list .activity-item .activity-comments {
    background: var(--bp-bg-subtle);
    border-left: 3px solid var(--bp-border);
    border-radius: 0 var(--bp-radius-sm) var(--bp-radius-sm) 0;
    flex: 0 0 100%;
    margin-top: 4px;
    padding: 10px 14px;
}

.buddypress-wrap .activity-comments ul {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}

.buddypress-wrap .activity-comments ul li {
    padding-bottom: 12px;
    padding-left: 20px;
}

.buddypress-wrap .activity-comments .activity-item {
    background: transparent;
    border: 0;
    box-shadow: none;
    margin-bottom: 8px;
    padding: 0;
}

.buddypress-wrap .activity-comments .activity-item:hover {
    box-shadow: none;
}

/* ═══════════════════════════════════════════════════════════════
   8. WHAT'S NEW FORM
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .activity-update-form {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 20px;
    padding: 16px;
}

/* Form: avatar + textarea affiancati, options full-width sotto */
.buddypress-wrap .activity-update-form form.activity-form {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
}

.buddypress-wrap .activity-update-form #whats-new-avatar {
    flex: 0 0 auto;
    float: none;
    margin: 0;
}

.buddypress-wrap .activity-update-form #whats-new-avatar img {
    border-radius: 50%;
    display: block;
}

.buddypress-wrap .activity-update-form #whats-new-content {
    flex: 1 1 0;
    margin-left: 0 !important;
    min-width: 0;
}

/* Options (bottoni + submit) — riga intera */
.buddypress-wrap .activity-update-form #whats-new-options {
    flex: 0 0 100%;
    margin-left: 0 !important;
}

.buddypress-wrap .activity-update-form #whats-new-post-in-box,
.buddypress-wrap .activity-update-form #whats-new-submit {
    margin-left: 0 !important;
}

/* Select "Pubblica in: profilo/gruppo" — full-width con freccia custom */
.buddypress-wrap #whats-new-post-in {
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--bp-bg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23833830' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    border: 1px solid var(--contrast);
    border-radius: var(--bp-radius-sm);
    color: var(--bp-text);
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    padding: 10px 40px 10px 16px;
    transition: border-color var(--bp-ease), box-shadow var(--bp-ease);
    width: 100%;
}

.buddypress-wrap #whats-new-post-in:focus {
    border-color: var(--bp-accent);
    box-shadow: 0 0 0 3px rgba(240, 100, 144, .15);
}

/* Box items — lista opzioni dopo aver scelto "gruppo" */
.buddypress-wrap #whats-new-post-in-box-items {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

/* Autocomplete input per cercare il gruppo */
.buddypress-wrap #whats-new-post-in-box-items #activity-autocomplete {
    background: var(--bp-bg);
    border: 1px solid var(--contrast);
    border-radius: var(--bp-radius-sm);
    padding: 8px 12px;
    width: 100%;
}

/* Chip gruppo selezionato */
.buddypress-wrap #whats-new-post-in-box-items .bp-activity-object {
    align-items: center;
    background: var(--bp-bg-subtle);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    cursor: default;
    display: inline-flex;
    gap: 8px;
    padding: 6px 10px;
    transition: border-color var(--bp-ease);
}

.buddypress-wrap #whats-new-post-in-box-items .bp-activity-object.selected {
    background: var(--bp-bg-subtle);
    border-color: var(--bp-accent);
}

.buddypress-wrap #whats-new-post-in-box-items .bp-activity-object:hover,
.buddypress-wrap #whats-new-post-in-box-items .bp-activity-object:focus {
    background: var(--bp-bg-subtle);
    border-color: var(--bp-accent);
    cursor: pointer;
}

.buddypress-wrap #whats-new-post-in-box-items .bp-activity-object .avatar {
    border-radius: var(--bp-radius-sm);
    display: block;
    height: 28px;
    width: 28px;
}

.buddypress-wrap #whats-new-post-in-box-items .bp-activity-object span {
    color: var(--bp-primary);
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    vertical-align: middle;
}

/* Bottone rimuovi elemento — dashicons dashicons-no */
.buddypress-wrap #whats-new-post-in-box-items button.bp-remove-item {
    align-items: center;
    background: var(--bp-accent);
    border: 0;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    font-family: dashicons;
    font-size: 0;       /* nasconde eventuale testo nudo */
    height: 26px;
    justify-content: center;
    margin: 0;
    padding: 0;
    transition: background var(--bp-ease);
    width: 26px;
}

/* Icona dashicons-no (\f153 = cerchio-X) */
.buddypress-wrap #whats-new-post-in-box-items button.bp-remove-item::before {
    color: #fff;
    font-family: dashicons;
    font-size: 18px;
    line-height: 1;
}

.buddypress-wrap #whats-new-post-in-box-items button.bp-remove-item:hover {
    background: var(--bp-primary);
}

/* Override BP Nouveau "height: auto" — selettore con specificità equivalente */
.buddypress-wrap .activity-update-form #whats-new-post-in-box #whats-new-post-in-box-items button.bp-remove-item {
    height: 26px;
    margin-left: 0;
    width: 26px;
}

/* Riga submit/annulla */
.buddypress-wrap #whats-new-submit {
    align-items: center;
    display: flex;
    gap: 14px;
    margin-top: 4px;
}

/* Submit #aw-whats-new-submit — override width: 100% di BP Nouveau */
.buddypress-wrap #whats-new-submit #aw-whats-new-submit,
.buddypress-wrap #whats-new-submit input[type="submit"] {
    flex-shrink: 0;
    font-size: 14px;
    overflow: visible;
    padding: 10px 28px;
    white-space: nowrap;
    width: auto;
}

/* Reset #aw-whats-new-reset — "Annulla" come testo link */
.buddypress-wrap #whats-new-submit #aw-whats-new-reset,
.buddypress-wrap #whats-new-submit input[type="reset"] {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--bp-muted);
    cursor: pointer;
    font-size: 14px;
    padding: 0;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: color var(--bp-ease), text-decoration-color var(--bp-ease);
    width: auto;
}

.buddypress-wrap #whats-new-submit #aw-whats-new-reset:hover,
.buddypress-wrap #whats-new-submit input[type="reset"]:hover {
    background: transparent;
    border-color: transparent;
    color: var(--bp-primary);
    text-decoration-color: var(--bp-primary);
}

.buddypress-wrap .activity-update-form textarea {
    min-height: 80px;
    resize: vertical;
}

/* ═══════════════════════════════════════════════════════════════
   9. EXTENDED PROFILE (xprofile)
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .profile {
    background: var(--bp-bg);
}

.buddypress-wrap .profile-fields {
    border-collapse: collapse;
    width: 100%;
}

.buddypress-wrap .profile-fields tr {
    border-bottom: 1px solid var(--bp-border);
}

.buddypress-wrap .profile-fields tr:last-child {
    border-bottom: 0;
}

.buddypress-wrap .profile-fields th {
    color: var(--bp-text);
    font-weight: 700;
    padding: 12px 8px 12px 0;
    text-align: left;
    vertical-align: top;
    width: 35%;
}

.buddypress-wrap .profile-fields td {
    color: var(--bp-muted);
    padding: 12px 0;
    vertical-align: top;
}

/* Sezioni / gruppi campo */
.buddypress-wrap .bp-widget,
.buddypress-wrap .profile-group-edit {
    background: var(--bp-bg);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 20px;
    padding: 20px;
}

.buddypress-wrap .bp-widget h4,
.buddypress-wrap .profile-group-edit legend,
.buddypress-wrap fieldset.bp-fieldset legend {
    border-bottom: 2px solid var(--bp-accent);
    color: var(--bp-primary);
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .3px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    text-transform: uppercase;
}

/* Campi edit profilo */
.buddypress-wrap .editfield {
    margin-bottom: 16px;
}

.buddypress-wrap .editfield p.description {
    color: var(--bp-muted);
    font-size: 12px;
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════════════════
   10. ITEM HEADER — profilo utente / gruppo singolo
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap #item-header,
.buddypress-wrap .single-item-header {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 24px;
    overflow: hidden;
    padding: 0;
}

/* ── Cover image container ─────────────────────────── */
#cover-image-container {
    position: relative;
}

/* Cover photo: gradiente brand come fallback.
   Rimane position:absolute (BP la sostituisce via JS con l'immagine reale).
   Il padding-top sul container crea lo spazio visivo. */
#header-cover-image,
.buddypress-wrap #header-cover-image {
    background: linear-gradient(135deg, var(--contrast) 0%, var(--accent) 100%);
    height: 180px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

/* Questo div porta avatar + content SOPRA la cover image */
#item-header-cover-image {
    align-items: flex-end;
    display: flex;
    gap: 20px;
    padding: 20px 24px 20px;   /* padding-top = altezza cover + margine */
    position: relative;
    z-index: 2;
}

/* ── Avatar ─────────────────────────────────────────── */
#buddypress #item-header-cover-image {
    min-height: auto;
}
#buddypress #item-header-cover-image #item-header-avatar {
    margin-top: 0;
    float: none;
    border: none;
}

#item-header-avatar > a > img {
    border-radius: var(--bp-radius);
    border: none;
    display: block;
    margin: 0;
}

#item-header-cover-image #item-header-avatar,
.buddypress-wrap #item-header-avatar {
    border: 4px solid var(--bp-bg);
    border-radius: var(--bp-radius);
    box-shadow: var(--bp-shadow);
    flex: 0 0 auto;
    overflow: hidden;
    padding: 0;
    margin-top: 0;
}

#item-header-cover-image #item-header-avatar a,
.buddypress-wrap #item-header-avatar a {
    display: block;
    line-height: 0;
    text-align: left;
}

#item-header-cover-image #item-header-avatar img,
.buddypress-wrap #item-header-avatar img {
    display: block;
    float: none;
    height: auto;
    width: auto;
}

/* ── Content: nome, username, meta, bottoni ─────────── */
#buddypress div#item-header #item-header-cover-image #item-header-content {
    float: none;
    margin: 0;
    width: auto;
}
#item-header-cover-image #item-header-content,
.buddypress-wrap #item-header-content {
    flex: 1 1 0;
    min-width: 0;
    padding: 0;
}

/* Nome/Cognome — grande */
.buddypress-wrap #item-header-content h1.user-displayname {
    color: var(--bp-primary) !important;
    text-shadow: none !important;
    font-size: 2.8rem !important;
    line-height: 1.2;
    margin: 0 !important;
}

/* @username — piccolo, sotto il nome */
.buddypress-wrap #item-header-content p.user-nicename,
.buddypress-wrap #item-header-content h2.user-nicename,
body.buddypress.bp-user .buddypress-wrap .users-header h2.user-nicename {
    color: var(--bp-muted);
    font-size: 13px;
    font-weight: 400;
    margin: 0 0 8px;
}

/* Ultima attività */
.buddypress-wrap #item-header-content .item-meta {
    color: var(--bp-muted);
    font-size: 12px;
    margin: 0 0 12px;
}

/* Bottoni (messaggio, amicizia) */
.buddypress-wrap .member-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    overflow: visible;
}

.buddypress-wrap .member-header-actions > li,
.buddypress-wrap .member-header-actions > div {
    display: block;
}

.single-headers .generic-button,
.single-headers div.generic-button {
    margin: 0;
}

/* ── Responsive: mobile stack ───────────────────────── */
@media screen and (max-width: 640px) {
    #item-header-cover-image {
        align-items: flex-start;
        flex-direction: column;
        padding: 140px 16px 16px;
    }

    #header-cover-image,
    .buddypress-wrap #header-cover-image {
        height: 120px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   11. MESSAGES (messaggi privati)
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .message-threads {
    list-style: none;
    margin: 0;
    padding: 0;
}

.buddypress-wrap .message-threads li {
    align-items: center;
    background: var(--bp-bg);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    display: flex;
    gap: 12px;
    margin-bottom: 8px;
    padding: 12px 16px;
    transition: border-color var(--bp-ease), box-shadow var(--bp-ease);
}

.buddypress-wrap .message-threads li:hover {
    border-color: var(--bp-accent);
    box-shadow: var(--bp-shadow);
}

.buddypress-wrap .message-threads li.unread {
    background: var(--bp-bg-subtle);
    border-left: 4px solid var(--bp-accent);
}

.buddypress-wrap .message-threads li .thread-info .thread-subject a {
    color: var(--bp-primary);
    font-weight: 600;
    text-decoration: none;
}

.buddypress-wrap .message-threads li.unread .thread-subject a {
    font-weight: 700;
}

.buddypress-wrap .message-threads li .thread-info .thread-excerpt {
    color: var(--bp-muted);
    font-size: 13px;
    margin-top: 3px;
}

.buddypress-wrap .message-threads li .thread-info .thread-date {
    color: var(--bp-muted);
    font-size: 11px;
    margin-top: 4px;
}

/* Thread singolo */
.buddypress-wrap #message-thread .message-box {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 16px;
    padding: 16px;
}

.buddypress-wrap #message-thread .message-box.me {
    background: var(--bp-bg-subtle);
    border-left: 4px solid var(--bp-accent);
}

.buddypress-wrap #message-thread .message-metadata {
    border-bottom: 1px solid var(--bp-border);
    color: var(--bp-muted);
    font-size: 12px;
    margin-bottom: 10px;
    padding-bottom: 8px;
}

.buddypress-wrap #message-thread .message-content {
    color: var(--bp-text);
    line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════════════
   12. NOTIFICHE
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .notifications li,
.buddypress-wrap #notifications-container .notification-item {
    background: var(--bp-bg);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 8px;
    padding: 12px 16px;
}

.buddypress-wrap .notifications li.unread,
.buddypress-wrap #notifications-container .notification-item.unread {
    background: var(--bp-bg-subtle);
    border-left: 4px solid var(--bp-accent);
}

.buddypress-wrap .notifications li a,
.buddypress-wrap #notifications-container .notification-item a {
    color: var(--bp-primary);
    text-decoration: none;
}

.buddypress-wrap .notifications li a:hover,
.buddypress-wrap #notifications-container .notification-item a:hover {
    color: var(--bp-accent);
}

/* ═══════════════════════════════════════════════════════════════
   13. REGISTRAZIONE E LOGIN
   ═══════════════════════════════════════════════════════════════ */

.register-page .standard-form,
.login-page .standard-form {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin: 0 auto;
    max-width: 680px;   /* era 560px */
    padding: 32px 36px;
}

/* 1. Nascondi il banner info WP/BuddyPress sopra il form */
.register-page aside.bp-feedback.info {
    display: none;
}

/* Sezioni in colonna singola (BP Nouveau le mette affiancate di default) */
.register-page .signup-form .layout-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.register-page .register-section {
    background: var(--bp-bg);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 0;
    padding: 20px;
    width: 100%;
}

.register-page #submit,
.login-page #wp-submit {
    display: block;
    font-size: 15px;
    margin-top: 16px;
    width: 100%;
}

/* 2. Fix pulsante mostra/nascondi password — impedisce che GeneratePress
      lo espanda come un bottone block a piena larghezza */
.register-page .signup-form .wp-pwd button.wp-hide-pw,
.login-page .mepr-form .wp-pwd button.wp-hide-pw {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius-sm);
    color: var(--bp-muted);
    cursor: pointer;
    transition: color var(--bp-ease);
}

.register-page .signup-form .wp-pwd button.wp-hide-pw:hover,
.login-page .mepr-form .wp-pwd button.wp-hide-pw:hover {
    color: var(--bp-primary);
    background: transparent;
}

/* Dashicon dentro il bottone: dimensione fissa */
.register-page .signup-form .wp-pwd button .dashicons,
.login-page .mepr-form .wp-pwd button .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 1;
}

/* 3. Password input wrapper: flex per allineare input + bottone */
.register-page .password-input-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
}

.register-page .password-input-wrapper input[type="password"] {
    flex: 1;
    min-width: 0;
}

/* 4. Caps Lock warning: su frontend WP non carica wp-admin/css/user-edit.css
      quindi l'elemento viene inserito nel DOM già visibile. Lo nascondiamo
      via CSS — il JS di WP userà .show()/.hide() quando necessario. */
.caps-warning {
    display: none;
}

/* Quando visibile: layout compatto con SVG di dimensione corretta */
.caps-warning[style*="display: block"],
.caps-warning[style*="display:block"] {
    display: flex !important;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--contrast-2, #b05040);
    margin-top: 6px;
}

.caps-warning .caps-icon svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════
   14. FEEDBACK MESSAGES
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap div.bp-feedback,
.buddypress-wrap div.bp-messages {
    border-radius: var(--bp-radius);
    font-size: 14px;
    margin: 12px 0 16px;
    padding: 12px 16px;
}

.buddypress-wrap div.bp-feedback.error,
.buddypress-wrap div.bp-messages.error {
    background: #fff0f0;
    border: 1px solid #e88;
    color: #c00;
}

.buddypress-wrap div.bp-feedback.success,
.buddypress-wrap div.bp-messages.success {
    background: #f0fff4;
    border: 1px solid #6c8;
    color: #266;
}

.buddypress-wrap div.bp-feedback.info,
.buddypress-wrap div.bp-messages.info {
    background: var(--bp-bg-subtle);
    border: 1px solid var(--bp-border);
    color: var(--bp-text);
}

/* ═══════════════════════════════════════════════════════════════
   15. TABELLE (notifications, settings)
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .bp-tables-user {
    border-collapse: collapse;
    width: 100%;
}

.buddypress-wrap .bp-tables-user th {
    border-bottom: 2px solid var(--bp-border);
    color: var(--bp-text);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .4px;
    padding: 10px 8px;
    text-align: left;
    text-transform: uppercase;
}

.buddypress-wrap .bp-tables-user td {
    border-bottom: 1px solid var(--bp-border);
    color: var(--bp-muted);
    padding: 10px 8px;
    vertical-align: middle;
}

.buddypress-wrap .bp-tables-user tr:last-child td {
    border-bottom: 0;
}

.buddypress-wrap .bp-tables-user tr:hover td {
    background: var(--bp-bg-subtle);
}

/* ═══════════════════════════════════════════════════════════════
   16. SETTINGS
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap .settings .bp-fieldset {
    background: var(--bp-bg-alt);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 20px;
    padding: 20px;
}

.buddypress-wrap .settings label {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 10px;
    text-transform: none;
}

.buddypress-wrap .settings input[type="checkbox"],
.buddypress-wrap .settings input[type="radio"] {
    accent-color: var(--bp-accent);
    height: 16px;
    width: 16px;
}

/* ═══════════════════════════════════════════════════════════════
   17. AVATAR / COVER UPLOAD
   ═══════════════════════════════════════════════════════════════ */

.buddypress-wrap #avatar-upload-ui,
.buddypress-wrap #cover-image-upload-ui {
    background: var(--bp-bg-alt);
    border: 2px dashed var(--bp-border);
    border-radius: var(--bp-radius);
    padding: 24px;
    text-align: center;
}

.buddypress-wrap #avatar-upload-ui:hover,
.buddypress-wrap #cover-image-upload-ui:hover {
    border-color: var(--bp-accent);
}

/* ═══════════════════════════════════════════════════════════════
   18. TOOLTIP
   ═══════════════════════════════════════════════════════════════ */

.bp-tooltip::after {
    background: var(--bp-primary) !important;
    border-radius: var(--bp-radius-sm) !important;
    color: #fff !important;
    font-size: 11px !important;
}

/* ═══════════════════════════════════════════════════════════════
   19. RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

@media screen and (max-width: 640px) {
    /* Nav tab → verticale con indicatore a sinistra */
    .buddypress-wrap .bp-navs ul {
        flex-direction: column;
        gap: 0;
    }

    .buddypress-wrap .bp-navs ul li a,
    .buddypress-wrap .bp-navs ul li span {
        border-bottom: 0;
        border-left: 3px solid transparent;
        border-radius: 0;
        padding: 10px 14px;
    }

    .buddypress-wrap .bp-navs li.selected a,
    .buddypress-wrap .bp-navs li.current a {
        background: var(--bp-bg-subtle);
        border-left-color: var(--bp-accent);
    }

    /* Barra filtri → verticale */
    .buddypress-wrap .subnav-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .buddypress-wrap .subnav-filters .component-filters {
        justify-content: flex-end;
    }

    /* Card lista → avatar piccolo */
    .buddypress-wrap .bp-list li .item {
        flex-direction: column;
    }

    .buddypress-wrap .bp-list li .user-update,
    .buddypress-wrap .bp-list li .group-desc {
        flex: 0 0 auto;
        width: 100%;
    }

    .register-page .standard-form,
    .login-page .standard-form {
        padding: 20px 16px;
    }

    .buddypress-wrap .bp-widget,
    .buddypress-wrap .profile-group-edit {
        padding: 14px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   Close / dismiss buttons BP (reset override GP global button)
   ═══════════════════════════════════════════════════════════════ */
.buddypress-wrap button.bp-tooltip[data-bp-close],
#buddypress button.bp-tooltip[data-bp-close] {
    background: none;
    border: none;
    padding: 0;
    color: var(--contrast-3);
    box-shadow: none;
    cursor: pointer;
    line-height: 1;
    min-height: unset;
    width: auto;
    right: 20px;
    top: 10px;
}

.buddypress-wrap button.bp-tooltip[data-bp-close]:hover,
#buddypress button.bp-tooltip[data-bp-close]:hover {
    background: none;
    color: var(--contrast);
}

/* ═══════════════════════════════════════════════════════════════
   PAGINA ACCESSO (page-id-54) — stessa struttura della registrazione
   Le variabili --bp-* sono definite su .buddypress-wrap (non presente
   su questa pagina), quindi le ridichiarano su body.page-id-54.
   outer box (.mp_wrapper) + inner box (.mepr-form) identici a
   .standard-form + .register-section
   ═══════════════════════════════════════════════════════════════ */

/* Variabili BP disponibili su questa pagina */
body.page-id-54 {
    --bp-bg:        var(--base-3);
    --bp-bg-alt:    var(--base-2);
    --bp-bg-subtle: var(--base);
    --bp-border:    var(--contrast-3);
    --bp-text:      var(--contrast);
    --bp-muted:     var(--contrast-3);
    --bp-primary:   var(--contrast);
    --bp-accent:    var(--accent);
    --bp-radius:    20px;
    --bp-radius-sm: 14px;
    --bp-ease:      160ms ease;
}

/* ── OUTER BOX — identico a .register-page .standard-form ── */
body.page-id-54 .mp_wrapper.mp_login_form {
    background:    var(--bp-bg-alt);
    border:        1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin:        0 auto;
    max-width:     680px;
    padding:       32px 36px;
}

/* ── INNER BOX — identico a .register-page .register-section ── */
body.page-id-54 .mepr-form {
    background:    var(--bp-bg);
    border:        1px solid var(--bp-border);
    border-radius: var(--bp-radius-sm);
    padding:       24px;
    margin:        0;
}

/* ── Righe campi ── */
body.page-id-54 .mepr-form .mp-form-row {
    display:        flex;
    flex-direction: column;
    gap:            4px;
    margin-bottom:  16px;
}

body.page-id-54 .mepr-form .mp-form-row:last-of-type {
    margin-bottom: 0;
}

body.page-id-54 .mepr-form label {
    font-size:     13px;
    font-weight:   400;
    color:         var(--bp-text);
    display:       block;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .3px;
}

body.page-id-54 .mepr-form input {
    border-color: #b71717;
    border-width: 2px;
    background: var(--bp-bg);
}

/* ── Input ── */
body.page-id-54 .mepr-form input[type="text"],
body.page-id-54 .mepr-form input[type="email"],
body.page-id-54 .mepr-form input[type="password"] {
    width:      100%;
    box-sizing: border-box;
}

/* ── Password: flex input + occhio ── */
body.page-id-54 .mepr-form div.mp-hide-pw {
    display:     flex;
    align-items: center;
    gap:         6px;
}

body.page-id-54 .mepr-form div.mp-hide-pw input[type="password"] {
    flex:      1;
    min-width: 0;
}

/* ── Bottone occhio ── */
body.page-id-54 .mepr-form button.mp-hide-pw {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    width:           36px;
    height:          36px;
    padding:         0;
    background:      transparent;
    border:          1px solid var(--bp-border);
    border-radius:   var(--bp-radius-sm);
    color:           var(--bp-muted);
    cursor:          pointer;
    transition:      color var(--bp-ease);
}

body.page-id-54 .mepr-form button.mp-hide-pw:hover {
    color:      var(--bp-primary);
    background: transparent;
}

body.page-id-54 .mepr-form button.mp-hide-pw .dashicons {
    font-size:   18px;
    width:       18px;
    height:      18px;
    line-height: 1;
}

/* ── Submit ── */
body.page-id-54 .mepr-form .submit {
    margin-top: 20px;
}

body.page-id-54 .mepr-form #wp-submit {
    display:          block;
    width:            100%;
    background-color: var(--bp-accent);
    border-color:     var(--bp-accent);
    color:            #ffffff;
    font-size:        14px;
    font-weight:      600;
    line-height:      1;
    padding:          10px 22px;
    border-radius:    var(--bp-radius);
    cursor:           pointer;
    transition:       background var(--bp-ease), border-color var(--bp-ease);
}

body.page-id-54 .mepr-form #wp-submit:hover {
    background-color:  var(--bp-primary);
    border-color:   var(--bp-primary);
}

/* ── Ricordami ── */
body.page-id-54 .mepr-form input[type="checkbox"] {
    width:        auto;
    margin-right: 6px;
}

/* ── Link "Password dimenticata" ── */
body.page-id-54 .mepr-login-actions {
    margin-top: 16px;
    font-size:  0.875rem;
    text-align: center;
}

body.page-id-54 .mepr-login-actions a {
    color: var(--accent);
}

/* ── Responsive ── */
@media (max-width: 600px) {
    body.page-id-54 .mp_wrapper.mp_login_form {
        padding: 20px 16px;
    }

    body.page-id-54 .mepr-form {
        padding: 16px;
    }
}

/* Nasconde il bottone "Add New Listing" di ACADP nella tab annunci del
   profilo BP — ridondante con il sub-nav "Aggiungi nuovo annuncio" */
.buddypress-wrap .acadp-button-post {
    display: none !important;
}

/* Notice inline post-submit annuncio */
.eros360-notice {
    padding:       0.75rem 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    font-size:     0.9rem;
    font-weight:   500;
}
.eros360-notice--success {
    background: #d1fae5;
    color:       #065f46;
    border:      1px solid #6ee7b7;
}
