/* NovaCore 6.1.174 – Commerce/Autohaus finishing layer.
   Intentionally loaded last so global theme rules cannot move announcements back into layout flow. */
body > .announcements,
.announcements {
  position: fixed !important;
  top: 92px !important;
  right: 24px !important;
  left: auto !important;
  z-index: 12050 !important;
  pointer-events: none;
}
body > .announcements > *,
.announcements > * {
  pointer-events: auto;
}

/* 7.1.9 UI hotfix: optional update cards must stay in the viewport.
   The global theme intentionally normalizes top-level layers to position:relative;
   updates are an overlay and therefore need an explicit late override.
   Mandatory updates are handled separately below so their visual lock style
   remains unchanged while their card moves to the same top-right area. */
body > .update-notice:not(.mandatory),
.update-notice:not(.mandatory) {
  position: fixed !important;
  top: 92px !important;
  right: 24px !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  z-index: 12040 !important;
  width: min(430px, calc(100vw - 48px)) !important;
  max-height: calc(100vh - 116px);
  overflow: auto;
  margin: 0 !important;
}


/* 7.1.9 UI hotfix: mandatory update keeps its current lock/design,
   but the card itself uses the same top-right placement as normal updates. */
body > .update-notice.mandatory,
.update-notice.mandatory {
  position: fixed !important;
  top: 92px !important;
  right: 24px !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  max-height: calc(100vh - 116px);
  overflow: auto;
  margin: 0 !important;
}

/* Keep commerce/dealership overlays below mandatory-update lock but above normal content. */
.nc-order-detail-backdrop,
.nc-order-modal-backdrop,
.nc-dealership-modal-backdrop {
  z-index: 11800;
}

@media (max-width: 560px) {
  body > .announcements,
  .announcements {
    top: 76px !important;
    right: 12px !important;
    left: auto !important;
    width: min(420px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
  }
  body > .update-notice:not(.mandatory),
  .update-notice:not(.mandatory) {
    top: 76px !important;
    right: 12px !important;
    left: auto !important;
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 88px);
  }

  body > .update-notice.mandatory,
  .update-notice.mandatory {
    top: 76px !important;
    right: 12px !important;
    left: auto !important;
    transform: none !important;
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 88px);
  }
}

@media print {
  body > .announcements,
  .announcements { display: none !important; }
}
