/* Profile View CSS - Styles specific to profile/view.php */

/* ============================================
   Profile Header
   ============================================ */
.profile-header {
  display: flex;
  align-items: stretch;
  gap: var(--spacing-lg);
  padding: var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg);
  position: relative;
  /* Säkerställ att tabs alltid hamnar under profilbilden (192px + padding + tabs-höjd + extra utrymme) */
  min-height: calc(192px + var(--spacing-lg) + 80px);
}

.profile-edit-btn {
  position: absolute;
  top: var(--spacing-md);
  right: var(--spacing-md);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  color: var(--color-text);
  text-decoration: none;
  transition: all 0.2s ease;
  z-index: 10;
}

.profile-edit-btn:hover {
  background: rgba(0, 0, 0, 0.15);
  transform: scale(1.05);
}

.profile-edit-icon {
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: -0.2em;
  transform: rotate(90deg);
}

/* Hide mobile edit button on desktop */
.btn-edit-mobile {
  display: none;
}

/* Show desktop edit button on desktop */
.btn-edit-desktop {
  width: 60%;
  margin: 0 auto;
  display: block;
}

/* ============================================
   Profile Header Layout - Left, Center, Right
   ============================================ */
.ph-left {
  flex-shrink: 0;
}

.ph-center {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 192px; /* Match avatar height */
  align-self: stretch;
  position: relative;
  padding-bottom: 0; /* No padding needed since tabs are now outside */
}

/* När foldout cards finns, lägg till space ovanför tabs */
.ph-center:has(.overview-foldout-card) {
  padding-bottom: calc(2px + var(--spacing-xs) + 1.5rem + calc(var(--spacing-sm) * 1.5) + var(--spacing-sm)); /* Less space before navigation */
}

/* Add space above navigation when there are foldout cards - increase margin on last element */
.ph-center:has(.overview-foldout-card) .overview-foldout-card:last-of-type {
  margin-bottom: var(--spacing-sm); /* Less space between description and navigation */
}

/* Spacer för att pusha tabs till botten */
.ph-center > .description-spacer {
  flex: 1 1 auto;
  min-height: 0;
}

/* Tabs längst ner i hela kortet - ALLTID slickat mot nedre kanten */
.profile-header > .profile-header-tabs-desktop {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 2px 2px 0 var(--spacing-md);
  display: flex;
  width: 100%;
  justify-content: flex-start; /* Align tabs to left */
  border-top: 1px solid var(--color-border);
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-radius: 0;
  overflow: hidden;
  background: rgba(30, 30, 30, 0.08);
  backdrop-filter: blur(8px);
}

.profile-header > .profile-header-tabs-desktop .tab-link {
  flex: 0 0 auto; /* Don't grow, don't shrink, auto width */
  text-align: left;
  padding-left: var(--spacing-lg);
  padding-right: var(--spacing-lg);
  min-width: auto;
}

/* Legacy support for tabs inside ph-center (should not be used anymore) */
.ph-center > .profile-header-tabs {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 2px 2px 0 2px;
  display: flex;
  width: 100%;
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  border-bottom: none;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  overflow: hidden;
  background: rgba(30, 30, 30, 0.08);
  backdrop-filter: blur(8px);
}

/* Ta bort extra space från tab-links i profile-header */
.ph-center > .profile-header-tabs .tab-link {
  margin-bottom: 0;
}

/* Ta bort padding-bottom från card för profile-header */
.profile-header.card {
  padding-bottom: 0;
  margin-bottom: calc(var(--spacing-lg) * 0.7); /* 30% mindre space */
}

/* Tabs för mobil och desktop */
/* Dölj mobil-tabs på desktop */
.profile-header-tabs-mobile {
  display: none;
}

/* Visa desktop-tabs på desktop */
.profile-header-tabs-desktop {
  display: flex;
}

.ph-right {
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  min-width: 120px;
  max-width: 25%;
  padding-bottom: var(--spacing-lg);
}

/* ============================================
   Profile Quick Actions (Modern Icon Buttons)
   ============================================ */
.profile-quick-actions {
  display: flex;
  gap: 0.4rem;
}

.profile-quick-actions form {
  margin: 0;
}

.quick-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 1px solid var(--color-border, #404040);
  border-radius: 4px;
  color: var(--color-text);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
}

.quick-action-btn:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--color-primary, #06b6d4);
}

.quick-action-icon {
  font-size: 1rem;
  line-height: 1;
}

.quick-action-label {
  display: none;
}

/* Friend states */
.quick-action-pending {
  opacity: 0.7;
  border-style: dashed;
}

.quick-action-incoming {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.5);
}

.quick-action-incoming:hover {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgb(34, 197, 94);
}

.quick-action-friends {
  background: rgba(6, 182, 212, 0.1);
  border-color: rgba(6, 182, 212, 0.3);
  cursor: default;
}

.quick-action-friends:hover {
  transform: none;
}

.quick-action-message {
  background: rgba(6, 182, 212, 0.1);
  border-color: rgba(6, 182, 212, 0.3);
}

.quick-action-message:hover {
  background: rgba(6, 182, 212, 0.2);
  border-color: var(--color-primary, #06b6d4);
}

/* Message restricted notice */
.profile-message-restricted {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-radius: 8px;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  margin-top: 0.5rem;
}

.profile-message-restricted .restricted-icon {
  flex-shrink: 0;
}

.profile-message-restricted .restricted-text {
  line-height: 1.4;
}

/* Blocked badge */
.profile-blocked-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 8px;
  color: var(--color-danger, #ef4444);
  font-size: 0.85rem;
  font-weight: 500;
  margin-top: 0.5rem;
}

/* ============================================
   Profile Content
   ============================================ */
.profile-content {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.profile-content > .mt-6:first-of-type {
  margin-top: 0.9rem; /* 40% reduction from 1.5rem */
  padding-left: var(--spacing-md);
}

.profile-content .description-title + .tags-row,
.profile-content .description-title + .social-links {
  margin-top: var(--spacing-xs);
}

/* Padding till vänster på "Sociala medier" rubriken */
.profile-content .description-title:has(+ .social-links) {
  padding-left: var(--spacing-md);
}

/* Social media links styling */
.profile-content .social-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  align-items: center;
  padding-left: var(--spacing-md);
}

.profile-content .social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 4px;
  border-radius: var(--border-radius-sm);
  transition: background-color 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}

.profile-content .social-link:hover {
  background-color: rgba(6, 182, 212, 0.15);
  transform: scale(1.1);
}

.profile-content .social-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Remove hover and click functionality for tags in profile view */
.profile-content .tag {
  cursor: default;
  pointer-events: none;
}

.profile-content .tag:hover {
  background: rgba(6, 182, 212, 0.15);
  border-color: rgba(6, 182, 212, 0.3);
  transform: none;
}

/* Remove hover effects from prefs-tag - they are not clickable */
.profile-content .tag.prefs-tag:hover {
  background: rgba(6, 182, 212, 0.15);
  border-color: rgba(6, 182, 212, 0.3);
  transform: none;
  box-shadow: none;
  cursor: default;
}

/* Hide × buttons on interest tags in profile view (read-only) */
.profile-content .tag.interest-tag .tag-remove,
.tags-row .tag.interest-tag .tag-remove {
  display: none !important;
}

/* Hide × symbols added via ::after on interest tags */
.profile-content .tag.interest-tag::after,
.tags-row .tag.interest-tag::after {
  display: none !important;
  content: none !important;
}

/* Ensure interest tags don't have remove functionality in view mode */
.profile-content .tag.interest-tag,
.tags-row .tag.interest-tag {
  cursor: default;
  pointer-events: none;
}

/* Hide × symbols on seeking tags in profile view (read-only) */
.profile-content .seeking-tag::after,
.tags-row .seeking-tag::after {
  display: none !important;
  content: none !important;
}

/* Ensure seeking tags don't have remove functionality in view mode */
.profile-content .seeking-tag,
.tags-row .seeking-tag {
  cursor: default;
  pointer-events: none;
}

/* ============================================
   Avatar and Status
   ============================================ */
.avatar-with-status {
  position: relative;
  display: inline-block;
}

.avatar-xl {
  width: 192px;
  height: 192px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--color-primary);
}

/* ============================================
   Profile Name and Meta
   ============================================ */
.profile-name-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: 0;
}

/* When foldout cards are used, profile-meta-line should be directly under username */
.ph-center:has(.overview-foldout-card) .profile-name-row {
  margin-bottom: 0;
}

.ph-center:has(.overview-foldout-card) .profile-meta-line {
  margin-top: 0;
  margin-bottom: var(--spacing-sm);
}

.username {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-text);
}

.profile-badges {
  display: flex;
  gap: var(--spacing-xs);
}

.pro-badge, .admin-badge, .verified-badge, .email-verified-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  background: rgba(128, 128, 128, 0.15);
  color: var(--color-text);
  font-size: 0.95rem;
  font-weight: bold;
  box-sizing: border-box;
}

.pro-badge,
.admin-badge,
.verified-badge {
  line-height: 0;
}

.pro-badge svg,
.admin-badge svg,
.verified-badge svg {
  display: block;
  width: 23px;
  height: 23px;
  flex-shrink: 0;
}

.profile-meta-line {
  color: var(--color-text-light);
  font-size: 0.9rem;
  margin-top: 0;
  margin-bottom: var(--spacing-sm);
}

/* When foldout cards are used, add more space after meta-line */
.ph-center:has(.overview-foldout-card) .profile-meta-line {
  margin-bottom: var(--spacing-md);
}

/* ============================================
   Description Spacer and Title
   ============================================ */
.description-spacer {
  flex: 1;
}

/* When foldout cards are present, don't let spacer push content down */
.ph-center:has(.overview-foldout-card) .description-spacer {
  flex: 0;
  min-height: 0;
}

.description-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #d5d5d5; /* Slightly darker than --color-text */
  margin: 0.5rem 0 var(--spacing-xs) 0;
}

/* When description-title is used for foldout cards, reduce spacing */
.ph-center .description-title:first-of-type {
  margin-top: var(--spacing-xs);
}

/* ============================================
   Description Bottom
   ============================================ */
.description-bottom {
  margin-top: var(--spacing-xs);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 95%;
  padding-left: 1.5%; /* Add 1-2% padding-left */
}

.description-bottom .meta {
  display: inline-block;
  margin-bottom: 0.7rem;
  margin-right: 0.46rem;
  white-space: nowrap;
  font-size: 0.9rem;
  vertical-align: baseline;
}

.description-bottom .person-name {
  margin-bottom: 0.2rem;
}

.description-bottom .person-name ~ .meta:not(.meta-languages) {
  margin-bottom: 0.7rem;
}

.description-bottom .person-name ~ .meta:not(.meta-languages):first-of-type {
  margin-top: 0;
}

.description-bottom .meta-languages {
  display: block;
  width: 100%;
  white-space: normal;
  margin-top: 0;
}

.person-name {
  display: block;
  width: 100%;
  font-weight: 600;
  margin-bottom: 0.045rem;
  margin-top: var(--spacing-md);
  color: var(--color-text);
}

.person-name:first-child {
  margin-top: 0;
}

.person-description {
  color: var(--color-text-light);
  font-size: 0.9rem;
  line-height: 1.4;
}

.meta {
  color: var(--color-text-light);
  font-size: 0.85rem;
  margin-bottom: var(--spacing-xs);
}

/* ============================================
   Overview Foldout Card
   ============================================ */
.overview-foldout-card {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--border-radius);
  background: rgba(255, 255, 255, 0.02);
  margin-top: var(--spacing-sm);
  overflow: hidden;
}

/* Spacing when description-title is above foldout cards */
.description-title + .overview-foldout-card {
  margin-top: calc(var(--spacing-xs) * 0.5);
}

/* When description-title is first child after spacer, remove its top margin */
.ph-center .description-spacer + .description-title {
  margin-top: 0;
}

.overview-foldout-card summary {
  list-style: none;
}

.overview-foldout-card summary::-webkit-details-marker {
  display: none;
}

.overview-foldout-toggle {
  width: 100%;
  padding: calc(var(--spacing-sm) * 0.8) var(--spacing-md);
  background: transparent;
  border: none;
  color: var(--color-text);
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color 0.2s ease;
}

.overview-foldout-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
}

.overview-foldout-toggle .toggle-icon {
  transition: transform 0.2s ease;
  font-size: 0.875rem;
  opacity: 0.7;
}

