/* ================================================
   BookedUp Dashboard — Front-end styles
   Palette: white base, pastel pink #FDE8EF, pastel blue #E8F0FD
   ================================================ */

/* ── Fonts & base ─────────────────────────────── */
.bud-dashboard, .bud-profile-edit {
    font-family: inherit;
    color: #2d2d2d;
    max-width: 860px;
    margin: 0 auto;
}

/* ── Profile card ─────────────────────────────── */
.bud-profile-card {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    background: #fff;
    border: 1px solid #F0D6E0;
    border-radius: 20px;
    padding: 28px 32px;
    margin-bottom: 28px;
    box-shadow: 0 2px 16px rgba(230,180,200,.10);
    position: relative;
}

/* Avatar */
.bud-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}
.bud-avatar {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #FDE8EF;
    display: block;
}
.bud-avatar--placeholder {
    background: linear-gradient(135deg, #FDE8EF 0%, #E8F0FD 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: 600;
    color: #b07090;
    border: 3px solid #FDE8EF;
}
.bud-avatar--sm {
    width: 64px;
    height: 64px;
    font-size: 22px;
}
.bud-avatar-edit-btn {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 26px;
    height: 26px;
    background: #fff;
    border: 1.5px solid #F0D6E0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #b07090;
    transition: background .15s;
}
.bud-avatar-edit-btn:hover { background: #FDE8EF; }

/* Profile info */
.bud-profile-info { flex: 1; }
.bud-display-name {
    font-size: 22px;
    font-weight: 600;
    color: #2d2d2d;
    margin: 0 0 8px;
    line-height: 1.2;
}
.bud-tier-wrap { margin-bottom: 10px; }
.bud-bio {
    font-size: 14px;
    color: #777;
    margin: 0 0 10px;
    line-height: 1.6;
}
.bud-edit-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #b07090;
    text-decoration: none;
    transition: color .15s;
}
.bud-edit-link:hover { color: #8c4060; }

/* Tier badges */
.bud-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 20px;
    border: 1.5px solid;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .01em;
}
.bud-tier-badge--lg {
    padding: 6px 16px;
    font-size: 15px;
}
.bud-no-tier {
    background: #f5f5f5;
    color: #aaa;
    border-color: #e0e0e0;
}

/* ── Two-column grid ──────────────────────────── */
.bud-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
@media (max-width: 640px) {
    .bud-grid { grid-template-columns: 1fr; }
    .bud-profile-card { flex-direction: column; align-items: center; text-align: center; }
}

/* ── Panels ───────────────────────────────────── */
.bud-panel {
    background: #fff;
    border: 1px solid #EDE0E8;
    border-radius: 16px;
    overflow: hidden;
}
.bud-panel--full { grid-column: 1 / -1; }
.bud-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #F5EEF2;
}
.bud-panel-title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 600;
    color: #2d2d2d;
}
.bud-panel-title svg { color: #c08098; }
.bud-panel-link {
    font-size: 12px;
    color: #b07090;
    text-decoration: none;
}
.bud-panel-link:hover { text-decoration: underline; }

/* ── Dues list ────────────────────────────────── */
.bud-dues-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}
.bud-due-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    border-bottom: 1px solid #faf4f6;
    font-size: 13px;
    gap: 8px;
}
.bud-due-item:last-child { border-bottom: none; }
.bud-due--overdue { background: #FFF5F7; }
.bud-due-meta { display: flex; flex-direction: column; gap: 2px; }
.bud-due-label { font-weight: 500; color: #2d2d2d; }
.bud-due-order { font-size: 11px; color: #aaa; }
.bud-due-right { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.bud-due-amount { font-weight: 700; color: #2d2d2d; }
.bud-due-date { font-size: 11px; color: #aaa; }
.bud-overdue-text { color: #e05070 !important; font-weight: 600; }

/* ── Orders list ──────────────────────────────── */
.bud-order-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}
.bud-order-item { border-bottom: 1px solid #faf4f6; }
.bud-order-item:last-child { border-bottom: none; }
.bud-order-link {
    display: block;
    padding: 12px 20px;
    text-decoration: none;
    transition: background .12s;
}
.bud-order-link:hover { background: #fdf6f9; }
.bud-order-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}
.bud-order-num { font-size: 13px; font-weight: 600; color: #2d2d2d; }
.bud-order-bottom {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.bud-order-date { font-size: 11px; color: #aaa; }
.bud-order-plan {
    font-size: 11px;
    background: #E8F0FD;
    color: #4a6cb5;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 500;
}
.bud-order-total { font-size: 13px; color: #2d2d2d; margin-left: auto; font-weight: 600; }

/* Order status chips */
.bud-order-status {
    font-size: 11px;
    padding: 2px 9px;
    border-radius: 10px;
    font-weight: 600;
    text-transform: capitalize;
}
.bud-status-completed    { background: #E8FAF0; color: #1a7a4a; }
.bud-status-processing   { background: #E8F0FD; color: #2a52a0; }
.bud-status-on-hold      { background: #FFF8E1; color: #8a6000; }
.bud-status-pending      { background: #F5F5F5; color: #666; }
.bud-status-cancelled    { background: #FEF2F2; color: #9a2020; }

.bud-empty {
    padding: 20px;
    font-size: 13px;
    color: #aaa;
    text-align: center;
}

/* ── Profile edit page ────────────────────────── */
.bud-profile-edit { max-width: 520px; }
.bud-edit-avatar-section {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.bud-hint { font-size: 12px; color: #aaa; margin: 0; }
.bud-tier-display { font-size: 14px; margin-bottom: 20px; }
.bud-field { margin-bottom: 18px; }
.bud-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    margin-bottom: 6px;
}
.bud-field input[type="text"],
.bud-field textarea {
    width: 100%;
    border: 1.5px solid #EDE0E8;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    color: #2d2d2d;
    transition: border-color .15s;
    box-sizing: border-box;
    background: #fff;
    font-family: inherit;
}
.bud-field input:focus,
.bud-field textarea:focus {
    outline: none;
    border-color: #e8a0b8;
    box-shadow: 0 0 0 3px rgba(232,160,184,.15);
}
.bud-char-count { font-size: 11px; color: #bbb; display: block; text-align: right; margin-top: 4px; }
.bud-edit-section-divider { border: none; border-top: 1px solid #F0E8EC; margin: 24px 0; }

/* Buttons */
.bud-btn-primary {
    background: #e8a0b8;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 11px 28px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
    font-family: inherit;
}
.bud-btn-primary:hover { background: #d4809a; }
.bud-btn-outline {
    border: 1.5px solid #EDE0E8;
    border-radius: 10px;
    padding: 8px 16px;
    font-size: 13px;
    color: #b07090;
    cursor: pointer;
    background: #fff;
    font-family: inherit;
    transition: border-color .15s;
}
.bud-btn-outline:hover { border-color: #e8a0b8; }
.bud-btn-ghost {
    background: none;
    border: none;
    color: #e05070;
    font-size: 13px;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
}
.bud-btn-ghost:hover { text-decoration: underline; }

/* ── My Account nav override ──────────────────── */
.bud-btn-outline {
    background: #e8a0b8;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 8px 16px;
    font-size: 13px;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s;
}
.bud-btn-outline:hover { background: #d4809a; }

/* ── My Account nav — rectangular tile boxes ──── */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    padding: 13px 18px;
    border-radius: 12px;
    text-decoration: none;
    color: #555;
    font-size: 14px;
    font-weight: 500;
    background: #fff;
    border: 1.5px solid #EDE0E8;
    transition: background .12s, color .12s, border-color .12s, box-shadow .12s;
    box-shadow: 0 1px 4px rgba(230,180,200,.08);
}
.woocommerce-MyAccount-navigation li a:hover {
    background: #FDE8EF;
    color: #b07090;
    border-color: #e8a0b8;
    box-shadow: 0 2px 8px rgba(232,160,184,.18);
}
.woocommerce-MyAccount-navigation li.is-active a {
    background: #FDE8EF;
    color: #b07090;
    border-color: #e8a0b8;
    font-weight: 600;
}
/* Log Out tile — subtle red tint */
.woocommerce-MyAccount-navigation li:last-child a {
    border-color: #fdd;
    color: #c0606080;
}
.woocommerce-MyAccount-navigation li:last-child a:hover {
    background: #fff5f5;
    color: #c06060;
    border-color: #f8b4b4;
}
