/** * Announcement Banner Styles - BRIGHT & VIBRANT * Reusable banner component for site-wide announcements * CSP-compliant - no inline styles */.announcement-banner {  position: relative;  padding: 1.25rem 0;  font-size: 1.1rem;  font-weight: 600;  line-height: 1.6;  animation: slideDown 0.3s ease-out;  z-index: 1040;  border-bottom: 5px solid rgba(0, 0, 0, 0.25);}@keyframes slideDown {  from { transform: translateY(-100%); opacity: 0; }  to { transform: translateY(0); opacity: 1; }}@keyframes slideUp {  from { transform: translateY(0); opacity: 1; }  to { transform: translateY(-100%); opacity: 0; }}.announcement-banner.dismissing {  animation: slideUp 0.3s ease-out forwards;}.announcement-banner__content {  display: flex;  align-items: center;  justify-content: center;  flex-wrap: wrap;  gap: 1.25rem;  padding: 0 3.5rem 0 1rem;}.announcement-banner__logo {  height: 90px;  width: auto;  flex-shrink: 0;  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.4)) brightness(1.15) contrast(1.1);  background: white;  padding: 0.8rem 1.2rem;  border-radius: 0.5rem;  border: 2px solid rgba(255, 255, 255, 0.5);}.announcement-banner__icon {  font-size: 1.75rem;  flex-shrink: 0;  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));}.announcement-banner__text {  flex: 1 1 auto;  text-align: center;  min-width: 200px;  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);}.announcement-banner__title {  font-weight: 800;  font-size: 1.2em;  letter-spacing: 0.3px;}.announcement-banner__message {  font-weight: 500;  font-size: 1.05em;}.announcement-banner__link {  display: inline-flex;  align-items: center;  gap: 0.5rem;  padding: 0.75rem 1.75rem;  border-radius: 0.5rem;  font-weight: 800;  text-decoration: none;  transition: all 0.2s ease;  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);  text-shadow: none;  letter-spacing: 0.5px;  text-transform: uppercase;  font-size: 0.95em;}.announcement-banner__close {  position: absolute;  right: 1rem;  top: 50%;  transform: translateY(-50%);  background: rgba(0, 0, 0, 0.25);  border: 2px solid rgba(255, 255, 255, 0.5);  border-radius: 50%;  width: 36px;  height: 36px;  font-size: 1.4rem;  padding: 0;  cursor: pointer;  opacity: 0.9;  transition: all 0.2s ease;  line-height: 1;  color: white;}.announcement-banner__close:hover {  opacity: 1;  background: rgba(0, 0, 0, 0.4);  transform: translateY(-50%) scale(1.15);}.announcement-banner__close:focus {  outline: 3px solid rgba(255, 255, 255, 0.6);  outline-offset: 2px;}/* Primary theme - BRIGHT VIBRANT BLUE */.announcement-banner.theme-primary {  background: linear-gradient(135deg, #00bbff 0%, #0088ff 100%);  color: #ffffff;  box-shadow: 0 8px 20px rgba(0, 136, 255, 0.7), inset 0 2px 0 rgba(255, 255, 255, 0.35);  border-bottom: 5px solid #0066dd;}.announcement-banner.theme-primary .announcement-banner__link {  background: #ffffff;  color: #0066ff;  border: 3px solid #ffffff;}.announcement-banner.theme-primary .announcement-banner__link:hover {  background: #f0f8ff;  border-color: #ffffff;  transform: translateY(-3px) scale(1.05);  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);  color: #0044cc;}/* Responsive adjustments */@media (max-width: 768px) {  .announcement-banner { font-size: 1rem; padding: 1.25rem 0; }  .announcement-banner__content { flex-direction: column; padding: 0 2.5rem 0 1rem; gap: 1rem; }  .announcement-banner__logo { height: 70px; }  .announcement-banner__title { font-size: 1.1em; }  .announcement-banner__message { font-size: 0.95em; }  .announcement-banner__link { padding: 0.65rem 1.5rem; }  .announcement-banner__close { top: 1rem; transform: none; }}@media (max-width: 576px) {  .announcement-banner { font-size: 0.95rem; }  .announcement-banner__logo { height: 60px; }  .announcement-banner__icon { font-size: 1.5rem; }  .announcement-banner__title { font-size: 1em; }  .announcement-banner__message { font-size: 0.9em; }}