/* Mobile and Tablet Responsive Styles */

/* Force show hidden elements on mobile/tablet */
.elementor-hidden-tablet,
.elementor-hidden-mobile {
    display: block !important;
}

.elementor-hidden-desktop {
    display: none !important;
}

/* Base responsive styles */
@media (max-width: 1024px) {
    .elementor-container {
        padding: 0 20px;
    }
    
    .elementor-column {
        margin-bottom: 20px;
    }
}

/* Header visibility fixes */
@media (max-width: 1024px) {
    .elementor-section.elementor-hidden-tablet,
    .elementor-section.elementor-hidden-mobile {
        display: flex !important;
    }
    
    .elementor-widget.elementor-hidden-tablet,
    .elementor-widget.elementor-hidden-mobile {
        display: block !important;
    }
}

/* Tablet styles */
@media (max-width: 768px) {
    /* Header adjustments */
    .elementor-nav-menu {
        font-size: 14px;
    }
    
    .elementor-nav-menu a {
        padding: 8px 12px;
    }
    
    /* Images responsive */
    img {
        max-width: 100%;
        height: auto;
    }
    
    /* Text adjustments */
    h1, h2 {
        font-size: 1.5em;
        line-height: 1.3;
    }
    
    p {
        font-size: 14px;
        line-height: 1.5;
    }
    
    /* Dropdown menu mobile */
    .sub-menu {
        position: static;
        display: block;
        background: #f8f8f8;
        box-shadow: none;
        border-radius: 0;
        margin-top: 10px;
    }
    
    .menu-item-has-children:hover .sub-menu {
        display: block;
    }
    
    .sub-menu a {
        color: #333;
        padding: 8px 15px;
    }
}

/* Mobile styles */
@media (max-width: 480px) {
    /* Container padding */
    .elementor-container {
        padding: 0 15px;
    }
    
    /* Header mobile */
    .elementor-widget-image img {
        max-width: 200px;
    }
    
    /* Navigation mobile */
    .elementor-nav-menu--dropdown {
        width: 100%;
        left: 0;
        right: 0;
    }
    
    /* Mobile menu toggle */
    .elementor-menu-toggle {
        display: block !important;
        font-size: 20px;
        cursor: pointer;
    }
    
    /* Hide main menu on mobile, show toggle */
    .elementor-nav-menu--main {
        display: none;
    }
    
    .elementor-nav-menu--dropdown {
        display: block;
        position: static;
        background: #fff;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
    
    .elementor-nav-menu--dropdown .elementor-nav-menu {
        padding: 10px;
    }
    
    .elementor-nav-menu--dropdown a {
        padding: 12px 0;
        border-bottom: 1px solid #eee;
        display: block;
    }
    
    /* Typography mobile */
    h1, h2 {
        font-size: 1.2em;
        text-align: center;
        margin: 15px 0;
    }
    
    p {
        font-size: 13px;
        text-align: left;
        margin: 10px 0;
    }
    
    /* Buttons mobile */
    .elementor-button {
        width: 100%;
        text-align: center;
        padding: 12px;
        font-size: 14px;
    }
    
    /* Forms mobile */
    .elementor-field {
        width: 100%;
        margin-bottom: 10px;
        padding: 12px;
        font-size: 14px;
    }
    
    /* Gallery mobile */
    .elementor-gallery__container {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    /* Spacers mobile */
    .elementor-spacer {
        height: 20px !important;
    }
    
    /* Social icons mobile */
    .elementor-social-icons-wrapper {
        justify-content: center;
        gap: 15px;
    }
    
    .elementor-social-icon {
        font-size: 18px;
        padding: 8px;
    }
    
    /* Video responsive */
    .elementor-video iframe,
    .elementor-video video {
        width: 100%;
        height: auto;
        aspect-ratio: 16/9;
    }
}

/* Elementor header tweaks */
@media (max-width: 768px) {
    .elementor-82 .elementor-element.elementor-element-1f1305bc > .elementor-container {
        min-height: auto;
        padding: 0 16px 6px;
        gap: 0;
    }

    .elementor-82 .elementor-element.elementor-element-1f1305bc .elementor-column {
        margin-bottom: 0;
    }

    .elementor-82 .elementor-element.elementor-element-7c74b22d img {
        max-width: 120px;
        height: auto;
    }

    .elementor-82 .elementor-element.elementor-element-7c74b22d {
        margin-top: -42px;
    }

    .elementor-82 .elementor-element.elementor-element-7c74b22d .elementor-widget-container {
        text-align: center;
    }

    .elementor-82 .elementor-element.elementor-element-11cb372a,
    .elementor-82 .elementor-hidden-phone {
        display: none !important;
    }

    .elementor-82 .elementor-element.elementor-element-25971caa {
        width: 100% !important;
    }

    .elementor-82 .elementor-element.elementor-element-25971caa > .elementor-element-populated {
        padding: 0 !important;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }

    .elementor-82 .elementor-element.elementor-element-6ec4fa67 {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .elementor-82 .elementor-element.elementor-element-7c74b22d img {
        max-width: 90px;
    }

    .elementor-82 .elementor-element.elementor-element-6ec4fa67 {
        display: none !important;
    }

    .elementor-82 .elementor-element.elementor-element-7c74b22d .elementor-widget-container {
        text-align: center;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    /* Larger touch targets */
    .elementor-nav-menu a,
    .elementor-button,
    .elementor-social-icon {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Remove hover effects on touch */
    .sub-menu {
        display: none;
    }
    
    .menu-item-has-children.active .sub-menu {
        display: block;
    }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Landscape mobile */
@media (max-width: 768px) and (orientation: landscape) {
    .elementor-section {
        padding: 20px 0;
    }
    
    .elementor-spacer {
        height: 15px !important;
    }
}

/* Footer visibility on mobile */
@media (max-width: 768px) {
    /* Ensure footer is visible on mobile */
    .mobile-footer {
        display: block !important;
    }
    
    /* Add bottom padding to main content to prevent footer overlap */
    .site-main {
        padding-bottom: 20px;
    }
    
    /* Ensure proper spacing before footer */
    .elementor-section:last-child {
        margin-bottom: 0;
    }
}

/* Hide footer on desktop */
@media (min-width: 769px) {
    .mobile-footer {
        display: none !important;
    }
}
