/* Additional custom styles for Dreads BY L.T. */

/* Font imports handled in index.html */

/* Base reset and custom properties */
:root {
    --teal-deep: #0d4f5c;
    --teal-dark: #093d47;
    --teal-muted: #1a6b7a;
    --teal-light: #2a8a9a;
    --slate-dark: #1a2733;
    --slate-mid: #2c3e50;
    --cream: #f5f2eb;
    --cream-light: #faf8f4;
    --cream-warm: #ece6d8;
    --gold: #c8a96e;
    --gold-light: #d4ba85;
}

/* Selection color */
::selection {
    background: rgba(13, 79, 92, 0.2);
    color: var(--teal-deep);
}

/* Smooth scrolling for anchor links */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Body font fallback */
body {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Cormorant Garamond fallback */
.font-cormorant, h1, h2, h3, h4 {
    font-family: 'Cormorant Garamond', 'Georgia', serif;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--cream-light);
}
::-webkit-scrollbar-thumb {
    background: var(--teal-muted);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--teal-deep);
}

/* Focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .scroll-indicator { animation: none; }
    .gallery-item img { transition: none; }
    .service-card { transition: none; }
}

/* Print styles */
@media print {
    nav, .scroll-indicator, .mobile-menu, #menu-overlay { display: none !important; }
    .hero { min-height: auto; padding: 40px 0; }
    .hero-bg, .hero-overlay { display: none; }
    .hero-content { color: #000; }
    .hero h1 { color: #000; }
    section { page-break-inside: avoid; }
    footer { background: #fff; color: #000; }
}

/* Tablet and up adjustments */
@media (min-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

/* Large screens */
@media (min-width: 1280px) {
    .section-padding {
        padding: 120px 0;
    }
}

/* High contrast mode support */
@media (forced-colors: active) {
    .service-card, .testimonial-card {
        border: 1px solid CanvasText;
    }
    .hero-cta, .hero-cta-filled {
        border: 1px solid ButtonText;
    }
}

/* Ensure images don't overflow */
img {
    max-width: 100%;
    height: auto;
}

/* Aspect ratio utilities */
.aspect-square { aspect-ratio: 1 / 1; }

/* Subtle pattern overlay for texture */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9999;
    opacity: 0.015;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%230d4f5c' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
