/** * Top Notification Bar Styles * Issue #39 * * Barra de notificación fija en la parte superior del sitio * para anunciar actualizaciones importantes o promociones. * * @package Apus_Theme * @since 1.0.0 */ /* ============================================ NOTIFICATION BAR BASE STYLES ============================================ */ .top-notification-bar { background-color: #4C5C6B; height: 40px; position: fixed; top: 0; left: 0; right: 0; z-index: 1050; color: #ffffff; font-size: 0.875rem; animation: slideDown 0.3s ease; display: flex; align-items: center; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } /* ============================================ ANIMATION ============================================ */ @keyframes slideDown { from { transform: translateY(-100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } /* ============================================ TEXT STYLES ============================================ */ .notification-text { font-size: 0.875rem; line-height: 1.2; } .text-highlight { color: #61c7cd; font-weight: 600; margin-right: 0.25rem; } /* ============================================ LINK STYLES ============================================ */ .notification-link { color: #61c7cd; text-decoration: none; font-weight: 500; transition: all 0.2s ease; white-space: nowrap; } .notification-link:hover { text-decoration: underline; color: #4db8c4; } .notification-link:focus { outline: 2px solid #61c7cd; outline-offset: 2px; } /* ============================================ ICON STYLES ============================================ */ .top-notification-bar .bi-megaphone-fill { color: #61c7cd; font-size: 1rem; } /* ============================================ CLOSE BUTTON ============================================ */ .btn-close-notification { background: transparent; border: none; color: rgba(255, 255, 255, 0.8); cursor: pointer; padding: 0.5rem; font-size: 0.75rem; position: absolute; right: 1rem; transition: all 0.2s ease; line-height: 1; display: flex; align-items: center; justify-content: center; } .btn-close-notification:hover { color: #ffffff; transform: scale(1.1); } .btn-close-notification:focus { outline: 2px solid #61c7cd; outline-offset: 2px; } .btn-close-notification .bi-x-lg { font-size: 0.875rem; } /* ============================================ NAVBAR ADJUSTMENT ============================================ */ /* Ajustar navbar cuando notification bar está visible */ body:not(.notification-dismissed) .navbar { top: 40px; position: sticky; } /* Asegurar que el navbar no se solape cuando la barra está cerrada */ body.notification-dismissed .navbar { top: 0; } /* ============================================ RESPONSIVE STYLES ============================================ */ /* Tablets y pantallas pequeñas */ @media (max-width: 991px) { .top-notification-bar { font-size: 0.8125rem; height: 36px; } .notification-text { font-size: 0.8125rem; } .btn-close-notification { right: 0.75rem; } body:not(.notification-dismissed) .navbar { top: 36px; } } /* Móviles */ @media (max-width: 767px) { .top-notification-bar { font-size: 0.8rem; height: 40px; padding: 0 0.5rem; } .top-notification-bar .container-fluid { padding: 0 0.5rem; } .notification-text { font-size: 0.8rem; } .top-notification-bar .bi-megaphone-fill { font-size: 0.875rem; } .btn-close-notification { right: 0.5rem; padding: 0.25rem; } .notification-link { font-size: 0.8rem; } } /* Pantallas muy pequeñas */ @media (max-width: 480px) { .top-notification-bar { font-size: 0.75rem; } .notification-text { font-size: 0.75rem; } .text-highlight { margin-right: 0.15rem; } .notification-link { font-size: 0.75rem; margin-left: 0.25rem !important; } } /* ============================================ ACCESSIBILITY ============================================ */ /* Modo de alto contraste */ @media (prefers-contrast: high) { .top-notification-bar { border-bottom: 2px solid #ffffff; } .text-highlight, .notification-link { color: #ffffff; font-weight: 700; } } /* Reducción de movimiento */ @media (prefers-reduced-motion: reduce) { .top-notification-bar { animation: none; } .btn-close-notification:hover { transform: none; } } /* ============================================ PRINT STYLES ============================================ */ @media print { .top-notification-bar { display: none; } }