/* Custom styles that complement Tailwind */

/* Smooth scrolling for the whole page */
html {
    scroll-behavior: smooth;
}

/* Prevent horizontal scroll */
body {
    overflow-x: hidden;
}

/* Selection color */
::selection {
    background-color: rgba(168, 230, 207, 0.4);
    color: #1B3A5C;
}

/* Focus visible styles */
:focus-visible {
    outline: 2px solid #3aad6e;
    outline-offset: 2px;
}

/* Custom scrollbar for webkit */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f0f4f8;
}
::-webkit-scrollbar-thumb {
    background: #1B3A5C;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #314f68;
}

/* Print styles */
@media print {
    .float-shape,
    .float-slow,
    .float-delay {
        animation: none;
    }
    nav,
    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Reduce motion preference - content stays visible */
@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;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .service-card {
        border-width: 2px;
    }
    .pill-badge {
        border-width: 2px;
    }
}

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

/* Ensure form inputs look good on all browsers */
input,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
}

/* Ensure buttons are clickable on touch devices */
button,
a {
    -webkit-tap-highlight-color: transparent;
}

/* Hero image responsive adjustments */
@media (max-width: 1023px) {
    .hero-grid {
        min-height: auto;
    }
    .hero-image-mask {
        border-radius: 32px;
    }
}

/* Tablet breakpoint adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }
}

/* Large screens */
@media (min-width: 1280px) {
    .hero-grid {
        grid-template-columns: 1.1fr 0.9fr;
    }
}
