/* Styles spécifiques à l'application native Capacitor */
html.capacitor-native {
  -webkit-tap-highlight-color: transparent;
  height: auto;
  min-height: 100%;
}

html.capacitor-native body {
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 100dvh;
  -webkit-overflow-scrolling: touch;
}

/* iOS : limiter le bounce rubber-band */
html.capacitor-native.capacitor-ios,
html.capacitor-native.capacitor-ios body {
  overscroll-behavior: none;
}

/* Android WebView : overscroll-behavior:none et touch-action strict bloquent le scroll */
html.capacitor-native.capacitor-android {
  touch-action: pan-x pan-y;
  overscroll-behavior: auto;
}

html.capacitor-native.capacitor-android body {
  touch-action: pan-x pan-y;
  overscroll-behavior: auto;
}

html.capacitor-native.capacitor-android .main,
html.capacitor-native.capacitor-android .card,
html.capacitor-native.capacitor-android .home-feed-list,
html.capacitor-native.capacitor-android .search-results,
html.capacitor-native.capacitor-android .messages-view,
html.capacitor-native.capacitor-android .settings-view {
  touch-action: pan-y;
}

html.capacitor-native .dev-tools-link {
  display: none !important;
}

/* Évite que le clavier ne masque les champs sur iOS */
html.capacitor-native.capacitor-keyboard-open .mobile-bottom-nav {
  display: none;
}

/* Quand le clavier est ouvert, le menu bas est caché → composer collé au clavier */
html.capacitor-native.capacitor-keyboard-open .messages-view.conversation-open .messages-thread__composer {
  bottom: var(--keyboard-height, 0px);
  padding-bottom: 10px;
}

html.capacitor-native.capacitor-keyboard-open .messages-view.conversation-open .messages-thread__messages {
  padding-bottom: calc(72px + var(--keyboard-height, 0px));
}

html.capacitor-native.capacitor-keyboard-open .messages-compose,
html.capacitor-native.capacitor-keyboard-open .thread-compose {
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
}

html.capacitor-native .legal-shell {
  padding-top: max(24px, env(safe-area-inset-top, 0px));
  padding-bottom: max(48px, env(safe-area-inset-bottom, 0px));
}

/* Auth / signup / forgot : safe-area notch + home indicator */
html.capacitor-native body.auth-flow,
html.capacitor-native body.signup-body {
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  box-sizing: border-box;
}

html.capacitor-native .signup-page {
  padding-top: max(24px, env(safe-area-inset-top, 0px));
  padding-bottom: max(48px, env(safe-area-inset-bottom, 0px));
}

html.capacitor-native.capacitor-keyboard-open body.auth-flow .form-section,
html.capacitor-native.capacitor-keyboard-open body.signup-body .signup-page {
  padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
}

.cap-offline-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10050;
  padding: calc(8px + env(safe-area-inset-top, 0)) 12px 8px;
  background: #b45309;
  color: #fff;
  font-size: 0.85rem;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

html.capacitor-offline .top-bar,
html.capacitor-offline .mobile-top-bar {
  margin-top: 36px;
}

.cap-push-banner {
  position: fixed;
  top: calc(12px + env(safe-area-inset-top, 0));
  left: 12px;
  right: 12px;
  z-index: 10060;
  padding: 12px 14px;
  border-radius: 12px;
  background: #111827;
  color: #f9fafb;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
}

.cap-push-banner strong {
  font-size: 0.95rem;
}

.cap-push-banner span {
  font-size: 0.85rem;
  color: #d1d5db;
}