.overview-foldout-card[open] .overview-foldout-toggle .toggle-icon {
  transform: rotate(180deg);
}

.overview-foldout-content {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: var(--spacing-md);
  padding-top: var(--spacing-md);
  padding-left: calc(var(--spacing-md) + 1.5%); /* Add 1-2% padding-left */
  padding-bottom: var(--spacing-md);
  padding-right: var(--spacing-md);
}

/* Spacing between multiple foldout cards (for couple profiles) */
.overview-foldout-card + .overview-foldout-card {
  margin-top: var(--spacing-sm);
}

/* Extra space between last foldout card and tabs for couple profiles */
.couple-profile .overview-foldout-card:last-of-type {
  margin-bottom: var(--spacing-md);
}

/* Increase padding-bottom for couple profiles to accommodate tabs */
.couple-profile .ph-center:has(.overview-foldout-card) {
  padding-bottom: calc(2px + var(--spacing-xs) + 1.5rem + calc(var(--spacing-sm) * 1.5) + var(--spacing-sm)); /* Add space before navigation */
}

/* Single profile: show content directly on desktop, foldout on mobile */
@media (min-width: 769px) {
  .overview-foldout-single {
    border: none;
    background: transparent;
    margin-top: 0;
  }
  
  .overview-foldout-single summary {
    display: none;
  }
  
  .overview-foldout-single .overview-foldout-content {
    border-top: none;
    padding-top: 0;
    padding-left: calc(var(--spacing-md) + 1.5%); /* Add 1-2% padding-left */
    padding-right: var(--spacing-md);
    padding-bottom: var(--spacing-sm); /* Less space at bottom */
    margin-bottom: 0; /* Remove margin, spacing handled by parent */
    display: block !important;
  }
  
  /* Ensure details is always open on desktop for single profiles */
  .overview-foldout-single[open] {
    display: block;
  }
  
  .overview-foldout-single:not([open]) {
    display: block;
  }
}

/* ============================================
   Profile Actions Dropdown
   ============================================ */
/* Top action bar container */
.profile-top-actions {
  position: absolute;
  top: var(--spacing-md);
  right: var(--spacing-md);
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.profile-top-actions form {
  margin: 0;
}

.profile-top-actions .profile-actions-dropdown {
  position: relative;
  z-index: 1001;
}

/* Allow dropdown menu to overflow card container */
.profile-header-modern.card,
.profile-view-hero.profile-header-modern {
  overflow: visible;
}

.profile-actions-toggle {
  background: transparent;
  border: 1px solid var(--color-border, #404040);
  border-radius: 4px;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  color: var(--color-text);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  width: 36px;
  height: 36px;
}

.profile-actions-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--color-primary, #06b6d4);
}

.profile-actions-icon {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: bold;
}

.profile-actions-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 0.5rem;
  background: var(--color-surface, #1a1a1a);
  border: 1px solid var(--color-border, #404040);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  min-width: 180px;
  display: none;
  z-index: 1000;
  overflow: hidden;
}

.profile-actions-dropdown-top-right.open .profile-actions-menu,
.profile-actions-dropdown.open .profile-actions-menu,
.profile-top-actions .profile-actions-dropdown.open .profile-actions-menu {
  display: block !important;
}

.profile-actions-menu a,
.profile-actions-menu form {
  display: block;
  border-bottom: 1px solid var(--color-border, #404040);
}

.profile-actions-menu a:last-child,
.profile-actions-menu form:last-child {
  border-bottom: none;
}

.profile-actions-menu .profile-action-link {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.03);
  border: none;
  color: var(--color-text);
  text-align: left;
  cursor: pointer;
  font-size: 0.9rem;
  font-family: inherit;
  transition: background 0.2s ease;
  text-decoration: none;
  white-space: nowrap;
}

.profile-actions-menu .profile-action-link:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-primary, #06b6d4);
}

.profile-actions-menu .profile-action-link-danger {
  color: var(--color-danger, #ef4444);
}

.profile-actions-menu .profile-action-link-danger:hover {
  background: rgba(239, 68, 68, 0.1);
  color: var(--color-danger, #ef4444);
}

/* ============================================
   Gallery Create Action
   ============================================ */
/* Remove top padding from tab-body when gallery tab is active */
.tab-body:has(.gallery-header-actions),
.tab-body:has(.gallery-create-action) {
  padding-top: 0 !important;
}

.gallery-create-action {
  margin-top: 0.56rem;
  margin-bottom: 1rem;
  text-align: right;
}

.gallery-create-action .btn {
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.2), rgba(157, 78, 221, 0.2));
  border: 1px solid transparent;
  background-image: linear-gradient(rgba(20, 20, 20, 0.6), rgba(20, 20, 20, 0.6)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.3), rgba(157, 78, 221, 0.3));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.gallery-create-action .btn:hover {
  background-image: linear-gradient(rgba(30, 30, 30, 0.8), rgba(30, 30, 30, 0.8)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.5), rgba(157, 78, 221, 0.5));
  box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.2),
    0 4px 12px rgba(6, 182, 212, 0.2);
  transform: translateY(-2px);
}

.gallery-header-actions {
  margin-top: 10px;
  margin-bottom: 8px;
  align-items: center;
  max-width: 90%;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.gallery-header-actions .gallery-album-title {
  margin: 0;
  flex: 1;
  text-align: center;
  font-size: 1.25rem;
}

/* ============================================
   Gallery Album Header
   ============================================ */
.gallery-album-header-wrapper {
  width: 100%;
  margin-bottom: 0;
  position: relative;
  flex-basis: 100%;
  order: -1;
}

/* Hide mobile back button on desktop */
.gallery-back-btn-mobile {
  display: none;
}

.gallery-album-header {
  margin-bottom: 0;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  position: relative;
}

.gallery-album-header > div {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
  align-items: center;
}

.gallery-album-header > div:last-child {
  margin-left: auto;
}

.gallery-album-title-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  position: absolute;
  left: 20%;
  right: 20%;
  width: 60%;
}

.gallery-album-title-container > a:first-child {
  margin-right: auto;
}

.gallery-album-title-container > a:last-child {
  margin-left: auto;
}

.gallery-album-header .gallery-album-title {
  margin: 0;
  font-size: 1.25rem;
  text-align: center;
  flex: 0 0 auto;
}

/* Albumnavigering: ikonknappar (pil v/h) */
.gallery-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.gallery-nav-btn .gallery-nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.gallery-nav-btn .gallery-nav-icon svg {
  display: block;
}

/* Dropdown in gallery-album-header */
.media-actions-dropdown-top-right {
  position: relative;
  z-index: 10;
}

/* Diary entry single view — compact toolbar + standard back chrome */
.diary-entry-view .gallery-album-header-wrapper {
  margin-bottom: 0;
  padding: 0;
}

.diary-entry-view .diary-entry-toolbar-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}

.diary-entry-view .diary-entry-toolbar-menu {
  margin-left: auto;
  flex-shrink: 0;
}

.diary-entry-view .diary-entry-toolbar-inner .gallery-edit-chrome-icon,
.diary-entry-view .diary-entry-toolbar-inner .community-form-back {
  flex-shrink: 0;
}

.diary-entry-view .gallery-edit-chrome-icon {
  color: var(--color-text-muted);
  flex-shrink: 0;
}

.diary-entry-view .gallery-edit-chrome-icon:hover {
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.06);
}

.diary-entry-view .media-viewer-content {
  margin-top: 0.5rem;
}

.diary-entry-view .media-viewer-left .subcard:has(.diary-entry-body) {
  margin-top: 0;
}

.diary-entry-view .media-viewer-right {
  margin-top: 0;
}

@media (max-width: 768px) {
  .diary-entry-view .gallery-album-header-wrapper {
    padding: 0 !important;
    margin-bottom: 0 !important;
  }

  .diary-entry-view .diary-entry-toolbar-inner {
    flex-wrap: nowrap;
  }

  .diary-entry-view .media-viewer-content {
    margin-top: 0.375rem;
  }
}

/* ============================================
   Media Viewer
   ============================================ */
/* Media viewer container - 90% width, 100% on mobile */
#media-viewer {
  max-width: 90%;
  width: 90%;
  margin: 0 auto;
}

.media-viewer-layout {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
  width: 100%;
  box-sizing: border-box;
}

.media-viewer-layout > .gallery-album-header-wrapper {
  width: 100%;
}

.media-viewer-content {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  width: 100%;
  align-items: flex-start;
  margin-top: var(--spacing-lg);
}

.media-viewer-left {
  flex: 1.2075;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.media-viewer-right {
  flex: 0.7925;
  min-width: 0;
  position: relative;
}

/* Make subcard with media-strip same width as media-viewer-left */
.media-viewer-left .subcard:has(.media-strip) {
  max-width: 100%;
  width: 100%;
  margin: 0 0 1rem 0;
}

/* ============================================
   Media Strip and Thumbnails
   ============================================ */
.media-strip {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.5rem 0;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}

.thumb-btn {
  flex-shrink: 0;
  flex-grow: 0;
  width: 80px !important;
  height: 80px !important;
  min-width: 80px;
  max-width: 80px;
  padding: 0;
  border: 1px solid var(--color-border, #404040);
  border-radius: 4px;
  background: transparent;
  transition: border-color 0.2s ease;
  cursor: pointer;
  overflow: hidden;
  box-sizing: border-box;
}

.thumb-btn.active {
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 4px;
}

.thumb-btn .thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.thumb-video-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
}

/* Profil → galleri (albumvy): mindre luft kring miniatyrstrip */
.profile-view-gallery-tab #media-viewer .media-viewer-content {
  margin-top: 0.4rem;
  gap: 1rem;
}

.profile-view-gallery-tab #media-viewer .media-viewer-left .subcard:has(.media-strip) {
  margin: 0 0 0.3rem 0;
  padding: 0.3rem 0.4rem;
}

.profile-view-gallery-tab #media-viewer .media-strip {
  padding: 0.1rem 0;
  gap: 0.35rem;
}

.profile-view-gallery-tab #media-viewer .media-stage {
  margin-top: 0;
}

/* Gallerikommentarer: tight mot reaktionsraden (inga reaktioner / lista) */
.profile-view-gallery-tab .profile-gallery-comments-wrap {
  margin-top: 0.45rem;
}

.profile-view-gallery-tab #media-reactions-agg .meta {
  margin-bottom: 0;
}

/* Kommentar: överstyr components.css textarea { min-height: 120px } — ingen ändring i legacy.css */
.profile-view-gallery-tab textarea.profile-gallery-comment-input {
  display: block;
  width: 100%;
  margin-bottom: 0.35rem;
  min-height: 2.75rem !important;
  max-height: 8rem;
  padding: 0.35rem 0.55rem !important;
  line-height: 1.35 !important;
  resize: none !important;
  overflow-y: hidden;
  box-sizing: border-box !important;
}

.profile-view-gallery-tab .profile-gallery-comment-form .profile-gallery-comment-submit {
  margin-top: 0;
}

/* ============================================
   Media Stage
   ============================================ */
.media-stage {
  max-width: 100%;
  max-height: 600px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(20, 20, 20, 0.6);
  border: 1px solid transparent;
  background-image: linear-gradient(rgba(20, 20, 20, 0.6), rgba(20, 20, 20, 0.6)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.1), rgba(157, 78, 221, 0.1));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  position: relative;
}

.media-stage::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.02) 0%, 
    transparent 50%,
    rgba(157, 78, 221, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
  border-radius: 8px;
}

.media-stage:hover::before {
  opacity: 1;
}

.stage-img {
  max-width: 100%;
  max-height: 600px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.stage-video {
  max-width: 100%;
  max-height: 600px;
  width: auto;
  height: auto;
  display: block;
}

/* ============================================
   Media Info Section
   ============================================ */
.media-info-section {
  margin-top: 3.58rem; /* Increased by 15% from 3.11rem */
  margin-bottom: 1rem;
  padding: var(--spacing-md);
  padding-top: 0.85rem; /* Reduced by 20% from 1.06rem */
  border: 1px solid transparent;
  background: rgba(20, 20, 20, 0.6);
  background-image: linear-gradient(rgba(20, 20, 20, 0.6), rgba(20, 20, 20, 0.6)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.1), rgba(157, 78, 221, 0.1));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 8px;
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.media-info-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.02) 0%, 
    transparent 50%,
    rgba(157, 78, 221, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
  border-radius: 8px;
}

