/**
 * PWA installée — encoche / Dynamic Island / Android (tous modèles)
 * Repli CSS immédiat + renfort via classes JS (pwa-ios-se | notch | island).
 */

:root {
  --dmajin-nav-fallback-ios: 47px;
  --dmajin-nav-fallback-android: 28px;
}

@supports (-webkit-touch-callout: none) {
  @media (display-mode: standalone), (display-mode: fullscreen) {
    :root {
      --dmajin-nav-inset: max(
        env(safe-area-inset-top, 0px),
        constant(safe-area-inset-top, 0px),
        var(--dmajin-nav-fallback-ios)
      );
    }

    /* iPhone SE / petits écrans sans encoche */
    @media (max-height: 700px) {
      :root {
        --dmajin-nav-fallback-ios: 20px;
      }
    }

    /* iPhone X → 13, iPhone 14 (encoche classique) */
    @media (min-height: 812px) and (max-height: 851px) {
      :root {
        --dmajin-nav-fallback-ios: 47px;
      }
    }

    /* iPhone 14 Pro+, 15, 16… (Dynamic Island) */
    @media (min-height: 852px) {
      :root {
        --dmajin-nav-fallback-ios: 59px;
      }
    }
  }
}

@supports not (-webkit-touch-callout: none) {
  @media (display-mode: standalone), (display-mode: fullscreen) {
    :root {
      --dmajin-nav-inset: max(env(safe-area-inset-top, 0px), var(--dmajin-nav-fallback-android));
    }

    @media (min-height: 800px) {
      :root {
        --dmajin-nav-fallback-android: 32px;
      }
    }
  }
}

@media (display-mode: standalone), (display-mode: fullscreen) {
  .pwa-install-banner {
    display: none !important;
  }

  body.page-home.pwa-banner-visible {
    padding-bottom: 0 !important;
  }

  .nav {
    top: var(--dmajin-nav-inset) !important;
  }
}

html.pwa-standalone .pwa-install-banner {
  display: none !important;
}

html.pwa-standalone body.page-home.pwa-banner-visible {
  padding-bottom: 0 !important;
}

/* Renfort JS — par famille d’appareil */
html.pwa-standalone.pwa-ios-se {
  --dmajin-nav-inset: max(
    env(safe-area-inset-top, 0px),
    constant(safe-area-inset-top, 0px),
    20px
  );
}

html.pwa-standalone.pwa-ios-notch {
  --dmajin-nav-inset: max(
    env(safe-area-inset-top, 0px),
    constant(safe-area-inset-top, 0px),
    47px
  );
}

html.pwa-standalone.pwa-ios-island,
html.pwa-standalone.pwa-ios.pwa-notch-lg {
  --dmajin-nav-inset: max(
    env(safe-area-inset-top, 0px),
    constant(safe-area-inset-top, 0px),
    59px
  );
}

html.pwa-standalone.pwa-android {
  --dmajin-nav-inset: max(env(safe-area-inset-top, 0px), 28px);
}

@media (min-height: 800px) {
  html.pwa-standalone.pwa-android {
    --dmajin-nav-inset: max(env(safe-area-inset-top, 0px), 32px);
  }
}

html.pwa-standalone .nav {
  top: var(--dmajin-nav-inset) !important;
}

html.pwa-standalone body.page-home .hero-full {
  padding-top: var(--dmajin-nav-inset);
}

html.pwa-standalone body.page-home .hero-content {
  padding-top: 0.5rem;
}

html.pwa-standalone .nav-logo,
html.pwa-standalone .nav-toggle,
html.pwa-standalone .btn-nav {
  position: relative;
  z-index: 2;
}
