/* BCA_NOTIFICATIONS_RUNTIME3_3A_V1_START */

/* Navbar integration: deliberately scoped to the dedicated item. */
.navbar-notifications-li > a {
  position: relative;
  min-width: 48px;
  justify-content: center;
  isolation: isolate;
}

.navbar-notifications-li > a > i {
  position: relative;
  z-index: 1;
  line-height: 1;
  transition:
    color 180ms ease,
    filter 180ms ease,
    text-shadow 180ms ease,
    transform 180ms ease;
}

/* BCA_NAVBAR_NOTIFICATION_STATE_SIZE_V1_START */

/*
 * The theme has a more specific first-icon selector. The dedicated class
 * below deliberately wins the cascade without affecting any other menu icon.
 */
.navbar-glass
.uk-navbar-nav
> .navbar-notifications-li
> a
> .navbar-notification-bell-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  margin-right: 0 !important;
  color: rgba(240, 194, 102, 0.92) !important;
  font-size: 1.32rem !important;
  line-height: 1 !important;
  transform-origin: 50% 12%;
  will-change: transform, filter, color;
}

.navbar-glass
.uk-navbar-nav
> .navbar-notifications-li.has-unread
> a {
  overflow: visible;
  color: #d9f3ff !important;
}

.navbar-glass
.uk-navbar-nav
> .navbar-notifications-li.has-unread
> a::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: 37px;
  height: 37px;
  border: 1px solid rgba(111, 205, 255, 0.68);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(76, 179, 239, 0.34) 0%,
    rgba(76, 179, 239, 0.16) 42%,
    rgba(76, 179, 239, 0) 72%
  );
  box-shadow:
    0 0 10px rgba(86, 193, 255, 0.44),
    0 0 19px rgba(86, 193, 255, 0.21),
    inset 0 0 12px rgba(143, 221, 255, 0.16);
  opacity: 0.24;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.88);
  animation:
    bca-navbar-notification-halo-v1b
    2.4s
    ease-out
    infinite;
}

.navbar-glass
.uk-navbar-nav
> .navbar-notifications-li.has-unread
> a
> .navbar-notification-bell-icon {
  color: #d9f3ff !important;
  filter:
    drop-shadow(0 0 4px rgba(111, 205, 255, 0.9))
    drop-shadow(0 0 10px rgba(76, 179, 239, 0.56));
  text-shadow:
    0 0 8px rgba(136, 219, 255, 0.76),
    0 0 16px rgba(76, 179, 239, 0.42);
  animation:
    bca-navbar-notification-bell-v1b
    2.4s
    cubic-bezier(0.36, 0.07, 0.19, 0.97)
    infinite;
}

.navbar-glass
.navbar-notifications-li.has-unread
.navbar-notification-badge:not(.is-empty) {
  animation:
    bca-navbar-notification-badge-v1b
    2.4s
    ease-in-out
    infinite;
}

.navbar-notifications-li.has-unread:hover > a::before,
.navbar-notifications-li.has-unread:focus-within > a::before,
.navbar-notifications-li.has-unread > a.uk-open::before {
  animation-play-state: paused;
  opacity: 0.28;
}

.navbar-notifications-li.has-unread:hover
> a
> .navbar-notification-bell-icon,
.navbar-notifications-li.has-unread:focus-within
> a
> .navbar-notification-bell-icon,
.navbar-notifications-li.has-unread
> a.uk-open
> .navbar-notification-bell-icon,
.navbar-notifications-li.has-unread:hover
.navbar-notification-badge,
.navbar-notifications-li.has-unread:focus-within
.navbar-notification-badge,
.navbar-notifications-li.has-unread
> a.uk-open
.navbar-notification-badge {
  animation-play-state: paused;
  transform: none;
}

@keyframes bca-navbar-notification-halo-v1b {
  0%,
  44% {
    opacity: 0.24;
    transform: translate(-50%, -50%) scale(0.88);
  }

  58% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(0.96);
  }

  82% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.5);
  }

  100% {
    opacity: 0.18;
    transform: translate(-50%, -50%) scale(0.88);
  }
}

@keyframes bca-navbar-notification-bell-v1b {
  0%,
  42%,
  76%,
  100% {
    transform: rotate(0) scale(1);
  }

  48% {
    transform: rotate(13deg) scale(1.06);
  }

  53% {
    transform: rotate(-11deg) scale(1.06);
  }

  58% {
    transform: rotate(8deg) scale(1.04);
  }

  63% {
    transform: rotate(-6deg) scale(1.03);
  }

  68% {
    transform: rotate(4deg) scale(1.01);
  }

  72% {
    transform: rotate(0) scale(1);
  }
}

