/* Extracted from listings/seller_profile.html */
.sp-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 32px 20px;
}

/* Hero */
.sp-hero {
    background: var(--card-bg);
    border: 2px solid var(--border);
    border-radius: 20px;
    padding: 36px;
    margin-bottom: 24px;
    display: flex;
    align-items: flex-start;
    gap: 28px;
    animation: spFadeUp 0.5s ease both;
}

@keyframes spFadeUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

.sp-logo {
    width: 100px; height: 100px;
    border-radius: 16px;
    border: 2px solid var(--border);
    object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

.sp-logo-placeholder {
    width: 100px; height: 100px;
    border-radius: 16px;
    border: 2px solid var(--border);
    background: linear-gradient(135deg, #0369a1 0%, #075985 100%);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 42px; font-weight: 800;
    flex-shrink: 0;
}

.sp-name {
    font-size: 28px; font-weight: 800;
    color: var(--text); margin-bottom: 10px; line-height: 1.2;
}

.sp-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }

.sp-badge {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 12px; border-radius: 20px;
    font-size: 12px; font-weight: 600;
}
.sp-badge-dealer  { background: rgba(14,165,233,.15); color:#0ea5e9; border:1px solid rgba(14,165,233,.3); }
.sp-badge-verified{ background: rgba(16,185,129,.15); color:#10b981; border:1px solid rgba(16,185,129,.3); }
.sp-badge-biz     { background: rgba(168,85,247,.15);  color:#a855f7; border:1px solid rgba(168,85,247,.3); }
.sp-badge-personal{ background: rgba(148,163,184,.1);  color:var(--muted); border:1px solid var(--border); }

/* Stars */
.sp-stars { display:inline-flex; gap:2px; vertical-align:middle; }
.sp-stars svg { width:13px; height:13px; fill:#f59e0b; }

/* Stats row */
.sp-stats {
    display: flex; gap: 16px; flex-wrap: wrap;
    margin-bottom: 24px;
}
.sp-stat {
    flex: 1; min-width: 120px;
    background: var(--card-bg); border: 2px solid var(--border);
    border-radius: 16px; padding: 18px 20px; text-align: center;
    animation: spFadeUp 0.5s ease both;
}
.sp-stat:nth-child(1){animation-delay:.05s}
.sp-stat:nth-child(2){animation-delay:.10s}
.sp-stat:nth-child(3){animation-delay:.15s}
.sp-stat:nth-child(4){animation-delay:.20s}
.sp-stat-num { font-size: 26px; font-weight: 800; color: #0ea5e9; line-height:1; margin-bottom:4px; }
.sp-stat-label { font-size: 12px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing:.05em; }

/* 2-col layout */
.sp-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}
@media(max-width: 900px) {
    .sp-grid { grid-template-columns: 1fr; }
    .sp-hero { flex-direction: column; align-items: center; text-align: center; }
    .sp-badges { justify-content: center; }
}
@media(max-width: 480px) {
    .sp-name { font-size: 22px; }
    .sp-stat { min-width: calc(50% - 8px); padding: 14px 12px; }
    .sp-stat-num { font-size: 22px; }
    .sp-listings-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}

/* Section card */
.sp-card {
    background: var(--card-bg); border: 2px solid var(--border);
    border-radius: 16px; padding: 24px; margin-bottom: 20px;
}
.sp-card h2 {
    font-size: 17px; font-weight: 700; color: var(--text);
    margin-bottom: 18px; padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
    display: flex; align-items: center; gap: 8px;
}

/* Listings grid */
.sp-listings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px; margin-bottom: 16px;
}
.sp-listing-card {
    background: var(--hover); border: 1px solid var(--border);
    border-radius: 12px; overflow: hidden;
    text-decoration: none; color: var(--text); display: block;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease, opacity .25s ease, filter .25s ease;
}
.sp-listing-card:hover {
    border-color: #0ea5e9; transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
}
.sp-listing-img { width:100%; height:140px; object-fit:cover; display:block; }
.sp-listing-img-ph {
    width:100%; height:140px;
    background:var(--border);
    display:flex; align-items:center; justify-content:center; color:var(--muted);
}
.sp-listing-body { padding: 12px; }
.sp-listing-title { font-size:13px; font-weight:700; margin-bottom:3px; line-height:1.3; }
.sp-listing-meta  { font-size:12px; color:var(--muted); margin-bottom:2px; }
.sp-listing-price { font-size:15px; font-weight:800; color:#0ea5e9; margin-top:6px; }

/* Pagination */
.sp-pagination { display:flex; justify-content:center; gap:8px; margin-top:16px; }
.sp-page-link {
    padding:8px 14px; border-radius:8px; border:1px solid var(--border);
    background:var(--card-bg); color:#0ea5e9; text-decoration:none;
    font-weight:600; font-size:13px; transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease, filter .2s ease;
}
.sp-page-link:hover { background:rgba(14,165,233,.1); border-color:#0ea5e9; }
.sp-page-cur {
    padding:8px 14px; border-radius:8px;
    background:linear-gradient(135deg,#0369a1,#075985);
    color:#fff; font-weight:700; font-size:13px;
}

/* Empty state */
.sp-empty {
    text-align:center; padding:48px 24px; color:var(--muted);
}
.sp-empty svg { width:56px; height:56px; margin:0 auto 12px; opacity:.35; display:block; }

/* Rating distribution */
.sp-dist-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.sp-dist-label { font-size:12px; font-weight:600; color:var(--muted); min-width:54px; }
.sp-dist-track { flex:1; height:7px; background:var(--border); border-radius:4px; overflow:hidden; }
.sp-dist-fill  { height:100%; background:linear-gradient(90deg,#0ea5e9,#0284c7); border-radius:4px; }
.sp-dist-count { font-size:12px; color:var(--muted); min-width:24px; text-align:right; }

/* Review card */
.sp-review {
    border:1px solid var(--border); border-radius:12px;
    padding:16px; margin-bottom:12px; background:var(--hover);
}
.sp-review-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; }
.sp-reviewer-av {
    width:38px; height:38px; border-radius:50%;
    background:linear-gradient(135deg,#0369a1,#075985);
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-weight:700; font-size:15px; flex-shrink:0;
}
.sp-review-score {
    background:linear-gradient(135deg,#0369a1,#075985);
    color:#fff; border-radius:8px;
    padding:5px 10px; font-size:14px; font-weight:800;
}
.sp-sub-scores { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.sp-sub-score {
    font-size:12px; color:var(--muted);
    background:var(--card-bg); padding:3px 8px;
    border-radius:6px; border:1px solid var(--border);
}
.sp-review-title  { font-size:14px; font-weight:700; color:var(--text); margin-bottom:4px; }
.sp-review-text   { font-size:13px; color:var(--muted); line-height:1.6; }
.sp-seller-resp {
    margin-top:10px; padding:10px 12px;
    background:rgba(14,165,233,.06);
    border-left:3px solid #0ea5e9; border-radius:0 8px 8px 0;
    font-size:12px; color:var(--muted);
}
.sp-seller-resp strong { color:#0ea5e9; display:block; margin-bottom:3px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }

/* Info rows (sidebar) */
.sp-info-row { display:flex; gap:10px; align-items:flex-start; margin-bottom:14px; font-size:13px; color:var(--text); }
.sp-info-row svg { flex-shrink:0; margin-top:2px; color:var(--muted); }
.sp-info-lbl { font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); font-weight:600; margin-bottom:2px; }

/* ---- Strona firmy: O firmie + Zespół (konta profesjonalne) ---- */
.sp-company-actions { margin-left: auto; font-size: 13px; font-weight: 600; }
.sp-company-actions a { color: #0ea5e9; text-decoration: none; }
.sp-company-actions a:hover { text-decoration: underline; }
.sp-about-text { font-size: 14px; color: var(--text); line-height: 1.7; }
.sp-website-btn {
    display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 10px 16px;
    border: 1px solid var(--border); border-radius: 10px; font-size: 14px; font-weight: 600;
    color: #0ea5e9; text-decoration: none; transition: border-color .15s ease;
}
.sp-website-btn:hover { border-color: #0ea5e9; }
.sp-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.sp-team-member { border: 1px solid var(--border); border-radius: 12px; padding: 16px; text-align: center; }
.sp-team-photo, .sp-team-initials {
    width: 88px; height: 88px; border-radius: 50%; margin: 0 auto 12px; object-fit: cover; display: block;
}
.sp-team-initials {
    display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700;
    background: var(--hover); color: var(--muted);
}
.sp-team-name { font-weight: 700; color: var(--text); font-size: 15px; }
.sp-team-position { font-size: 13px; color: var(--muted); margin-bottom: 8px; }
.sp-team-contact { display: block; font-size: 13px; color: #0ea5e9; text-decoration: none; word-break: break-all; }
.sp-team-contact:hover { text-decoration: underline; }
