/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Mobile Navigation Styles */
#mobile-menu {
    transition: all 0.3s ease;
}

#burger-menu {
    cursor: pointer;
    transition: color 0.3s ease;
}

#burger-menu:hover {
    opacity: 0.8;
}

/* Cookie Modal Styles */
#cookie-modal {
    transition: opacity 0.2s ease;
}

#cookie-modal.hidden {
    display: none;
}

/* Cookie Policy Toggle Switches */
.cookie-toggle {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 30px;
}

.cookie-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cookie-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: background-color 0.3s ease;
    border-radius: 30px;
}

.cookie-slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: transform 0.3s ease;
    border-radius: 50%;
}

input:checked + .cookie-slider {
    background-color: #48BB78;
}

input:checked + .cookie-slider:before {
    transform: translateX(30px);
}

input:disabled + .cookie-slider {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Hover Effects */
a:hover, button:hover {
    transition: all 0.3s ease;
}

img {
    transition: transform 0.3s ease;
}

img:hover {
    transform: scale(1.02);
}

/* Details/Summary Styles for FAQ */
details summary {
    transition: color 0.3s ease;
}

details summary:hover {
    color: #48BB78;
}

details[open] summary {
    color: #4A5568;
}

/* Card Hover Effects */
.shadow-lg:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.3s ease;
}

/* Notification Styles */
.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: #48BB78;
    color: white;
    padding: 1rem 2rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    transition: opacity 0.3s ease;
}

.notification.hidden {
    opacity: 0;
    pointer-events: none;
}

/* RTL Support Enhancements */
[dir="rtl"] .cookie-slider:before {
    left: auto;
    right: 4px;
}

[dir="rtl"] input:checked + .cookie-slider:before {
    transform: translateX(-30px);
}

/* Focus States for Accessibility */
a:focus, button:focus, input:focus, textarea:focus {
    outline: 2px solid #48BB78;
    outline-offset: 2px;
}

/* Loading State for Forms */
form.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Mobile Menu Transition */
@media (max-width: 768px) {
    #mobile-menu {
        max-height: 0;
        overflow: hidden;
    }
    
    #mobile-menu:not(.hidden) {
        max-height: 500px;
    }
}

/* Print Styles */
@media print {
    header, footer, #cookie-modal, .no-print {
        display: none;
    }
}

/* Testimonial Avatar Gradients */
.avatar-gradient-1 {
    background: linear-gradient(135deg, #4A5568 0%, #48BB78 100%);
}

.avatar-gradient-2 {
    background: linear-gradient(135deg, #48BB78 0%, #ED8936 100%);
}

.avatar-gradient-3 {
    background: linear-gradient(135deg, #ED8936 0%, #4A5568 100%);
}

.avatar-gradient-4 {
    background: linear-gradient(135deg, #4A5568 0%, #E2D8CD 100%);
}

/* Table Responsiveness */
@media (max-width: 768px) {
    table {
        font-size: 0.875rem;
    }
    
    th, td {
        padding: 0.5rem;
    }
}

/* Success Page Centering */
.success-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Countdown Timer Styles */
.countdown {
    font-family: 'Space Mono', monospace;
    font-weight: 500;
    color: #ED8936;
}
