.shop-hero {
    position: relative; padding: 40px 20px 24px; text-align: center;
    background: linear-gradient(135deg, #1A1D26 0%, #2D3140 100%); color: white;
}
.shop-cover {
    position: absolute; top: 0; left: 0; right: 0; height: 80px;
    background: linear-gradient(135deg, rgba(255,107,53,0.3), rgba(255,184,0,0.2));
}
.shop-avatar-wrap { position: relative; display: inline-block; margin-bottom: 10px; }
.shop-avatar {
    width: 64px; height: 64px; border-radius: var(--radius-lg);
    background: rgba(255,255,255,0.15); display: flex; align-items: center;
    justify-content: center; font-size: 32px; border: 3px solid rgba(255,255,255,0.3);
}
.shop-name { font-size: 20px; font-weight: 700; margin-bottom: 6px; }
.shop-badges { display: flex; justify-content: center; gap: 8px; }
.shop-badge {
    display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px;
    border-radius: var(--radius-full); font-size: 11px; font-weight: 600;
}
.shop-badge.certified { background: rgba(38,222,129,0.2); color: #26DE81; }
.shop-badge.pending { background: rgba(255,184,0,0.2); color: #FFB800; }

.shop-info-card {
    background: var(--bg-white); border-radius: var(--radius-lg);
    padding: 4px 16px; margin: -12px 15px 16px; box-shadow: var(--shadow-md);
    position: relative; z-index: 1;
}
.shop-info-row {
    display: flex; align-items: center; gap: 12px; padding: 14px 0;
}
.shop-info-row + .shop-info-row { border-top: 1px solid var(--border-light); }
.shop-info-icon { font-size: 20px; flex-shrink: 0; width: 24px; text-align: center; }
.shop-info-content { flex: 1; }
.shop-info-label { font-size: 12px; color: var(--text-tertiary); margin-bottom: 1px; }
.shop-info-value { font-size: 14px; font-weight: 500; color: var(--text-primary); }

.shop-section { padding: 0 15px; margin-bottom: 20px; }
.shop-section-title {
    font-size: 15px; font-weight: 700; color: var(--text-primary);
    margin-bottom: 12px; display: flex; align-items: center; gap: 6px;
}
.shop-section-title::before {
    content: ''; width: 3px; height: 16px; border-radius: 2px;
    background: var(--primary); display: inline-block;
}

.shop-photos {
    display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px;
}
.shop-photo {
    width: 80px; height: 80px; border-radius: var(--radius-md);
    object-fit: cover; background: var(--border-light);
}
.shop-photo-placeholder {
    font-size: 13px; color: var(--text-tertiary); padding: 10px 0;
}
.shop-photo-upload {
    display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px;
    border-radius: var(--radius-full); border: 1.5px dashed var(--border);
    color: var(--text-secondary); font-size: 13px; font-weight: 500; cursor: pointer;
}
.shop-photo-upload svg { width: 16px; height: 16px; }
.shop-photo-upload:active { background: var(--border-light); }

.shop-edit-form {
    background: var(--bg-white); border-radius: var(--radius-lg);
    padding: 16px; box-shadow: var(--shadow-sm);
}
.shop-edit-group { margin-bottom: 14px; }
.shop-edit-label { font-size: 13px; font-weight: 600; color: var(--text-primary); margin-bottom: 6px; }
.shop-edit-group input {
    width: 100%; padding: 10px 12px; border: 1.5px solid var(--border);
    border-radius: var(--radius-md); font-size: 14px; background: var(--bg);
    transition: border-color 0.2s;
}
.shop-edit-group input:focus { border-color: var(--primary); outline: none; }

.shop-save-btn {
    width: 100%; padding: 14px; border-radius: var(--radius-full);
    background: var(--primary-gradient); color: white;
    font-size: 16px; font-weight: 600; box-shadow: var(--shadow-primary);
    margin-top: 4px; transition: transform 0.2s;
}
.shop-save-btn:active { transform: scale(0.97); }

.header-back {
    width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
    border-radius: var(--radius-full); transition: background 0.2s;
}
.header-back:active { background: var(--border-light); }
.header-back svg { width: 22px; height: 22px; color: var(--text-primary); }