@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

body {
    font-family: 'Open Sans', sans-serif;
    scroll-behavior: smooth;
}

/* Large, accessible buttons */
.btn-large {
    padding: 16px 32px;
    font-size: 18px;
    border-radius: 50px;
}

/* Focus styles for keyboard navigation */
a:focus, button:focus {
    outline: 3px solid #3b82f6;
    outline-offset: 2px;
}

/* High contrast mode utilities */
.high-contrast {
    background-color: #000;
    color: #fff;
}

.high-contrast a {
    color: #ffff00;
}

.high-contrast a:hover {
    color: #ffcc00;
}

/* Larger text for better readability */
.text-large {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

/* Animation for interactive elements */
.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.05);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: #e0f2fe;
}

::-webkit-scrollbar-thumb {
    background: #3b82f6;
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background: #2563eb;
}

/* Responsive video container */
.video-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%; /* 16:9 Aspect Ratio */
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* Accessibility: Skip to content link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #3b82f6;
    color: white;
    padding: 8px;
    z-index: 1000;
}

.skip-link:focus {
    top: 0;
}

/* Custom focus ring */
.focus-ring {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5);
}