/* ─── Sherry Creek Campground — Custom Styles ─── */

/* ─── Smooth Scroll Offset for Fixed Nav ─── */
section[id] {
    scroll-margin-top: 80px;
}

/* ─── Focus Styles ─── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid #E07A5F;
    outline-offset: 4px;
}

/* ─── Image Loading ─── */
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* ─── Print Styles ─── */
@media print {
    .hero-section,
    .mobile-menu,
    #navbar { display: none; }
    body { color: #000; background: #fff; }
    a[href]::after { content: " (" attr(href) ")"; }
}

/* ─── Reduced Motion ─── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    html { scroll-behavior: auto; }
    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }
    .pulse-ring { animation: none; }
}

/* ─── High Contrast ─── */
@media (prefers-contrast: high) {
    .amenity-card { border-width: 2px; }
    .btn-primary { border-width: 2px; }
    .btn-secondary { border-width: 2px; }
}

/* ─── Touch Device Adjustments ─── */
@media (hover: none) and (pointer: coarse) {
    .amenity-card:hover { transform: none; }
    .photo-grid-item:hover img { transform: none; }
    .nav-link:hover::after { width: 0; }
}

/* ─── Wide Screen ─── */
@media (min-width: 1920px) {
    html { font-size: 18px; }
    .max-w-7xl { max-width: 80rem; }
}

/* ─── Narrow Mobile ─── */
@media (max-width: 360px) {
    .hero-content h1 {
        font-size: 2.25rem !important;
    }
    .btn-primary,
    .btn-secondary {
        padding: 14px 28px;
        font-size: 0.7rem;
    }
}