.media-info-section:hover::before {
  opacity: 1;
}

.media-info-section > * {
  position: relative;
  z-index: 1;
}

.media-info-section .media-title {
  margin: 0 0 0.5rem 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  background: linear-gradient(135deg, var(--color-text) 0%, var(--color-text-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.01em;
}

.media-info-section .media-description {
  margin: 0 0 0.5rem 0;
  padding-left: 0.5rem; /* Additional 2% padding-left on description */
  font-size: 1.08rem;
  line-height: 1.5;
  color: var(--color-text-muted, #999);
}

.media-info-section .media-tags {
  margin: 0.75rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.media-info-section .media-tags .gallery-tag {
  cursor: default;
  pointer-events: none;
  font-size: 0.7875rem; /* 10% smaller than default 0.875rem */
  padding: calc(var(--spacing-xs) * 0.81) calc(var(--spacing-md) * 0.81); /* 10% less padding */
}

.media-info-section .media-tags .gallery-tag::after {
  display: none; /* Remove × button in view mode */
}

/* Diary entry tags in media-viewer-left - same styling as media-info-section */
.media-viewer-left .media-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.media-viewer-left .media-tags .gallery-tag {
  cursor: default;
  pointer-events: none;
  font-size: 0.7875rem; /* 10% smaller than default 0.875rem */
  padding: calc(var(--spacing-xs) * 0.81) calc(var(--spacing-md) * 0.81); /* 10% less padding */
}

.media-viewer-left .media-tags .gallery-tag::after {
  display: none; /* Remove × button in view mode */
}

/* Ensure diary-list-tags in media-viewer-left also have proper styling */
.media-viewer-left .diary-list-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* Add margin-top to media-viewer-right for diary entries */
.media-viewer-layout .media-viewer-right {
  margin-top: 2%;
}

.media-viewer-left .diary-list-tags .diary-list-tag {
  cursor: default;
  pointer-events: none;
  font-size: 0.7875rem; /* 10% smaller than default 0.875rem */
  padding: calc(var(--spacing-xs) * 0.81) calc(var(--spacing-md) * 0.81); /* 10% less padding */
}

.media-info-section .media-upload-date {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.4;
  color: var(--color-text-muted, #999);
}

/* ============================================
   Emoji Bar (for reactions)
   ============================================ */
.emoji-bar {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.emoji-bar button {
  background: transparent;
  border: none;
  padding: 0;
  font-size: 1.35rem; /* Reduced by 10% from 1.5rem */
  cursor: pointer;
  transition: transform 0.2s ease;
  line-height: 1;
}

.emoji-bar button:hover {
  transform: scale(1.2);
}

.emoji-bar button:active {
  transform: scale(0.95);
}

/* ============================================
   Media Reactions
   ============================================ */
#media-reactions {
  margin-top: 1.5rem;
}

#media-reactions-agg {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
}

#media-reactions-agg .reaction-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

#media-reactions-agg .reaction-group .emoji {
  font-size: 1.08rem; /* Reduced by 10% from 1.2rem */
}

#media-reactions-agg .reaction-group .usernames {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

#media-reactions-agg .reaction-group .username {
  color: var(--color-text-light, #d1d5db);
  font-size: 0.9rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

#media-reactions-agg .reaction-group .username:hover {
  color: var(--color-primary, #06b6d4);
  text-decoration: underline;
}

#media-reactions-agg .reaction-group .username:not(:last-child)::after {
  content: ',';
  margin-left: 0.1rem;
}

#media-reactions-agg .reaction-group .more-count {
  color: var(--color-text-muted, #9ca3af);
  font-size: 0.9rem;
  margin-left: 0.25rem;
}

/* ============================================
   Diary Reactions (same styling as media reactions)
   ============================================ */
#diary-reactions-agg {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
}

#diary-reactions-agg .reaction-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

#diary-reactions-agg .reaction-group .emoji {
  font-size: 1.08rem; /* Reduced by 10% from 1.2rem */
}

#diary-reactions-agg .reaction-group .usernames {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

#diary-reactions-agg .reaction-group .username {
  color: var(--color-text-light, #d1d5db);
  font-size: 0.9rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

#diary-reactions-agg .reaction-group .username:hover {
  color: var(--color-primary, #06b6d4);
  text-decoration: underline;
}

#diary-reactions-agg .reaction-group .username:not(:last-child)::after {
  content: ',';
  margin-left: 0.1rem;
}

#diary-reactions-agg .reaction-group .more-count {
  color: var(--color-text-muted, #9ca3af);
  font-size: 0.9rem;
  margin-left: 0.25rem;
}

/* ============================================
   Diary List
   ============================================ */
/* Diary list header with create button */
.tab-body .row-between.mb-12 {
  margin-bottom: 0 !important;
}

.tab-body .row-between.mb-12 h3 {
  background: linear-gradient(135deg, var(--color-text) 0%, var(--color-text-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.tab-body .row-between.mb-12 .btn {
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.2), rgba(157, 78, 221, 0.2));
  border: 1px solid transparent;
  background-image: linear-gradient(rgba(20, 20, 20, 0.6), rgba(20, 20, 20, 0.6)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.3), rgba(157, 78, 221, 0.3));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.tab-body .row-between.mb-12 .btn:hover {
  background-image: linear-gradient(rgba(30, 30, 30, 0.8), rgba(30, 30, 30, 0.8)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.5), rgba(157, 78, 221, 0.5));
  box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.2),
    0 4px 12px rgba(6, 182, 212, 0.2);
  transform: translateY(-2px);
}

/* Dagbokslista: kompakt rubrik */
.profile-view-page .profile-diary-list-heading {
  margin: 0 0 0.65rem 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-text, #f4f4f5);
}

.diary-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.profile-diary-list-shell {
  width: 100%;
  max-width: var(--app-feed-max-width);
  margin-left: auto;
  margin-right: auto;
}

.profile-diary-list.discover-results-grid {
  display: block;
  margin-top: 0.35rem;
  padding-top: 0;
}

.profile-diary-list > article.profile-diary-list-card {
  margin-bottom: 0;
}

.profile-diary-list-card .profile-diary-list-card__row {
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start;
}

.profile-diary-list-card .profile-result-card__body {
  padding: 0.75rem 0.85rem 0.8rem 0.5rem;
}

.profile-diary-list-card .profile-diary-list-card__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25rem;
  min-width: 64px;
  padding-top: 0.1rem;
}

.profile-diary-list-card .profile-diary-list-card__date {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--color-text-muted, #a8a8b3);
  text-align: center;
}

.profile-diary-list-card .profile-diary-list-card__meta-row--mobile {
  display: none;
}

.profile-diary-list-card .discover-entity-card__link.diary-list-link {
  display: block;
  padding: 0;
  gap: 0;
  text-decoration: none;
  color: inherit;
}

.profile-diary-list-card .profile-diary-list-card__visibility {
  font-size: 0.875rem;
  line-height: 1;
  opacity: 0.85;
}

.profile-diary-list-card .profile-result-card__name-row {
  width: 100%;
}

.profile-diary-list-card h3.diary-list-title.profile-result-card__name {
  background: none;
  -webkit-text-fill-color: unset;
  background-clip: unset;
  font-weight: 600;
}

.profile-diary-list-card .diary-list-tags {
  margin-left: 0;
}

.profile-diary-list-card .diary-list-body {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  flex: unset;
}

.profile-diary-list-card .diary-list-preview {
  flex: unset;
  margin: 0;
}

.profile-diary-list-card .diary-list-blur-target {
  min-width: 0;
}

.diary-list-private .diary-list-blur-target,
.diary-list-private .diary-list-title-row,
.diary-list-private .diary-list-tags,
.diary-list-private .diary-list-preview {
  filter: blur(4px);
  opacity: 0.6;
}

.profile-diary-list-card .diary-list-link.diary-list-private .profile-diary-list-card__aside,
.profile-diary-list-card .diary-list-link.diary-list-private .profile-diary-list-card__aside *,
.profile-diary-list-card .diary-list-link.diary-list-private .profile-diary-list-card__meta-row--mobile,
.profile-diary-list-card .diary-list-link.diary-list-private .profile-diary-list-card__meta-row--mobile * {
  filter: none;
  opacity: 1;
}

