/* Studio Profile V2 -- Hero / Compact Profile Bar
 *
 * Compact horizontal profile bar replacing the old cover-image hero.
 * Structure: avatar (64px) | info (name + meta + badges) | actions (heart + share)
 */

/* ── Hero wrapper ──────────────────────────────────────────── */
.sp-hero {
    background: var(--color-bg-elevated);
    border-bottom: 1px solid var(--color-border);
    padding: var(--space-4) var(--space-4);
    position: relative;
    overflow: hidden;
}

/* ── Inner flex container ──────────────────────────────────── */
.sp-hero__inner {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: 0 var(--space-4);
}

/* ── Avatar ────────────────────────────────────────────────── */
.sp-hero__avatar {
    width: var(--sp-avatar-size);
    height: var(--sp-avatar-size);
    border-radius: var(--radius-full);
    background: var(--color-surface);
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid var(--color-border);
}

.sp-hero__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sp-hero__avatar-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: var(--text-xl);
    color: var(--color-brand-accent);
    background: linear-gradient(135deg, #1a1a1a 0%, #262626 100%);
}

/* ── Info block ────────────────────────────────────────────── */
.sp-hero__info {
    flex: 1;
    min-width: 0;
}

.sp-hero__name {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    color: var(--color-text);
    line-height: 1.2;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 768px) {
    .sp-hero__name {
        font-size: var(--text-2xl);
    }
}

@media (min-width: 1024px) {
    .sp-hero__name {
        font-size: var(--text-3xl);
    }
}

/* ── Meta row (rating + city) ──────────────────────────────── */
.sp-hero__meta {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-1);
    flex-wrap: wrap;
}

.sp-hero__rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--text-sm);
}

.sp-hero__stars {
    color: var(--color-brand-accent);
    font-size: var(--text-xs);
    letter-spacing: -1px;
}

.sp-hero__rating-val {
    font-weight: var(--font-weight-normal);
    font-family: var(--font-mono);
}

.sp-hero__rating-count {
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
}

.sp-hero__sep {
    color: var(--color-border);
}

.sp-hero__city {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

/* ── Badges ────────────────────────────────────────────────── */
.sp-hero__badges {
    display: flex;
    gap: var(--space-2);
    margin-top: var(--space-2);
    flex-wrap: nowrap;
    overflow-x: auto;
}

.sp-hero__badges::-webkit-scrollbar {
    display: none;
}

/* Badges (compact pills used in sp-hero__badges row) */
.sp-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--space-2);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.6;
}

.sp-badge--open {
    background: rgba(76, 175, 80, 0.15);
    color: var(--color-success);
    border: 1px solid rgba(76, 175, 80, 0.3);
}

.sp-badge--open::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-success);
}

.sp-badge--walkin,
.sp-badge--walkins {
    background: rgba(76, 175, 80, 0.1);
    color: #6fcf71;
    border: 1px solid rgba(76, 175, 80, 0.2);
}

.sp-badge--rank {
    background: rgba(232, 197, 71, 0.15);
    color: var(--color-brand-accent);
    border: 1px solid rgba(232, 197, 71, 0.3);
}

.sp-badge--price {
    background: var(--color-surface);
    color: var(--color-text-secondary);
    font-family: var(--font-mono);
    border: 1px solid var(--color-border);
}

.sp-badge--style {
    background: var(--color-surface);
    color: var(--color-text-secondary);
    border: 1px solid var(--color-border);
}

.sp-badge--verified {
    background: var(--color-accent-gold, #D4A843);
    color: #000;
}

.sp-badge svg {
    width: 10px;
    height: 10px;
}

/* ── Compact CTA row (: merged into hero bar) ──── */
.sp-hero__cta {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

/* Heart button */
.sp-heart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    border: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.sp-heart-btn:hover {
    background: var(--color-bg-hover);
    color: var(--color-text);
    border-color: var(--color-border-hover);
}

.sp-heart-btn.favorited {
    background: rgba(224, 92, 122, 0.15);
    border-color: rgba(224, 92, 122, 0.5);
    color: #e05c7a;
}

.sp-heart-btn.favorited svg {
    fill: currentColor;
}

/* Share button */
.sp-hero__share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    border: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.sp-hero__share-btn:hover {
    background: var(--color-bg-hover);
    color: var(--color-text);
    border-color: var(--color-border-hover);
}

/* ── Mobile responsive ─────────────────────────────────────── */
@media (max-width: 767px) {
    .sp-hero__inner {
        flex-wrap: wrap;
    }

    .sp-hero__info {
        flex: 1;
        min-width: 0;
    }

    .sp-hero__name {
        font-size: var(--text-lg);
    }
}
