/* Developer & Lead Architect: Morris Robinson / morrisrobinson1688@aol.com */
/* Patch 359R280: CSS-only iPhone Safari centered PWA/install/cache modal repair.
   No JavaScript, no route changes, no redirect logic.
   The old install layer was anchored beside the footer Install button. This forces a true centered modal. */

html.um-pwa-install-open-346,
body.um-pwa-install-open-346,
html.um-pwa-modal-open-r280,
body.um-pwa-modal-open-r280 {
  overflow: hidden !important;
  -webkit-overflow-scrolling: auto !important;
}

.um-pwa-install-backdrop-346,
.um-pwa-install-backdrop-359,
.um-pwa-cache-backdrop,
.um-pwa-update-backdrop,
[data-pwa-install-backdrop],
[data-um-pwa-backdrop],
[data-cache-update-backdrop] {
  position: fixed !important;
  inset: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: -webkit-fill-available !important;
  z-index: 2147483300 !important;
  background: rgba(0,0,0,.62) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  pointer-events: auto !important;
}

.um-pwa-install-backdrop-346[hidden],
.um-pwa-install-backdrop-359[hidden],
.um-pwa-cache-backdrop[hidden],
.um-pwa-update-backdrop[hidden],
[data-pwa-install-backdrop][hidden],
[data-um-pwa-backdrop][hidden],
[data-cache-update-backdrop][hidden] {
  display: none !important;
}

.um-pwa-install-layer-346,
.um-pwa-install-layer-359,
.um-pwa-cache-layer,
.um-pwa-update-layer,
.um-pwa-modal,
[data-pwa-install-layer],
[data-um-pwa-modal],
[data-cache-update-modal] {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translate3d(-50%, -50%, 0) !important;
  z-index: 2147483301 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: min(430px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  max-height: calc(100vh - 72px) !important;
  max-height: calc(100dvh - 72px) !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  margin: 0 !important;
  border-radius: 22px !important;
  padding: clamp(18px, 4vw, 26px) !important;
  background: #fcfcfa !important;
  color: #231f1a !important;
  border: 3px solid rgba(156,106,29,.82) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.55), 0 0 0 9999px rgba(0,0,0,.50) !important;
}

.um-pwa-install-layer-346[hidden],
.um-pwa-install-layer-359[hidden],
.um-pwa-cache-layer[hidden],
.um-pwa-update-layer[hidden],
.um-pwa-modal[hidden],
[data-pwa-install-layer][hidden],
[data-um-pwa-modal][hidden],
[data-cache-update-modal][hidden] {
  display: none !important;
}

.um-pwa-install-layer-346 h1,
.um-pwa-install-layer-346 h2,
.um-pwa-install-layer-359 h1,
.um-pwa-install-layer-359 h2,
.um-pwa-cache-layer h1,
.um-pwa-cache-layer h2,
.um-pwa-update-layer h1,
.um-pwa-update-layer h2,
.um-pwa-modal h1,
.um-pwa-modal h2,
[data-pwa-install-layer] h1,
[data-pwa-install-layer] h2,
[data-um-pwa-modal] h1,
[data-um-pwa-modal] h2,
[data-cache-update-modal] h1,
[data-cache-update-modal] h2 {
  max-width: 100% !important;
  margin-right: 46px !important;
  overflow-wrap: anywhere !important;
}