.profile-diary-list-card .diary-list-body .diary-access-button-overlay {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

article.profile-diary-list-card.diary-request-card {
  cursor: pointer;
}

article.profile-diary-list-card.diary-request-card:hover {
  border-color: rgba(234, 179, 8, 0.4);
  box-shadow: 0 6px 20px rgba(234, 179, 8, 0.2);
}

article.profile-diary-list-card.diary-request-card.diary-pending-request {
  border-color: rgba(6, 182, 212, 0.3);
  background: rgba(30, 30, 30, 0.5);
}

@media (min-width: 769px) {
  .profile-view-page .profile-diary-list-shell {
    max-width: min(92vw, 70rem);
  }
}

@media (max-width: 768px) {
  .profile-diary-list-card .profile-diary-list-card__row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .profile-diary-list-card .profile-diary-list-card__aside {
    display: none;
  }

  .profile-diary-list-card .profile-diary-list-card__meta-row--mobile {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
  }

  .profile-diary-list-card .profile-diary-list-card__meta-row--mobile .profile-diary-list-card__meta {
    margin: 0;
  }

  .profile-diary-list-card .profile-result-card__body {
    padding: 0.65rem 0.75rem 0.7rem;
  }

  .profile-diary-list-card h3.profile-result-card__name {
    font-size: 0.98rem !important;
  }

  .profile-diary-list-card .discover-entity-card__preview {
    font-size: 0.78rem;
  }

  .profile-diary-list-card .diary-list-body .diary-access-button-overlay {
    font-size: 0.7rem;
    padding: 0.35rem 0.5rem;
  }
}

/* Vänner-fliken: samma kortlayout som dagbok/discover */
.profile-view-friends-tab__heading {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-text, #f4f4f5);
}

.profile-friends-list.discover-results-grid {
  display: block;
  margin-top: 0.35rem;
  padding-top: 0;
}

.profile-friends-list > article.profile-friend-card {
  margin-bottom: 0.85rem;
  overflow: visible;
}

article.profile-result-card.profile-friend-card {
  overflow: visible;
}

.profile-friend-card .profile-friend-card__menu-dropdown.show {
  display: block;
}

body > .profile-friend-card__menu-dropdown {
  position: fixed !important;
  z-index: 99999 !important;
}

.profile-friend-card .profile-friend-card__media-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.profile-friend-card .profile-friend-card__main-link {
  display: block;
}

.profile-friend-card .profile-friend-card__tags {
  margin-top: 0.35rem;
}

.profile-friend-card .profile-friend-card__actions {
  align-items: flex-start;
}

.profile-friend-card .profile-friend-card__menu {
  position: relative;
  top: auto;
  right: auto;
}

.profile-friend-card .profile-friend-card__edit {
  margin-top: 0.85rem;
  padding: 0.85rem 0.5rem 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.profile-friend-card.profile-friend-card--editing {
  border-color: rgba(6, 182, 212, 0.28);
}

.profile-friend-card__edit-title {
  margin: 0 0 0.75rem 0;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--color-text-muted, #a8a8b3);
  text-transform: uppercase;
}

.profile-friend-card .profile-friend-card__edit-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.profile-friend-card__edit-options {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.profile-friend-card__edit-options .form-check-inline {
  padding-left: 0;
  margin: 0;
  font-size: 0.875rem;
  color: var(--color-text, #f4f4f5);
}

.profile-friend-card__edit-actions.form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.profile-friend-card__edit-actions .btn {
  min-width: 5.5rem;
}

/* Vänförfrågningar */
.profile-friend-requests-page {
  padding-top: 0.75rem;
  padding-bottom: 2rem;
}

.profile-friend-requests-shell {
  padding: var(--spacing-lg);
  overflow: hidden;
}

.page-friend-requests .gallery-edit-chrome-icon,
.page-friend-requests .community-form-back {
  color: var(--color-text-muted, #a8a8b3);
  flex-shrink: 0;
}

.page-friend-requests .gallery-edit-chrome-icon:hover,
.page-friend-requests .community-form-back:hover {
  color: var(--color-text, #f4f4f5);
  background: rgba(255, 255, 255, 0.06);
}

.profile-friend-requests-header.gallery-edit-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.profile-friend-requests-header .gallery-edit-toolbar-left {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.profile-friend-requests-title {
  margin: 0 0 0.35rem 0;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text, #f4f4f5);
}

.profile-friend-requests-list.discover-results-grid {
  display: block;
  margin-top: 0.35rem;
  padding-top: 0;
}

.profile-friend-requests-list > article.profile-friend-request-card {
  margin-bottom: 0.85rem;
  position: relative;
}

.profile-friend-request-card__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

.profile-friend-request-decline-form {
  margin: 0;
}

.profile-friend-request-accept {
  white-space: nowrap;
}

.profile-friend-request-decline {
  white-space: nowrap;
}

.profile-friend-request-dialog {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 0.5rem;
  background: rgba(18, 18, 24, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 1rem;
  z-index: 99999;
  min-width: 240px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.profile-friend-request-dialog.show {
  display: block;
}

body > .profile-friend-request-dialog {
  position: fixed !important;
  z-index: 99999 !important;
}

.profile-friend-request-dialog__content {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.profile-friend-request-dialog__content .form-check-inline {
  padding-left: 0;
  margin: 0;
  font-size: 0.875rem;
  color: var(--color-text, #f4f4f5);
}

.profile-friend-request-dialog__actions.form-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin: 0;
  padding: 0.65rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 640px) {
  .profile-friend-request-card .profile-result-card__row {
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
      "avatar text"
      "actions actions";
    gap: 0.65rem 0.5rem;
  }

  .profile-friend-request-card .profile-result-card__avatar-col {
    grid-area: avatar;
  }

  .profile-friend-request-card .profile-result-card__text-col {
    grid-area: text;
  }

  .profile-friend-request-card__actions {
    grid-area: actions;
    width: 100%;
    justify-content: stretch;
  }

  .profile-friend-request-card__actions .btn {
    flex: 1 1 auto;
  }

  .profile-friend-requests-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .profile-friend-requests-header.gallery-edit-toolbar {
    flex-direction: column;
  }
}

/* Legacy diary-list-item (profilsök m.m.) */
.diary-list-item {
  position: relative;
  background: linear-gradient(135deg, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.5) 100%);
  border: 1px solid transparent;
  background-image: linear-gradient(rgba(20, 20, 20, 0.6), rgba(20, 20, 20, 0.6)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.1), rgba(157, 78, 221, 0.1));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.diary-list-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.02) 0%, 
    transparent 50%,
    rgba(157, 78, 221, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}

.diary-list-item:hover {
  transform: translateY(-2px);
  border-color: rgba(6, 182, 212, 0.3);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4),
              0 0 0 1px rgba(6, 182, 212, 0.2) inset;
}

.diary-list-item:hover::before {
  opacity: 1;
}

.diary-list-item > * {
  position: relative;
  z-index: 1;
}

.diary-list-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  padding: 0.75rem;
  gap: 1rem;
}

.diary-list-link,
.diary-list-link:hover,
.diary-list-link:focus,
.diary-list-link:active,
.diary-list-link *,
.diary-list-link *:hover,
.diary-list-link *:focus,
.diary-list-link *:active {
  text-decoration: none !important;
}

.diary-list-header {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 60px;
}

.diary-list-date {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
  margin: 0;
}

.diary-list-private-icon {
  font-size: 0.875rem;
  margin-top: 0.25rem;
  opacity: 0.7;
}

.diary-list-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.diary-list-title-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
}

.diary-list-title {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, var(--color-text) 0%, var(--color-text-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.3;
  flex-shrink: 0;
  letter-spacing: -0.01em;
}

.diary-list-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-left: auto;
  flex-shrink: 0;
}

.diary-list-preview {
  margin: 0;
  color: var(--color-text-muted);
  line-height: 1.4;
  font-size: 0.875rem;
  flex: 1;
  min-width: 0;
}

/* Diary access button for approved entries - overlay button over blurred content */
.diary-list-body .diary-access-button-overlay {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  padding: 0.4rem 0.6rem;
  font-size: 0.75rem;
  color: var(--color-text-muted);
  background: rgba(10, 10, 10, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
  z-index: 10;
}

.diary-list-body .diary-access-button-overlay.diary-access-button-clickable {
  pointer-events: auto;
  cursor: pointer;
  transition: all 0.2s ease;
}

.diary-list-body .diary-access-button-overlay.diary-access-button-clickable:hover {
  background: rgba(10, 10, 10, 0.95);
  border-color: rgba(255, 255, 255, 0.25);
}

.diary-list-item.diary-request-card {
  cursor: pointer;
}

.diary-list-item.diary-request-card::before {
  background: linear-gradient(135deg, 
    rgba(234, 179, 8, 0.05) 0%, 
    transparent 50%,
    rgba(234, 179, 8, 0.05) 100%);
}

.diary-list-item.diary-request-card:hover {
  transform: translateY(-2px);
  border-color: rgba(234, 179, 8, 0.4);
  box-shadow: 0 6px 20px rgba(234, 179, 8, 0.2);
}

.diary-list-item.diary-request-card.diary-pending-request {
  border-color: rgba(6, 182, 212, 0.3);
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.08) 0%, 
    rgba(6, 182, 212, 0.05) 100%);
}

.diary-list-item.diary-request-card.diary-pending-request::before {
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.1) 0%, 
    transparent 50%,
    rgba(6, 182, 212, 0.1) 100%);
  opacity: 0.5;
}

/* ============================================
   Subcard
   ============================================ */
/* Subcard styling to ensure proper layout for emoji + link combinations */
.subcard {
  display: block;
}

/* Diary entry subcard - modern styling */
.media-viewer-left .subcard:has(.diary-entry-body) {
  border: 1px solid transparent;
  background: rgba(20, 20, 20, 0.6);
  background-image: linear-gradient(rgba(20, 20, 20, 0.6), rgba(20, 20, 20, 0.6)),
    linear-gradient(135deg, rgba(6, 182, 212, 0.1), rgba(157, 78, 221, 0.1));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 8px;
  padding: 0.5rem 1rem 1rem 1rem;
  margin-top: 2%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.media-viewer-left .subcard:has(.diary-entry-body)::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.02) 0%, 
    transparent 50%,
    rgba(157, 78, 221, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
  border-radius: 8px;
}

.media-viewer-left .subcard:has(.diary-entry-body):hover::before {
  opacity: 1;
}

.media-viewer-left .subcard:has(.diary-entry-body) > * {
  position: relative;
  z-index: 1;
}

/* ============================================
   Mobile Responsive Adjustments
   ============================================ */
@media (max-width: 768px) {
  .profile-header {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    gap: 0 !important;
    padding: 0 !important;
  }

  .ph-left {
    order: 1;
    width: 100%;
    padding-top: 5%;
  }

  .ph-center {
    order: 2;
    min-height: auto;
    align-items: center;
    width: 100% !important;
    flex: none !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ph-right {
    order: 3;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Show mobile edit button on mobile */
  .btn-edit-mobile {
    display: flex;
  }
  
  /* Hide desktop edit button on mobile */
  .btn-edit-desktop {
    display: none;
  }
  
  .avatar-xl {
    width: 150px;
    height: 150px;
  }

  .username {
    font-size: 1.25rem;
  }

  .profile-name-row {
    justify-content: center;
    flex-wrap: wrap;
  }

  .description-title {
    margin-top: 0.75rem; /* ~1% more than desktop */
  }

  .description-bottom {
    text-align: left;
  }

  .description-bottom:not(.couple-profile) {
    gap: var(--spacing-sm); /* Smaller gap between rows on mobile */
  }

  .person-description {
    text-align: left;
  }

  .ph-center > .profile-header-tabs-desktop,
  .profile-header-tabs-desktop {
    display: none !important;
  }
  
  .profile-header.card {
    padding-bottom: 0;
  }
  
  /* Ta bort gap mellan ph-center och ph-right på mobil */
  .profile-header {
    gap: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Lägg padding på innehållet i ph-center istället för på containern */
  .ph-center {
    align-items: center;
  }
  
  /* Lägg padding på innehållet i ph-center istället */
  .ph-center > * {
    padding-left: var(--spacing-lg);
    padding-right: var(--spacing-lg);
  }
  
  .ph-center .description-title {
    text-align: center;
  }
  
  /* Se till att profile-name-row och profile-meta-line också har padding */
  .ph-center .profile-name-row,
  .ph-center .profile-meta-line {
    padding-left: var(--spacing-lg);
    padding-right: var(--spacing-lg);
  }
  
  /* Minska padding-bottom i ph-center med 70% på mobil */
  .ph-center {
    padding-bottom: calc((2px + var(--spacing-xs) + 1.5rem) * 0.3) !important;
  }
  
  .ph-center:has(.overview-foldout-card) {
    /* Mindre luft till ph-right (Söker) — desktop-tabs finns inte här på mobil */
    padding-bottom: calc((2px + var(--spacing-xs) + 1.5rem + calc(var(--spacing-sm) * 1.5)) * 0.15) !important;
  }
  
  /* Minska space ovanför foldout cards på mobil */
  .overview-foldout-card {
    margin-top: calc(var(--spacing-sm) * 0.2);
  }
  
  .description-title + .overview-foldout-card {
    margin-top: calc(var(--spacing-xs) * 0.1);
  }
  
  /* Minska margin-bottom på sista foldout card med 90% på mobil */
  .couple-profile .overview-foldout-card:last-of-type {
    margin-bottom: calc(var(--spacing-md) * 0.1) !important;
  }
  
  /* Ta bort margin-bottom helt på mobil om det fortfarande är för mycket */
  .ph-center .couple-profile .overview-foldout-card:last-of-type {
    margin-bottom: 0 !important;
  }
  
  /* Öka bredden på foldout cards till 80% av ph-center på mobil och centrera dem */
  .ph-center .overview-foldout-card {
    width: 80%;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  
  /* Minska padding från overview-foldout-content på mobil */
  .overview-foldout-content {
    padding: var(--spacing-xs) var(--spacing-sm) !important;
  }
  
  /* Ta bort extra padding från description-bottom på mobil */
  .overview-foldout-content .description-bottom {
    margin-top: 0 !important;
  }
  
  /* Minska padding på overview-foldout-toggle på mobil */
  .overview-foldout-toggle {
    padding: var(--spacing-xs) var(--spacing-sm) !important;
  }

  /* Ytterligare ~halvering av luft under sista översikts-foldout (mot Söker) */
  .ph-center:has(.overview-foldout-card) .overview-foldout-card:last-of-type {
    margin-bottom: calc(var(--spacing-sm) * 0.5) !important;
  }
  
  /* ~50% mindre space mellan foldout/översikt och "Söker" */
  .ph-right .profile-content > .mt-6:first-of-type {
    margin-top: 0.375rem;
    text-align: center;
    padding-left: 0 !important;
  }
  
  /* Centrera "Söker"-taggarna */
  .ph-right .profile-content > .mt-6:first-of-type .tags-row {
    justify-content: center;
  }
  
  .ph-right .profile-content > .mt-6:first-of-type .description-title {
    text-align: center;
    padding-left: 0 !important;
  }

  /* ~40% mindre space mellan "Söker" och "Sociala medier" */
  .ph-right .profile-content > .mt-6:first-of-type + .mt-6 {
    margin-top: 0.9rem;
  }
  
  /* Tätare till tab-nav (tidigare mycket stor luft i flex-kolumn) */
  .ph-right .profile-content > .mt-6:last-of-type {
    margin-bottom: 0.25rem;
  }
  
  /* Centrera sociala medier-ikoner på mobil */
  .ph-right .profile-content .social-links {
    justify-content: center;
    padding-left: 0;
  }
  
  .ph-right .profile-content .description-title:has(+ .social-links) {
    padding-left: 0;
    text-align: center;
  }
  
  .profile-header-tabs-mobile {
    display: flex;
    margin-top: 0.3rem;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: calc(var(--spacing-sm) * 1.3) 0;
    border-top: 1px solid var(--color-border);
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-radius: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    background: rgba(30, 30, 30, 0.5);
    backdrop-filter: blur(20px);
    position: relative;
    order: 999; /* Ensure it comes after all other content */
  }
  
  .profile-header-tabs-mobile::-webkit-scrollbar {
    height: 4px;
  }
  
  .profile-header-tabs-mobile::-webkit-scrollbar-track {
    background: transparent;
  }
  
  .profile-header-tabs-mobile::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
  }
  
  .profile-header-tabs-mobile .tab-link {
    margin-bottom: 0;
    flex-shrink: 0;
    white-space: nowrap;
    min-width: fit-content;
    padding: calc(var(--spacing-sm) * 1.3) var(--spacing-md);
    min-height: calc(44px * 1.3);
    display: flex;
    align-items: center;
  }
  
  /* Se till att ph-right inte skapar overflow */
  .ph-right {
    overflow-x: hidden;
    min-width: 0;
    padding-bottom: 0 !important; /* Ta bort padding för att tabs ska ligga längst ner */
  }
  
  /* Se till att profile-content är flex för att tabs ska kunna ligga längst ner */
  .ph-right .profile-content {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  /* About-tab: jämna mellanrum mellan Bio, Intressen och Frågor på mobil */
  .profile-tab-card-modern .about-left-col {
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: calc(var(--spacing-xs) * 3.6) !important;
  }

  .profile-tab-card-modern .about-right-col {
    padding-top: 0 !important;
  }

  .profile-tab-card-modern .about-interests-card {
    margin-top: 0 !important;
  }

  .profile-tab-card-modern .about-grid {
    gap: calc(var(--spacing-xs) * 3.6) !important;
  }

  .profile-tab-card-modern .about-left-col .profile-subcard-modern,
  .profile-tab-card-modern .about-right-col .profile-subcard-modern {
    width: 100%;
    box-sizing: border-box;
  }

  /* Media viewer mobile adjustments */
  #media-viewer {
    max-width: 100% !important;
    width: 100% !important;
  }
  
  .subcard:has(.media-strip) {
    max-width: 100% !important;
    width: 100% !important;
  }
  
  .gallery-header-actions {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Hide "Till galleri" button on mobile */
  .gallery-back-btn-desktop {
    display: none !important;
  }
  
  /* Show mobile back button for diary entries */
  .gallery-back-btn-mobile {
    display: block !important;
    order: -1; /* Place before other elements */
  }
  
  /* Gallery album header - make more compact on mobile */
  .gallery-album-header-wrapper {
    padding: 0.5rem 0 !important;
    margin-bottom: 0.5rem !important;
  }
  
  .gallery-album-header {
    gap: 0.25rem !important;
    padding: 0 !important;
    min-height: auto !important;
  }
  
  .gallery-album-header > div {
    gap: 0.25rem !important;
    flex-shrink: 1 !important;
    min-width: 0;
  }
  
  /* Gallery album header - full width title container on mobile */
  .gallery-album-title-container {
    position: static !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    justify-content: space-between !important;
    padding: 0;
    gap: 0.5rem !important;
  }
  
  /* Make title smaller on mobile */
  .gallery-album-header .gallery-album-title {
    font-size: 1rem !important;
    padding: 0 0.25rem;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  
  /* Albumnav: kompakt ikon-yta på mobil */
  .gallery-nav-btn {
    min-width: 36px !important;
    max-width: 36px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    flex-shrink: 0;
  }
  
  /* Make dropdown button smaller on mobile */
  .media-actions-dropdown-top-right .gallery-actions-toggle {
    min-width: 36px !important;
    max-width: 36px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
  }
  
  /* Media viewer content - stack vertically on mobile */
  .media-viewer-content {
    flex-direction: column !important;
    gap: 1rem;
  }
  
  .media-viewer-left {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    overflow: hidden;
    order: 1;
  }
  
  .media-viewer-right {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    order: 2;
  }
  
  /* Adjust media info section margin on mobile */
  .media-info-section {
    margin-top: 0 !important;
    padding-top: 1rem !important;
  }
  
  .media-stage {
    max-width: 100% !important;
    width: auto !important;
    max-height: 400px;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .stage-img,
  .stage-video {
    max-width: 100% !important;
    width: auto !important;
    height: auto;
    max-height: 400px;
    object-fit: contain;
    box-sizing: border-box;
  }
  
  /* Ensure thumbnails stay small on mobile */
  .thumb-btn {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
  }
  
  /* Ensure media strip doesn't overflow */
  .media-strip {
    max-width: 100%;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }
  
  /* Ensure subcard container doesn't overflow */
  .subcard {
    max-width: 100%;
    width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  
  /* Ensure media viewer fits on screen */
  #media-viewer {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
  }

  .diary-list-link {
    padding: 0.625rem;
    gap: 0.75rem;
  }
  
  .diary-list-header {
    min-width: 50px;
  }
  
  .diary-list-title-row {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
  }
  
  .diary-list-title {
    font-size: 0.95rem;
  }
  
  .diary-list-tags {
    margin-left: 0;
    width: 100%;
    order: 3;
  }
  
  .diary-list-preview {
    font-size: 0.8rem;
    order: 2;
  }
  
}

/* ============================================
   Friend Card Styling
   ============================================ */
.card.friend-card {
  display: flex;
  flex-direction: column;
  padding: 0.75rem;
  position: relative;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

.friend-card-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s;
}

.friend-card-link:hover {
  opacity: 0.8;
}

.friend-card .avatar-with-status {
  margin-bottom: 0.5rem;
  position: relative;
}

/* Vänkort: samma gradientring som discover */
.friend-card .avatar-ring .avatar-sm {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
}

.friend-card-info {
  width: 100%;
}

.friend-card-name {
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.375rem;
  word-break: break-word;
}

.friend-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  justify-content: center;
  margin-top: 0.25rem;
}

/* Friend actions dropdown */
.friend-actions-dropdown {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem !important;
  left: auto !important;
  z-index: 100 !important;
}

.friend-actions-toggle {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text, #fff);
  font-size: 1.25rem;
  line-height: 1;
  transition: all 0.2s;
  min-width: 32px;
  min-height: 32px;
}

.friend-actions-toggle:hover {
  background: rgba(0, 0, 0, 0.5);
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--color-text, #fff);
}

.friend-actions-icon {
  display: block;
}

.friend-actions-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 0.25rem;
  background: var(--color-bg, #fff);
  border: 1px solid var(--color-border, #e0e0e0);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  min-width: 180px;
  display: none;
  overflow: hidden;
  z-index: 99999 !important;
}

.friend-actions-dropdown.open .friend-actions-menu {
  display: block;
  z-index: 99999 !important;
}

/* When menu is moved to body with fixed positioning */
body > .friend-actions-menu {
  position: fixed !important;
  z-index: 99999 !important;
}

.friend-action-link {
  display: block;
  width: 100%;
  padding: 0.625rem 1rem;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--color-text, #000);
  transition: background-color 0.2s;
  text-decoration: none;
}

.friend-action-link:hover {
  background-color: var(--color-bg-hover, #f5f5f5);
}

.friend-action-link.edit-icon-only {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.friend-action-link-danger {
  color: var(--color-danger, #d32f2f);
}

.friend-action-link-danger:hover {
  background-color: var(--color-danger-light, #ffebee);
}

.friend-edit-form {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border, #e0e0e0);
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
}

.checkbox-label input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
}

.tag-sm {
  font-size: 0.75rem;
  padding: 0.125rem 0.5rem;
}

/* ============================================
   Modern Profile Styling (matching start.css)
   ============================================ */

/* Profile Header Modern Styling - Subtle version */
.profile-header-modern {
  position: relative;
  /* Keep existing background from base .card class */
  border: 1px solid rgba(255, 255, 255, 0.1);
  /* Remove heavy shadows and animations - keep it subtle */
}

/* Modernize profile header tabs - Modern gradient styling */
.profile-header-modern .profile-header-tabs-desktop {
  background: linear-gradient(135deg, 
    rgba(30, 30, 30, 0.4) 0%, 
    rgba(30, 30, 30, 0.3) 100%);
  backdrop-filter: blur(12px);
  border-color: rgba(255, 255, 255, 0.1);
  /* Keep absolute positioning */
  position: absolute !important;
  bottom: 0 !important;
  margin-bottom: 0; /* Ensure no extra space at bottom */
}

.profile-header-modern .profile-header-tabs-desktop::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, 
    transparent 0%,
    rgba(6, 182, 212, 0.3) 50%,
    transparent 100%);
  opacity: 0.6;
}

.profile-header-modern .profile-header-tabs-desktop .tab-link,
.profile-header-modern .profile-header-tabs .tab-link {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-bottom: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.profile-header-modern .profile-header-tabs-desktop .tab-link::before,
.profile-header-modern .profile-header-tabs .tab-link::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, 
    rgba(6, 182, 212, 0.6) 0%,
    rgba(157, 78, 221, 0.6) 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.profile-header-modern .profile-header-tabs-desktop .tab-link:hover,
.profile-header-modern .profile-header-tabs .tab-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-text);
}

.profile-header-modern .profile-header-tabs-desktop .tab-link:hover::before,
.profile-header-modern .profile-header-tabs .tab-link:hover::before {
  transform: scaleX(1);
}

.profile-header-modern .profile-header-tabs-desktop .tab-link.active,
.profile-header-modern .profile-header-tabs .tab-link.active {
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.1) 0%, 
    rgba(157, 78, 221, 0.1) 100%);
  color: var(--color-primary);
  font-weight: 500;
}

.profile-header-modern .profile-header-tabs-desktop .tab-link.active::before,
.profile-header-modern .profile-header-tabs .tab-link.active::before {
  transform: scaleX(1);
  background: linear-gradient(90deg, 
    rgba(6, 182, 212, 0.8) 0%,
    rgba(157, 78, 221, 0.8) 100%);
}

/* Profile Tab Card Modern Styling */
.profile-tab-card-modern {
  position: relative;
  background: linear-gradient(135deg, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 
              0 0 0 1px rgba(157, 78, 221, 0.1) inset;
  border-radius: var(--radius-lg, 12px);
}

.profile-tab-card-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(157, 78, 221, 0.02) 0%, 
    transparent 50%,
    rgba(6, 182, 212, 0.02) 100%);
  border-radius: 12px;
  pointer-events: none;
  z-index: 0;
}

.profile-tab-card-modern > * {
  position: relative;
  z-index: 1;
}

/* Profile Subcard Modern Styling - No hover effects (not clickable) */
.profile-subcard-modern {
  padding: var(--spacing-md);
  border-radius: var(--border-radius);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  /* Remove hover effects - these cards are not clickable */
}

.profile-subcard-modern h3 {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--color-text);
  margin-bottom: 0.5rem;
}

/* Profile Album Card Modern Styling */
.profile-album-card-modern {
  position: relative;
  background: linear-gradient(135deg, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.profile-album-card-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.02) 0%, 
    transparent 50%,
    rgba(157, 78, 221, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}

.profile-album-card-modern:hover {
  transform: translateY(-4px);
  border-color: rgba(6, 182, 212, 0.3);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4),
              0 0 0 1px rgba(6, 182, 212, 0.2) inset;
}

.profile-album-card-modern:hover::before {
  opacity: 1;
}

.profile-album-card-modern > * {
  position: relative;
  z-index: 1;
}

/* Profile Album Request Card Modern Styling */
.profile-album-request-card-modern {
  position: relative;
  background: linear-gradient(135deg, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  cursor: pointer;
}

.profile-album-request-card-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(234, 179, 8, 0.05) 0%, 
    transparent 50%,
    rgba(234, 179, 8, 0.05) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}

.profile-album-request-card-modern:hover {
  transform: translateY(-2px);
  border-color: rgba(234, 179, 8, 0.4);
  box-shadow: 0 6px 20px rgba(234, 179, 8, 0.2);
}

.profile-album-request-card-modern:hover::before {
  opacity: 1;
}

.profile-album-request-card-modern.album-pending-request {
  border-color: rgba(6, 182, 212, 0.3);
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.08) 0%, 
    rgba(6, 182, 212, 0.05) 100%);
}

.profile-album-request-card-modern.album-pending-request::before {
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.1) 0%, 
    transparent 50%,
    rgba(6, 182, 212, 0.1) 100%);
  opacity: 0.5;
}

