/* ============================================================
   AdRevv Members — Stylesheet v1.0.0
   ============================================================ */

/* ── Auth box (login / register) ──────────────────────────── */
.adrevv-auth {
    display:         flex;
    justify-content: center;
    padding:         40px 16px;
}
.adrevv-auth__box {
    width:         100%;
    max-width:     440px;
    background:    #fff;
    border:        1px solid #e8e8e8;
    border-radius: 10px;
    padding:       36px 32px;
    box-shadow:    0 2px 16px rgba(0,0,0,.06);
}
.adrevv-auth__logo {
    text-align:    center;
    margin-bottom: 16px;
}
.adrevv-auth__logo img {
    border-radius: 50%;
    display:       inline-block;
}
.adrevv-auth__title {
    font-size:   24px;
    font-weight: 800;
    color:       #111;
    margin:      0 0 4px;
    text-align:  center;
}
.adrevv-auth__sub {
    font-size:     14px;
    color:         #666;
    text-align:    center;
    margin:        0 0 24px;
}
.adrevv-auth__footer {
    margin-top:  20px;
    text-align:  center;
    font-size:   14px;
    color:       #555;
}
.adrevv-auth__footer a {
    color:           #d32f2f;
    text-decoration: none;
    font-weight:     600;
}
.adrevv-auth__footer p { margin: 6px 0 0; }

/* ── Messages ─────────────────────────────────────────────── */
.adrevv-auth__msg,
.adrevv-dash__msg {
    padding:       12px 16px;
    border-radius: 5px;
    font-size:     14px;
    font-weight:   500;
    margin-bottom: 16px;
}
.adrevv-auth__msg--error,
.adrevv-dash__msg--error {
    background: #fef2f2;
    border:     1px solid #fca5a5;
    color:      #991b1b;
}
.adrevv-auth__msg--success,
.adrevv-dash__msg--success {
    background: #f0fdf4;
    border:     1px solid #86efac;
    color:      #166534;
}

/* ── Form elements ────────────────────────────────────────── */
.adrevv-auth__form,
.adrevv-dash__form {
    display:        flex;
    flex-direction: column;
    gap:            16px;
}
.adrevv-form-row { display: flex; flex-direction: column; gap: 5px; }
.adrevv-form-row--inline { flex-direction: row; align-items: center; }
.adrevv-form-label {
    font-size:   13px;
    font-weight: 600;
    color:       #333;
}
.adrevv-form-input {
    width:         100%;
    padding:       10px 12px;
    border:        1px solid #ddd;
    border-radius: 5px;
    font-size:     14px;
    font-family:   inherit;
    color:         #111;
    background:    #fff;
    transition:    border-color .15s;
    box-sizing:    border-box;
}
.adrevv-form-input:focus {
    outline:      none;
    border-color: #d32f2f;
    box-shadow:   0 0 0 3px rgba(211,47,47,.1);
}
.adrevv-form-hint {
    font-size: 12px;
    color:     #888;
    margin:    0;
}
.adrevv-form-optional {
    font-size:   12px;
    font-weight: 400;
    color:       #999;
}
.adrevv-required { color: #d32f2f; }
.adrevv-form-check {
    display:     flex;
    align-items: center;
    gap:         7px;
    font-size:   13px;
    color:       #555;
    cursor:      pointer;
}

/* ── Buttons ──────────────────────────────────────────────── */
.adrevv-btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    padding:         11px 22px;
    border:          none;
    border-radius:   5px;
    font-family:     inherit;
    font-size:       14px;
    font-weight:     700;
    cursor:          pointer;
    text-decoration: none;
    transition:      background .15s, opacity .15s;
    line-height:     1;
}
.adrevv-btn--primary {
    background: #d32f2f;
    color:      #fff;
}
.adrevv-btn--primary:hover { background: #b71c1c; color: #fff; }
.adrevv-btn--primary:disabled { opacity: .6; cursor: not-allowed; }
.adrevv-btn--full { width: 100%; }

/* ── Dashboard ─────────────────────────────────────────────── */
.adrevv-dash {
    max-width:  640px;
    margin:     0 auto;
    padding:    24px 16px 48px;
}
.adrevv-dash__header {
    display:       flex;
    align-items:   center;
    gap:           14px;
    padding:       20px 0 24px;
    border-bottom: 2px solid #111;
    margin-bottom: 28px;
}
.adrevv-dash__avatar-img {
    width:         56px;
    height:        56px;
    border-radius: 50%;
    object-fit:    cover;
    display:       block;
}
.adrevv-dash__welcome { flex: 1; min-width: 0; }
.adrevv-dash__name {
    font-size:   20px;
    font-weight: 800;
    color:       #111;
    margin:      0 0 3px;
    white-space: nowrap;
    overflow:    hidden;
    text-overflow: ellipsis;
}
.adrevv-dash__meta { font-size: 12px; color: #888; margin: 0; }
.adrevv-dash__logout {
    font-size:       12px;
    font-weight:     600;
    color:           #888;
    text-decoration: none;
    white-space:     nowrap;
    flex-shrink:     0;
}
.adrevv-dash__logout:hover { color: #d32f2f; }

/* ── Dashboard sections ── */
.adrevv-dash__section {
    background:    #fafafa;
    border:        1px solid #e8e8e8;
    border-radius: 8px;
    padding:       22px 20px;
    margin-bottom: 16px;
}
.adrevv-dash__section-title {
    font-size:     14px;
    font-weight:   700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color:         #d32f2f;
    margin:        0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e8e8e8;
}
.adrevv-dash__section-note {
    font-size:     13px;
    color:         #888;
    margin:        -10px 0 14px;
}
.adrevv-dash__actions {
    display:     flex;
    justify-content: flex-end;
    margin-top:  8px;
}

@media (max-width: 480px) {
    .adrevv-auth__box { padding: 24px 18px; }
    .adrevv-dash__header { flex-wrap: wrap; }
}

/* ── Hide page title on login and register pages ─────────── */
.page-id-member-login    .entry-title,
.page-id-member-register .entry-title,
.page-id-member-account  .entry-title,
.page-id-member-logout   .entry-title,
.page-slug-member-login    .entry-title,
.page-slug-member-register .entry-title,
.page-slug-member-account  .entry-title,
.page-slug-member-logout   .entry-title,
/* Elementor page title widget on these pages */
.page-id-member-login    .elementor-heading-title,
.page-id-member-register .elementor-heading-title,
/* Theme-specific title selectors */
body.page-template-default.page-id-member-login h1.entry-title,
body.page-template-default.page-id-member-register h1.entry-title { 
    display: none !important; 
}
