/* Custom styles and overrides */

/* Smooth scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #1a1a1a; }
::-webkit-scrollbar-thumb { background: #f06e44; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #e85d33; }

/* Focus styles */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #f06e44;
    outline-offset: 2px;
}

/* Ensure hero animations don't block content */
.hero-subtitle,
.hero-headline,
.hero-desc,
.hero-ctas,
.hero-scroll {
    opacity: 1;
    transform: none;
}

/* Nav state: dark on light sections */
nav.light-section .nav-text { color: #1a1a1a; }
nav.light-section .nav-logo-path { stroke: #1a1a1a; }
nav.light-section .nav-logo-text { color: #1a1a1a; }
nav.light-section .nav-cta-btn { background: #f06e44; color: #fff; }

/* Nav state: light on dark hero */
nav.dark-section .nav-text { color: #fff; }
nav.dark-section .nav-logo-path { stroke: #fff; }
nav.dark-section .nav-logo-text { color: #fff; }
nav.dark-section .nav-cta-btn { background: transparent; border: 1px solid rgba(255,255,255,0.6); color: #fff; }
nav.dark-section .nav-cta-btn:hover { background: rgba(255,255,255,0.1); }

/* Mobile menu text */
.mobile-link { color: #1a1a1a; }

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .villa-img { transition: none; }
    .btn-coral, .btn-outline { transition: none; }
    .nav-link::after { transition: none; }
    .mobile-menu { transition: none; }
    .mobile-menu-overlay { transition: none; }
}

/* Print styles */
@media print {
    nav, .hero-scroll, #mobile-menu, #mobile-overlay { display: none; }
    body { color: #000; background: #fff; }
    section { padding: 20px 0; }
}
