/* ============================================
   MOBILE OPTIMIZATION CSS
   Comprehensive mobile responsiveness for all pages
   ============================================ */

/* Mobile Base Styles */
@media (max-width: 768px) {
  /* Global Mobile Reset */
  * {
    -webkit-tap-highlight-color: transparent;
  }
  
  body {
    font-size: 14px;
    line-height: 1.6;
    overflow-x: hidden;
  }
  
  /* Mobile Container Optimization */
  .container {
    padding: 0 15px;
    max-width: 100%;
  }
  
  .container-fluid {
    padding: 0 15px;
  }
  
  /* Mobile Header Optimization */
  .header-main {
    padding: 10px 15px;
    flex-wrap: wrap;
  }
  
  .header-left {
    flex: 1;
    min-width: 0;
  }
  
  .header-logo {
    font-size: 1.2rem !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  .header-right {
    flex-shrink: 0;
  }
  
  .header-button .theme-btn {
    padding: 8px 16px;
    font-size: 14px;
    white-space: nowrap;
  }
  
  .header__hamburger {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
  }
  
  .sidebar__toggle {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Mobile Navigation */
  .main-menu ul li a {
    padding: 12px 16px;
    min-height: 44px;
    display: flex;
    align-items: center;
    font-size: 14px;
  }
  
  .main-menu ul li .submenu {
    position: static;
    box-shadow: none;
    background: rgba(0,0,0,0.05);
    margin-top: 5px;
  }
  
  .main-menu ul li .submenu li a {
    padding: 10px 20px;
    min-height: 40px;
    font-size: 13px;
  }
  
  /* Mobile Typography */
  h1 {
    font-size: 28px !important;
    line-height: 1.2;
  }
  
  h2 {
    font-size: 24px !important;
    line-height: 1.3;
  }
  
  h3 {
    font-size: 20px !important;
    line-height: 1.3;
  }
  
  h4 {
    font-size: 18px !important;
    line-height: 1.4;
  }
  
  h5 {
    font-size: 16px !important;
    line-height: 1.4;
  }
  
  h6 {
    font-size: 14px !important;
    line-height: 1.4;
  }
  
  p {
    font-size: 14px;
    line-height: 1.6;
  }
  
  /* Mobile Section Titles */
  .section-title {
    margin-bottom: 30px;
  }
  
  .section-title .sub-title {
    font-size: 12px;
    margin-bottom: 15px;
  }
  
  .section-title.style-2 h2 {
    font-size: 24px !important;
    line-height: 1.3;
  }
  
  /* Mobile Spacing */
  .section-padding {
    padding: 40px 0 !important;
  }
  
  .section-bg-1,
  .section-bg-2 {
    padding: 40px 0 !important;
  }
  
  /* Mobile Buttons */
  .theme-btn {
    padding: 12px 24px;
    font-size: 14px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    width: 100%;
    margin: 10px 0;
  }
  
  .link-btn {
    font-size: 14px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 0;
  }
  
  /* Mobile Images */
  img {
    max-width: 100%;
    height: auto;
  }
  
  .feature-image img,
  .causes-image img,
  .choose-us-image img,
  .counter-image img,
  .gallery-image img,
  .event-image img,
  .campaign-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  
  /* Mobile Cards */
  .causes-card-items,
  .causes-card-items-2,
  .event-card-items,
  .gallery-card-items,
  .campaign-card-items {
    margin-bottom: 20px;
  }
  
  .causes-content,
  .event-content,
  .gallery-content,
  .campaign-content {
    padding: 15px;
  }
  
  .causes-content h3,
  .event-content h3,
  .gallery-content h3,
  .campaign-content h3 {
    font-size: 18px !important;
    margin-bottom: 10px;
  }
  
  .causes-content .content p,
  .event-content .content p,
  .gallery-content .content p,
  .campaign-content .content p {
    font-size: 14px;
    line-height: 1.5;
  }
  
  /* Mobile Hero Sections */
  .hero-1 {
    padding: 60px 0;
  }
  
  .hero-1 .hero-content {
    text-align: center;
    padding: 0 15px;
  }
  
  .hero-1 .hero-content h1 {
    font-size: 28px !important;
    margin-bottom: 15px;
  }
  
  .hero-1 .hero-content p {
    font-size: 14px;
    margin-bottom: 20px;
  }
  
  .hero-1 .hero-button {
    flex-direction: column;
    gap: 15px;
  }
  
  /* Mobile Breadcrumb */
  .breadcrumb-wrapper {
    padding: 60px 0 40px;
  }
  
  .page-heading h1 {
    font-size: 28px !important;
    line-height: 1.2;
  }
  
  .breadcrumb-items {
    font-size: 14px;
    flex-wrap: wrap;
  }
  
  .breadcrumb-items li {
    margin-bottom: 5px;
  }
  
  /* Mobile Counter Sections */
  .counter-section,
  .counter-section-2 {
    padding: 40px 0 !important;
  }
  
  .counter-content h2 {
    font-size: 24px !important;
  }
  
  .counter-content h5 {
    font-size: 14px;
  }
  
  .counter-main-wrapper p {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  
  /* Mobile Contact Sections */
  .cta-contact-section,
  .cta-contact-section-2 {
    padding: 40px 0 !important;
  }
  
  .cta-contact-wrapper {
    flex-direction: column;
    gap: 0px;
    padding: 20px;
    align-items: flex-start;
    text-align: left;
  }
  
  .contact-item {
    text-align: left;
    padding: 15px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
  }
  
  .contact-item .icon {
    margin: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  
  .contact-item .content {
    text-align: left;
    flex: 1;
  }
  
  .contact-item h4 {
    font-size: 16px;
    margin-bottom: 5px;
  }
  
  .contact-item h6 {
    font-size: 12px;
    margin-bottom: 5px;
  }
  
  .contact-item a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 8px 0;
    color: #000;
    text-decoration: none;
  }
  
  /* Mobile Social Icons */
  .social-icon {
    justify-content: flex-start;
    margin-top: 20px;
  }
  
  .social-icon a {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px;
  }
  
  /* Mobile Footer */
  .footer-section,
  .footer-section-2 {
    padding: 40px 0 20px !important;
  }
  
  .footer-widget-wrapper .row {
    gap: 0px;
  }
  
  .single-footer-widget {
    text-align:left;
    margin-bottom: 30px;
  }
  
  .footer-left-content p {
    font-size: 14px;
    line-height: 1.6;
  }
  
  .list-area li {
    margin-bottom: 10px;
  }
  
  .list-area li a {
    font-size: 14px;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  
  .footer-bottom {
    padding: 20px 0;
  }
  
  .footer-wrapper {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
  
  /* Mobile Forms */
  .contact-form,
  .volunteer-form,
  .donation-form {
    padding: 20px;
  }
  
  .form-group {
    margin-bottom: 20px;
  }
  
  .form-control {
    min-height: 44px;
    font-size: 16px;
    padding: 12px 16px;
  }
  
  input, textarea, select {
    min-height: 44px;
    font-size: 16px;
    padding: 12px 16px;
  }
  
  /* Mobile Swiper Optimization */
  .swiper {
    touch-action: pan-y;
    margin-bottom: 20px;
  }
  
  .swiper-slide {
    height: auto;
  }
  
  .swiper-button-next,
  .swiper-button-prev {
    display: none;
  }
  
  .swiper-pagination {
    position: relative;
    margin-top: 20px;
  }
  
  /* Mobile Gallery */
  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .gallery-item {
    margin-bottom: 15px;
  }
  
  /* Mobile Events */
  .event-list {
    flex-direction: column;
  }
  
  .event-item {
    margin-bottom: 20px;
    width: 100%;
  }
  
  /* Mobile Campaigns */
  .campaign-list {
    flex-direction: column;
  }
  
  .campaign-item {
    margin-bottom: 20px;
    width: 100%;
  }
  
  /* Mobile Donation Popup */
  .donation-popup {
    position: fixed;
    bottom: 10px;
    left: 10px;
    right: 10px;
    max-width: none;
    padding: 12px 16px;
    font-size: 13px;
    border-radius: 10px;
  }
  
  .donation-icon {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
  
  .donation-message {
    font-size: 13px;
    line-height: 1.3;
  }
  
  .close-btn {
    font-size: 16px;
  }
  
  /* Mobile Performance Optimizations */
  .feature-image,
  .causes-image,
  .choose-us-image,
  .counter-image,
  .gallery-image,
  .event-image,
  .campaign-image {
    will-change: transform;
  }
  
  /* Mobile Accessibility */
  .theme-btn:focus,
  .link-btn:focus,
  .header__hamburger:focus,
  .social-icon a:focus {
    outline: 2px solid #f57135;
    outline-offset: 2px;
  }
  
  /* Mobile Loading States - Lazy loading handled by HTML loading attribute */
  
  /* Mobile Tables */
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  table {
    min-width: 600px;
  }
  
  /* Mobile Accordion */
  .accordion-item {
    margin-bottom: 10px;
  }
  
  .accordion-header button {
    min-height: 44px;
    font-size: 14px;
    padding: 12px 16px;
  }
  
  .accordion-body {
    font-size: 14px;
    line-height: 1.6;
  }
  
  /* Mobile Tabs */
  .nav-tabs {
    flex-wrap: wrap;
  }
  
  .nav-tabs .nav-link {
    min-height: 44px;
    font-size: 14px;
    padding: 12px 16px;
  }
  
  .tab-content {
    padding: 20px 0;
  }
}

/* Extra Small Mobile Devices */
@media (max-width: 480px) {
  .header-logo {
    font-size: 1rem !important;
  }
  
  .page-heading h1 {
    font-size: 24px !important;
  }
  
  .section-title.style-2 h2 {
    font-size: 20px !important;
  }
  
  .hero-1 .hero-content h1 {
    font-size: 24px !important;
  }
  
  .counter-content h2 {
    font-size: 20px !important;
  }
  
  .donation-popup {
    bottom: 5px;
    left: 5px;
    right: 5px;
    padding: 10px 12px;
    font-size: 12px;
  }
  
  .donation-icon {
    width: 24px;
    height: 24px;
    font-size: 14px;
  }
  
  .theme-btn {
    padding: 10px 20px;
    font-size: 13px;
  }
  
  .container {
    padding: 0 10px;
  }
  
  .section-padding {
    padding: 30px 0 !important;
  }
}

/* Large Mobile Devices */
@media (max-width: 991px) and (min-width: 769px) {
  .container {
    padding: 0 20px;
  }
  
  .section-padding {
    padding: 60px 0 !important;
  }
  
  .hero-1 {
    padding: 80px 0;
  }
  
  .theme-btn {
    padding: 10px 20px;
    font-size: 15px;
  }
}

/* Tablet Optimization */
@media (max-width: 1199px) and (min-width: 992px) {
  .section-padding {
    padding: 80px 0 !important;
  }
  
  .hero-1 {
    padding: 100px 0;
  }
}
