.text-purple { color: #7c3aed !important; }
.btn-purple, .btn-purple:focus, .btn-purple:active { background: #7c3aed; border: none; color: #fff; border-radius: 100px; }
.btn-purple:hover { background: #572cda; color: #fff; }
.address-card {
    transition: box-shadow 0.15s, border 0.15s;
    border: 1.5px solid #f3f0fd;
    min-height: 180px;
    margin-bottom: 12px;
}
.address-card:hover {
    border: 1.5px solid #7c3aed22;
    box-shadow: 0 4px 28px 0 #7c3aed19;
}
.address-actions {
    z-index: 2;
}
.card { border-radius: 22px; background: #fff; box-shadow: 0 8px 38px 0 #7c3aed10; }
.form-control-lg { border-radius: 18px; border: 2px solid #ede9fe; font-size: 1.13em; }
.form-control:focus { border-color: #7c3aed; box-shadow: 0 0 0 2px #d1b3fd44; }
.fw-bold { font-weight: 700 !important; }
.fw-semibold { font-weight: 600 !important; }

.wishlist-card {
    transition: box-shadow 0.2s, transform 0.1s;
}
.wishlist-card:hover {
    box-shadow: 0 4px 24px 0 rgba(111,66,193,0.16);
    transform: translateY(-3px) scale(1.03);
}
.btn-outline-danger {
    background: white;
}

.user-menu .nav-link {
    font-weight: 500;
    color: #444;
    border-radius: 1rem;
    padding: .65rem 1rem;
    transition: background .18s, color .18s;
    font-size: 1rem;
}
.user-menu .nav-link.active, .user-menu .nav-link:hover {
    background: #f4effc;
    color: #6f42c1 !important;
    box-shadow: 0 2px 8px 0 rgba(111,66,193,.04);
}
.user-menu .nav-link .fas {
    font-size: 1.15em;
}
.bg-light-blue {
    background: #f8fafd;
}
@media (max-width: 768px) {
    .user-menu {
        padding: 1rem .25rem;
        font-size: 0.98rem;
    }
}