 .navbar-bottom .nav-link.active i {
   filter: brightness(0) saturate(100%) invert(20%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0.5);
 }

 /* ===== Instagram-подобные табы ===== */
 .profile-tabs {
   display: flex;
   justify-content: space-around;
   background: #fff;
   margin-bottom: 10px;
   border: none;
   /* убираем верхнюю и нижнюю границы */
 }

 .profile-tabs .nav-item {
   flex: 1;
   text-align: center;
 }

 .profile-tabs .nav-link {
   display: flex;
   /* делаем flex-контейнером */
   justify-content: center;
   /* центрируем иконку по горизонтали */
   align-items: center;
   /* центрируем по вертикали */
   width: 100%;
   /* растягиваем на всю ширину nav-item */
   border: none;
   border-radius: 0;
   color: #8e8e8e;
   padding: 10px 0;
   font-size: 18px;
   position: relative;
   transition: color 0.2s;
 }

 .profile-tabs .nav-link i {
   display: block;
   font-size: 1.3rem;
 }

 .profile-tabs .nav-link.active {
   color: #000;
 }

 /* Нижняя черта на всю ширину nav-item для активной вкладки */
 .profile-tabs .nav-link.active::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   /* теперь черта занимает всю ширину nav-link */
   height: 2px;
   background: #000;
   border-radius: 1px;
 }

 /* Плавное появление черты при переключении */
 .profile-tabs .nav-link::after {
   transition: width 0.3s ease;
 }

 body {
   background-color: #fff;
 }

 .navbar .nav-link img {
   object-fit: cover;
   border: 2px solid #ddd;
 }

 /* ======== ДЕСКТОП (от 770px и выше) ======== */
 @media (min-width: 770px) {
   body {
     display: flex;
     justify-content: center;
   }

   nav.navbar-top,
   nav.navbar-bottom {
     display: none !important;
   }

   .sidebar {
     width: 200px;
     min-height: 100vh;
     background-color: #fff;
     border-right: 1px solid #ddd;
     position: fixed;
     top: 0;
     left: 0;
     padding: 1rem;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     transition: width 0.3s ease;
   }

   .sidebar .nav-link {
     color: #333;
     font-weight: 500;
     margin-bottom: 0.8rem;
     display: flex;
     align-items: center;
     gap: 0.6rem;
     white-space: nowrap;
   }

   .sidebar .nav-link:hover {
     color: #0d6efd;
   }

   .content-wrapper {
     margin-left: 250px;

     display: flex;
     justify-content: center;

     transition: margin-left 0.3s ease;
     flex-direction: column;
     min-width: 470px;

   }

   .container {
     width: 100%;
     max-width: 470px;
     padding-top: 1rem;
   }
 }

 /* ======== УЗКИЙ ДЕСКТОП (до 1265px) ======== */
 @media (max-width: 1250px) and (min-width: 770px) {
   .sidebar {
     width: 80px;
     align-items: center;
     padding: 1rem 0.5rem;
   }

   .sidebar h4 {
     font-size: 1.25rem;
   }

   .sidebar .nav-link {
     justify-content: center;
     margin-bottom: 1rem;
   }

   .sidebar .nav-link span {
     display: none;
   }

   .content-wrapper {
     margin-left: 80px;
     min-width: 470px;
   }
 }

 /* ======== МОБИЛЬНЫЙ (до 770px) ======== */
 @media (max-width: 769px) {
   .sidebar {
     display: none;
   }

   .navbar-top .navbar-brand {
     font-weight: 400;
     font-size: 2rem;
   }

   .navbar-top .icon-btn {
     color: #333;
     font-size: 1.4rem;

   }

   .content-wrapper {
     /* padding-bottom: 60px;
       */
   }

   .container {
     width: 100%;
     padding-top: 1rem;
   }
 }


 .navbar-brand {
   font-family: "Cookie", cursive;
   font-weight: 900;
   font-size: 2rem;
   letter-spacing: 1px;
   margin-right: 0;

 }

 .logo-mini {
   display: inline-block;
   width: 28px;
   height: 28px;
   border-radius: 8px;
   background: linear-gradient(135deg, #ff0080, #7928ca);
   color: #fff;
   font-size: 1.1rem;
   line-height: 28px;
   text-align: center;
   font-weight: 700;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
 }



 .create-menu {
   position: absolute;
   top: 55px;
   right: 0;
   background: #fff;
   border: 1px solid rgba(0, 0, 0, 0.1);
   display: none;
   flex-direction: column;
   min-width: 200px;
   z-index: 2000;
 }

 .create-item {
   padding: 10px 15px;
   color: #333;
   text-decoration: none;
   display: flex;
   align-items: center;
   transition: background 0.2s;
 }

 .create-item:hover {
   background: #f5f5f5;
 }

 .icon-btn {
   color: #000;
   text-decoration: none;
 }

 .icon-btn:hover {
   color: #000;
 }

 /* === Липкая верхняя навигация === */
 .sticky-nav {
   position: sticky;
   top: 0;
   z-index: 1050;
   /* поверх контента */
   background-color: #fff;
   /* чтобы не было прозрачности при прокрутке */
   transition: box-shadow 0.2s ease-in-out;
 }

 /* Тень при прокрутке — для визуального эффекта */
 .sticky-nav.scrolled {
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
 }

 .stories-bar {
   display: flex;
   align-items: center;
   overflow-x: auto;
   gap: 14px;
   padding: 0 10px;
   scrollbar-width: none;
 }

 .stories-bar::-webkit-scrollbar {
   display: none;
 }

 .story-item {
   flex: 0 0 auto;
   width: 90px;
   position: relative;
   cursor: pointer;

   display: flex;
   flex-direction: column;
   align-items: center;
   /* центрируем по горизонтали */
   justify-content: flex-start;
   text-align: center;
 }

 .story-ring {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   padding: 3px;
   background: linear-gradient(45deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5);
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .story-ring img {
   width: 74px;
   height: 74px;
   border-radius: 50%;
   border: 2px solid #fff;
   object-fit: cover;
 }

 .story-name {
   margin-top: 6px;
   font-size: 12px;
   color: #333;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
 }

 /* ===== Вашa история ===== */
 .story-item.me .story-ring {
   background: none;
   /* без градиента */
 }

 .story-item.me .add-icon {
   position: absolute;
   right: 10px;
   bottom: 28px;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   background: #000;
   color: #fff;
   font-size: 17px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid #fff;
 }

 .modal-close,
 .modal-prev,
 .modal-next {
   position: fixed;
   /* ! важно: фиксированное положение на экране */
   background: rgba(0, 0, 0, 0.3);
   color: white;
   border: none;
   font-size: 32px;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 1100;
   /* выше модального окна */
 }

 .modal-close {
   top: 20px;
   right: 20px;
 }

 .modal-prev {
   top: 50%;
   left: 20px;
   transform: translateY(-50%);
 }

 .modal-next {
   top: 50%;
   right: 20px;
   transform: translateY(-50%);
 }

 /* ===== Общие стили ===== */
 .modal.hidden {
   display: none;
 }

 .modal {
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, 0.85);
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 1000;
   overflow: hidden;
 }

 .modal-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.7);
 }

 .modal-wrapper {
   display: flex;
   width: 80%;
   max-width: 1000px;
   max-height: 90%;
   background: #fff;
   position: relative;
   border-radius: 8px;
   overflow: hidden;
   transition: all 0.3s ease;
 }

 /* Левая часть */
