/* ==========================================================================
   Retail Sponsor – Sponsored Content Styles
   ========================================================================== */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --rsp-indigo: #059669;
    --rsp-indigo-light: #34d399;
    --rsp-cyan: #f97316;
    --rsp-green: #10b981;
    --rsp-red: #ef4444;
    --rsp-bg: #f8fafc;
    --rsp-card: #ffffff;
    --rsp-text: #0f172a;
    --rsp-muted: #94a3b8;
    --rsp-border: #e5e7eb;
    --rsp-font: 'DM Sans', -apple-system, sans-serif;
    --rsp-mono: 'Space Mono', monospace;
}

body.rsp-sc-page, body.rsp-sc-landing-page {
    font-family: var(--rsp-font);
    -webkit-font-smoothing: antialiased;
    background: var(--rsp-bg);
    color: var(--rsp-text);
    margin: 0;
}

/* ---- Shared ---- */
.rsp-topbar { position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:64px;background:rgba(255,255,255,0.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--rsp-border); }
.rsp-topbar__logo { display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--rsp-text);font-weight:700;font-size:18px; }
.rsp-topbar__icon { width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--rsp-indigo),var(--rsp-cyan));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff; }
.rsp-topbar__right { display:flex;align-items:center;gap:16px; }
.rsp-topbar__badge { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;background:rgba(5,150,105,0.1);color:var(--rsp-indigo);padding:4px 12px;border-radius:6px; }
.rsp-topbar__user { font-size:14px;font-weight:500;color:var(--rsp-muted); }

