/* Home's header and post-save notices share stable navigation clearances.
   The saved-place invitation below keeps its quiet journal treatment; empty
   Home and first memories retain their own content layout. No saved data or
   photo focal points change. */
html body main.app-shell section.map-stage.home-focus #appTopbar.topbar {
  position: fixed !important;
}
html body main.app-shell section.map-stage.home-focus {
  scroll-padding-top: calc(78px + env(safe-area-inset-top, 0px)) !important;
}
/* The stage already clears the fixed header and its safe area. A legacy 78px
   hero margin reserved that space twice on portrait phones. Keep a deliberate
   breathing gap without changing empty Home or the short landscape layout. */
@media (max-width: 720px) and (orientation: portrait) {
  html body main.app-shell section.map-stage.home-focus:has(#homeDashboard:not(.is-empty-home)) > .hero-copy {
    margin-top: clamp(16px, 4svh, 28px) !important;
  }
}
html body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.memory-save-confirmation[data-kind] {
  bottom: var(--save-confirmation-dock-bottom, calc(var(--bottom-nav-height, 84px) + env(safe-area-inset-bottom, 0px) + 26px)) !important;
  max-height: var(--save-confirmation-available-height, calc(100dvh - 180px)) !important;
  overflow-y: auto !important;
}
/* Match the specificity of the legacy follow-up owner, which otherwise keeps
   successful saves centered even after the app has returned to Home. */
html:not(#memory-followup-v722-a):not(#memory-followup-v722-b) body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.memory-save-confirmation.has-followup[data-kind="success"] {
  position: fixed !important;
  top: auto !important;
  right: auto !important;
  left: 50% !important;
  bottom: var(--save-confirmation-dock-bottom, 112px) !important;
  width: min(560px, calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right))) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: var(--save-confirmation-available-height, calc(100dvh - 180px)) !important;
  overflow-y: auto !important;
  padding: 16px !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  gap: 6px 12px !important;
  transform: translate(-50%, 12px) !important;
  text-align: left !important;
}
html:not(#memory-followup-v722-a):not(#memory-followup-v722-b) body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.memory-save-confirmation.has-followup[data-kind="success"].show {
  transform: translateX(-50%) !important;
}
html:not(#memory-followup-v722-a):not(#memory-followup-v722-b) body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.has-followup[data-kind="success"] > span {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: start !important;
}
html:not(#memory-followup-v722-a):not(#memory-followup-v722-b) body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.has-followup[data-kind="success"] > :is(strong, small) {
  grid-column: 2 !important;
  margin: 0 !important;
  text-align: left !important;
}
html:not(#memory-followup-v722-a):not(#memory-followup-v722-b) body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.has-followup[data-kind="success"] > strong {
  grid-row: 1 !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
}
html:not(#memory-followup-v722-a):not(#memory-followup-v722-b) body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.has-followup[data-kind="success"] > small {
  grid-row: 2 !important;
  font-size: .8125rem !important;
  line-height: 1.45 !important;
}
html:not(#memory-followup-v722-a):not(#memory-followup-v722-b) body main.app-shell section.map-stage:is(.home-focus, .memories-focus) #memorySaveConfirmation.has-followup[data-kind="success"] .memory-confirmation-actions {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  margin-top: 8px !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card:where(.is-saved-place) {
  border: 1px solid #dce7e7 !important;
  background: #fffefd !important;
  box-shadow: 0 5px 18px #00243f08 !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place::after {
  content: none !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-visual.has-atmosphere {
  /* Match the other Mappi default covers; photo-backed covers stay untouched. */
  background: var(--mymappi-action-navy, #00243f) !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-visual.has-atmosphere > img {
  filter: none !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy > p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  color: #526b77 !important;
  font-weight: 450 !important;
  background: transparent !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-kicker {
  font-size: .625rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  color: #326967 !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-kicker-dot {
  width: 6px !important;
  height: 6px !important;
  box-shadow: none !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-meta {
  font-size: .75rem !important;
  color: #526b77 !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-action {
  background: #e8f5f0 !important;
  color: var(--mymappi-action-navy, #00243f) !important;
  border: 1px solid #d0e6de !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  max-width: 100% !important;
  white-space: normal !important;
}
/* Browsing a keepsake shares Memory Lane's quiet mint action treatment.
   The navy mascot cover, creation actions and small map-play control stay navy. */
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeOnThisDay .memory-echo-relive:not(.memory-echo-empty-action) {
  background: #e8f5f0 !important;
  color: var(--mymappi-action-navy, #00243f) !important;
  border: 1px solid #d0e6de !important;
  box-shadow: none !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-private {
  font-size: .6875rem !important;
  font-weight: 500 !important;
  color: #526b77 !important;
}
@media (max-width: 600px) and (orientation: portrait) {
  html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card:where(.is-saved-place) {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
  }
  html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-visual.has-atmosphere {
    height: 108px !important;
    min-height: 0 !important;
  }
  html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-visual.has-atmosphere > img {
    width: 82px !important;
    height: 94px !important;
  }
  html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-visual.has-photo {
    aspect-ratio: 16 / 9 !important;
  }
  html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-visual.has-photo > img {
    min-height: 0 !important;
  }
  html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy {
    padding: 20px !important;
    row-gap: 10px !important;
  }
}
