/* ═══════════════════════════════════════════════════════════════════════════
   LAYER 3 CO-LOCATED STYLES: UserPortalViews (`components/user/UserPortalViews.css`)
   Subscriptions, Language Cards, User Logs, Support Desk & Profile
   ═══════════════════════════════════════════════════════════════════════════ */

.page-section {
  padding: 20px;
}

.lang-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 10px;
}

.lang-choice-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
}

.lang-choice-card:hover {
  border-color: var(--border-strong);
  background: rgba(255, 255, 255, 0.06);
}

.lang-choice-card.active {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.lang-choice-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.lang-choice-name {
  font-size: 13px;
  font-weight: 700;
}

.lang-choice-code {
  font-size: 11px;
  color: var(--text-muted);
  font-family: var(--font-mono);
}

.lang-choice-check {
  color: var(--accent);
}

.sub-category-box {
  padding: 15px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  transition: border-color 0.15s ease;
}

.sub-category-box:hover {
  border-color: var(--border-strong);
}

.sub-cat-icon-badge {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--bg-surface-solid);
  border: 1px solid var(--border-subtle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

@media (max-width: 860px) {
  .page-section {
    padding: 14px;
  }
}
