/* Responsive Styles */

/* Small devices (landscape phones, 576px and up) */
@media (max-width: 767px) {
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.8rem;
    }
    
    .menu-icon {
        display: block;
    }
    
    .main-menu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--color-primary);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    
    .main-menu ul {
        flex-direction: column;
        padding: 0;
    }
    
    .main-menu li {
        margin: 0;
        text-align: center;
    }
    
    .main-menu a {
        display: block;
        padding: 15px;
    }
    
    .menu-toggle:checked ~ .main-menu {
        max-height: 300px;
    }
    
    .menu-toggle:checked ~ .menu-icon span:nth-child(1) {
        top: 9px;
        transform: rotate(45deg);
    }
    
    .menu-toggle:checked ~ .menu-icon span:nth-child(2) {
        opacity: 0;
    }
    
    .menu-toggle:checked ~ .menu-icon span:nth-child(3) {
        top: 9px;
        transform: rotate(-45deg);
    }
    
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    .advantages-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .advantage-icon {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        overflow: hidden;
    }
    
    .footer-content {
        flex-direction: column;
    }
    
    .hero {
        padding: 100px 0;
    }
    
    .hero h1 {
        font-size: 2rem;
    }
    
    .hero p {
        font-size: 1.2rem;
    }
    
    .testimonial-card {
        min-width: 250px;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .advantages-grid {
        gap: 20px;
    }
    
    .footer-content {
        gap: 30px;
    }
    
    .footer-info, .footer-contact, .footer-links {
        flex: 0 0 45%;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .footer-content {
        justify-content: space-between;
    }
    
    .footer-info {
        flex: 0 0 40%;
    }
    
    .footer-contact, .footer-links {
        flex: 0 0 25%;
    }
}

/* For all screens */
@media (min-width: 320px) {
    /* High density (Retina) display optimization */
    @media (-webkit-min-device-pixel-ratio: 2), 
           (min-resolution: 192dpi) { 
        /* Optimize images for high density displays */
        .advantage-icon img {
            transform: scale(0.5);
            transform-origin: center;
        }
    }
}
