
/* La Bolsa HN v2 - Light default + Dark toggle */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --lb-blue: #2563eb;
  --lb-dark: #0b1018;
  --lb-radius: 1.25rem;
  --bg-outer: #f6f8ff;
  --bg-main: rgba(255,255,255,0.88);
  --text-main: #0f172a;
  --muted: #6b7280;
  --chip-bg: rgba(255,255,255,0.75);
  --chip-text: #0f172a;
  --chip-border: #cbd5e1;
  --card-bg: rgba(255,255,255,0.9);
  --card-border: #e2e8f0;
  --social-bg: #eef2ff;
  --social-border: #cbd5e1;
  --vote-bg: #f1f5f9;
  --vote-text: #0f172a;
  --footer-text: #64748b;
}

.theme-dark{
  --bg-outer: radial-gradient(circle at 10% 20%, #0e1729 0, #0a0f1c 45%, #05070d 100%);
  --bg-main: #0d1118;
  --text-main: #e5e7eb;
  --bs-secondary-color: #ffffff;
  --muted: #cbd5e1;
  --chip-bg: rgba(15,23,42,0.65);
  --chip-text: #e2e8f0;
  --chip-border: #334155;
  --card-bg: rgba(17,19,24,0.9);
  --card-border: #1f2937;
  --social-bg: #0b1220;
  --social-border: #22304a;
  --vote-bg: #0b1220;
  --vote-text: #ffffff;
  --footer-text: #9aa4b2;
}

.header-glass { background: rgba(255,255,255,.22)!important; backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.25); box-shadow: 0 10px 30px rgba(15,23,42,.07); }
body { background: var(--bg-outer); color: var(--text-main); font-family: "Space Grotesk", Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
body:not(.theme-dark){ background: radial-gradient(circle at 20% 20%, #e5edff, #f6f8ff 35%, #f5f7fb 100%); }
.main-wrap { background: var(--bg-main); border-radius: var(--lb-radius); box-shadow: 0 20px 60px rgba(15,23,42,.1); color: var(--text-main); border: 1px solid rgba(148,163,184,.25); }
.letter-space-1{ letter-spacing:.08em; }

/* Search */
#searchInput { border-radius: 18px !important; padding: 0.85rem 1rem; border:1px solid #d9e0ec; box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.input-group .input-group-text { background:transparent; border:1px solid #d9e0ec; border-left:0; border-radius:0 18px 18px 0!important; }

/* Filters */
.filter-chip .form-select { border-radius:16px; background:var(--chip-bg); color:var(--chip-text); border:1px solid var(--chip-border); box-shadow: 0 10px 30px rgba(15,23,42,.05); }
.filter-chip .form-select:focus { box-shadow:0 0 0 .35rem rgba(37,99,235,.18); }

/* Cards */
.profile-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:1.25rem; color:var(--text-main); transition:.2s; box-shadow: 0 20px 40px rgba(15,23,42,.08); }
.profile-card.is-clickable { cursor:pointer; }
.rating-picker { display:flex; gap:.35rem; }
.rating-star { background:transparent; border:0; padding:0; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; }
.rating-star svg { width:24px; height:24px; }
.rating-star svg path { fill:transparent; stroke:#64748b; stroke-linejoin:round; stroke-linecap:round; stroke-width:1.5; }
.rating-star.is-active svg path { fill:#ffc107; stroke:#ffc107; }
.profile-card:hover { transform: translateY(-4px) scale(1.01); box-shadow:0 28px 60px rgba(15,23,42,.14); }
.profile-card .card-img-top { border-top-left-radius:1.25rem; border-top-right-radius:1.25rem; height:168px; object-fit:cover; background:linear-gradient(135deg,#dbeafe,#e0f2fe); }
.hire-btn { border-radius:14px; font-weight:700; letter-spacing:.01em; padding:.65rem 1rem; box-shadow:0 12px 30px rgba(37,99,235,.25); }
.btn-primary { background:linear-gradient(120deg, #2563eb, #4f46e5); border:1px solid #2563eb; }
.btn-primary:hover { background:linear-gradient(120deg, #1d4ed8, #4338ca); }
.btn-outline-secondary { border-radius:14px; }

/* Rounded stars */
.star{ width:18px; height:18px; margin-right:2px; display:inline-block; }
.star svg{ display:block; filter: drop-shadow(0 1px 0 rgba(0,0,0,.05)); }

/* Modal */
.modal-content{ border-radius:1.25rem; overflow:hidden; }
.carousel-item img{ border-radius:1rem; }

/* Pagination */
.pagination .page-link{ border-radius:.75rem!important; border-color:var(--chip-border); color:var(--text-main); }
.pagination .page-item.active .page-link{ background:var(--lb-blue); border-color:var(--lb-blue); }

/* Footer */
.site-footer{ color:var(--footer-text); }

/* Social pills */
.social-pill{ width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--social-bg);color:#111827;border:1px solid var(--social-border); }
.social-pill:hover{ background:#e2e8f0; }

/* Voting */
.vote-btn{ border-radius:999px;border:1px solid var(--social-border);background:var(--vote-bg);color:var(--vote-text);padding:.5rem .75rem; }
.vote-btn.active{ background:var(--lb-blue);color:#fff;border-color:var(--lb-blue); }
.vote-count{ min-width:2ch;display:inline-block;text-align:right; }

.feedback-block{ background:rgba(148,163,184,.08); border:1px solid rgba(148,163,184,.2); border-radius:1rem; padding:1rem; }
.theme-dark .feedback-block{ background:rgba(148,163,184,.06); border-color:rgba(148,163,184,.25); }

/* Mobile filters two columns */
@media (max-width: 767.98px){ .filters-row{ gap:.75rem!important; } }
