diff --git a/css/styles.css b/css/styles.css index ef19e23..3be8f60 100644 --- a/css/styles.css +++ b/css/styles.css @@ -308,27 +308,75 @@ h4 { font-size: 1.25rem; } } /* --- Menú Móvil Overlay --- */ -.mobile-menu-drawer { +/* --- Overlay oscuro detrás del drawer --- */ +.mobile-menu-overlay { display: none; position: fixed; - top: 80px; - left: 0; + inset: 0; + background-color: rgba(10, 24, 32, 0.55); + backdrop-filter: blur(3px); + -webkit-backdrop-filter: blur(3px); + z-index: 998; + opacity: 0; + transition: opacity 0.3s ease; +} + +.mobile-menu-overlay.is-open { + display: block; + opacity: 1; +} + +/* --- Drawer lateral derecho --- */ +.mobile-menu-drawer { + position: fixed; + top: 0; right: 0; bottom: 0; + width: min(320px, 85vw); background-color: var(--bg-surface); + border-left: 1px solid var(--border-color); padding: 2rem 1.5rem; overflow-y: auto; z-index: 999; - border-top: 1px solid var(--border-color); - transform: translateY(-100%); - opacity: 0; - transition: transform 0.3s ease, opacity 0.3s ease; + display: flex; + flex-direction: column; + transform: translateX(100%); + transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1); + box-shadow: -8px 0 32px rgba(10, 24, 32, 0.18); } .mobile-menu-drawer.is-open { - display: block; - transform: translateY(0); - opacity: 1; + transform: translateX(0); +} + +/* Cabecera del drawer con botón cerrar */ +.drawer-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 2rem; + padding-bottom: 1.25rem; + border-bottom: 1px solid var(--border-color); +} + +.drawer-close-btn { + background: var(--bg-subtle); + border: 1px solid var(--border-color); + color: var(--text-main); + width: 38px; + height: 38px; + border-radius: var(--radius-full); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: all var(--transition-fast); + flex-shrink: 0; +} + +.drawer-close-btn:hover { + background: var(--border-color); + color: var(--ide-accent); } .mobile-nav-links { diff --git a/includes/header.html b/includes/header.html index 8123ffd..4f2fc7c 100644 --- a/includes/header.html +++ b/includes/header.html @@ -64,8 +64,23 @@ - -