/* =========== Mobile Responsiveness Styles ===========
   These styles ensure that the Contact Us page displays properly on
   mobile devices without affecting the desktop layout
   ==========================================*/

/* Responsive breakpoints */
/* Large: 1200px and below */
/* Medium: 992px and below */
/* Small: 768px and below */
/* Extra Small: 576px and below */

/* Form column spacing fix - applied to all screen sizes */

@media (max-width: 992px) {
    .form {
        height: auto;
        margin-top: 40px;
    }
    
    .form__submit-container {
        margin-top: 150px;
        margin-left: 75%;
    }
    
    .content__heading {
        font-size: 48px;
        line-height: 55px;
        width: 100%;
    }
    
    .content__description-container {
        width: 80%;
        height: auto;
    }
    
    .stackdigitalcor {
        height: auto;
        margin-bottom: 400px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        row-gap: 30px;
    }
    
    .footer-middle {
        grid-column: span 2;
        order: 3;
        width: 118% !important;
        margin-top: -1px !important;
    }
    
    /* Adjust form column widths for medium screens */
    .form__input-group,
    .form__input-group--email {
        width: 47% !important;
    }
}

@media (max-width: 768px) {
    /* Header adjustments */
    .contact-link {
        font-size: 40px;
    }
    
    .navigation {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    /* Content section */
    .content {
        margin-top: 40px;
    }
    
    .content__heading {
        font-size: 36px;
        line-height: 42px;
    }
    
    .content__description-container {
        width: 100%;
    }
    
    .content__description {
        font-size: 14px;
        line-height: 20px;
    }
    
    /* Form adjustments for mobile */
    .form {
        height: auto;
        display: flex;
        flex-direction: column;
    }
    
    .form__input-group,
    .form__input-group--email {
        position: relative;
        width: 100% !important;
        left: auto;
        right: auto;
        margin-bottom: 15px; /* Reduced from 20px */
    }
    
    .form__input-group--email {
        margin-top: 15px; /* Reduced from 20px */
    }
    
    .form__submit-container {
        position: relative;
        margin: 25px 0 10px auto; /* Reduced top margin from 30px to 25px */
        width: 100px;
        height: 100px;
    }
    
    .form__divider--main {
        position: relative;
        bottom: auto;
        width: 100%;
        margin-top: 15px; /* Reduced from 20px */
    }
    
    textarea#message {
        width: 100% !important;
    }
    
    /* Location section */
    .middle__location-section {
        height: auto;
        padding: 30px 15px;
    }
    
    .middle__location-container {
        gap: 30px;
    }
    
    .middle__location-group {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .middle__label--location {
        font-size: 30px !important;
    }
    
    .middle__social-links-container {
        justify-content: flex-start;
        flex-direction: column;
        gap: 10px;
        margin-top: 10px;
    }
    
    .middle__social-link--instagram,
    .middle__social-link--linkedin {
        margin-left: 0;
    }
    
    /* Footer adjustments */
    .footer-grid {
        grid-template-columns: 1fr !important;
        margin-left: 0px !important;
        width: 250px !important;
    }
    
    .footer-middle {
        grid-column: span 1;
        order: 2;
        margin: 20px 0;
    }
    
    .footer-nav {
        flex-direction: column;
        gap: 15px;
    }
    
    .footer-right {
        align-items:flex-start !important;
    }
    
    .footer-contact {
        text-align: center;
    }

    .footer-left h2{
        font-size: 24px !important;
    }

    .footer-left p{
        width: 223px !important;
    }

}

@media (max-width: 576px) {
    /* Very small screens */
    .header__title {
        font-size: 40px;
        line-height: 50px;
    }
    
    .logo-text-full {
        font-size: 20px;
        line-height: 18px;
    }
    
    .contact-link {
        font-size: 32px;
    }
    
    .content__heading {
        font-size: 28px;
        line-height: 34px;
    }
    
    .form__submit-container {
        width: 80px;
        height: 80px;
    }
    
    .form__submit-button {
        font-size: 18px;
    }
    
    .middle__label--location {
        font-size: 24px !important;
    }
    
    .middle__address,
    .middle__contact-details--email-phone {
        font-size: 16px;
        word-break: break-word;
    }
    
    /* Fix for overlapping images */
    .hom__image,
    .footer__icon--vector,
    .column-about-us__image {
        display: none;
    }

    
}

/* Specific fixes for form elements */
@media (max-width: 768px) {
    .form__input-group input,
    .form__input-group--email input {
        width: 100%;
    }
    
    .form__label--message {
        margin-top: 20px; /* Further reduced from 30px for mobile */
    }

    .form__input-group--phone {
        margin-top: 20px; /* Further reduced for mobile */
    }
    .overlap-footer{
        background-image: url(../../public/images/wing.webp) !important;
        background-size: 132% 92% !important;
        background-position-y: bottom !important;
    }

    .footer-gradient{
        display: none !important;

}

}

/* Animation for mobile menu */
@media (max-width: 768px) {
    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }
    
    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }
    
    /* Fix mobile overlay to properly cover the screen */
    .mobile-nav-overlay {
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    
    .mobile-nav-overlay.active {
        opacity: 1;
    }
} 