/* ========================================================
   B.J.S CONSTRUCTION & SUPPLIERS PVT. LTD.
   Comprehensive Mobile & Tablet Responsive Optimization
   Targeting: Smartphones (iPhone, Android) & Tablets
   ======================================================== */

/* Prevent horizontal scroll / sideways jitter on all mobile screens */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    position: relative;
}

/* ========================================================
   TABLET & MOBILE (max-width: 991px)
   ======================================================== */
@media (max-width: 991.98px) {
    /* Header & Mobile Navigation */
    .header-area {
        padding: 0 !important;
    }
    
    .header-bottom {
        padding: 10px 0 !important;
    }
    
    .slicknav_menu {
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .slicknav_btn {
        background: #0f2b5c !important;
        border: 1.5px solid #d4af37 !important;
        border-radius: 8px !important;
        padding: 8px 12px !important;
        margin-top: 5px !important;
        margin-bottom: 5px !important;
        box-shadow: 0 3px 8px rgba(15, 43, 92, 0.25) !important;
    }
    
    .slicknav_menu .slicknav_icon-bar {
        background-color: #d4af37 !important;
        height: 2.5px !important;
        width: 22px !important;
        border-radius: 2px !important;
    }
    
    .slicknav_nav {
        background: #ffffff !important;
        border-radius: 12px !important;
        box-shadow: 0 15px 35px rgba(10, 25, 47, 0.15) !important;
        border: 1px solid rgba(212, 175, 55, 0.3) !important;
        margin-top: 12px !important;
        padding: 12px 0 !important;
    }
    
    .slicknav_nav li a {
        color: #0f2b5c !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        padding: 12px 20px !important;
        border-bottom: 1px solid #f1f5f9 !important;
        display: block !important;
        transition: all 0.2s ease !important;
    }
    
    .slicknav_nav li:last-child a {
        border-bottom: none !important;
    }
    
    .slicknav_nav li a:hover,
    .slicknav_nav li.active a {
        background: #f0f4f8 !important;
        color: #b8860b !important;
        padding-left: 26px !important;
        border-left: 4px solid #d4af37 !important;
    }

    /* Equal Services Grid for Tablets */
    .equal-services-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }
}

/* ========================================================
   SMARTPHONES (max-width: 767.98px)
   ======================================================== */