.profile-album-request-card-modern > * {
  position: relative;
  z-index: 1;
}

/* Profil → Galleri: desktop = horisontella rader som bryts; mobil = två kolumner */
.profile-view-gallery-tab .profile-gallery-album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--spacing-md, 1rem);
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

.profile-view-gallery-tab .profile-gallery-album-grid > a.card,
.profile-view-gallery-tab .profile-gallery-album-grid > div.card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  padding: 0;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.profile-view-gallery-tab .profile-gallery-album-grid .profile-album-card-modern,
.profile-view-gallery-tab .profile-gallery-album-grid .profile-album-request-card-modern {
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.2);
}

.profile-view-gallery-tab .profile-gallery-album-grid .profile-album-card-modern::before,
.profile-view-gallery-tab .profile-gallery-album-grid .profile-album-request-card-modern::before {
  display: none;
}

.profile-view-gallery-tab .profile-gallery-album-grid .profile-album-card-modern:hover {
  transform: scale(1.02);
  border-color: rgba(6, 182, 212, 0.28);
  box-shadow: 0 4px 22px rgba(0, 0, 0, 0.28);
}

.profile-view-gallery-tab .profile-gallery-album-grid .profile-album-request-card-modern:hover {
  transform: scale(1.02);
  border-color: rgba(234, 179, 8, 0.35);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.26);
}

