/* ==========================================================================
   Homepage Responsive Media Queries
   Extracted from css/homepage.css
   ========================================================================== */

/* Services Grid Breakpoints */
@media (max-width: 1100px) {
    .services-grid-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

@media (max-width: 860px) {
    .services-grid-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

@media (max-width: 640px) {
    .services-grid-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .service-card {
        padding: 16px 12px;
        border-radius: 16px;
    }
}

/* Testimonial Slide Breakpoints */
@media (max-width: 768px) {
    .testimonials-section {
        padding: 30px 0 !important;
    }

    .testimonials-section .section-header {
        margin-bottom: 18px !important;
    }

    .testimonials-section .section-header h2 {
        font-size: 22px !important;
        margin-bottom: 6px !important;
    }

    .testimonials-section .section-header p {
        font-size: 13px !important;
        margin-bottom: 0 !important;
    }

    .testimonial-slide {
        flex: 0 0 100%;
        min-width: 100%;
        max-width: 100%;
        padding: 0 8px !important;
    }

    .testimonial-card {
        padding: 18px 16px !important;
        border-radius: 14px !important;
    }

    .quote-icon {
        font-size: 22px !important;
        margin-bottom: 10px !important;
    }

    .testimonial-card p {
        font-size: 13px !important;
        line-height: 1.45 !important;
        margin: 0 0 14px 0 !important;
    }

    .testimonial-user {
        gap: 6px !important;
        margin-top: 0 !important;
    }

    .testimonial-user img {
        width: 46px !important;
        height: 46px !important;
        padding: 3px !important;
        border-width: 2px !important;
    }

    .user-info h4 {
        font-size: 14px !important;
        margin-bottom: 2px !important;
    }

    .user-info p {
        font-size: 11.5px !important;
    }

    .slider-controls {
        margin-top: 14px !important;
        gap: 12px !important;
    }

    .slider-nav-btn {
        width: 34px !important;
        height: 34px !important;
        font-size: 12px !important;
    }
}

/* ==========================================================================
   Hero Section Mobile & Tablet Responsive (Image Full Width & Left Aligned)
   ========================================================================== */

@media (max-width: 1024px) {
    .hero-section {
        padding-top: 35px;
        padding-bottom: 60px;
    }

    .hero-container,
    .hero-it-container,
    .hero-healops-container {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .hero-image,
    .hero-it-image,
    .healops-hero-image {
        order: -1;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto;
    }

    .about-summary-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .about-summary-image {
        order: -1;
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .about-summary-image img {
        width: 100%;
        height: auto;
        min-height: unset;
        object-fit: contain;
    }
}

@media (max-width: 768px) {
    /* Hero Section: image moved slightly below navbar with balanced breathing room */
    .hero-section {
        padding-top: 14px !important;
        padding-bottom: 24px !important;
    }

    .hero-section .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .hero-slide {
        padding-bottom: 16px !important;
        width: 100% !important;
    }

    /* Container: Compact vertical stack, left-aligned */
    .hero-container,
    .hero-it-container,
    .hero-healops-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 14px !important;
        width: 100% !important;
        margin-top: 0 !important;
    }

    /* Hero Slider Image: Balanced spacing below navbar with rounded corners */
    .hero-image,
    .hero-it-image,
    .healops-hero-image {
        order: -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 14px 0 !important;
        display: block !important;
    }

    .hero-image a,
    .hero-it-image a,
    .healops-hero-image a {
        display: block !important;
        width: 100% !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
    }

    .hero-image img,
    .hero-it-image img,
    .healops-hero-image img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 14px !important;
        transform: none !important;
        animation: none !important;
        object-fit: cover !important;
    }

    /* Content below image: comfortable side padding */
    .hero-content,
    .hero-it-content,
    .hero-healops-content {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        padding: 0 6px !important;
        box-sizing: border-box !important;
    }

    .healops-badge,
    .hero-slide-badge {
        display: inline-flex !important;
        align-items: center !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        margin-bottom: 10px !important;
        font-size: 12px !important;
        padding: 5px 14px !important;
        text-align: left !important;
    }

    .healops-title,
    .hero-it-title,
    .hero-content h1 {
        text-align: left !important;
        font-size: 25px !important;
        line-height: 1.25 !important;
        margin-bottom: 8px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        letter-spacing: -0.3px !important;
    }

    .healops-subtitle,
    .hero-it-subtitle {
        text-align: left !important;
        font-size: 14.5px !important;
        line-height: 1.4 !important;
        margin-bottom: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .healops-desc,
    .hero-it-desc,
    .hero-content p {
        text-align: left !important;
        font-size: 13.5px !important;
        line-height: 1.5 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 14px !important;
        max-width: 100% !important;
    }

    .hero-btns,
    .healops-btns,
    .hero-it-btns {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        margin-left: 0 !important;
        margin-bottom: 0 !important;
    }

    .healops-btn-trial,
    .healops-btn-demo,
    .it-btn-primary,
    .it-btn-secondary {
        width: 100% !important;
        padding: 11px 20px !important;
        font-size: 14px !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    /* Slider Dots spacing at bottom - reduced gap from buttons */
    .hero-slider-dots {
        bottom: 6px !important;
    }

    /* Footer Mobile Layout: Quick Links left, Legal right, Social links below on left */
    .footer {
        padding: 45px 0 25px !important;
    }

    .footer-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 20px !important;
        row-gap: 25px !important;
        text-align: left !important;
    }

    .footer-brand-column {
        grid-column: 1 / -1 !important;
        text-align: left !important;
        margin-bottom: 5px !important;
    }

    .footer-brand-column .footer-info-logo {
        margin: 0 0 15px 0 !important;
    }

    .footer-brand-column .footer-desc {
        margin-bottom: 10px !important;
        font-size: 14px !important;
        text-align: left !important;
    }

    .footer-quick-links {
        grid-column: 1 / 2 !important;
        text-align: left !important;
    }

    .footer-legal-links {
        grid-column: 2 / 3 !important;
        text-align: left !important;
    }

    .footer-location-column {
        grid-column: 1 / -1 !important;
        text-align: left !important;
        margin-top: 5px !important;
    }

    .footer-location-column .footer-title {
        font-size: 18px !important;
        margin-bottom: 12px !important;
        text-align: left !important;
    }

    .footer-location-column .footer-location-text {
        font-size: 13.5px !important;
        text-align: left !important;
        display: flex !important;
        gap: 8px !important;
    }

    .footer-socials {
        display: flex !important;
        justify-content: flex-start !important;
        gap: 12px !important;
    }

    .footer-title {
        text-align: left !important;
        font-size: 18px !important;
        margin-bottom: 16px !important;
    }

    .footer-title::after {
        left: 0 !important;
        transform: none !important;
    }

    .footer-links,
    .footer-links li,
    .footer-link {
        text-align: left !important;
    }

    .footer-links li {
        margin-bottom: 10px !important;
    }

    /* Other Sections */
    .section-padding {
        padding: 50px 0;
    }

    .about-features {
        grid-template-columns: 1fr;
    }

    .cta-box h2 {
        font-size: 30px;
    }
}