@media (max-width: 767.98px) {
    /* Sliding Banner Carousel */
    .carousel {
        height: 480px !important;
        min-height: 450px !important;
    }
    
    .carousel .carousel-inner,
    .carousel .carousel-item {
        height: 100% !important;
    }
    
    .carousel .carousel-caption {
        height: 100% !important;
        padding: 30px 18px 25px 18px !important;
        justify-content: center !important;
    }
    
    .carousel .carousel-caption p {
        font-size: 12px !important;
        font-weight: 700 !important;
        padding: 6px 14px !important;
        margin-bottom: 14px !important;
        letter-spacing: 0.5px !important;
        line-height: 1.4 !important;
        max-width: 90% !important;
        white-space: normal !important;
    }
    
    .carousel .carousel-caption h1 {
        font-size: 26px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        margin-bottom: 22px !important;
        max-width: 100% !important;
        padding: 0 5px !important;
    }
    
    .carousel .carousel-caption .slider-btns {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 280px !important;
    }
    
    .carousel .carousel-caption .btn-slider-primary,
    .carousel .carousel-caption .btn-slider-outline {
        width: 100% !important;
        padding: 12px 18px !important;
        font-size: 14px !important;
        text-align: center !important;
        display: block !important;
        border-radius: 8px !important;
    }

    /* Carousel Control Arrows on Mobile */
    .carousel-control-prev,
    .carousel-control-next {
        width: 36px !important;
        height: 36px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        background: rgba(0, 0, 0, 0.3) !important;
        border-radius: 50% !important;
        opacity: 0.7 !important;
    }

    /* 3 Feature Highlight Cards */
    .feature {
        margin-top: 15px !important;
        margin-bottom: 25px !important;
    }
    
    .feature .feature-item {
        padding: 20px 18px !important;
        min-height: auto !important;
        margin-bottom: 12px !important;
        border-radius: 12px !important;
    }
    
    .feature .feature-icon {
        width: 50px !important;
        height: 50px !important;
        font-size: 22px !important;
        margin-right: 15px !important;
    }
    
    .feature .feature-text h3 {
        font-size: 17px !important;
    }
    
    .feature .feature-text p {
        font-size: 13px !important;
    }

    /* Services Section on Mobile */
    .equal-services-section {
        padding: 50px 0 55px 0 !important;
    }
    
    .equal-header {
        margin-bottom: 35px !important;
        padding: 0 10px !important;
    }
    
    .equal-header .category-badge {
        font-size: 11.5px !important;
        padding: 6px 16px !important;
        margin-bottom: 12px !important;
    }
    
    .equal-header h2 {
        font-size: 26px !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }
    
    .equal-header p {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    /* 1 Column Pure Clean Equal Cards on Mobile */
    .equal-services-grid {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding: 0 5px !important;
    }
    
    .equal-card {
        border-radius: 14px !important;
    }
    
    .equal-card-media {
        height: 220px !important;
    }
    
    .equal-card-body {
        padding: 20px 18px !important;
    }
    
    .equal-card-body h3 {
        font-size: 18px !important;
        margin-bottom: 8px !important;
    }
    
    .equal-card-body p {
        font-size: 13.5px !important;
        margin-bottom: 16px !important;
        line-height: 1.55 !important;
    }
    
    .equal-card-footer {
        padding-top: 14px !important;
    }
    
    .equal-rate-badge {
        font-size: 12.5px !important;
        padding: 5px 12px !important;
    }
    
    .equal-action-btn {
        font-size: 12px !important;
    }

    /* About Section */
    .support-company-area {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
    
    .section-tittle .front-text h2 {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }
    
    .section-tittle span.back-text {
        display: none !important; /* Hide massive faded text that overflows on mobile */
    }
    
    .support-img-cap {
        bottom: 10px !important;
        right: 10px !important;
        padding: 12px 18px !important;
    }
    
    .support-img-cap span {
        font-size: 24px !important;
    }

    /* Fact Counters - Clean 2x2 Grid on Mobile */
    .fact-clean {
        padding: 45px 0 !important;
    }
    
    .fact-clean .fact-item {
        padding: 20px 15px !important;
        margin-bottom: 15px !important;
    }
    
    .fact-clean .counter {
        font-size: 32px !important;
    }
    
    .fact-clean .counter-title {
        font-size: 12px !important;
    }

    /* Projects / Portfolio Section on Mobile */
    .project-area {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }
    
    .project-heading {
        margin-bottom: 25px !important;
    }
    
    .properties__button nav .nav-tabs {
        border-bottom: none !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-top: 15px !important;
    }
    
    .properties__button nav .nav-tabs a {
        font-size: 13px !important;
        padding: 6px 14px !important;
        border-radius: 20px !important;
        border: 1px solid #e2e8f0 !important;
        margin: 0 !important;
    }

    /* Quote Card on Mobile */
    .quote-card {
        padding: 24px 18px !important;
    }

    /* Testimonials & Footer on Mobile */
    .testimonial-clean {
        padding: 50px 0 !important;
    }
    
    .footer-area {
        padding-top: 50px !important;
    }

    /* WhatsApp Floating Button (Docked Left on Mobile) */
    .whatsapp-float {
        width: 50px !important;
        height: 50px !important;
        bottom: 20px !important;
        left: 20px !important;
        right: auto !important;
        font-size: 26px !important;
        z-index: 999980 !important;
    }
    
    /* Scroll Up Button */
    #scrollUp {
        right: 20px !important;
        bottom: 85px !important;
        width: 42px !important;
        height: 42px !important;
        line-height: 40px !important;
        font-size: 16px !important;
    }
}

/* ========================================================
   SERVICE DETAIL PAGES (service-1.html to service-6.html)
   ======================================================== */
@media (max-width: 767.98px) {
    /* Sticky Navigation */
    nav.sticky-top {
        padding: 10px 0 !important;
    }
    
    nav.sticky-top img {
        height: 38px !important;
    }
    
    nav.sticky-top h5 {
        font-size: 15px !important;
    }
    
    nav.sticky-top small {
        font-size: 11px !important;
    }
    
    nav.sticky-top .btn {
        padding: 6px 12px !important;
        font-size: 11.5px !important;
    }

    /* Hero Banner on Service Pages */
    .service-hero {
        margin-top: 15px !important;
        border-radius: 16px !important;
    }
    
    .hero-banner-img {
        height: 250px !important;
    }
    
    .hero-overlay {
        padding: 20px 16px !important;
    }
    
    .price-badge-editorial {
        font-size: 13px !important;
        padding: 6px 14px !important;
        margin-bottom: 10px !important;
    }
    
    .hero-overlay h1 {
        font-size: 22px !important;
        line-height: 1.25 !important;
        margin-bottom: 6px !important;
    }
    
    .hero-overlay p.lead {
        display: none !important; /* Hide long paragraph on phone banner to prevent clutter */
    }

    /* 3 Metric Boxes */
    .metric-box-editorial {
        margin-top: 12px !important;
        padding: 16px !important;
        border-radius: 12px !important;
        gap: 14px !important;
    }
    
    .metric-box-editorial .icon-box {
        width: 44px !important;
        height: 44px !important;
        font-size: 18px !important;
    }
    
    .metric-box-editorial h4 {
        font-size: 17px !important;
    }

    /* Content Card */
    .content-card-editorial {
        padding: 22px 16px !important;
        margin-top: 20px !important;
        border-radius: 14px !important;
    }
    
    .content-card-editorial h3 {
        font-size: 20px !important;
    }

    /* Detail Page Gallery */
    .editorial-gallery-thumb {
        height: 220px !important;
    }
    
    .editorial-gallery-info {
        padding: 16px !important;
    }
    
    .editorial-gallery-info h5 {
        font-size: 16px !important;
    }

    /* Sticky Sidebar on Mobile */
    .sticky-top[style*="top: 90px"] {
        position: static !important;
        margin-top: 25px !important;
    }
}

/* ========================================================
   VERY SMALL SCREENS (max-width: 380px)
   ======================================================== */
@media (max-width: 380px) {
    .carousel .carousel-caption h1 {
        font-size: 22px !important;
    }
    
    .equal-header h2 {
        font-size: 23px !important;
    }
    
    .equal-card-media {
        height: 190px !important;
    }
    
    .equal-card-body h3 {
        font-size: 16.5px !important;
    }
    
    .equal-rate-badge {
        font-size: 11.5px !important;
        padding: 4px 8px !important;
    }
    
    .equal-action-btn {
        font-size: 11px !important;
    }
}