@keyframes bca-navbar-notification-badge-v1b {
  0%,
  44%,
  76%,
  100% {
    box-shadow:
      0 0 0 0 rgba(221, 74, 74, 0);
    transform: scale(1);
  }

  55% {
    box-shadow:
      0 0 0 5px rgba(221, 74, 74, 0.18);
    transform: scale(1.14);
  }

  68% {
    box-shadow:
      0 0 0 9px rgba(221, 74, 74, 0);
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .navbar-glass
  .navbar-notifications-li.has-unread
  > a::before,
  .navbar-glass
  .navbar-notifications-li.has-unread
  > a
  > .navbar-notification-bell-icon,
  .navbar-glass
  .navbar-notifications-li.has-unread
  .navbar-notification-badge {
    animation: none !important;
  }

  .navbar-glass
  .navbar-notifications-li.has-unread
  > a::before {
    opacity: 0.42;
    transform: translate(-50%, -50%) scale(1);
  }
}

/* BCA_NAVBAR_NOTIFICATION_STATE_SIZE_V1_END */

.navbar-notification-badge {
  position: absolute;
  top: 12px;
  right: 4px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: #a62e2e;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 15px;
  text-align: center;
}

.navbar-notification-badge.is-empty {
  display: none;
}

.navbar-notifications-dropdown {
  width: min(360px, calc(100vw - 24px));
  padding: 0;
  overflow: hidden;
}

.navbar-notifications-head,
.navbar-notifications-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
}

.navbar-notifications-head {
  border-bottom: 1px solid rgba(155, 190, 220, 0.16);
  color: rgba(240, 247, 252, 0.95);
  font-weight: 700;
}

.navbar-notifications-head a,
.navbar-notifications-footer a {
  color: #9dcdf0;
  font-size: 0.78rem;
}

.navbar-notifications-list {
  max-height: 310px;
  overflow-y: auto;
}

.navbar-notification-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid rgba(155, 190, 220, 0.1);
  color: rgba(231, 241, 249, 0.88);
}

.navbar-notification-item:hover,
.navbar-notification-item:focus {
  background: rgba(58, 115, 156, 0.22);
  color: #fff;
  text-decoration: none;
}

.navbar-notification-item.is-unread {
  background: rgba(39, 104, 151, 0.18);
}

.navbar-notification-item-icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(73, 137, 183, 0.2);
  color: #9fd4f8;
}

.navbar-notification-item-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.navbar-notification-item-message {
  font-size: 0.82rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.navbar-notification-item-date {
  color: rgba(194, 211, 224, 0.6);
  font-size: 0.7rem;
}

.navbar-notifications-empty {
  padding: 24px 16px;
  color: rgba(216, 229, 239, 0.66);
  text-align: center;
}

.navbar-notifications-footer {
  border-top: 1px solid rgba(155, 190, 220, 0.16);
  justify-content: center;
}

.twp-mobile-account-notification-badge {
  margin-left: auto;
  min-width: 20px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(166, 46, 46, 0.9);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  text-align: center;
}

/* Public notification center. */
.bca-notifications-page {
  --bca-notification-border: rgba(139, 188, 224, 0.22);
  --bca-notification-bg: rgba(11, 31, 47, 0.72);
  --bca-notification-bg-unread: rgba(25, 70, 103, 0.66);
}

.bca-notifications-container {
  max-width: 1120px;
}

.bca-notifications-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bca-notifications-head-actions form {
  margin: 0;
}

.bca-notification-action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.bca-notification-filters {
  display: flex;
  gap: 8px;
  margin: 0 0 18px;
  padding: 6px;
  border: 1px solid var(--bca-notification-border);
  border-radius: 10px;
  background: rgba(8, 24, 37, 0.58);
}

.bca-notification-filter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 13px;
  border-radius: 7px;
  color: rgba(224, 236, 245, 0.75);
  font-weight: 700;
}

.bca-notification-filter:hover,
.bca-notification-filter:focus,
.bca-notification-filter.is-active {
  background: rgba(62, 127, 174, 0.3);
  color: #fff;
  text-decoration: none;
}

.bca-notification-filter-count {
  min-width: 20px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(166, 46, 46, 0.9);
  color: #fff;
  font-size: 0.72rem;
  text-align: center;
}

.bca-notification-list {
  display: grid;
  gap: 10px;
}

