:root { --soultrob-sidebar-width: 0px; }

@media (min-width: 768px) {
  body.main-content-offset {
    transition: padding-left 180ms ease;
    padding-left: calc(var(--soultrob-sidebar-width, 0px) + 16px);
  }
}

.soultrob-sidebar--overlay { position: fixed; left: 0; }

/* fallback when Alpine missing */
.soultrob-mobile-open .soultrob-sidebar {
  transform: translateX(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Moodboard + Search specific */
:root {
  --mb-radius: 18px;
  --mb-gap: 22px;
  --mb-card-bg: rgba(255,255,255,0.96);
}
.page-moodboard { --primary-gap: 22px; }
.moodboard-main {
  max-width: 1200px;
  margin: 36px auto;
  padding: 24px;
  position: relative;
  z-index: 2;
}

/* topbar */
.moodboard-topbar {
  display:flex;
  align-items:center;
  gap:16px;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:12px;
}

/* Home button */
.home-btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(15,23,42,0.06);
  box-shadow: 0 8px 28px rgba(2,6,23,0.04);
  text-decoration:none;
  color: var(--fg-1, #0f172a);
  transition: transform .12s ease, box-shadow .12s ease;
}
.home-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 40px rgba(2,6,23,0.06); }

/* grid + cards */
.mood-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--mb-gap); margin-top: 18px; }
.mb-card { position:relative; border-radius:var(--mb-radius); overflow:hidden; min-height:360px; background: var(--mb-card-bg); box-shadow: 0 16px 46px rgba(8,12,20,0.06); cursor:pointer; display:flex; flex-direction:column; justify-content:space-between; padding:16px; transition: transform .18s ease, box-shadow .18s ease; text-decoration:none; color:inherit; }
.mb-card:hover { transform: translateY(-6px); box-shadow: 0 28px 70px rgba(8,12,20,0.10); }

.mb-images { display:flex; gap:10px; justify-content:center; padding-top:6px; }
.mb-images img { width:48%; height:220px; object-fit:cover; border-radius:12px; display:block; }

/* responsive */
@media (max-width: 840px) {
  .mb-images img { height:150px; }
  .mb-card { min-height:300px; }
}


.badge-icon {
  width: 14px;
  height: 14px;
  object-fit: contain;
  flex-shrink: 0;
  opacity: 0.85;
  vertical-align: middle;
}

.badge-name {
  font-size: 0.65rem;
  font-weight: 500;
  color: #64748b; /* slate-500-ish */
  line-height: 1;
}

.badge-progress-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px 16px;
  max-width: 420px;
}

.badge-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.badge-current {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.badge-current img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.badge-next {
  text-align: right;
  font-size: 12px;
  color: var(--text-muted);
}

.badge-next .badge-name {
  display: block;
  font-weight: 600;
  color: var(--text-secondary);
}

.badge-progress-bar {
  position: relative;
  height: 8px;
  background: var(--input-bg);
  border-radius: 999px;
  overflow: hidden;
}

.badge-progress-fill {
  height: 100%;
  background: linear-gradient(
    90deg,
    var(--accent-purple),
    var(--accent-pink)
  );
  border-radius: inherit;
  transition: width 0.4s ease;
}

.badge-progress-meta {
  margin-top: 6px;
  font-size: 12px;
  color: var(--text-muted);
}