/*  .modal-media {
   flex: 1;
   background: black;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 .modal-media img,
 .modal-media video {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
 } */

 /* Правая часть */
/*  .modal-details {
   width: 400px;
   display: flex;
   flex-direction: column;
   background: #fff;
   transition: all 0.3s ease;
 } */

 /* Шапка */
 .modal-header {
   display: flex;
   align-items: center;
   padding: 12px;
   border-bottom: 1px solid #ddd;
 }

 .modal-header .avatar {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   margin-right: 10px;
   object-fit: cover;
 }

 .modal-header span {
   font-weight: bold;
 }

 /* Комментарии с прокруткой */
 .modal-comments {
   flex: 1;
   padding: 0 12px;
   overflow-y: auto;
   position: relative;
 }

 .modal-comments::before,
 .modal-comments::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   height: 15px;
   pointer-events: none;
 }

 .modal-comments::before {
   top: 0;
   background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
 }

 .modal-comments::after {
   bottom: 0;
   background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
 }

 /*  .comment {
    margin-bottom: 8px;
  } */

 .comment .username {
   font-weight: 600;
   margin-right: 4px;
 }

 /* Действия */
 .modal-actions {
   display: flex;
   gap: 10px;
   padding: 8px 12px;
 }

 .modal-actions button {
   background: none;
   border: none;
   cursor: pointer;
   font-size: 20px;
 }

 /* Лайки и дата */
 .modal-likes,
 .modal-date {
   padding: 0 12px;
   font-size: 14px;
   color: #555;
 }

 .video-wrapper {
   width: 100%;
   aspect-ratio: 4 / 5;
   background-color: #000;
   display: flex;
   justify-content: center;
   align-items: center;
   overflow: hidden;
 }

 .video-wrapper video {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
 }

 /* Добавление комментария */
 .modal-add-comment {
   display: flex;
   padding: 8px 12px;
   border-top: 1px solid #ddd;
 }

 .modal-add-comment input {
   flex: 1;
   border: 1px solid #ddd;
   border-radius: 20px;
   padding: 6px 12px;
   outline: none;
 }

 .modal-add-comment button {
   background: none;
   border: none;
   color: #0095f6;
   font-weight: bold;
   margin-left: 8px;
   cursor: pointer;
 }

 /* Кнопки управления */
 .modal-close,
 .modal-prev,
 .modal-next {
   position: absolute;
   background: rgba(0, 0, 0, 0.3);
   color: white;
   border: none;
   font-size: 32px;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 10;
 }

 .modal-close {
   top: 10px;
   right: 10px;
 }

 .modal-prev {
   left: 10px;
   top: 50%;
   transform: translateY(-50%);
 }

 .modal-next {
   right: 10px;
   top: 50%;
   transform: translateY(-50%);
 }

 /* Сетка постов */
 .user-posts-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
   gap: 2px;
 }

 .user-post {
   position: relative;
   width: 100%;
   aspect-ratio: 4 / 5;
   cursor: pointer;
   overflow: hidden;
 }

 .user-post img,
 .user-post video {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .user-post-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.3);
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
   opacity: 0;
   transition: opacity 0.3s;
 }

 .user-post:hover .user-post-overlay {
   opacity: 1;
 }

 .user-post-overlay span {
   color: white;
   font-weight: bold;
   display: flex;
   gap: 4px;
 }

 /* ===== Адаптивный Instagram-style ===== */
 @media (max-width: 768px) {
   .modal-wrapper {
     flex-direction: column;
     width: 95%;
     max-height: 95%;
   }

   .modal-details {
     width: 100%;
     height: auto;
     max-height: 40%;
   }

   .modal-comments {
     max-height: 150px;
   }
 }

 /* ===== Сетка постов адаптивная ===== */
 .profile-info {
   display: flex;
   flex-direction: column;
   gap: 10px;
   /* расстояние между блоками */
 }

 /* Контейнер для двух половин */
 .info-row {
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
   /* чтобы на маленьких экранах переносились */
 }

 /* Общий стиль блока */
 .info-block {
   background: #f2f2f2;
   border-radius: 12px;
   padding: 12px 16px;
   display: flex;
   flex-direction: column;
   /* теперь пары идут столбиком */
   gap: 8px;
   /* расстояние между парами */
   font-size: 14px;
 }

 /* Полная ширина */
 .info-block.full-width {
   width: 100%;
 }

 /* Половина ширины */
 .info-block.half-width {
   flex: 1;
   min-width: 150px;
   /* минимальная ширина для мобильных */
 }



 .info-pair {
   display: flex;
   justify-content: flex-start;
 }

 .info-pair-column {
   display: flex;
   justify-content: flex-start;
   flex-flow: column;
 }

 .param {
   font-weight: 600;
 }

 .value {
   font-weight: 400;
   text-align: left;
   margin-left: 5px;
 }

 .user-post-overlay {
   position: absolute;
   inset: 0;
   background-color: rgba(0, 0, 0, 0.3);
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   opacity: 0;
   transition: opacity 0.3s;
 }

 .user-post:hover .user-post-overlay {
   opacity: 1;
 }

 .user-post-overlay span {
   color: white;
   font-weight: bold;
   display: flex;
   align-items: center;
   gap: 4px;
 }

 /* ===== Модальное окно ===== */
 .modal.hidden {
   display: none;
 }

 .modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1055;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 .modal-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.7);
 }

 /* Контент модалки */
 .modal-content {
   position: relative;
   display: flex;
   width: 80%;
   height: 80%;
   background: #fff;
   overflow: hidden;
   z-index: 1;
 }

 .modal-body {
   display: flex;
   width: 100%;
   height: 100%;
 }

 .modal-image {
   flex: 1;
   display: flex;
   justify-content: center;
   align-items: center;
   background: black;
 }

 .modal-image img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
 }

 .modal-details {
   width: 400px;
   display: flex;
   flex-direction: column;
   padding: 10px;
   overflow-y: auto;
 }

 .ig-form-wrapper {
   max-width: 420px;
   margin: 0 auto;
 }

 .ig-input {
   background: #fafafa;
   border: 1px solid #dbdbdb;
   border-radius: 8px;
   padding: 10px 12px;
   font-size: 14px;
   width: 100%;
 }

 .ig-input:focus {
   border-color: #a8a8a8;
   box-shadow: none;
   background: #fff;
 }

 .ig-label {
   font-size: 12px;
   font-weight: 600;
   color: #737373;
   margin-bottom: 4px;
   display: block;
 }

 .ig-btn {
   width: 100%;
   background-color: #0095f6;
   border: none;
   border-radius: 8px;
   font-weight: 600;
   padding: 8px 0;
   color: #fff;
 }

 .ig-btn:hover {
   background-color: #007cd1;
 }

 .ig-error {
   color: #d9534f;
   font-size: 12px;
   margin-top: 3px;
 }

 /* Общий контейнер формы */
 .ig-form-section {

   margin-bottom: 20px;
 }

 /* Заголовки секций (fieldset legend) */
 .ig-legend {
   font-size: 14px;
   font-weight: 600;
   color: #444;

 }

 /* INPUTS */
 .ig-input {
   width: 100%;
   background: #fafafa;
   border: 1px solid #dbdbdb;
   border-radius: 8px;
   padding: 10px 12px;
   font-size: 14px;
 }

 .ig-input:focus {
   border-color: #a8a8a8;
   background: #fff;
   box-shadow: none;
 }

 /* LABELS */
 .ig-label {
   font-size: 12px;
   font-weight: 600;
   color: #737373;
   margin-bottom: 4px;
   display: block;
 }

 /* Ошибки */
 .ig-error {
   color: #d9534f;
   font-size: 12px;
   margin-top: 3px;
 }

 /* Свитчи */
 .ig-switch.form-check-input {
   height: 1em;
   width: 1.7em;
   cursor: pointer;
   top: -2px;
   position: relative;
 }

 .ig-form-block {
   background: #ffffff;
   border: 1px solid #dbdbdb;
   border-radius: 12px;
   padding: 0.75rem 0.75rem 0 0.75rem;
   margin-bottom: 20px;
 }

 /* Select2 в IG стиле */
 .select2-container--default .select2-selection--multiple {
   background: #fafafa !important;
   border: 1px solid #dbdbdb !important;
   border-radius: 8px !important;
   padding: 4px;
   min-height: 42px;
 }

 .select2-container--default .select2-selection--multiple .select2-selection__choice {
   background: #e0e0e0 !important;
   border: none !important;
   border-radius: 6px !important;
   font-size: 13px;
 }

 /* Фото-зоны */
 .photo-dropzone {
   background: #fafafa;
   border: 1px dashed #ccc;
   border-radius: 12px;
 }

 /* Кнопки */
 .ig-btn-primary {
   background-color: #0095f6;
   border: none;
   border-radius: 8px;
   font-weight: 600;
   padding: 8px 0;
   width: 100%;
 }

 .ig-btn-primary:hover {
   background-color: #007cd1;
 }

 .ig-btn-secondary {
   border-radius: 8px;
   padding: 8px 14px;
 }

 .post-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 0.5rem;
 }

 .post-header .avatar {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   margin-right: 10px;
 }

 .post-comments {
   flex: 1;
   overflow-y: auto;
 }

 .post-actions button {
   margin-right: 10px;
 }

 .post-add-comment {
   display: flex;
   margin-top: 10px;
 }

 .post-add-comment input {
   flex: 1;
   padding: 5px;
 }

 .post-add-comment button {
   padding: 5px 10px;
 }

 /* ===== Кнопки на оверлее ===== */
 .modal-controls {
   position: absolute;
   inset: 0;
   z-index: 2;
   pointer-events: none;
 }

 .modal-controls button {
   pointer-events: auto;
   background: none;
   border: none;
   color: white;
   font-size: 32px;
   cursor: pointer;
 }

 .modal-controls .close {
   position: absolute;
   top: 10px;
   right: 10px;
 }

 .modal-controls .prev {
   position: absolute;
   top: 50%;
   left: 10px;
   transform: translateY(-50%);
 }

 .modal-controls .next {
   position: absolute;
   top: 50%;
   right: 10px;
   transform: translateY(-50%);
 }

 .user-posts-scroll {
   display: flex;
   overflow-x: auto;
   gap: 10px;
   padding: 10px 0;
   scroll-behavior: smooth;
 }

 .user-posts-scroll::-webkit-scrollbar {
   height: 8px;
 }

 .user-posts-scroll::-webkit-scrollbar-thumb {
   background-color: rgba(0, 0, 0, 0.3);
   border-radius: 4px;
 }

 .user-posts-scroll::-webkit-scrollbar-track {
   background-color: transparent;
 }

 .user-post2 {
   flex: 0 0 auto;
   /* элемент не сжимается */
   width: 120px;
   /* квадрат */
   height: 120px;
   /* квадрат */
   border-radius: 8px;
   overflow: hidden;
   cursor: pointer;
 }


 .user-post3 img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   filter: blur(2px) brightness(0.8);
   transition: filter 0.3s ease;
 }

 /* При наведении блюр немного уменьшается (эффект “подсмотри”) */
 .user-post3:hover img {
   filter: blur(0px) brightness(0.9);
 }


 .user-post img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   /* сохраняет обрезку для квадрата */
   display: block;
 }

 .content-inner {
   width: 100%;
   max-width: 935px;
 }


 /* Фон модалки */
 .custom-modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   display: none;
   z-index: 1055;
 }

 /* Полупрозрачный фон */
 .custom-modal-backdrop {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.5);
 }

 /* Контейнер контента */
 .custom-modal-content {
   position: absolute;
   bottom: -100%;
   left: 0;
   width: 100%;
   background: #fff;
   border-radius: 0.75rem 0.75rem 0 0;
   transition: bottom 0.3s ease-out;
   overflow: hidden;
 }

 /* Тело модалки */
 .custom-modal-body a.create-item {
   padding: 0.5rem 1rem 0.3rem 1rem;
   border-bottom: 1px solid #e9ecef;
   text-decoration: none;
   color: #000;
 }

 /* Заголовок */
 .custom-modal-header {
   padding: 0.5rem 0 0.3rem 0;
   border-bottom: 1px solid #e9ecef;
   font-weight: 500;
 }

 /* Футер с кнопкой Отмена */
 .custom-modal-footer {
   padding: 0.5rem;
 }

 .nav-link {
   font-size: 12px !important
 }

 .posts-feed {
   display: flex;
   flex-direction: column;
   align-items: center;
 }

 .insta-post {
   background: #fff;
   width: 100%;
   max-width: 470px;
   transition: opacity 0.4s ease, height 0.4s ease, margin 0.4s ease, padding 0.4s ease;
   overflow: hidden;
 }


 .carousel-control-next-icon,
 .carousel-control-prev-icon {
   display: inline-block;
   width: 1rem;
   height: 1rem;
   background-repeat: no-repeat;
   background-position: 50%;
   background-size: 100% 100%;
 }

 .insta-post.fade-out {
   opacity: 0;
   height: 0;
   margin: 0;
   padding: 0;
 }

 .insta-post img.post-image {
   display: block;
   width: 100%;
   height: auto;
 }

 .post-header img {
   border: 1px solid #ddd;
 }

 .btn-link {
   text-decoration: none !important;
 }

 .bi-heart,
 .bi-heart-fill,
 .bi-chat,
 .bi-send,
 .bi-bookmark,
 .bi-three-dots {
   cursor: pointer;
 }

 /* === Посты в один столбец === */
 .posts-feed {
   display: flex;
   flex-direction: column;
 }



 .post-card {
   background: #fff;
   border: 1px solid #ddd;
   border-radius: 16px;
   padding: 1rem;
   width: 100%;
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
 }

 .carousel-indicators-dots .dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background-color: rgba(255, 255, 255, 0.5);
   transition: background-color 0.3s;
   cursor: pointer;
 }

 .carousel-indicators-dots .dot.active {
   background-color: #fff;
 }

 .carousel-control-prev,
 .carousel-control-next {
   width: 40px;
   /* уменьшить ширину зоны клика */
   top: 50%;
   /* по вертикали центр */
   transform: translateY(-50%);
 }

 .carousel-control-prev-icon,
 .carousel-control-next-icon {
   background-size: 100%, 100%;
   /* подогнать иконку под размер */
 }

 .messanger-container {
   display: flex;
   gap: 10px;
 }

 .users-list {
   width: 200px;
   border-right: 1px solid #ccc;
 }

 .user {
   padding: 10px;
   cursor: pointer;
 }

 .chat-box {
   flex: 1;
   display: flex;
   flex-direction: column;
 }

 .messages {
   flex: 1;
   overflow-y: auto;
   border-bottom: 1px solid #ccc;
   padding: 10px;
 }

 #message-input {
   width: 100%;
   height: 50px;
   margin-top: 10px;
 }



 .uni-modal {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1050;
 }

 .uni-modal-backdrop {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.4);
 }

 .uni-modal-content {
   position: absolute;
   background: #fff;
   overflow: hidden;
   transition: bottom 0.3s ease-out;
   width: calc(100% - 88px);
   max-height: calc(100% - 40px);
   font-size: 14px;
 }

 /* Позиции по умолчанию (центр) */
 .uni-modal-content.center {
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   border-radius: 0.75rem;

 }

 .uni-modal-content.bottom {
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   border-radius: 0.75rem 0.75rem 0 0;
   width: 100%;

 }

 .uni-modal-content.wide {
   width: calc(100% - 20px);

 }

 .uni-modal-content.top {
   top: 20px;
   left: 50%;
   transform: translateX(-50%);
 }

 .uni-modal-content.left {
   top: 50%;
   left: 20px;
   transform: translateY(-50%);
 }

 .uni-modal-content.right {
   top: 50%;
   right: 0;
   transform: translateY(-50%);
   border-radius: 0.75rem 0 0 0.75rem;
   height: 100%;
 }

 .uni-modal-body a {
   display: block;
   padding: 0.5rem 1rem 0.3rem 1rem;
   border-bottom: 1px solid #e9ecef;
   text-decoration: none;
   color: #000;
 }

 .uni-modal-body a:hover {
   background: #f2f2f2;
 }

 .stories-modal {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.95);
   z-index: 9999;
   align-items: center;
   justify-content: center;
 }

 .stories-modal.active {
   display: flex;
 }

 .story-container {
   position: relative;
   width: 100%;
   max-width: 500px;
   height: 90vh;
   background: #000;
   border-radius: 12px;
   overflow: hidden;
 }

 .story-header {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   padding: 15px;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
   z-index: 10;
 }

 .story-progress-bars {
   display: flex;
   gap: 4px;
   margin-bottom: 15px;
 }

 .progress-bar-item {
   flex: 1;
   height: 2px;
   background: rgba(255, 255, 255, 0.3);
   border-radius: 2px;
   overflow: hidden;
 }

 .progress-bar-fill {
   height: 100%;
   background: white;
   width: 0%;
   transition: width 0.1s linear;
 }

 .story-user-info {
   display: flex;
   align-items: center;
   gap: 10px;
 }

 .story-user-info img {
   width: 35px;
   height: 35px;
   border-radius: 50%;
   border: 2px solid white;
   object-fit: cover;
 }

 .story-user-info .username {
   color: white;
   font-weight: 600;
   font-size: 14px;
 }

 .story-user-info .time {
   color: rgba(255, 255, 255, 0.7);
   font-size: 12px;
 }

 .story-close {
   top: 15px;
   right: 15px;
   background: none;
   border: none;
   color: white;
   font-size: 28px;
   cursor: pointer;
   z-index: 11;
   width: 40px;
   height: 40px;
   display: flex;
   align-items: flex-start;
   justify-content: center;
   transition: opacity 0.2s;
 }

 .story-close:hover {
   opacity: 0.7;
 }

 .story-content {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #000;
 }

 .story-content img,
 .story-content video {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
 }

 .story-nav {
   position: absolute;
   top: 0;
   bottom: 0;
   width: 50%;
   cursor: pointer;
   z-index: 5;
 }

 .story-nav.prev {
   left: 0;
 }

 .story-nav.next {
   right: 0;
 }

 .story-nav-arrow {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   background: rgba(255, 255, 255, 0.2);
   color: white;
   border: none;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   display: none;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   cursor: pointer;
   transition: background 0.2s;
 }

 .story-nav-arrow:hover {
   background: rgba(255, 255, 255, 0.3);
 }

 .story-nav.prev .story-nav-arrow {
   left: 15px;
 }

 .story-nav.next .story-nav-arrow {
   right: 15px;
 }

 /* Показываем стрелки только на десктопе */
 @media (min-width: 768px) {
   .story-nav-arrow {
     display: flex;
   }
 }

 /* Мобильная адаптация */
 @media (max-width: 767px) {
   .story-container {
     max-width: 100%;
     height: 100vh;
     border-radius: 0;
   }
 }

 /* Центрирование стрелок по вертикали */
 #photoCarousel .carousel-control-prev,
 #photoCarousel .carousel-control-next {
   top: 50%;
   transform: translateY(-50%);
   bottom: auto;
   /* убрать смещение вниз */
 }

 /* Можно немного увеличить область клика */
 #photoCarousel .carousel-control-prev,
 #photoCarousel .carousel-control-next {
   width: 11%;
 }

 /* Сделать стрелки контрастнее */
 #photoCarousel .carousel-control-prev-icon,
 #photoCarousel .carousel-control-next-icon {
   filter: invert(1) brightness(1.2);
   opacity: 0.9;
 }

 /* При наведении — чуть ярче */
 #photoCarousel .carousel-control-prev:hover .carousel-control-prev-icon,
 #photoCarousel .carousel-control-next:hover .carousel-control-next-icon {
   opacity: 1;
 }

 .fs-14 {
   font-size: 14px !important;
 }

 .fs-10 {
   font-size: 10px !important;
 }

 .fs-50 {
   font-size: 50px !important;
 }

 .fs-11 {
   font-size: 11px !important;
 }

 .fs-12 {
   font-size: 12px !important;
 }

 .fs-16 {
   font-size: 16px !important;
 }

 .fs-18 {
   font-size: 18px !important;
 }

 .author-stack {
   position: relative;
   width: max-content;
   height: 24px;
   /* подбирается под размер главного аватара */
 }

 /* Главный аватар */
 .author-stack .main-author {
   width: 24px;
   height: 24px;
   border-radius: 50%;
   border: 2px solid #fff;
   position: relative;
   z-index: 10;
   /* главный всегда поверх */
   object-fit: cover;
 }

 /* Соавторы */
 .author-stack .coauthor {
   width: 24px;
   /* меньше главного */
   height: 24px;
   border-radius: 50%;
   border: 2px solid #fff;
   position: absolute;
   top: 0;
   left: 24px;
   /* смещение справа от предыдущего */
   object-fit: cover;
   box-shadow: 0 0 0 1px #ddd;
   z-index: 5;
   /* ниже главного */
   transition: transform 0.2s;
 }

 .author-stack .coauthor:nth-child(2) {
   left: 10px;
   top: -4px;
   z-index: 5;
 }

 .author-stack .coauthor:nth-child(3) {
   left: 40px;
   top: -8px;
   z-index: 4;
 }

 .author-stack .coauthor:nth-child(4) {
   left: 56px;
   top: -12px;
   z-index: 3;
 }

 /* Добавляйте новые nth-child для большего числа авторов */

 .fs-17 {
   font-size: 17px !important;
 }

 .fs-20 {
   font-size: 20px !important;
 }

 .stories-bar::-webkit-scrollbar {
   display: none;
 }

 .border-gradient {
   background: linear-gradient(45deg, #ff004d, #ff8a00, #f0f, #00c3ff);
   padding: 2px;
 }

 .story-item {
   flex: 0 0 auto;
   text-align: center;
   width: 85px;
 }

 .story-item img {
   background: #fff;
 }

 .modal:not(.show) {
   display: none !important;
   visibility: hidden;
 }

 .custom-control {
   width: auto;
 }

 .custom-arrow {
   cursor: pointer;


   display: flex;
   align-items: center;
   justify-content: center;
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background: rgba(0, 0, 0, 0.4);
   color: white;
   transition: background 0.2s ease;
 }

 .custom-arrow:hover {
   background: rgba(0, 0, 0, 0.6);
 }

 .custom-arrow i {
   font-size: 18px;
 }

 .carousel-control-prev,
 .carousel-control-next {
   opacity: 1 !important;
 }

 .carousel-control-prev {
   left: 0;
 }

 .carousel-control-next {
   right: 0;
 }


 .button-custom {
   text-decoration: none;
   color: #fff;
   font-size: 10px;
   border-radius: 6px;
   padding: 6px 16px;
   background: #f2f2f2;
   border: 0;
   min-width: calc(50% - 4px);
 }

 .messages {
   flex: 1;
   overflow-y: auto;
   border-bottom: 0;
   padding: 0;
   list-style: none;
   margin-bottom: 0;
 }

 .alert {
   --bs-alert-bg: transparent;
   --bs-alert-padding-x: 1rem;
   --bs-alert-padding-y: 1rem;
   --bs-alert-margin-bottom: 1rem;
   --bs-alert-color: inherit;
   --bs-alert-border-color: transparent;
   --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
   --bs-alert-border-radius: var(--bs-border-radius);
   --bs-alert-link-color: inherit;
   position: relative;
   padding: 0.5rem;
   margin-bottom: 0;
   color: var(--bs-alert-color);
   background-color: var(--bs-alert-bg);
   border: 0;
   border-radius: 0;
   font-size: 12px;
 }

 .alert-primary {
   --bs-alert-color: var(--bs-primary-text-emphasis);
   --bs-alert-bg: var(--bs-primary-bg-subtle);
   --bs-alert-border-color: var(--bs-primary-border-subtle);
   --bs-alert-link-color: var(--bs-primary-text-emphasis);
 }

 .alert-success {
   --bs-alert-color: var(--bs-success-text-emphasis);
   --bs-alert-bg: var(--bs-success-bg-subtle);
   --bs-alert-border-color: var(--bs-success-border-subtle);
   --bs-alert-link-color: var(--bs-success-text-emphasis);
 }

 .alert-warning {
   --bs-alert-color: var(--bs-warning-text-emphasis);
   --bs-alert-bg: var(--bs-warning-bg-subtle);
   --bs-alert-border-color: var(--bs-warning-border-subtle);
   --bs-alert-link-color: var(--bs-warning-text-emphasis);
 }

 .alert-danger {
   --bs-alert-color: var(--bs-danger-text-emphasis);
   --bs-alert-bg: var(--bs-danger-bg-subtle);
   --bs-alert-border-color: var(--bs-danger-border-subtle);
   --bs-alert-link-color: var(--bs-danger-text-emphasis);
 }

 .alert-info {
   --bs-alert-color: var(--bs-info-text-emphasis);
   --bs-alert-bg: var(--bs-info-bg-subtle);
   --bs-alert-border-color: var(--bs-info-border-subtle);
   --bs-alert-link-color: var(--bs-info-text-emphasis);
 }

 .alert-dark {
   --bs-alert-color: var(--bs-dark-text-emphasis);
   --bs-alert-bg: var(--bs-dark-bg-subtle);
   --bs-alert-border-color: var(--bs-dark-border-subtle);
   --bs-alert-link-color: var(--bs-dark-text-emphasis);
 }

 .alert-light {
   --bs-alert-color: var(--bs-light-text-emphasis);
   --bs-alert-bg: var(--bs-light-bg-subtle);
   --bs-alert-border-color: var(--bs-light-border-subtle);
   --bs-alert-link-color: var(--bs-light-text-emphasis);
 }

 .alert-secondary {
   --bs-alert-color: var(--bs-secondary-text-emphasis);
   --bs-alert-bg: var(--bs-secondary-bg-subtle);
   --bs-alert-border-color: var(--bs-secondary-border-subtle);
   --bs-alert-link-color: var(--bs-secondary-text-emphasis);
 }


 .fa-icon-bg {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background-color: white;
   border-radius: 50%;
   width: 8px;
   height: 8px;
 }


 .info-pair-heading {

   display: flex;
   justify-content: flex-start;
   font-size: 12px;
       line-height: 1em;
 }

 .ml-0 {

   margin-left: 0 !important;
 }

 .favorites-badges .badge-filter {
   display: inline-block;
   padding: 0px 10px;
   border: 1px solid #ccc;
   border-radius: 50px;
   font-size: 12px;
   text-decoration: none;
   color: #333;
   transition: all 0.2s;
 }

 .favorites-badges .badge-filter:hover {
   border-color: #999;
   color: #000;
 }

 .favorites-badges .badge-filter.active {
   border-color: #000;
   color: #000;
   font-weight: 500;
 }

 #avatar-preview {
   border-radius: 50%;
   object-fit: cover;
   max-width: 200px;
   margin-bottom: 10px;
 }

