/* Additional utility styles and edge-case overrides */

/* Ensure all interactive elements have clear focus states */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid #d4a853;
    outline-offset: 2px;
}

/* Smooth image loading */
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #faf8f5;
}
::-webkit-scrollbar-thumb {
    background: #1a2744;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #d4a853;
}

/* Selection color */
::selection {
    background: rgba(212, 168, 83, 0.25);
    color: #1a2744;
}

/* Prevent layout shift on form inputs */
input, textarea, select {
    font-size: 16px;
}

/* Print styles */
@media print {
    .nav, .mobile-menu, .map-section, .form-submit {
        display: none !important;
    }
    body {
        color: #000;
        background: #fff;
    }
    .hero {
        min-height: auto;
        padding: 2rem 0;
    }
    section {
        padding: 2rem 0;
    }
}