.profile-view-gallery-tab .profile-gallery-album-grid .profile-album-request-card-modern.album-pending-request:hover {
  border-color: rgba(6, 182, 212, 0.35);
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-cover {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-cover img.is-blurred {
  filter: blur(18px);
  -webkit-filter: blur(18px);
  pointer-events: none;
  user-select: none;
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-cover--empty {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  color: var(--color-text-muted, #a1a1aa);
  background: rgba(255, 255, 255, 0.04);
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-count-badge {
  position: absolute;
  right: 0.4rem;
  bottom: 0.4rem;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-cover-lock {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.75rem;
  background: rgba(10, 10, 10, 0.62);
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-access-banner {
  position: absolute;
  inset: auto 0 0 0;
  background: linear-gradient(0deg, rgba(8, 8, 12, 0.88), rgba(8, 8, 12, 0.2));
  padding: 0.35rem 0.45rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.25;
  z-index: 3;
  pointer-events: none;
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-access-banner.album-access-button {
  pointer-events: auto;
  cursor: pointer;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  width: 100%;
  transition: background 0.2s ease;
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-access-banner.album-access-button:hover {
  background: linear-gradient(0deg, rgba(12, 12, 18, 0.95), rgba(12, 12, 18, 0.35));
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-request-card .album-cover {
  pointer-events: none;
}

.profile-view-gallery-tab .profile-gallery-album-grid .album-request-card .album-access-banner {
  pointer-events: auto;
  cursor: pointer;
}

.profile-view-gallery-tab .profile-gallery-album-grid .profile-gallery-album-title {
  padding: 0 0.35rem 0.45rem;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--color-text, #f4f4f5);
}

@media (max-width: 768px) {
  .profile-view-gallery-tab .profile-gallery-album-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    max-width: min(100%, 22rem);
    margin-inline: auto;
  }
}

/* Profile Friend Card Modern Styling */
.profile-friend-card-modern {
  position: relative;
  background: linear-gradient(135deg, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.profile-friend-card-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(157, 78, 221, 0.02) 0%, 
    transparent 50%,
    rgba(6, 182, 212, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}

.profile-friend-card-modern:hover {
  transform: translateY(-2px);
  border-color: rgba(157, 78, 221, 0.3);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4),
              0 0 0 1px rgba(157, 78, 221, 0.1) inset;
}

.profile-friend-card-modern:hover::before {
  opacity: 1;
}

.profile-friend-card-modern .friend-card-link:hover {
  opacity: 1;
}

.profile-friend-card-modern > * {
  position: relative;
  z-index: 1;
}

/* Ensure dropdown is above other elements */
.profile-friend-card-modern .friend-actions-dropdown {
  z-index: 100 !important;
  position: absolute !important;
}

/* Profile Prefs Card Modern Styling */
.profile-prefs-card-modern {
  position: relative;
  background: linear-gradient(135deg, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 
              0 0 0 1px rgba(6, 182, 212, 0.1) inset;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  padding: var(--spacing-lg);
}

.profile-prefs-card-modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.03) 0%, 
    transparent 30%,
    transparent 70%,
    rgba(157, 78, 221, 0.03) 100%);
  pointer-events: none;
  z-index: 0;
}

.profile-prefs-card-modern > * {
  position: relative;
  z-index: 1;
}

/* Tätare mellan huvudrubrik-rad och första underkategori (override components 1%) */
.prefs-cards-container .prefs-card.profile-prefs-card-modern > .row-between {
  margin-bottom: var(--spacing-sm);
}

.profile-prefs-card-modern h3 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  background: linear-gradient(135deg, var(--color-text) 0%, var(--color-text-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: var(--spacing-xs);
  position: relative;
  padding-bottom: var(--spacing-xs);
}

.profile-prefs-card-modern h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, 
    transparent 0%,
    rgba(6, 182, 212, 0.3) 25%,
    rgba(157, 78, 221, 0.3) 75%,
    transparent 100%);
}

/* Modernize prefs group foldout */
.profile-prefs-card-modern .prefs-group-foldout {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--border-radius-sm);
  background: rgba(255, 255, 255, 0.02);
  margin-bottom: var(--spacing-xs);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  /* Global .prefs-group-foldout har overflow:hidden; undvik avklippta taggar längst ner */
  overflow: visible;
}

/* padding:0 får inte ligga här — det skrev över mobil (senare @media-block nedan) */
.profile-prefs-card-modern .prefs-group-toggle {
  background: transparent;
  border: none;
  color: var(--color-text);
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color 0.2s ease;
  width: 100%;
  margin-bottom: var(--spacing-xs);
}

.profile-prefs-card-modern .prefs-group-toggle:hover {
  background: transparent;
}

.profile-prefs-card-modern .prefs-group-content {
  /* Vertikal padding; sid-padding sätts på mobil i blocket nedan (efter denna regel). */
  padding-top: var(--spacing-xs);
  padding-bottom: var(--spacing-sm);
  border-top: none;
}

/* Mobil: profilvyn (prefs-fliken) — inte redigeringssidan */
@media (max-width: 768px) {
  .prefs-cards-container {
    gap: var(--spacing-md);
  }

  .prefs-cards-container .profile-prefs-card-modern {
    padding-top: var(--spacing-sm);
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
    padding-bottom: var(--spacing-lg);
    overflow: visible;
  }

  .prefs-cards-container .profile-prefs-card-modern .prefs-group-foldout:hover {
    border-color: rgba(6, 182, 212, 0.2);
    background: rgba(255, 255, 255, 0.04);
  }

  .prefs-cards-container .profile-prefs-card-modern .prefs-group-foldout {
    width: 108%;
    margin-left: -4%;
    margin-right: -4%;
    margin-bottom: calc(var(--spacing-xs) + 2%);
    box-sizing: border-box;
  }

  .prefs-cards-container .profile-prefs-card-modern .prefs-group-toggle {
    padding: 0.625rem 1rem;
    box-sizing: border-box;
  }

  .prefs-cards-container .profile-prefs-card-modern .prefs-group-content {
    padding: var(--spacing-xs) 1rem var(--spacing-sm);
    box-sizing: border-box;
  }
}

/* Desktop: Simple display - no foldout, just show everything */
@media (min-width: 769px) {
  /* Remove all foldout styling - make it a simple container */
  .profile-prefs-card-modern .prefs-group-foldout {
    border: none !important;
    background: transparent !important;
    margin-bottom: var(--spacing-sm);
    display: block !important;
  }
  
  .profile-prefs-card-modern .prefs-group-foldout:hover {
    border-color: transparent !important;
    background: transparent !important;
  }
  
  /* Show category title, hide toggle icon */
  .profile-prefs-card-modern .prefs-group-foldout summary {
    display: block !important;
    list-style: none;
    cursor: default;
    pointer-events: none;
    margin-bottom: 0;
  }
  
  .profile-prefs-card-modern .prefs-group-toggle {
    display: block !important;
    padding: 0;
    margin: 0;
    pointer-events: none;
  }
  
  .profile-prefs-card-modern .prefs-group-toggle:hover {
    background: transparent !important;
  }
  
  .profile-prefs-card-modern .prefs-group-toggle .toggle-icon {
    display: none !important;
  }
  
  .profile-prefs-card-modern .prefs-group-toggle .form-label {
    display: block !important;
    font-weight: 600;
    font-size: 0.95rem;
    margin: 0;
  }
  
  /* Always show content - override details element behavior */
  .profile-prefs-card-modern .prefs-group-foldout .prefs-group-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    border-top: none !important;
    padding: var(--spacing-xs) 0 var(--spacing-sm) 0 !important;
    margin: 0 !important;
  }
  
  /* Force content visible regardless of open state */
  .profile-prefs-card-modern .prefs-group-foldout[open] .prefs-group-content,
  .profile-prefs-card-modern .prefs-group-foldout:not([open]) .prefs-group-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* --- Prefs edit page (prefs.php): community-form-layout --- */
.page-prefs-edit.community-form-page .prefs-edit-form {
  gap: var(--spacing-md);
}

.page-prefs-edit .prefs-section {
  margin-bottom: 0;
}

.page-prefs-edit .prefs-section-content {
  padding: var(--spacing-sm) var(--spacing-md);
}

.page-prefs-edit .prefs-group-foldout {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: var(--spacing-xs);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--border-radius-sm);
  background: rgba(255, 255, 255, 0.02);
  overflow: visible;
  box-sizing: border-box;
}

.page-prefs-edit .prefs-group-toggle {
  padding: 0.625rem 0.85rem;
  box-sizing: border-box;
}

.page-prefs-edit .prefs-group-content {
  padding: var(--spacing-xs) 0.85rem var(--spacing-sm);
  box-sizing: border-box;
}

.page-prefs-edit .prefs-group-foldout:hover {
  border-color: rgba(6, 182, 212, 0.2);
  background: rgba(255, 255, 255, 0.04);
}

@media (min-width: 769px) {
  .page-prefs-edit .prefs-group-foldout {
    border: none;
    background: transparent;
    margin-bottom: var(--spacing-sm);
  }

  .page-prefs-edit .prefs-group-foldout:hover {
    border-color: transparent;
    background: transparent;
  }

  .page-prefs-edit .prefs-group-foldout summary {
    display: block !important;
    list-style: none;
    cursor: default;
    pointer-events: none;
    margin-bottom: 0;
  }

  .page-prefs-edit .prefs-group-toggle {
    display: block !important;
    padding: 0;
    margin: 0;
    pointer-events: none;
  }

  .page-prefs-edit .prefs-group-toggle:hover {
    background: transparent !important;
  }

  .page-prefs-edit .prefs-group-toggle .toggle-icon {
    display: none !important;
  }

  .page-prefs-edit .prefs-group-foldout .prefs-group-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    border-top: none !important;
    padding: var(--spacing-xs) 0 var(--spacing-sm) 0 !important;
    margin: 0 !important;
  }

  .page-prefs-edit .prefs-group-foldout[open] .prefs-group-content,
  .page-prefs-edit .prefs-group-foldout:not([open]) .prefs-group-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Overview Foldout Card Modern Styling */
.overview-foldout-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--border-radius);
  background: rgba(255, 255, 255, 0.02);
  margin-top: var(--spacing-sm);
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* Remove gradient border on hover */
.overview-foldout-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.03);
}

.overview-foldout-card[open] {
  border-color: rgba(6, 182, 212, 0.3);
  background: rgba(255, 255, 255, 0.04);
}

.overview-foldout-toggle {
  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.overview-foldout-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* This rule is now handled above - removing duplicate */

/* Diary List Item Modern Styling */
.diary-list-item {
  background: linear-gradient(135deg, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.diary-list-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, 
    rgba(157, 78, 221, 0.6) 0%,
    rgba(6, 182, 212, 0.6) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.diary-list-item:hover {
  border-color: rgba(157, 78, 221, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3),
              0 0 0 1px rgba(157, 78, 221, 0.1) inset;
  transform: translateX(4px);
}

.diary-list-item:hover::before {
  opacity: 1;
}

.diary-list-item.diary-request-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(234, 179, 8, 0.3);
  border-color: rgba(234, 179, 8, 0.4);
}

.diary-list-item.diary-request-card.diary-pending-request {
  border-color: rgba(6, 182, 212, 0.3);
  background: linear-gradient(135deg, 
    rgba(6, 182, 212, 0.08) 0%, 
    rgba(6, 182, 212, 0.05) 100%);
}

.diary-list-item.diary-request-card.diary-pending-request:hover {
  border-color: rgba(6, 182, 212, 0.4);
  box-shadow: 0 6px 20px rgba(6, 182, 212, 0.3);
}

/* Modernize diary list title */
.diary-list-title {
  font-weight: 600;
  transition: color 0.3s ease;
}

.diary-list-item:hover .diary-list-title {
  color: var(--color-primary);
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Mobil: profilvy saknar index.php:s nästlade <div class="container"> → samma visuella gutter som start */
@media (max-width: 768px) {
  body.page-profile-view .maintenance-banner + main.container,
  body.page-profile-view .alerts.wrap + main.container,
  body.page-profile-view .maintenance-banner + .alerts.wrap + main.container,
  body.page-profile-view main.container {
    padding-top: var(--header-content-gap) !important;
    padding-bottom: 0 !important;
    padding-left: max(calc(var(--spacing-sm) + var(--spacing-sm)), env(safe-area-inset-left, 0px)) !important;
    padding-right: max(calc(var(--spacing-sm) + var(--spacing-sm)), env(safe-area-inset-right, 0px)) !important;
  }
}

/* —— Profilvy: samma smala kolumn / flikrad som start & discover —— */
.profile-view-page {
  width: 100%;
}

.profile-view-page .profile-view-layout {
  align-items: center;
}

.profile-view-page .profile-view-column {
  width: 100%;
}

@media (min-width: 1024px) {
  .profile-view-page {
    --app-feed-max-width: min(92vw, 75.6rem);
  }

  .profile-view-page .profile-view-cover,
  .profile-view-page .profile-view-cover--placeholder {
    height: min(250px, 47.84vw);
    max-height: 349.44px;
  }
}

/* Ingen yttre kortbakgrund (som hem / discover); bara omslag + innehåll */
.profile-view-page .profile-view-hero.profile-header-modern {
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  overflow: visible;
}

.profile-view-page .profile-view-cover-wrap {
  position: relative;
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
}

.profile-view-page .profile-view-tab-shell.profile-tab-card-modern {
  background: transparent;
  border: none;
  box-shadow: none;
}

.profile-view-page .profile-view-tab-shell.profile-tab-card-modern::before {
  display: none;
}

.profile-view-page .profile-view-tab-shell {
  margin-top: 0.5rem;
}

.profile-view-page .profile-view-tab-shell:has(.profile-view-feed-tab) {
  margin-top: 0.25rem;
}

.profile-view-page .profile-view-tab-shell .tab-body {
  padding-top: 0.56rem;
}

.profile-view-page .profile-view-tab-shell:has(.profile-view-feed-tab) .tab-body {
  padding-top: 0.28rem;
}

.profile-view-cover {
  position: relative;
  display: block;
  width: 100%;
  height: min(200px, 38vw);
  max-height: 280px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.15) 0%, rgba(157, 78, 221, 0.2) 50%, rgba(30, 30, 40, 0.9) 100%);
}

.profile-view-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center var(--profile-cover-y, 50%);
  display: block;
}

.profile-view-cover--placeholder {
  min-height: inherit;
  height: min(200px, 38vw);
  max-height: 280px;
}

.profile-view-cover--preview {
  height: 140px;
  border-radius: var(--radius-md, 8px);
  margin: 0;
}

.profile-view-cover--preview img {
  border-radius: inherit;
}

.profile-view-hero-actions.profile-top-actions {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 4;
  margin: 0;
}

.profile-view-hero-body {
  padding: 0 0.6rem 0.6rem 0.6rem;
}

@media (min-width: 640px) {
  .profile-view-hero-body {
    padding: 0 0.75rem 0.75rem 0.75rem;
  }
}

.profile-view-page .profile-view-identity {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
  margin-top: -2.5rem;
  position: relative;
  z-index: 2;
}

.profile-view-page .profile-view-avatar-wrap {
  flex-shrink: 0;
}

.profile-view-avatar-wrap .avatar-with-status {
  position: relative;
}

.profile-view-page .profile-view-avatar-wrap .avatar-ring .avatar-xl.profile-view-avatar,
.profile-view-page .profile-view-avatar-wrap .avatar-ring img.profile-view-avatar {
  width: 120px;
  height: 120px;
  max-width: 120px;
  max-height: 120px;
  box-sizing: border-box;
}

.profile-view-page .profile-view-headline {
  flex: 1;
  min-width: 0;
  padding-bottom: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align: left;
}

/* Gäller över legacy/profile-mobilregler som sätter center på .profile-name-row */
.profile-view-page .profile-view-headline .profile-name-row {
  margin-bottom: 0.25rem;
  justify-content: flex-start !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.35rem;
}

.profile-view-page .profile-view-headline .username {
  font-size: clamp(1.15rem, 4vw, 1.5rem);
  line-height: 1.2;
  margin: 0;
  min-width: 0;
  text-align: left;
}

.profile-view-page .profile-view-headline .profile-meta-line,
.profile-view-page .profile-view-headline .meta {
  text-align: left;
}

.profile-view-page .profile-view-headline .profile-meta-line {
  margin-bottom: 0.2rem;
  font-size: 0.85rem;
  line-height: 1.45;
}

.profile-view-page .profile-meta-line__sep {
  color: var(--color-text-muted, #a8a8b3);
}

.profile-view-page .profile-id-verified-notice {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0.14rem 0.45rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-text-muted, #a8a8b3);
  background: rgba(6, 182, 212, 0.1);
  border: 1px solid rgba(6, 182, 212, 0.22);
  vertical-align: middle;
  white-space: nowrap;
}

.profile-view-page .profile-id-verified-notice__icon {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
  color: var(--color-primary, #06b6d4);
}

.profile-view-page .profile-id-verified-notice__icon svg {
  display: block;
  width: 0.82rem;
  height: 0.82rem;
}

/*
 * Desktop: flex-end + ingen extra rubrik-padding (såg rätt ut).
 * Mobil: flex-start så padding-top på rubriken faktiskt sänker texten (flex-end gör padding-top verkningslös).
 */
@media (min-width: 769px) {
  .profile-view-page .profile-view-identity {
    align-items: flex-end;
    padding-bottom: 0;
  }

  .profile-view-page .profile-view-headline {
    margin-top: 0;
    padding-top: 0;
    /* flex-end gör padding-top olämplig; liten translate sänker namn/badges ur omslaget */
    transform: translateY(0.28rem);
  }
}

@media (max-width: 768px) {
  .profile-view-page .profile-view-identity {
    align-items: flex-start;
    padding-bottom: 0;
  }

  /* Synlig i devtools under rubrik-containern (inte bara transform) */
  .profile-view-page .profile-view-headline {
    margin-top: 0;
    transform: none;
    padding-top: 2.65rem;
    padding-bottom: 0;
  }

  .profile-view-page .profile-view-headline .profile-name-row {
    margin-bottom: 0.12rem;
  }

  .profile-view-page .profile-view-avatar-wrap .avatar-ring .avatar-xl.profile-view-avatar,
  .profile-view-page .profile-view-avatar-wrap .avatar-ring img.profile-view-avatar {
    width: 88px;
    height: 88px;
    max-width: 88px;
    max-height: 88px;
    border-width: 2px;
  }

  .profile-view-page .profile-view-headline .username {
    font-size: 1.08rem;
  }

  /* Lite lägre omslag på mobil = mindre risk att namn hamnar i bildytan */
  .profile-view-page .profile-view-cover,
  .profile-view-page .profile-view-cover--placeholder {
    height: min(168px, 40vw);
    max-height: 220px;
  }
}

.profile-view-section-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.85;
  margin: 0 0 0.5rem 0;
  color: var(--color-text-muted, #a1a1aa);
}

.profile-view-bio-block .translation-controls {
  margin: 0 0 0.25rem 0;
}

.profile-view-bio {
  margin-top: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  font-size: 0.875rem;
  line-height: 1.42;
  color: var(--color-text, #f4f4f5);
}

.profile-view-seeking {
  margin-top: 0.7rem;
}

/* Rubriken "Söker": sentence case, diskret (övriga .profile-view-section-label oförändrade) */
.profile-view-seeking .profile-view-section-label {
  text-transform: none;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--color-text-muted, #a1a1aa);
  opacity: 0.72;
  margin-bottom: 0.4rem;
}

/* Profilvy (view.php): något mindre söker-taggar */
.profile-view-page .profile-view-seeking .tags-row {
  gap: 0.375rem;
}

.profile-view-page .profile-view-seeking .seeking-tag {
  font-size: 0.8125rem;
  padding: 0.2rem 0.5rem;
  border-radius: 16px;
}

.profile-message-restricted--inline {
  margin-top: 0.5rem;
}

.profile-view-feed-card,
.profile-view-feed-tab {
  margin-top: 0;
}

.profile-view-page .home-feed-stream.profile-view-feed-stream {
  margin-top: calc(var(--spacing-md) * 0.5);
}

@media (min-width: 769px) {
  /* Inset bara på ytterkanterna — inte margin mellan flera bilder i samma inlägg */
  .profile-view-page .home-feed-stream .activity-item--feed-card > .activity-feed-post-images--bleed {
    box-sizing: border-box;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 8%;
    padding-right: 8%;
  }

  .profile-view-page .home-feed-stream .activity-feed-post-images--bleed .activity-feed-post-images__cell,
  .profile-view-page .home-feed-stream .activity-feed-post-images--bleed .activity-feed-post-images__cell img {
    margin-left: 0;
    margin-right: 0;
  }
}

.profile-view-feed-item {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.profile-view-feed-item:hover {
  border-color: rgba(6, 182, 212, 0.35);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.profile-view-feed-item--locked {
  opacity: 0.92;
}

.profile-view-feed-item__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--color-text-muted, #a1a1aa);
  margin-bottom: 0.35rem;
}

.profile-view-feed-item__type {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-primary, #06b6d4);
}

.profile-view-feed-item__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.35rem 0;
}

.profile-view-feed-item__preview {
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--color-text-muted, #a1a1aa);
}

/* Flikar i discover-chrome: marginal runt hela scroll-wrap (som discover) */
.profile-view-page .profile-view-tabs-discover .discover-tabs-scroll-wrap {
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.profile-view-page .profile-view-tabs-discover .profile-view-tabs.home-feed-tabs {
  margin-top: 0;
  margin-bottom: 0;
}

/* Tätare flikrad än discover (lägre höjd, mindre padding) */
.profile-view-page .profile-view-tabs-discover .discover-tabs-chrome {
  padding: 0 4px;
}

.profile-view-page .profile-view-tabs-discover .discover-tabs-chrome .home-feed-tabs {
  margin: 0 -4px;
  width: calc(100% + 8px);
}

.profile-view-page .profile-view-tabs-discover .home-feed-tabs .home-feed-tab.tab-link {
  font-size: 0.78rem;
  padding: 0.48rem 0.55rem;
  letter-spacing: 0.015em;
}

@media (min-width: 769px) {
  .profile-view-page .profile-view-tabs-discover .home-feed-tabs .home-feed-tab.tab-link {
    font-size: calc(0.78rem * 1.05);
    padding: calc(0.48rem * 1.05) 0.55rem;
  }
}

/* Profilvy — fliken Om mig (samma ton som hero: bio / Söker) */
.profile-view-page .profile-about-tab {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 0 0.25rem;
}

/* Översikt: flera block utan ram; inom block — flex-rad med tät spacing */
.profile-view-page .profile-about-overview-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.profile-view-page .profile-about-overview-block {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
}

.profile-view-page .profile-about-overview-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.48rem;
}

.profile-view-page .profile-about-overview-cell {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.35rem;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

.profile-view-page .profile-about-field-label {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-text-muted, #a1a1aa);
  opacity: 0.92;
  flex-shrink: 0;
}

.profile-view-page .profile-about-field-value {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--color-text, #f4f4f5);
  min-width: 0;
}

.profile-view-page .profile-about-overview-single,
.profile-view-page .profile-about-overview-languages {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.45rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.profile-view-page .profile-about-soft-label {
  text-transform: none;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--color-text-muted, #a1a1aa);
  opacity: 0.72;
  margin: 0 0 0.35rem 0;
}

.profile-view-page .profile-about-interests .profile-about-soft-label {
  margin-bottom: 0.4rem;
}

.profile-view-page .profile-about-overview-member-divider {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Parprofiler: medlemsöversikt staplad på mobil, två kolumner på desktop */
.profile-view-page .profile-about-overview--couple {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.profile-view-page .profile-about-overview--couple .profile-about-overview-member + .profile-about-overview-member {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (min-width: 769px) {
  .profile-view-page .profile-about-overview--couple {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .profile-view-page .profile-about-overview--couple .profile-about-overview-member {
    flex: 1;
    min-width: 0;
  }

  .profile-view-page .profile-about-overview--couple .profile-about-overview-member + .profile-about-overview-member {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
}

.profile-view-page .profile-about-interest-tags {
  gap: 0.375rem;
}

.profile-view-page .profile-about-interest-tags .interest-tag {
  font-size: 0.8125rem;
  padding: 0.2rem 0.5rem;
  border-radius: 16px;
}

.profile-view-page .profile-about-social {
  margin-top: 0.35rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  width: 100%;
}

.profile-view-page .profile-about-social .social-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1.1rem;
  width: 100%;
}

/* Preferenser på profilvyn: tydlig huvudrubrik > grupp-rubrik, synliga foldouts (som öppet läge) */
.profile-view-page .profile-view-prefs-tab {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.profile-view-page .profile-view-prefs-tab .gallery-create-action {
  margin-top: 0.35rem;
  /* Minskar luft under: mindre än global 1rem + kompenserar del av vstack gap-12 */
  margin-bottom: calc(-0.65 * var(--spacing-md, 1rem));
}

.profile-view-page .profile-view-prefs-empty {
  color: var(--color-text-muted, #a1a1aa);
  font-size: 0.9375rem;
}

.profile-view-page .profile-view-prefs-tab .prefs-cards-container {
  gap: var(--spacing-md);
}

/* Sektion: lätt ram, ingen tung gradient (::before bort) */
.profile-view-page .profile-view-prefs-tab .prefs-card.profile-prefs-card-modern {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
  border-radius: var(--radius-lg, 12px);
  padding: 0.85rem 1rem !important;
  margin: 0;
  overflow: visible !important;
}

.profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern::before {
  display: none !important;
}

.profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern > .row-between.mb-8 {
  margin-bottom: 0.5rem !important;
}

/* Huvudrubrik större och tydligare än grupp-rubrikerna */
.profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern h3 {
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: var(--color-text, #f4f4f5) !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 0 0.4rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
}

.profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern h3::after {
  display: none !important;
}

/* Grupp-rubrik (summary): mindre än h3 */
.profile-view-page .profile-view-prefs-tab .prefs-group-toggle .form-label {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--color-text-muted, #a1a1aa) !important;
}

.profile-view-page .profile-view-prefs-tab .prefs-group-content .tags-row {
  gap: 0.375rem;
}

.profile-view-page .profile-view-prefs-tab .tag.prefs-tag {
  font-size: 0.8125rem;
  padding: 0.2rem 0.5rem;
  border-radius: 16px;
}

/* Foldouts: tydlig kant + lätt bakgrund (syns även stängda) */
.profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-foldout {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--border-radius-sm, 8px);
  background: rgba(0, 0, 0, 0.2);
  margin-bottom: 0.5rem;
  overflow: visible !important;
}

.profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-foldout:hover {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.26);
}

/* Desktop: details kan dölja innehåll när [open] saknas — tvinga synligt + JS sätter open */
@media (min-width: 769px) {
  .profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-foldout .prefs-group-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0.45rem 0.65rem 0.6rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }

  .profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-foldout[open] .prefs-group-content,
  .profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-foldout:not([open]) .prefs-group-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-toggle {
    padding: 0.55rem 0.65rem !important;
  }
}

@media (max-width: 768px) {
  .profile-view-page .profile-view-prefs-tab .prefs-card.profile-prefs-card-modern {
    padding: 0.75rem 0.85rem !important;
  }

  .profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-foldout {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-toggle {
    padding: 0.55rem 0.65rem !important;
  }

  .profile-view-page .profile-view-prefs-tab .profile-prefs-card-modern .prefs-group-content {
    padding: 0.4rem 0.65rem 0.55rem !important;
  }
}

.profile-about-cover-section .cover-image-preview-container {
  margin-top: 1rem;
}

.profile-about-cover-section .cover-image-preview-wrapper {
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  cursor: grab;
}

.profile-about-cover-section .cover-image-preview-wrapper:active {
  cursor: grabbing;
}

.profile-about-cover-section .cover-image-preview {
  width: 100%;
  height: 100%;
  min-height: 200px;
  background-color: #e5e7eb;
  background-size: cover;
  background-position-x: center;
  background-position-y: 50%;
  background-repeat: no-repeat;
}

.profile-about-cover-section .cover-image-position-indicator {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: 1;
}

/* —— Profilresultatkort (Discover): article + hög specificitet slår components.css (.tag, .seeking-tag ×) —— */
article.profile-result-card {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 12px;
  margin-bottom: 0;
  background: rgba(30, 30, 30, 0.5);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

article.profile-result-card .profile-result-card__body {
  padding: 0.75rem 0.85rem 0.8rem 0.5rem;
}

article.profile-result-card .profile-result-card__row {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 0.65rem 0.5rem;
  align-items: start;
  width: 100%;
  min-width: 0;
}

article.profile-result-card .profile-result-card__avatar-col {
  flex-shrink: 0;
  min-width: 0;
}

/* Bas för gradientring: layout.css (global) */

article.profile-result-card .profile-result-card__avatar-img {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 3px solid rgba(18, 18, 24, 0.98);
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

article.profile-result-card .profile-result-card__text-col {
  min-width: 0;
  overflow-wrap: anywhere;
}

article.profile-result-card .profile-result-card__identity {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  width: 100%;
  min-width: 0;
}

article.profile-result-card .profile-result-card__name-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: max(0.25rem, 0.5%);
  row-gap: 0.25rem;
  width: 100%;
  min-width: 0;
}

article.profile-result-card h3.username.profile-result-card__name {
  margin: 0 !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em;
  color: var(--color-text, #f4f4f5) !important;
  min-width: 0;
  flex: 0 1 auto;
  overflow-wrap: anywhere;
}

article.profile-result-card .profile-result-card__badges {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  flex-shrink: 0;
}

article.profile-result-card .profile-result-card__badges .pro-badge,
article.profile-result-card .profile-result-card__badges .admin-badge {
  width: 1.35rem !important;
  height: 1.35rem !important;
  min-width: 1.35rem !important;
  min-height: 1.35rem !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

article.profile-result-card .profile-result-card__badges .pro-badge svg,
article.profile-result-card .profile-result-card__badges .admin-badge svg {
  width: 1.01rem !important;
  height: 1.01rem !important;
}

article.profile-result-card .profile-result-card__meta {
  margin: 0;
  padding: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--color-text-muted, #a8a8b3);
}

article.profile-result-card .profile-result-card__actions-col {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  flex-shrink: 0;
}

article.profile-result-card button.profile-result-card__mer {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0.38rem;
  min-width: 32px;
  min-height: 32px;
  box-sizing: border-box;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-text, #e4e4e7);
  font-family: inherit;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

article.profile-result-card button.profile-result-card__mer:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.3);
  color: var(--color-text-light, #fafafa);
}

article.profile-result-card .profile-result-card__mer-chevron {
  font-size: 0.65rem;
  opacity: 0.9;
  line-height: 1;
  transition: transform 0.15s ease;
}

article.profile-result-card .profile-result-card__mer--open .profile-result-card__mer-chevron {
  transform: rotate(180deg);
}

article.profile-result-card .profile-result-card__mer--open {
  border-color: rgba(6, 182, 212, 0.55) !important;
  background: rgba(6, 182, 212, 0.16) !important;
  color: var(--color-text, #f4f4f5) !important;
}

article.profile-result-card .profile-result-card__prof {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.07);
  color: var(--color-text, #f4f4f5);
  text-decoration: none;
  line-height: 0;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

article.profile-result-card .profile-result-card__prof:hover {
  background: rgba(6, 182, 212, 0.18);
  border-color: rgba(6, 182, 212, 0.45);
  color: var(--color-primary, #22d3ee);
}

article.profile-result-card .profile-result-card__prof-icon,
article.profile-result-card .profile-result-card__prof svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  display: block;
  flex-shrink: 0;
}

article.profile-result-card .profile-result-card__lastseen {
  font-size: 0.6875rem;
  margin-top: 0.25rem;
  line-height: 1.25;
}

article.profile-result-card .profile-result-card__preview {
  margin-top: 0.55rem;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

article.profile-result-card .profile-result-card__seeking-line {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.4rem;
}

article.profile-result-card .profile-result-card__tag-label {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-muted, #a1a1aa);
  opacity: 0.75;
  flex-shrink: 0;
}

article.profile-result-card .profile-result-card__tags-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  align-items: center;
}

/* Storlek som profilvy (samma som .profile-view-seeking / .profile-about-interest-tags / prefs .tag) */
article.profile-result-card .profile-result-card__tags-row .seeking-tag,
article.profile-result-card .profile-result-card__tags-row .tag,
article.profile-result-card .expanded-details .tag {
  font-size: 0.8125rem !important;
  padding: 0.2rem 0.5rem !important;
  border-radius: 16px !important;
}

article.profile-result-card .profile-result-card__tags-row a.tag.tag-link,
article.profile-result-card .expanded-details a.tag.tag-link {
  text-decoration: none;
}

/*
 * Discover profilkort: visa andras "söker" som vanliga pill-taggar men UTAN ×.
 * × i components.css är för redigerbara egna taggar — här ska man inte kunna "ta bort" någons taggar.
 */
article.profile-result-card .seeking-tag.seeking-tag-private:not([data-value^="#"])::after,
article.profile-result-card .seeking-tag.seeking-tag-pro:not([data-value^="#"])::after,
article.profile-result-card .seeking-tag:not([data-value^="#"]):not(.seeking-tag-private):not(.seeking-tag-pro)::after {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}

article.profile-result-card .expanded-details {
  padding: 0.55rem 0.85rem 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 0;
  background: rgba(0, 0, 0, 0.1);
}

article.profile-result-card .expanded-details .text-xs.text-muted.mb-1 {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.75;
  margin-bottom: 0.25rem !important;
}

article.profile-result-card .expanded-details .mt-1:not(.profile-result-card__overview-wrap) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.375rem;
  row-gap: 0.26rem;
}

article.profile-result-card
  .expanded-details
  .mt-1:not(.profile-result-card__overview-wrap)
  > .text-xs.text-muted.mb-1 {
  flex: 1 0 100%;
  min-width: 0;
}

article.profile-result-card
  .expanded-details
  .mt-1:not(.profile-result-card__overview-wrap)
  a.tag.tag-link {
  margin-left: calc(-0.375rem * 0.75);
}

article.profile-result-card .expanded-details .mt-1 + .mt-1,
article.profile-result-card .expanded-details .mt-2 + .mt-1,
article.profile-result-card .expanded-details .mt-1 + .mt-2 {
  margin-top: 0.45rem !important;
}

article.profile-result-card .expanded-details .text-sm {
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--color-text-muted, #c4c4cc);
}

article.profile-result-card .compact-preview {
  margin-top: var(--spacing-xs);
}

/* Översikt i utfällt kort = samma mönster som Om-fliken (label vs värde) */
article.profile-result-card .profile-result-card__overview-wrap .profile-about-soft-label {
  font-size: calc(0.75rem * 0.98);
}

article.profile-result-card .profile-result-card__overview-wrap .profile-result-card__overview-heading {
  margin: 0 0 0.4rem 0;
}

article.profile-result-card .profile-result-card__overview-member {
  margin: 0 0 0.35rem 0;
}

article.profile-result-card .profile-result-card__overview-divider {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

article.profile-result-card .profile-about-overview-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

article.profile-result-card .profile-about-overview-block {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
}

article.profile-result-card .profile-about-overview-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.48rem;
}

article.profile-result-card .profile-about-overview-cell {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.35rem;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

article.profile-result-card .profile-about-field-label {
  font-size: calc(0.8125rem * 0.98);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-text-muted, #a1a1aa);
  opacity: 0.92;
  flex-shrink: 0;
}

article.profile-result-card .profile-about-field-value {
  font-size: calc(0.875rem * 0.98);
  font-weight: 400;
  color: var(--color-text, #f4f4f5);
  min-width: 0;
}
