/* Zusätzlicher Schalter „Auch wenn James geschlossen ist“ in der Zeile „Erinnerungen im Browser“. */
#reminder-setup .settings-switch-sub {
  border-top: 1px dashed #f1ede9;
  padding-left: 36px;
  min-height: 48px;
}
#reminder-setup .push-hint {
  margin: 0;
  padding: 0 20px 12px 36px;
  color: var(--muted, #6b6560);
  font-size: .75rem;
  line-height: 1.45;
}
#reminder-setup .push-hint:empty { display: none; }

/* iPhone/iPad: Installation als App (Einstellungen, einmaliges Angebot, Anleitung mit Pfeil). */
#app-install { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 20px; }
#app-install[hidden] { display: none; }
#app-install .settings-row-hint { flex: 1 1 220px; margin: 0; }
.ios-install-banner {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px 10px 14px;
  border-radius: 14px;
  background: #1c1b1a;
  color: #fff;
  font-size: .9rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .3);
}
.ios-install-banner span { flex: 1 1 auto; }
.ios-install-banner button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--brand, #e9763e); color: #fff; font-weight: 600; }
.ios-install-banner .ios-install-close { width: 36px; padding: 0; background: transparent; color: #d7d3cf; font-size: 1.3rem; }
/* Anleitung: modaler <dialog> über die ganze Fläche (Top Layer, auch über dem Einstellungsdialog);
   die Karte sitzt unten bzw. oben, der Pfeil zeigt zur Teilen-Schaltfläche. */
dialog.ios-install-overlay {
  position: fixed;
  inset: 0;
  z-index: 70;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 16px 16px calc(96px + env(safe-area-inset-bottom, 0px));
  border: 0;
  background: rgba(22, 22, 22, .55);
  color: var(--ink, #161616);
  overflow: auto;
}
dialog.ios-install-overlay[open] { display: flex; align-items: flex-end; justify-content: center; }
dialog.ios-install-overlay::backdrop { background: transparent; }
.ios-install-card {
  width: min(420px, 100%);
  padding: 18px 18px 14px;
  border-radius: 16px;
  background: #fff;
  color: var(--ink, #161616);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .3);
}
dialog.ios-install-overlay[open]:has(.is-top) { align-items: flex-start; padding-top: 72px; padding-bottom: 16px; }
.ios-install-card h2 { margin: 0 0 10px; font-size: 1.05rem; }
.ios-install-card ol { margin: 0; padding-left: 20px; font-size: .92rem; line-height: 1.5; }
.ios-install-card li + li { margin-top: 8px; }
.ios-install-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.ios-install-arrow {
  position: fixed;
  width: 0;
  height: 0;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  animation: ios-install-bounce 1.2s ease-in-out infinite;
}
.ios-install-arrow.is-bottom {
  left: calc(50% - 14px);
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  border-top: 22px solid var(--brand, #e9763e);
}
.ios-install-arrow.is-top-right {
  top: 14px;
  right: 72px;
  border-bottom: 22px solid var(--brand, #e9763e);
}
@keyframes ios-install-bounce { 50% { transform: translateY(6px); } }
.ios-install-arrow.is-top-right { animation-name: ios-install-bounce-up; }
@keyframes ios-install-bounce-up { 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .ios-install-arrow { animation: none; } }