.rsp-btn { display:inline-block;font-family:var(--rsp-font);font-weight:600;border:none;border-radius:10px;cursor:pointer;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s;font-size:14px;padding:11px 28px; }
.rsp-btn:hover { transform:translateY(-1px); }
.rsp-btn--primary { background:linear-gradient(135deg,var(--rsp-indigo),var(--rsp-indigo-light));color:#fff;box-shadow:0 2px 12px rgba(5,150,105,0.3); }
.rsp-btn--ghost { background:#fff;color:var(--rsp-text);border:1px solid var(--rsp-border); }
.rsp-btn--full { width:100%;text-align:center; }
.rsp-btn--sm { font-size:12px;padding:7px 16px; }

.rsp-field { margin-bottom:18px; }
.rsp-field label { display:block;font-size:13px;font-weight:600;color:var(--rsp-text);margin-bottom:6px; }
.rsp-field input, .rsp-field select, .rsp-field textarea { width:100%;font-family:var(--rsp-font);font-size:14px;padding:10px 14px;border:1px solid var(--rsp-border);border-radius:8px;background:#fff;color:var(--rsp-text);transition:border-color 0.2s; }
.rsp-field input:focus, .rsp-field select:focus, .rsp-field textarea:focus { outline:none;border-color:var(--rsp-indigo);box-shadow:0 0 0 3px rgba(5,150,105,0.1); }
.rsp-field-row { display:flex;gap:12px;margin-bottom:18px; }
.rsp-loading { color:var(--rsp-muted);font-size:14px;text-align:center;padding:20px; }
.rsp-sc-error { background:rgba(239,68,68,0.06);border:1px solid rgba(239,68,68,0.18);color:var(--rsp-red);font-size:13px;font-weight:600;padding:10px 16px;border-radius:8px;margin-bottom:18px; }

/* ================================================================== */
/*  MANAGE PAGE                                                        */
/* ================================================================== */

.rsp-sc-wrap { padding-top:64px; }
.rsp-sc-main { max-width:900px;margin:0 auto;padding:32px 24px; }

.rsp-sc-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:28px; }
.rsp-sc-header h1 { font-size:26px;font-weight:800;letter-spacing:-0.03em; }
.rsp-sc-header p { font-size:14px;color:var(--rsp-muted);margin-top:4px; }

.rsp-sc-card { background:var(--rsp-card);border:1px solid var(--rsp-border);border-radius:14px;padding:28px;box-shadow:0 1px 3px rgba(0,0,0,0.04);margin-bottom:24px; }
.rsp-sc-card h3 { font-size:18px;font-weight:700;margin-bottom:20px; }

/* Steps */
.rsp-sc-step { margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #f1f5f9; }
.rsp-sc-step:last-of-type { border-bottom:none; }
.rsp-sc-step h4 { font-size:14px;font-weight:700;color:var(--rsp-indigo);margin-bottom:14px; }
.rsp-sc-step__actions { display:flex;gap:12px;justify-content:flex-end; }

/* Dropzone */
.rsp-sc-dropzone { border:2px dashed var(--rsp-border);border-radius:12px;padding:40px;text-align:center;transition:border-color 0.3s,background 0.3s;cursor:pointer; }
.rsp-sc-dropzone:hover, .rsp-sc-dropzone--dragover { border-color:var(--rsp-indigo);background:rgba(5,150,105,0.03); }
.rsp-sc-dropzone__icon { font-size:48px;margin-bottom:12px; }
.rsp-sc-dropzone__sub { font-size:13px;color:var(--rsp-muted);margin:6px 0 16px; }
.rsp-sc-dropzone__preview { text-align:center; }
.rsp-sc-dropzone__preview video, .rsp-sc-dropzone__preview img { max-width:100%;max-height:300px;border-radius:10px; }
.rsp-sc-dropzone__preview .rsp-sc-file-info { margin-top:10px;font-size:13px;color:var(--rsp-muted); }
.rsp-sc-dropzone__progress { padding:20px; }
.rsp-sc-progress-bar { width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:8px; }
.rsp-sc-progress-fill { height:100%;background:linear-gradient(90deg,var(--rsp-indigo),var(--rsp-cyan));border-radius:3px;transition:width 0.3s; width:0%; }

/* Success / Links */
.rsp-sc-success { text-align:center; }
.rsp-sc-success__icon { font-size:48px;margin-bottom:12px; }
.rsp-sc-success h3 { margin-bottom:8px; }
.rsp-sc-links { text-align:left;margin-top:24px; }
.rsp-sc-link-box { margin-bottom:18px; }
.rsp-sc-link-box label { display:block;font-size:13px;font-weight:600;margin-bottom:6px; }
.rsp-sc-link-copy { display:flex;gap:8px; }
.rsp-sc-link-copy input { flex:1;font-family:var(--rsp-mono);font-size:13px;padding:10px 14px;border:1px solid var(--rsp-border);border-radius:8px;background:#f8fafc;color:var(--rsp-text); }
.rsp-sc-share-btns { display:flex;gap:10px;flex-wrap:wrap;margin-top:6px; }
.rsp-sc-share-btn { display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:8px 16px;border-radius:8px;text-decoration:none;color:#fff;transition:opacity 0.2s; }
.rsp-sc-share-btn:hover { opacity:0.85; }
.rsp-sc-share-btn--facebook { background:#1877F2; }
.rsp-sc-share-btn--twitter { background:#1DA1F2; }
.rsp-sc-share-btn--linkedin { background:#0A66C2; }
.rsp-sc-share-btn--whatsapp { background:#25D366; }
.rsp-sc-share-btn--email { background:#64748b; }
.rsp-sc-share-btn--copy { background:var(--rsp-indigo); }

/* Content List */
.rsp-sc-item { display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #f1f5f9;align-items:center; }
.rsp-sc-item:last-child { border-bottom:none; }
.rsp-sc-item__thumb { width:80px;height:56px;border-radius:8px;object-fit:cover;background:#e5e7eb;flex-shrink:0; }
.rsp-sc-item__thumb--video { position:relative; }
.rsp-sc-item__thumb--video::after { content:'▶';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;background:rgba(0,0,0,0.3);border-radius:8px; }
.rsp-sc-item__info { flex:1; }
.rsp-sc-item__title { font-weight:700;font-size:14px; }
.rsp-sc-item__meta { font-size:12px;color:var(--rsp-muted);margin-top:3px; }
.rsp-sc-item__stats { display:flex;gap:16px;text-align:right; }
.rsp-sc-item__stat-val { font-family:var(--rsp-mono);font-weight:700;font-size:13px; }
.rsp-sc-item__stat-label { font-size:10px;color:var(--rsp-muted);text-transform:uppercase; }
.rsp-sc-item__actions { display:flex;gap:8px; }
.rsp-sc-item__actions button { font-family:var(--rsp-font);font-size:11px;font-weight:600;padding:5px 12px;border-radius:6px;border:1px solid var(--rsp-border);background:#fff;color:var(--rsp-text);cursor:pointer; }
.rsp-sc-item__actions button:hover { border-color:var(--rsp-indigo);color:var(--rsp-indigo); }

/* Analytics */
.rsp-sc-analytics-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:20px; }
.rsp-sc-analytics-kpis { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px; }
.rsp-sc-analytics-kpi { background:#f8fafc;border:1px solid var(--rsp-border);border-radius:10px;padding:16px;text-align:center; }
.rsp-sc-analytics-kpi__val { font-family:var(--rsp-mono);font-size:22px;font-weight:800; }
.rsp-sc-analytics-kpi__label { font-size:11px;color:var(--rsp-muted);text-transform:uppercase;letter-spacing:0.05em;margin-top:4px; }

/* ================================================================== */
/*  LANDING PAGE                                                       */
/* ================================================================== */

body.rsp-sc-landing-page { background:#07070e;color:#fff; }

.rsp-sc-landing-empty { min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:16px;color:var(--rsp-muted); }
.rsp-sc-landing-empty a { color:var(--rsp-indigo); }

.rsp-sc-landing-nav { display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,0.06); }
.rsp-sc-landing-nav__logo { display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-weight:700;font-size:16px; }
.rsp-sc-landing-nav__icon { width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--rsp-indigo),var(--rsp-cyan));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px; }
.rsp-sc-landing-nav__tag { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.5);padding:4px 12px;border-radius:6px; }

.rsp-sc-landing-content { max-width:640px;margin:0 auto;padding:32px 20px 60px; }

.rsp-sc-landing-media { margin-bottom:24px;border-radius:14px;overflow:hidden;background:#111; }
.rsp-sc-landing-media video, .rsp-sc-landing-media img { width:100%;display:block;border-radius:14px; }
.rsp-sc-landing-media video { max-height:400px;object-fit:contain;background:#000; }

.rsp-sc-landing-product { background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:24px; }
.rsp-sc-landing-product__info { display:flex;gap:16px;margin-bottom:20px; }
.rsp-sc-landing-product__img { width:72px;height:72px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,0.1);flex-shrink:0; }
.rsp-sc-landing-product h2 { font-size:20px;font-weight:800;letter-spacing:-0.02em;margin-bottom:6px; }
.rsp-sc-landing-product__desc { font-size:14px;color:rgba(255,255,255,0.45);line-height:1.55;margin-bottom:8px; }
.rsp-sc-landing-product__name { font-size:14px;font-weight:600;color:rgba(255,255,255,0.7); }
.rsp-sc-landing-product__price { font-family:var(--rsp-mono);font-size:20px;font-weight:800;color:#fff;margin-top:6px; }

.rsp-sc-cta-btn { font-size:16px;padding:14px 32px;margin-top:8px; }

/* ---- QR Code ---- */
.rsp-sc-qr-display { text-align:center; }
.rsp-sc-qr-img-wrap { display:inline-block;background:#fff;padding:16px;border-radius:12px;border:1px solid var(--rsp-border);box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.rsp-sc-qr-img { width:200px;height:200px;display:block; }
.rsp-sc-qr-url { margin-top:10px; }
.rsp-sc-qr-url code { font-size:10px;color:var(--rsp-muted);word-break:break-all;background:#f8fafc;padding:4px 8px;border-radius:4px;display:inline-block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.rsp-sc-qr-actions { display:flex;gap:8px;justify-content:center; }

/* ---- Modal ---- */
.rsp-sc-modal-overlay { position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px); }
.rsp-sc-modal { background:#fff;border-radius:16px;padding:28px;max-width:400px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.2);position:relative; }
.rsp-sc-modal__header { display:flex;justify-content:space-between;align-items:center;margin-bottom:20px; }
.rsp-sc-modal__header h3 { font-size:18px;font-weight:700;margin:0; }
.rsp-sc-modal__close { background:none;border:none;font-size:20px;cursor:pointer;color:var(--rsp-muted);padding:4px;line-height:1; }
.rsp-sc-modal__close:hover { color:var(--rsp-text); }
.rsp-sc-qr-modal-content { text-align:center; }

/* ---- Responsive ---- */
@media (max-width:768px) {
    .rsp-sc-main { padding:24px 16px; }
    .rsp-sc-header { flex-direction:column;gap:12px;align-items:flex-start; }
    .rsp-sc-item { flex-direction:column;align-items:flex-start; }
    .rsp-sc-item__stats { margin-top:8px; }
    .rsp-sc-analytics-kpis { grid-template-columns:repeat(2,1fr); }
    .rsp-sc-landing-product__info { flex-direction:column; }
}
