/**
 * SD CORE PVT LTD - Responsive Layout Styles
 * Professional Mobile-First & Desktop Scaling Media Queries
 */

/* ==========================================================================
   1. Large Desktop & High-Density Screens (min-width: 1200px)
   ========================================================================== */
@media (min-width: 1200px) {
    /* Stabilize max-widths and margins on extra-large monitors */
    .container {
        max-width: 1200px;
    }
}

/* ==========================================================================
   2. Standard Laptops / Medium Viewports (max-width: 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
    .section-title {
        font-size: 32px;
    }

    /* Hero Slide Grid Adjustments */
    .slide-content {
        grid-template-columns: 1fr;
        gap: 32px;
        text-align: center;
        padding-top: 40px;
    }

    .slide-text {
        order: 1;
    }

    .slide-visual {
        order: 2;
        display: flex;
        justify-content: center;
    }

    .hero-title {
        font-size: 40px;
    }

    .hero-subtitle {
        font-size: 16px;
        margin-bottom: 32px;
    }

    .hero-actions {
        justify-content: center;
    }

    /* Bento Grid adjustments */
    .card-marketing, .card-logistics, .card-web, .card-lms {
        grid-column: span 6;
    }

    /* Services Slider Columns visible */
    .carousel-card {
        flex: 0 0 calc((100% - 24px) / 2); /* 2 columns visible */
    }

    /* Why SD CORE columns */
    .why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Glow Cards Grid columns */
    .glow-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Process Timeline */
    .process-timeline {
        grid-template-columns: repeat(2, 1fr);
    }

    .timeline-line {
        display: none; /* Hide horizontal timeline line on mobile stack */
    }

    /* Portfolio Cases Columns */
    .portfolio-cases-grid {
        grid-template-columns: 1fr;
    }

    /* Contact Page Grid */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    /* Footer Grid columns */
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

/* ==========================================================================
   3. Tablets & Large Phones (max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
    body {
        font-size: 15px;
    }

    .section-title {
        font-size: 28px;
    }

    /* Hide desktop links, show burger menu button */
    .desktop-nav, .header-actions {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
        z-index: 1001; /* Stay on top of mobile menu */
    }

    /* Bento grid columns */
    .bento-grid {
        grid-template-columns: 1fr;
    }

    .card-marketing, .card-logistics, .card-web, .card-lms {
        grid-column: span 12;
    }

    /* Services Slider Columns visible */
    .carousel-card {
        flex: 0 0 100%; /* 1 column visible on phones */
    }

    /* Why SD CORE columns */
    .why-grid {
        grid-template-columns: 1fr;
    }

    /* Glow Cards Grid columns */
    .glow-cards-grid {
        grid-template-columns: 1fr;
    }

    /* Process steps columns */
    .process-timeline {
        grid-template-columns: 1fr;
    }

    /* Case study portfolio cards flex stacking */
    .portfolio-card {
        grid-template-columns: 1fr;
        padding: 32px;
        gap: 24px;
    }

    /* Industries Grid columns */
    .industries-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* About intro page */
    .about-intro-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .mission-vision-section {
        padding: 60px 0;
    }

    .mv-grid {
        grid-template-columns: 1fr;
    }

    .mv-card {
        padding: 32px;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-framework-section {
        padding: 60px 0;
    }

    .framework-grid {
        grid-template-columns: 1fr;
    }

    /* Services Page sections */
    .service-details-grid {
        grid-template-columns: 1fr !important;
        gap: 40px;
    }

    .service-details-grid.grid-reverse .sd-text {
        grid-column: 1;
    }

    .service-details-grid.grid-reverse .sd-visual {
        grid-column: 1;
        grid-row: 2;
    }

    .sd-capabilities-list {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Solutions packages columns */
    .packages-grid {
        grid-template-columns: 1fr;
    }

    /* Industry detail rows */
    .ind-detail-row {
        grid-template-columns: 1fr;
        gap: 16px;
        text-align: center;
    }

    .ind-detail-icon {
        margin-bottom: 8px;
    }

    .ind-solutions-tags {
        justify-content: center;
    }

    /* Form Fields columns */
    .form-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .contact-form-panel {
        padding: 32px 24px;
    }

    /* Footer structure columns */
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}

/* ==========================================================================
   4. Extra Small Devices & Micro Screens (max-width: 480px)
   ========================================================================== */
@media (max-width: 480px) {
    .container {
        padding-right: 16px;
        padding-left: 16px;
    }

    .hero-title {
        font-size: 32px;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

    .btn {
        width: 100%;
        text-align: center;
    }

    .tech-dashboard-mockup {
        width: 100%;
        height: 300px;
    }

    .floating-card {
        padding: 10px;
    }

    .floating-card h4 {
        font-size: 9px;
    }

    .stat-number {
        font-size: 14px;
    }

    .stat-card-mini {
        right: 10px;
        bottom: 110px;
    }

    /* Trust items stacked on tiny viewports */
    .trust-strip {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .values-grid {
        grid-template-columns: 1fr;
    }

    .ind-solutions-tags span {
        width: 100%;
        text-align: center;
    }
}

/* ========================================================================== 
   Production responsive corrections
   ========================================================================== */
@media (max-width: 1200px) {
    .partner-logo-wall {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .hero-slider-section {
        height: 980px;
        min-height: 980px;
    }

    .slide {
        align-items: flex-start;
    }

    .slide-content {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 120px 24px 132px;
        text-align: center;
    }

    .hero-title,
    .hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-title {
        font-size: clamp(38px, 6vw, 54px);
        letter-spacing: -1.8px;
    }

    .hero-actions {
        justify-content: center;
    }

    .slide-visual {
        max-width: 620px;
        margin: 0 auto;
    }

    .partner-ecosystem-layout {
        grid-template-columns: 1fr;
    }

    .partner-rail {
        position: relative;
        top: auto;
    }

    .partner-logo-wall {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .site-header.transparent-header .logo-dark {
        width: 180px;
    }

    .hero-slider-section {
        height: 760px;
        min-height: 760px;
    }

    .slide-content {
        padding: 120px 20px 120px;
        gap: 22px;
    }

    .hero-title {
        font-size: clamp(32px, 9vw, 46px);
        line-height: 1.08;
        letter-spacing: -1.2px;
    }

    .hero-subtitle {
        font-size: 15.5px;
        margin-bottom: 24px;
    }

    .slide-visual {
        display: none;
    }

    .slider-arrow {
        bottom: 34px;
        width: 42px;
        height: 42px;
    }

    .slider-arrow.prev {
        left: 20px;
    }

    .slider-arrow.next {
        left: 72px;
    }

    .slider-dots {
        left: 132px;
        bottom: 51px;
    }

    .partner-ecosystem-section {
        padding: 60px 0 66px;
    }

    .partner-ecosystem-section::before {
        width: 6px;
    }

    .partner-rail {
        padding: 24px;
    }

    .partner-wall-header {
        display: block;
    }

    .partner-wall-header h3 {
        font-size: 22px;
        margin-top: 8px;
    }

    .partner-logo-wall {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .partner-logo-card {
        height: 70px;
        padding: 10px 12px;
        border-radius: 14px;
    }
}

@media (max-width: 480px) {
    .hero-slider-section {
        height: 735px;
        min-height: 735px;
    }

    .slide-content {
        padding: 110px 16px 110px;
    }

    .hero-actions {
        width: 100%;
    }

    .partner-logo-wall {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partner-logo-card img {
        max-width: 135px;
        max-height: 42px;
    }
}
