/* ═══════════════════════════════════════════════
   NOTIFICATION BOX — Relaunch2025 Dark-Theme
   Aqua-Mint-Akzent, keine runden Ecken, Glas-Look über var(--bp).
   Close-Button ist ein reines CSS-Kreuz (zwei gedrehte Linien) — unabhängig
   davon, ob Font Awesome 5/6 geladen ist, und ersetzt das FA-`:before`-Glyph,
   das im Lab-Theme als leeres weißes Quadrat gerendert wurde.
   ═══════════════════════════════════════════════ */

/* Notification-Container */
  .notify {
    display: none;
    position: fixed;
    top: 0;
    right: 24px;
    width: 380px;
    max-width: calc(100vw - 48px);
    margin-top: 96px;
    z-index: 1000;
    background: rgba(1, 24, 39, .94);
    -webkit-backdrop-filter: blur(14px);
            backdrop-filter: blur(14px);
    border: 2px solid #85FFC7;
    border-left-width: 4px;
    box-shadow: 0 0 0 1px rgba(133, 255, 199, .18), 0 12px 40px rgba(0, 0, 0, .4), 0 0 32px rgba(133, 255, 199, .12);
    color: #fff;
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    transition: top .45s cubic-bezier(.16, 1, .3, 1), opacity .2s ease;
  }

  .notify-center {
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }

/* Level-Akzent (gesamter Rahmen + Icon-Farbe + Glow) */
  .notify-info {
    border-color: #85FFC7;
    box-shadow: 0 0 0 1px rgba(133, 255, 199, .18), 0 12px 40px rgba(0, 0, 0, .4), 0 0 32px rgba(133, 255, 199, .12);
  }
  .notify-warning {
    border-color: #F5A623;
    box-shadow: 0 0 0 1px rgba(245, 166, 35, .18), 0 12px 40px rgba(0, 0, 0, .4), 0 0 32px rgba(245, 166, 35, .12);
  }
  .notify-error {
    border-color: #FF5E5E;
    box-shadow: 0 0 0 1px rgba(255, 94, 94, .18), 0 12px 40px rgba(0, 0, 0, .4), 0 0 32px rgba(255, 94, 94, .12);
  }

/* Paper-Icon links (Container + Trenn-Line) */
  .notify > span.paper-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 56px;
    padding: 0;
    font-size: 1.35rem;
    color: #85FFC7;
    -webkit-text-fill-color: #85FFC7;
    border-right: 1px solid rgba(255, 255, 255, .08);
  }
  .notify-info > span.paper-icon {
    color: #85FFC7;
    -webkit-text-fill-color: #85FFC7;
  }
  .notify-warning > span.paper-icon {
    color: #F5A623;
    -webkit-text-fill-color: #F5A623;
  }
  .notify-error > span.paper-icon {
    color: #FF5E5E;
    -webkit-text-fill-color: #FF5E5E;
  }

/* Inhaltsbereich */
  .notify .content {
    flex: 1;
    display: flex;
    align-items: center;
    min-width: 0;
    margin: 0;
    padding: .9rem 2.6rem .9rem 1.1rem;
    font-size: 1rem;
  }
  .notify .content > p {
    margin: 0;
    padding: 0;
    text-align: left;
    word-break: break-word;
    text-transform: none;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: .005em;
    color: rgba(255, 255, 255, .92);
    -webkit-text-fill-color: rgba(255, 255, 255, .92);
  }
  .notify .content > p > span.headline {
    display: block;
    margin-bottom: .35rem;
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    color: #85FFC7;
    -webkit-text-fill-color: #85FFC7;
  }
  .notify-warning .content > p > span.headline {
    color: #F5A623;
    -webkit-text-fill-color: #F5A623;
  }
  .notify-error .content > p > span.headline {
    color: #FF5E5E;
    -webkit-text-fill-color: #FF5E5E;
  }

/* Flex-Layout erzwingen (JS setzt auf display:block beim Einblenden) */
  .notify[style*="display: block"],
  .notify[style*="display:block"] {
    display: flex !important;
  }

