/* Flat Margaret: Blasterr-style green Safari / iPhone safe areas (v4).
   Site header remains flush to the viewport: never insert an 8px shim.
   In ordinary Safari, the iOS-native toolbar/status bar remain under Safari's control.
*/
:root { --fm-ios-green: #102b24; }
html { background-color: var(--fm-ios-green) !important; }

@media screen and (max-width: 760px) {
  html, body.fm-body { background-color: var(--fm-ios-green) !important; }
  body.fm-body {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
  }

  /* Blasterr's actual safe-area painting. This is not a spacer and does not
     affect the header's position or scroll offsets. */
  body.fm-body::before {
    content: "" !important;
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: env(safe-area-inset-top, 0px) !important;
    background-color: var(--fm-ios-green) !important;
    z-index: 1100 !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }

  /* The fixed header itself expands into the real safe area. All existing
     logo, language-selector and hamburger dimensions remain unchanged. */
  body.fm-body .fm-navbar {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    margin-top: 0 !important;
    padding: env(safe-area-inset-top, 0px) 0 0 !important;
    height: calc(68px + env(safe-area-inset-top, 0px)) !important;
    min-height: calc(68px + env(safe-area-inset-top, 0px)) !important;
    box-sizing: border-box !important;
    background: var(--fm-ios-green) !important;
  }
  body.fm-body .fm-navbar::before {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: env(safe-area-inset-top, 0px) !important;
    background: var(--fm-ios-green) !important;
    pointer-events: none !important;
  }
  body.fm-body .fm-navbar .fm-nav-container {
    min-height: 68px !important;
    height: 68px !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }

  /* One safe-area offset, not one on the overlay plus a second in its head. */
  body.fm-body .fm-mobile-menu {
    top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    background-color: var(--fm-ios-green) !important;
  }
  body.fm-body .fm-mobile-menu .fm-mobile-head {
    box-sizing: border-box !important;
    height: calc(82px + env(safe-area-inset-top, 0px)) !important;
    min-height: calc(82px + env(safe-area-inset-top, 0px)) !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    background: var(--fm-ios-green) !important;
  }

  /* The footer meets the lower safe area directly (no pale gap). */
  body.fm-body .fm-footer {
    background: var(--fm-ios-green) !important;
    padding-bottom: 0 !important;
  }
  body.fm-body .fm-footer-safezone {
    display: block !important;
    width: 100% !important;
    height: env(safe-area-inset-bottom, 0px) !important;
    background: var(--fm-ios-green) !important;
    pointer-events: none !important;
  }
}
