/* offline.css — Offline banner, cached-content shimmer, queued-send hint.
   Moved out of the inline \3c style> in index.html (was lines 404–462). */

/* ── Offline Banner ── */
.offline-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  background: #2c3e50;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  padding: 8px 16px;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  pointer-events: none;
}

.offline-banner.visible {
  transform: translateY(0);
}

.offline-banner.back-online {
  background: #27ae60;
  transform: translateY(0);
}

/* Push all content down when banner shows */
body:has(.offline-banner.visible) .header-home,
body:has(.offline-banner.visible) .header-search,
body:has(.offline-banner.visible) .header-category,
body:has(.offline-banner.visible) .header-subcategory,
body:has(.offline-banner.visible) .header-makay-table,
body:has(.offline-banner.visible) .header-messages {
  top: 37px;
}

/* Skeleton loading shimmer for cached-content placeholders */
@keyframes shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 800px 100%;
  animation: shimmer 1.4s infinite;
  border-radius: 8px;
}

/* Dim send button when offline to hint queued state */
body.is-offline .chat-send-btn {
  background: #95a5a6;
}

body.is-offline .chat-send-btn::after {
  content: '';
}
