/* === ANNOUNCEMENTS PAGE === */
#page-announcements.active {
  display: flex !important;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* Smooth transitions for entering/exiting announcements */
.main-panel,
.top-nav,
.main-content {
  transition: background 0.5s ease, backdrop-filter 0.5s ease, -webkit-backdrop-filter 0.5s ease, border-color 0.5s ease;
}

/* When announcements mode: make main-panel very transparent so page bg is visible */
body.announcements-mode .main-panel {
  background: rgba(0, 0, 0, 0.15) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Top nav transparent */
body.announcements-mode .top-nav {
  background: rgba(0, 0, 0, 0.12) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Main content area — very transparent */
body.announcements-mode .main-content {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Force light/white text everywhere in announcements - override any theme */
body.announcements-mode .main-panel,
body.announcements-mode .main-content,
body.announcements-mode .top-nav {
  color: #ffffff !important;
}
body.announcements-mode .section-header h1,
body.announcements-mode .section-header p {
  color: #ffffff !important;
}
body.announcements-mode .nav-tab span {
  color: #ffffff !important;
}
body.announcements-mode .nav-tab.active span {
  color: #ffffff !important;
}
body.announcements-mode .search-input {
  color: #ffffff !important;
}
body.announcements-mode .search-input::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
body.announcements-mode .user-name-mini {
  color: #ffffff !important;
}
body.announcements-mode .avatar-mini {
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
body.announcements-mode .profile-mini {
  background: rgba(255, 255, 255, 0.1) !important;
}
body.announcements-mode .nav-icon-img {
  filter: brightness(2) !important;
}
body.announcements-mode .mobile-theme-btn svg,
body.announcements-mode .mobile-friends-btn svg {
  stroke: rgba(255, 255, 255, 0.8) !important;
}
/* Light theme only: fix bottom nav in announcements mode */
[data-theme="light"] body.announcements-mode .mobile-bottom-bar,
body.announcements-mode[data-theme="light"] .mobile-bottom-bar {
  background: rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
[data-theme="light"] body.announcements-mode .mobile-bottom-bar span {
  color: rgba(255, 255, 255, 0.7) !important;
}
[data-theme="light"] body.announcements-mode .mobile-bottom-bar .mobile-tab.active span {
  color: #fff !important;
}
[data-theme="light"] body.announcements-mode .mobile-bottom-bar .mobile-tab svg {
  stroke: rgba(255, 255, 255, 0.7) !important;
}

/* Section header transparent in announcements */
body.announcements-mode .section-header.glass-panel {
  background: rgba(0, 0, 0, 0.1) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Announcements container — very transparent to see page bg through */
.announcements-container {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 0;
  flex: 1;
  background: rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
}

/* Inner background overlay — just a subtle dark layer, no image */
.announcement-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.announcement-bg::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.05) 100%);
}

.announcement-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 28px 36px;
  flex: 1;
  min-height: 0;
}
.announcement-text {
  flex: 1;
  overflow-y: auto;
}
.announcement-text h2 {
  font-size: 36px;
  color: white !important;
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 400;
}
.announcement-text p {
  font-size: 14px;
  font-family: var(--font-small);
  color: rgba(255,255,255,0.92) !important;
  line-height: 1.6;
  white-space: pre-line;
  letter-spacing: 0.2px;
}
.announcement-image {
  width: 320px;
  flex-shrink: 0;
  border-radius: 14px;
  overflow: hidden;
  align-self: stretch;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.announcement-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.announcement-nav {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 12px 24px;
}
.announcement-nav-btn {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}
.announcement-nav-btn:hover {
  background: rgba(255,255,255,0.25);
}
.announcement-nav-btn img {
  width: 24px;
  height: 24px;
  filter: brightness(2);
}
.announcement-nav-btn.next img {
  transform: scaleX(-1);
}
.announcement-dots {
  display: flex;
  gap: 10px;
}
.announcement-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  cursor: pointer;
  transition: var(--transition);
}
.announcement-dot.active {
  background: white;
  transform: scale(1.25);
}

@media (max-width: 768px) {
  .announcement-content { flex-direction: column; padding: 24px; }
  .announcement-image { width: 100%; height: 200px; }
}
