/* 
   MOBILE FIXES ONLY
   This stylesheet ONLY targets max-width 768px.
   It will NOT affect desktop. 
*/
@media (max-width: 768px) {
    
    /* 1. HEADER FIX (Match image 3) */
    body .main-header {
        padding: 5px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background: linear-gradient(120deg, #123f4a, #176b73) !important;
    }
    body .header-content {
        display: flex !important;
        flex-direction: row !important; /* Force row */
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        gap: 2px !important;
        overflow: hidden !important;
    }
    body .brand-section {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 5px !important;
        flex: 1 1 auto !important; /* Allow growing but can shrink */
        min-width: 0 !important; /* Allow text wrapping */
        max-width: calc(100% - 145px) !important;
    }
    body .logo-container {
        flex: 0 0 auto !important;
    }
    body .logo-img {
        width: 35px !important;
        height: auto !important;
        min-width: 35px !important;
        display: block !important;
    }
    body .brand-text {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        min-width: 0 !important;
        flex: 1 !important;
    }
    body .village-name {
        font-size: 0.8rem !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
    }
    body .lgd-container {
        font-size: 0.55rem !important;
        color: #d9eeea !important;
        white-space: normal !important;
        display: block !important;
        margin-top: 2px !important;
        word-wrap: break-word !important;
    }
    body .header-controls {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 3px !important;
        flex: 0 0 auto !important;
        width: auto !important;
        justify-content: flex-end !important;
    }
    body .seal-container {
        display: flex !important;
        order: 3 !important; /* Far right */
        flex: 0 0 auto !important;
    }
    body .seal-img {
        display: block !important;
        width: 35px !important;
        height: auto !important;
        min-width: 35px !important;
    }
    body .lang-selector {
        order: 1 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }
    body .lang-selector select {
        font-size: 0.75rem !important;
        padding: 2px 5px !important;
        height: 28px !important;
        border-radius: 4px !important;
        width: auto !important;
        border: 1px solid rgba(255, 255, 255, 0.55) !important;
        background-color: rgba(255, 255, 255, 0.12) !important;
        color: #fff !important;
    }
    body .mobile-nav-toggle {
        order: 2 !important;
        display: flex !important;
        margin: 0 !important;
        padding: 5px !important;
        width: 30px !important;
        height: 30px !important;
        border-radius: 4px !important;
        border: 1px solid rgba(255, 255, 255, 0.55) !important;
        background: rgba(255, 255, 255, 0.12) !important;
    }
    body .mobile-nav-toggle .bar {
        background-color: #333 !important;
        margin: 3px 0 !important;
        height: 2px !important;
    }

    /* 2. ALERTS FIX */
    .alert-box, .notice-box, .news-item, .alert-content, .notice-content, .marquee-text, .alert-desc {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        white-space: normal !important;
        text-overflow: clip !important;
        overflow: visible !important;
        word-wrap: break-word !important;
        display: block !important;
    }
    .alert-wrapper, .news-ticker-container, .ticker-wrap, .ticker-text {
        width: 100% !important;
        height: auto !important;
        white-space: normal !important;
        overflow: visible !important;
        display: block !important;
    }

    /* 3. MEMBERS FIX (2 Columns) */
    .members-grid, .team-grid, .leadership-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .member-card, .leader-card {
        width: 100% !important;
        margin: 0 !important;
        padding: 10px 5px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    .member-photo, .leader-photo {
        width: 60px !important;
        height: 60px !important;
        object-fit: cover !important;
        border-radius: 50% !important;
    }

    /* 4. SCHEMES GRID FIX (2 Columns) */
    .schemes-list-v2 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .scheme-card-v2 {
        padding: 15px 5px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 5. CENSUS / TABLE FIX */
    .table-responsive, .census-table-container, table {
        width: 100% !important;
        overflow-x: auto !important;
        display: block !important;
        -webkit-overflow-scrolling: touch !important;
    }
    table, th, td {
        white-space: nowrap !important;
    }
    .census-grid-v2 {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 15px !important;
    }

    /* 6. POPULATION CARDS FIX */
    .pop-stats-row {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }
    .stat-box-v2 {
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* 7. HERO FIX */
    .hero-section-v2, .hero-slider, .slideshow-container {
        height: auto !important;
        min-height: 250px !important;
        max-height: 400px !important;
    }
    .hero-content-v2, .slide-text {
        width: 90% !important;
        left: 5% !important;
        transform: none !important;
        top: auto !important;
        bottom: 20px !important;
    }

    /* 8. FOOTER FIX */
    .footer-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }
    .footer-col {
        margin-bottom: 10px !important;
    }
    .footer-col p, .footer-col span, .footer-col a {
        word-wrap: break-word !important;
        white-space: normal !important;
    }

    /* 9. GENERAL PADDING & OVERFLOW FIXES */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    .site-wrapper, .content-wrapper, .main-container {
        width: 100% !important;
        overflow-x: hidden !important; 
        overflow-y: visible !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    section, .section, .modern-panel-v2, .full-width-panel-v2, .about-village-v2 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .title-v2, .section-title, h1, h2, h3, h4 {
        font-size: 1.15rem !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
        text-align: center !important;
    }
    .inner-page-spacer {
        height: 70px !important;
    }
    .scheme-detail-box, .service-card, .document-card {
        padding: 15px !important;
        margin: 10px 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 10. COMPREHENSIVE OVERFLOW PREVENTION */
    .page-container, .main-content-grid, .sidebar-v2, .full-width-panel-v2,
    .census-grid-v2,
    .footer-grid, .stats-container, .contact-grid, .gallery-grid,
    .quick-links-grid, .dashboard-grid, .login-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        overflow-x: hidden !important;
    }

    /* Force tables inside these to be scrollable */
    table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
    }

    /* Reset width/height for cards so they stack cleanly */
    .service-card, .scheme-card-v2, .member-card, .leader-card, .stat-box-v2, .alert-box, .notice-box {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex: 1 1 auto !important;
    }

    /* Stop images from breaking layouts */
    img, svg, video, iframe {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Adjust main grid specifically */
    body .main-content-grid {
        display: flex !important;
        flex-direction: column !important;
    }
}

/* Final responsive layout contract for the current V2 home and scheme pages. */
@media (max-width: 768px) {
    body .main-header {
        padding: 6px 8px !important;
        overflow: visible !important;
    }

    body .header-content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) max-content !important;
        min-height: 48px !important;
        gap: 4px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body .brand-section {
        grid-column: 1 !important;
        display: flex !important;
        flex: none !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        gap: 6px !important;
        overflow: visible !important;
    }

    body .logo-img {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
    }

    body .brand-text {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body .main-header .village-name {
        font-size: 0.62rem !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: normal !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body .lgd-container {
        display: block !important;
        margin-top: 2px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    body .main-header .lgd-code {
        display: block !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #b85000 !important;
        font-size: 0.54rem !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: clip !important;
    }

    body .header-controls {
        grid-column: 2 !important;
        flex: none !important;
        display: flex !important;
        gap: 3px !important;
        width: max-content !important;
        min-width: 0 !important;
        flex-shrink: 0 !important;
    }

    body .seal-container,
    body .seal-img {
        display: block !important;
    }

    body .seal-img {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        object-fit: contain !important;
    }

    body .seal-container {
        flex: 0 0 24px !important;
        width: 24px !important;
    }

    body #language-select {
        width: 66px !important;
        min-width: 66px !important;
        height: 28px !important;
        padding: 2px 3px !important;
        font-size: 0.68rem !important;
        border-radius: 8px !important;
    }

    body .mobile-nav-toggle {
        display: flex !important;
        flex: 0 0 28px !important;
        width: 28px !important;
        height: 28px !important;
        padding: 4px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body .mobile-nav-toggle .bar {
        width: 19px !important;
        height: 2px !important;
        margin: 2px 0 !important;
    }

    body .navbar {
        top: 100% !important;
    }

    body .hero-wrapper-v2 {
        left: auto !important;
        right: auto !important;
        margin: 0 !important;
        width: 100% !important;
        height: 360px !important;
        min-height: 0 !important;
    }

    body .hero-content-v2 {
        top: 50% !important;
        left: 50% !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        padding: 12px !important;
        transform: translate(-50%, -50%) !important;
        box-sizing: border-box !important;
    }

    body .hero-content-v2 h1 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
    }

    body .hero-subtitle-v2 {
        font-size: 0.82rem !important;
        line-height: 1.35 !important;
    }

    body .container-v2 {
        width: 100% !important;
        max-width: none !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    body .home-layout-v2 {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
    }

    body .home-layout-v2 > div {
        width: 100% !important;
        min-width: 0 !important;
    }

    body .modern-panel-v2,
    body .full-width-panel-v2 {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 14px !important;
        box-sizing: border-box !important;
        border-radius: 10px !important;
    }

    body .panel-header-v2 {
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    body .schemes-list-v2 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding: 0 !important;
    }

    body .scheme-card-v2 {
        min-width: 0 !important;
        padding: 14px 8px !important;
    }

    body .s-text-v2 strong,
    body .s-text-v2 span {
        overflow-wrap: anywhere !important;
    }

    body .census-table-home > div {
        overflow-x: auto !important;
    }

    body .back-btn-v2 {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 36px !important;
        max-width: 100% !important;
        padding: 8px 12px !important;
        margin: 0 0 12px !important;
        white-space: normal !important;
        text-align: left !important;
    }
}

/* Match the navigation blue on every scheme detail return action. */
body .back-btn-v2,
body .back-btn {
    background: #6d98b6 !important;
    border-color: #6d98b6 !important;
    color: #ffffff !important;
}

body .back-btn-v2:hover,
body .back-btn:hover {
    background: #5c839e !important;
    border-color: #5c839e !important;
}

@media (max-width: 420px) {
    body .logo-img {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
    }

    body .seal-img {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
    }

    body #language-select {
        width: 64px !important;
        min-width: 64px !important;
        font-size: 0.66rem !important;
    }

    body .mobile-nav-toggle {
        flex-basis: 28px !important;
        width: 28px !important;
        height: 28px !important;
    }

    body .mobile-nav-toggle .bar {
        width: 19px !important;
    }

    body .main-header .village-name {
        font-size: 0.48rem !important;
        line-height: 1.05 !important;
        max-width: 190px !important;
    }

    body .main-header .lgd-code {
        font-size: 0.42rem !important;
    }

    body .schemes-list-v2 {
        grid-template-columns: 1fr !important;
    }
}

/* Final mobile header contrast: white surface with teal controls and text. */
@media (max-width: 768px) {
    body .main-header {
        background: #ffffff !important;
        border-bottom: 3px solid #e59b35 !important;
    }

    body .main-header .village-name {
        color: #123f4a !important;
        -webkit-text-fill-color: #123f4a !important;
    }

    body .main-header .lgd-code {
        color: #176b73 !important;
    }

    body .main-header #language-select {
        color: #123f4a !important;
        border-color: #176b73 !important;
        background: #ffffff !important;
    }

    body .main-header .mobile-nav-toggle {
        border-color: #176b73 !important;
        background: #e4f4f1 !important;
    }

    body .main-header .mobile-nav-toggle .bar {
        background-color: #176b73 !important;
    }
}

/* Keep the mobile LGD/Census badge aligned with the navigation color. */
@media (max-width: 768px) {
    body .main-header .lgd-code {
        background: #123f4a !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        border-color: #123f4a !important;
    }
}

/* Final scheme return button color, after all legacy button rules. */
body .back-btn-v2,
body .back-btn {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    background: #123f4a !important;
    border: 2px solid #123f4a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body .back-btn-v2:hover,
body .back-btn:hover {
    background: #176b73 !important;
    border-color: #176b73 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Keep scheme detail return actions clear of the mobile navigation. */
@media (max-width: 768px) {
    body .back-btn-v2,
    body .back-btn {
        margin-top: 20px !important;
        margin-bottom: 20px !important;
        background: #123f4a !important;
        border-color: #123f4a !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
}

/* Final mobile header colors: black text and controls on white. */
@media (max-width: 768px) {
    body .main-header {
        background: #ffffff !important;
        border-bottom-color: #e59b35 !important;
    }

    body .main-header .village-name,
    body .main-header .lgd-code,
    body .main-header #language-select {
        color: #111111 !important;
        -webkit-text-fill-color: #111111 !important;
    }

    body .main-header #language-select,
    body .main-header .mobile-nav-toggle {
        background: #ffffff !important;
        border-color: #111111 !important;
    }

    body .main-header .mobile-nav-toggle .bar {
        background-color: #111111 !important;
    }
}

/* Final mobile LGD/Census badge contrast. */
@media (max-width: 768px) {
    body .main-header .lgd-code {
        background: #123f4a !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        border-color: #123f4a !important;
    }
}