/* Action-Button in der Box (selten, z.B. "Mehr erfahren") */
  .notify-button {
    display: inline-block;
    width: auto;
    min-width: 0;
    margin: .6rem 0 0 0;
    padding: .5em 1.1em;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .28);
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 700;
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
  }
  .notify-button a {
    color: #fff;
    -webkit-text-fill-color: #fff;
    text-decoration: none;
  }
  .notify-button:hover {
    background: rgba(133, 255, 199, .08);
    border-color: #85FFC7;
    color: #85FFC7;
    -webkit-text-fill-color: #85FFC7;
  }
  .notify-button:hover a {
    color: #85FFC7;
    -webkit-text-fill-color: #85FFC7;
  }
  .notify-button span {
    display: inline-block;
    position: relative;
    transition: padding .2s ease;
  }
  .notify-button span:after {
    content: '\00bb';
    position: absolute;
    top: 0;
    right: -18px;
    opacity: 0;
    transition: opacity .25s ease, right .25s ease;
  }
  .notify-button:hover span {
    padding-right: 22px;
  }
  .notify-button:hover span:after {
    opacity: 1;
    right: 0;
  }

  .notify-button-info       { border-color: rgba(133, 255, 199, .45); }
  .notify-button-warning    { border-color: rgba(245, 166, 35, .45); }
  .notify-button-error      { border-color: rgba(255, 94, 94, .45); }

  .notify-button-info:hover,
  .notify-button-info:hover > a {
    color: #85FFC7 !important;
    -webkit-text-fill-color: #85FFC7 !important;
  }
  .notify-button-warning:hover,
  .notify-button-warning:hover > a {
    color: #F5A623 !important;
    -webkit-text-fill-color: #F5A623 !important;
    background: rgba(245, 166, 35, .08);
    border-color: #F5A623;
  }
  .notify-button-error:hover,
  .notify-button-error:hover > a {
    color: #FF5E5E !important;
    -webkit-text-fill-color: #FF5E5E !important;
    background: rgba(255, 94, 94, .08);
    border-color: #FF5E5E;
  }

/* Close-Button oben rechts — CSS-Only Kreuz.
   Das JS gibt dem <span> die Klassen "notify-close fas fa-times". Wenn FA nicht
   (bzw. nicht in passender Version) geladen ist, rendert FA ein leeres Quadrat.
   Deshalb setzen wir hier `:before` und `:after` selbst mit `content: ''` und
   !important, damit das FA-Glyph überschrieben wird. */
  .notify > span.notify-close,
  .notify .notify-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 22px;
    height: 22px;
    display: block;
    cursor: pointer;
    background: transparent;
    border: none;
    font-size: 0;
    line-height: 0;
    opacity: .55;
    transition: opacity .2s ease, transform .2s ease;
  }
  .notify > span.notify-close:hover,
  .notify .notify-close:hover {
    opacity: 1;
    transform: rotate(90deg);
  }
  .notify > span.notify-close:before,
  .notify > span.notify-close:after,
  .notify .notify-close:before,
  .notify .notify-close:after {
    content: '' !important;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1.5px;
    background: #fff;
    font-family: inherit !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  .notify > span.notify-close:after,
  .notify .notify-close:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }

/* Copy-Button (optional in Content-HTML) */
  .notify-copy-btn {
    display: inline-block;
    margin-top: .6rem;
    padding: .35em .8em;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .28);
    color: rgba(255, 255, 255, .9);
    -webkit-text-fill-color: rgba(255, 255, 255, .9);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
  }
  .notify-copy-btn-hover:hover,
  .notify-copy-btn:hover {
    background: rgba(133, 255, 199, .08);
    border-color: #85FFC7;
    color: #85FFC7;
    -webkit-text-fill-color: #85FFC7;
  }

/* Sticky-Verhalten (Desktop) */
  @media screen and (min-width: 1051px) {
    .notify-sticky {
      position: fixed;
      top: 8px !important;
      margin-top: 96px;
      transition: top .25s ease-out, margin-top .25s ease-out;
    }
    .notify-sticky + .content {
      padding-top: 70px;
    }
  }

/* Mobil: bündig am rechten Rand, volle Breite minus 16px */
  @media screen and (max-width: 640px) {
    .notify {
      right: 8px;
      left: 8px;
      width: auto;
      max-width: none;
      margin-top: 80px;
    }
    .notify-center {
      -webkit-transform: none;
              transform: none;
    }
  }