.bca-notification-card {
  position: relative;
  display: flex;
  align-items: stretch;
  border: 1px solid var(--bca-notification-border);
  border-radius: 11px;
  background: var(--bca-notification-bg);
  overflow: hidden;
}

.bca-notification-card.is-unread {
  background: var(--bca-notification-bg-unread);
  border-color: rgba(113, 181, 229, 0.38);
}

.bca-notification-main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 17px;
  color: rgba(232, 241, 248, 0.9);
}

.bca-notification-main:hover,
.bca-notification-main:focus {
  background: rgba(76, 140, 185, 0.12);
  color: #fff;
  text-decoration: none;
}

.bca-notification-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(127, 183, 224, 0.28);
  border-radius: 50%;
  background: rgba(45, 107, 151, 0.22);
  color: #a7d9fa;
}

.bca-notification-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.bca-notification-message {
  font-weight: 650;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.bca-notification-date {
  color: rgba(196, 214, 227, 0.64);
  font-size: 0.76rem;
}

.bca-notification-unread-dot {
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  margin-left: auto;
  border-radius: 50%;
  background: #69baf0;
  box-shadow: 0 0 0 4px rgba(105, 186, 240, 0.12);
}

.bca-notification-read-form {
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border-left: 1px solid var(--bca-notification-border);
}

.bca-notification-read-button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(68, 132, 176, 0.2);
  color: #a9d8f6;
  cursor: pointer;
}

.bca-notification-read-button:hover,
.bca-notification-read-button:focus {
  outline: none;
  background: rgba(74, 154, 208, 0.4);
  color: #fff;
}

.bca-notification-empty {
  border: 1px solid var(--bca-notification-border);
  border-radius: 12px;
  background: rgba(10, 28, 43, 0.64);
  text-align: center;
}

.bca-notification-empty i {
  margin-bottom: 10px;
  color: rgba(143, 196, 232, 0.72);
  font-size: 2rem;
}

.bca-notification-empty h2 {
  margin: 0 0 7px;
  color: rgba(240, 246, 250, 0.94);
  font-size: 1.2rem;
}

.bca-notification-empty p {
  margin: 0;
  color: rgba(205, 219, 230, 0.68);
}

.bca-notification-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
  padding: 11px 14px;
  border: 1px solid var(--bca-notification-border);
  border-radius: 10px;
  background: rgba(8, 24, 37, 0.54);
}

.bca-notification-pagination-summary {
  color: rgba(205, 220, 231, 0.65);
  font-size: 0.8rem;
}

.bca-notification-pagination-links {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bca-notification-pagination-links a {
  color: #9ed2f4;
}

.bca-notification-pagination-links span {
  color: rgba(231, 239, 245, 0.76);
  font-size: 0.82rem;
}

.bca-notification-saved {
  margin-bottom: 18px;
  border-radius: 9px;
}

.bca-notification-preferences-form {
  padding: 18px;
  border: 1px solid var(--bca-notification-border);
  border-radius: 12px;
  background: rgba(9, 28, 43, 0.67);
}

.bca-notification-preference-list {
  display: grid;
  gap: 10px;
}

.bca-notification-preference-card {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 14px 15px;
  border: 1px solid rgba(130, 180, 216, 0.18);
  border-radius: 9px;
  background: rgba(18, 48, 70, 0.42);
  cursor: pointer;
}

.bca-notification-preference-card:hover {
  border-color: rgba(130, 180, 216, 0.35);
  background: rgba(27, 66, 94, 0.48);
}

.bca-notification-preference-control {
  padding-top: 2px;
}

.bca-notification-preference-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bca-notification-preference-title {
  color: rgba(239, 246, 251, 0.94);
  font-weight: 700;
}

.bca-notification-preference-description {
  color: rgba(200, 216, 227, 0.68);
  font-size: 0.84rem;
  line-height: 1.45;
}

.bca-notification-preference-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

@media (max-width: 959px) {
  .bca-notifications-head-actions {
    width: 100%;
  }

  .bca-notification-pagination {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 639px) {
  .bca-notification-filters {
    width: 100%;
  }

  .bca-notification-filter {
    flex: 1 1 50%;
    justify-content: center;
  }

  .bca-notification-main {
    gap: 10px;
    padding: 13px 12px;
  }

  .bca-notification-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  .bca-notification-unread-dot {
    display: none;
  }

  .bca-notification-read-form {
    flex-basis: 42px;
  }

  .bca-notification-preferences-form {
    padding: 12px;
  }

  .bca-notification-preference-card {
    padding: 12px;
  }
}

/* BCA_NOTIFICATIONS_RUNTIME3_3A_V1_END */