.floating-input {
   position: relative;
 }

 .floating-input input,
 .floating-input textarea {
   width: 100%;
   padding: 12px;
   border: 1px solid #ccc;
   border-radius: 6px;
   outline: none;
   background: none;
   font-size: 16px;
 }

 .floating-input label {
   position: absolute;
   left: 12px;
   top: 12px;
   color: #aaa;
   font-size: 16px;
   pointer-events: none;
   transition: all 0.2s ease;
   background-color: white;
   padding: 0 4px;
 }

 /* Эффект плавания */
 .floating-input input:focus+label,
 .floating-input textarea:focus+label,
 .floating-input input:not(:placeholder-shown)+label,
 .floating-input textarea:not(:placeholder-shown)+label {
   top: -8px;
   left: 8px;
   font-size: 12px;
   color: #0d6efd;
   /* Bootstrap-синий */
 }

 /* Контейнер поля */
 .floating-input {
   position: relative;
   margin: 20px 0;
 }

 /* Сам input */
 .floating-input input {
   width: 100%;
   padding: 12px 12px 12px 12px;
   font-size: 16px;
   border: 1px solid #ccc;
   border-radius: 6px;
   outline: none;
   background: none;
 }

 /* Лейбл поверх input */
 .floating-input label {
   position: absolute;
   left: 12px;
   top: 12px;
   color: #aaa;
   font-size: 16px;
   pointer-events: none;
   transition: all 0.2s ease;
   background-color: white;
   padding: 0 4px;
 }

 /* Когда input фокусируется или заполнен */
 .floating-input input:focus+label,
 .floating-input input:not(:placeholder-shown)+label {
   top: -8px;
   left: 8px;
   font-size: 12px;
   color: #007bff;
 }

 .post-carousel-wrapper {
   aspect-ratio: 4 / 5;
   /* ширина / высота */
   width: 100%;
   overflow: hidden;
   position: relative;
 }

 .post-carousel-wrapper img,
 .post-carousel-wrapper video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   /* или contain, если нужно другое поведение */
 }

 .toggle-visibility-btn {
   position: absolute;
   bottom: 2px;
   right: 2px;
   background: rgba(255, 255, 255, 0.8);
   border: none;
   border-radius: 50%;
   width: 22px;
   height: 22px;
   cursor: pointer;
   font-size: 14px;
   text-align: center;
   line-height: 20px;
   padding: 0;
 }

 .photo-move {
   transition: all 0.35s ease;
   opacity: 0.4;
   transform: scale(0.9);
 }

 .sortable-photo {
   position: relative;
   display: inline-block;
   margin: 5px;
 }

 .delete-photo-btn {
   position: absolute;
   top: 2px;
   right: 2px;
   background: rgba(255, 255, 255, 0.8);
   border: none;
   border-radius: 50%;
   width: 20px;
   height: 20px;
   cursor: pointer;
   font-weight: bold;
   line-height: 18px;
   text-align: center;
   padding: 0;
 }

 .crop-modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.7);
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 1000;
 }

 .crop-container {
   background: white;
   padding: 10px;
   border-radius: 5px;
   text-align: center;
 }

 .crop-container button {
   margin: 5px;
 }

 .btn-xsm {
   border-radius: 6px;
   padding: 5px 10px;
   font-size: 10px;
   line-height: 1.2;
 }


 .info-list {
   display: flex;
   flex-direction: column;
   gap: 20px;
 }

 .info-item {
   display: flex;
   align-items: flex-start;
   gap: 14px;
 }

 .info-icon {
   font-size: 24px;
   flex-shrink: 0;
   margin-top: 2px;
 }

 .info-text {
   display: flex;
   flex-direction: column;
   line-height: 1.35;
 }

 .info-title {
   font-weight: 600;
   font-size: 15px;
   margin-bottom: 4px;
 }

 .info-desc {
   color: #555;
   font-size: 14px;
 }

 .status-wrapper {
  bottom: 4px;
  right: 4px;
}

.status-indicator2 {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #fff;
  font-size: 12px;
  height: 14px;
  border-radius: 10px;
  padding: 0;
  cursor: pointer;
  border: 1px solid #fff;
  transition: all 0.3s ease;
  white-space: nowrap;
  overflow: hidden;
}
 
/* Плавное раскрытие */
.status-indicator2 {
  width: 14px;
} 

.account-info-username {font-weight: 700;
    padding: unset;
    line-height: 1.3;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    max-width: 100%;}