.profile-page-container {
  padding: 0;
  margin: 0;
  max-width: 100%;
}

.profile-wrapper.loading {
  display: none;
}

.profile-loader {
  text-align: center;
  padding: 50px;
  font-size: 1.2rem;
}

/* === СТИЛИ ДЛЯ БАННЕРА (СЕКЦИЯ №1) === */

.profile-header {
  position: relative;
  width: 100%;
  min-height: 450px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  background-color: #f8f9fa;
  transition: background-color 0.3s ease;
}

.profile-banner-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1; /* Баннер находится под контентом */
  display: none; /* По умолчанию скрыт */
}

/* Показываем контейнер, когда JavaScript добавит этот класс */
.profile-header.has-banner .profile-banner-container {
  display: block;
}

#profileBannerImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Умное затемнение: делаем темные картинки светлее, а светлые - темнее */
  filter: brightness(0.7) contrast(1.1);
}

/* Контент внутри баннера (аватар, имя, почта) */
.profile-header-content {
  position: relative;
  z-index: 2; /* Контент всегда НАД баннером */
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Этот селектор гарантирует, что стили применятся только когда есть баннер */
.profile-header.has-banner .profile-name-display,
.profile-header.has-banner .profile-email-display {
  color: #ffffff !important; /* !important для переопределения других правил */
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.75); /* Усиливаем тень для читаемости */
}

.profile-header .profile-name-display {
  margin-top: 1.5rem;
  font-size: 2.5rem;
  font-weight: 700;
}

.profile-header .profile-email-display {
  margin-top: 0.25rem;
  font-size: 1.1rem;
  opacity: 0.9;
}

/* === ТЕМНАЯ ТЕМА === */
body.dark-theme .profile-header {
  background-color: #1a1a1a;
}

/* Аватар */
.avatar-wrapper {
  width: 150px;
  height: 150px;
}


.avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

.avatar-wrapper:hover .avatar-img {
  filter: brightness(0.7);
}

.avatar-edit-btn {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  color: white;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.5rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.avatar-wrapper:hover .avatar-edit-btn {
  opacity: 1;
}

#editProfileModal {
  z-index: 1060; /* z-index Bootstrap-оверлея 1055, ставим наше окно выше */
}

/* === СТИЛИ ДЛЯ КОНТЕНТА ПОД БАННЕРОМ (СЕКЦИЯ №2) === */

.profile-content-area {
  padding-bottom: 50px;
  background-color: #f0f2f5; /* Фон для светлой темы */
  transition: background-color 0.3s ease;
}

.profile-card {
  background: var(--bs-body-bg);
  border-radius: 12px;
  padding: 25px;
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  height: 100%;
}

.profile-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.profile-card .card-title {
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-body-color);
}

.profile-balance-amount {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--bs-body-color);
}

.currency-logo {
  height: 40px;
  margin-bottom: 5px;
}

.info-list {
  list-style: none;
  padding: 0;
}

.info-label {
  font-weight: 500;
  color: var(--bs-secondary-color);
  margin-right: 8px;
}

.info-value {
  font-weight: 500;
  color: var(--bs-body-color);
}

.profile-actions .btn {
  border-radius: 8px;
  padding: 10px 20px;
  font-weight: 500;
  margin: 5px;
}

/* === СТИЛИ ДЛЯ ТЕМНОЙ ТЕМЫ === */

body.dark-theme .profile-card {
  background-color: #2c3036;
  border-color: #495057;
}

/* Явно указываем белый/светлый цвет для текста в темной теме */
body.dark-theme .profile-card h1,
body.dark-theme .profile-card h5,
body.dark-theme .profile-card p,
body.dark-theme .profile-card span {
  color: #f8f9fa; /* Светло-серый цвет текста Bootstrap */
}

/* Второстепенному тексту задаем более тусклый оттенок */
body.dark-theme .info-label {
  color: #adb5bd;
}

body.dark-theme .profile-content-area {
  background-color: rgb(34, 36, 40);
}


/* === КОНЕЦ ТЕМНОЙ ТЕМЫ === */

/* === СТИЛИ ДЛЯ МОДАЛЬНОГО ОКНА В ТЕМНОЙ ТЕМЕ === */

body.dark-theme .modal-content {
  background-color: #2c3036; /* Темный фон для самого окна */
  color: #f8f9fa;             /* Светлый цвет основного текста */
  border: 1px solid #495057;
}

body.dark-theme .modal-header {
  border-bottom: 1px solid #495057; /* Линия под заголовком */
}

body.dark-theme .modal-footer {
  border-top: 1px solid #495057; /* Линия над кнопками */
}

/* Стилизуем кнопку "крестик" для закрытия */
body.dark-theme .modal-header .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* Стилизуем поля ввода */
body.dark-theme .modal-body .form-control {
  background-color: #212529;
  border-color: #495057;
  color: #f8f9fa;
}

body.dark-theme .modal-body .form-control:focus {
  background-color: #212529;
  border-color: #86b7fe; /* Стандартный цвет фокуса Bootstrap */
  color: #f8f9fa;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Стилизуем лейблы */
body.dark-theme .modal-body .form-label {
  color: #adb5bd; /* Более тусклый цвет для лейблов */
}

.profile-card .card-footer {
  text-align: center;
  margin-top: 20px;
}

@media (max-width: 768px) {
  .avatar-wrapper {
    width: 120px;
    height: 120px;
  }
  .profile-header .profile-name-display {
    font-size: 1.75rem;
  }
  .profile-balance-amount {
    font-size: 1.75rem;
  }
  .profile-card {
    padding: 20px;
  }
  .currency-logo {
    height: 30px;
  }
  .d-flex {
    gap: 0!important;
  }
}