/* Custom styles that complement Tailwind */

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

/* Selection color */
::selection {
    background: #3a9e7c;
    color: white;
}

/* 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; transform: none; }
}

/* Print styles */
@media print {
    header, footer, .reveal { display: none; }
    body { color: #000; background: #fff; }
}

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

/* Better form select styling */
select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c94aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 40px;
}

/* Subtle pattern for section backgrounds */
.bg-pattern {
    background-image: radial-gradient(circle, #d4dce6 1px, transparent 1px);
    background-size: 24px 24px;
}