.um-pwa-install-message-346,
.um-pwa-install-help-346,
.um-pwa-install-layer-346 p,
.um-pwa-install-layer-359 p,
.um-pwa-cache-layer p,
.um-pwa-update-layer p,
.um-pwa-modal p,
[data-pwa-install-layer] p,
[data-um-pwa-modal] p,
[data-cache-update-modal] p {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.um-pwa-install-actions-346,
.um-pwa-install-actions-359,
.um-pwa-modal-actions,
[data-pwa-install-actions],
[data-um-pwa-actions] {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}

.footer-pwa-status-337,
.um-pwa-status,
.um-pwa-toast,
[data-um-pwa-status] {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  z-index: 2147483299 !important;
  width: min(420px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

@supports (height: 100dvh) {
  .um-pwa-install-backdrop-346,
  .um-pwa-install-backdrop-359,
  .um-pwa-cache-backdrop,
  .um-pwa-update-backdrop,
  [data-pwa-install-backdrop],
  [data-um-pwa-backdrop],
  [data-cache-update-backdrop] {
    height: 100dvh !important;
  }
}

@media (max-width: 820px) {
  .um-pwa-install-backdrop-346,
  .um-pwa-install-backdrop-359,
  .um-pwa-cache-backdrop,
  .um-pwa-update-backdrop,
  [data-pwa-install-backdrop],
  [data-um-pwa-backdrop],
  [data-cache-update-backdrop] {
    display: block !important;
  }

  .um-pwa-install-layer-346,
  .um-pwa-install-layer-359,
  .um-pwa-cache-layer,
  .um-pwa-update-layer,
  .um-pwa-modal,
  [data-pwa-install-layer],
  [data-um-pwa-modal],
  [data-cache-update-modal] {
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate3d(-50%, -50%, 0) !important;
    width: min(420px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 64px) !important;
    max-height: calc(100dvh - 64px) !important;
    padding: 20px !important;
  }

  .um-pwa-install-actions-346,
  .um-pwa-install-actions-359,
  .um-pwa-modal-actions,
  [data-pwa-install-actions],
  [data-um-pwa-actions] {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .um-pwa-install-primary-346,
  .um-pwa-install-secondary-346,
  .um-pwa-install-primary-359,
  .um-pwa-install-secondary-359,
  .um-pwa-modal-actions button,
  [data-pwa-install-actions] button,
  [data-um-pwa-actions] button {
    width: 100% !important;
    min-height: 48px !important;
  }
}

/* Patch 359R280: reduced/focused/member language menus stay fully visible on iPhone Safari. */
details.um-focused-language-dropdown[open] > .um-focused-language-menu,
body.um-focused-body details.um-focused-language-dropdown[open] > .um-focused-language-menu,
.member-language-switcher-318[open] .member-language-menu-318,
details.member-language-switcher-318[open] > .member-language-menu-318,
.um-language-dropdown[open] > .um-language-menu,
details.um-language-dropdown[open] > .um-language-menu {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: calc(env(safe-area-inset-top, 0px) + 58px) !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  z-index: 2147483200 !important;
  display: grid !important;
  width: min(380px, calc(100vw - 18px)) !important;
  max-width: calc(100vw - 18px) !important;
  max-height: calc(100vh - 92px) !important;
  max-height: calc(100dvh - 92px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  box-sizing: border-box !important;
  border-radius: 18px !important;
}

details.um-focused-language-dropdown[open] > .um-focused-language-menu::before,
body.um-focused-body details.um-focused-language-dropdown[open] > .um-focused-language-menu::before,
.member-language-switcher-318[open] .member-language-menu-318::before,
.um-language-dropdown[open] > .um-language-menu::before,
details.um-language-dropdown[open] > .um-language-menu::before {
  display: none !important;
}

@media (max-width: 420px) {
  .um-pwa-install-layer-346,
  .um-pwa-install-layer-359,
  .um-pwa-cache-layer,
  .um-pwa-update-layer,
  .um-pwa-modal,
  [data-pwa-install-layer],
  [data-um-pwa-modal],
  [data-cache-update-modal] {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    max-height: calc(100vh - 58px) !important;
    max-height: calc(100dvh - 58px) !important;
    padding: 18px !important;
  }

  .um-pwa-install-layer-346 h1,
  .um-pwa-install-layer-346 h2,
  .um-pwa-install-layer-359 h1,
  .um-pwa-install-layer-359 h2 {
    font-size: clamp(1.55rem, 8vw, 2rem) !important;
    line-height: 1.08 !important;
  }
}
