.notice-bar[hidden] { display: none !important; }
.notice-bar { width: 100%; border-bottom: 1px solid #d9ebf5; background: #f1f9fd; color: #45677d; }
.notice-bar > .wrap { position: relative; display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 54px 0 28px; }
.notice-bar .notice-content { display: flex; align-items: center; gap: 12px; min-width: 0; font-size: 14px; font-weight: 600; }
.notice-bar .notice-close { position: absolute; right: 24px; padding: 3px 7px; border: 0; background: transparent; color: #6a8799; font-size: 22px; line-height: 1; cursor: pointer; }
#noticeBar.announcement-carousel { overflow: hidden; }
.announcement-carousel .notice-content { width: min(820px, calc(100% - 90px)); min-width: 0; overflow: hidden; }
.announcement-viewport { display: flex; justify-content: flex-end; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.announcement-track { display: inline-flex; align-items: center; flex: 0 0 auto; width: max-content; animation: ws-announcement-marquee var(--announcement-duration, 14s) linear infinite; will-change: transform; }
.announcement-viewport:hover .announcement-track { animation-play-state: paused; }
.announcement-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes ws-announcement-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-100vw - 100%)); } }
@media (prefers-reduced-motion: reduce) {
  .announcement-viewport { display: flex; justify-content: center; }
  .announcement-track { animation: none; transform: none; }
}
@media (max-width: 640px) {
  .notice-bar > .wrap { min-height: 44px; padding-right: 45px; padding-left: 16px; }
  .notice-bar .notice-close { right: 12px; }
  .announcement-carousel .notice-content { width: calc(100% - 44px); }
  .announcement-track { gap: 10px; }
  .announcement-text { font-size: 13px; }
}

/* A 500px source should not be stretched across the entire portrait column. */
.model-card-photo { background-size: auto 100% !important; background-repeat: no-repeat !important; background-color: #eaf5fb !important; }

/* One independently measured pass per announcement. No ellipsis or flex shrink. */
#noticeBar .announcement-viewport{display:block;position:relative;min-width:0;width:100%;overflow:hidden}
#noticeBar .announcement-track{display:inline-flex;width:max-content;max-width:none;animation:none!important;transform:translateX(100vw);vertical-align:middle}
#noticeBar .announcement-text{flex:none;display:block;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;line-height:1.6}
#noticeBar.announcement-reduced .announcement-track{display:block;width:100%;transform:none;white-space:normal}
#noticeBar.announcement-reduced .announcement-text{white-space:normal;overflow-wrap:anywhere;text-align:center;padding:8px 0}
