/* Adaptaciones móviles esenciales (extracto de src/css/mobile.css) */

.mobile-menu-overlay{ position:fixed; top:0; left:0; width:100%; height:100%; background: rgba(42,30,20,0.98); backdrop-filter: blur(20px); z-index:9999; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition: all var(--transition-cubic); }
.mobile-menu-overlay.active{ opacity:1; visibility:visible; }
.mobile-menu-close{ position:absolute; top: var(--spacing-lg); right: var(--spacing-lg); background:none; border:none; color: var(--primary-gold); font-size:2rem; cursor:pointer; width:50px; height:50px; display:flex; align-items:center; justify-content:center; border-radius: var(--radius-full); }
.mobile-nav-links{ display:flex; flex-direction:column; gap: var(--spacing-lg); text-align:center; padding: var(--spacing-xl); }
.mobile-nav-links a{ color: var(--light-gold); text-decoration:none; font-size:1.5rem; font-weight:600; padding: var(--spacing-md); border-radius: var(--radius-md); }

@media (max-width:768px){
  .hero{ padding: 100px var(--spacing-sm) 60px var(--spacing-sm); align-items:flex-start; justify-content:center; }
  .hero__content{ margin-top: var(--spacing-lg); padding: 0 var(--spacing-xs); }
  .hero__title{ font-size: clamp(2.5rem, 12vw, 4rem); margin-bottom: var(--spacing-md); }
  .hero__subtitle{ font-size: clamp(1rem, 5vw, 1.4rem); margin-bottom: var(--spacing-lg); }
  .hero__description{ font-size: .95rem; max-width: 100%; margin-bottom: var(--spacing-lg); }
  .grid-auto-fit{ grid-template-columns: 1fr; gap: var(--spacing-lg); }
  .btn{ width:100%; max-width: 280px; text-align:center; }
}




