/* Responsive Styles */
@media (max-width: 992px) {
    .about-content {
      grid-template-columns: 1fr;
    }
    
    .contact-container {
      grid-template-columns: 1fr;
    }
    
    .hero h1 {
      font-size: 2.5rem;
    }
    
    .hero p {
      font-size: 1.2rem;
    }
  }
  
  @media (max-width: 768px) {
    .hamburger {
      display: block;
      font-size: 1.5rem;
    }
    
    .nav-menu {
      position: fixed;
      left: -100%;
      top: 70px;
      flex-direction: column;
      background-color: #fff;
      width: 100%;
      text-align: center;
      transition: 0.3s;
      box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
      padding: 20px 0;
    }
    
    .nav-menu.active {
      left: 0;
    }
    
    .nav-menu li {
      margin: 15px 0;
    }
    
    .hero {
      height: 60vh;
    }
    
    .section-title {
      font-size: 2rem;
    }
  }
  
  @media (max-width: 576px) {
    .hero h1 {
      font-size: 2rem;
    }
    
    .hero p {
      font-size: 1rem;
    }
    
    .btn {
      padding: 10px 20px;
    }
    
    .section-title {
      font-size: 1.8rem;
    }
    
    .footer-container {
      grid-template-columns: 1fr;
    }
  }

  /* Ecommerce Responsive Styles */
  @media (max-width: 992px) {
    .filters-bar {
      padding: 14px 16px;
    }

    .filters-bar-content {
      gap: 12px;
    }

    .filters-and-sort {
      gap: 8px;
    }

    .filter-divider {
      display: none;
    }

    .products-grid {
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 16px;
    }

    .slide-content h1 {
      font-size: 2.5rem;
    }

    .slide-content p {
      font-size: 1.2rem;
    }

    .categories-grid {
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
  }

  @media (max-width: 768px) {
    .filters-bar-content {
      flex-direction: column;
      align-items: stretch;
    }

    .results-count {
      text-align: center;
      padding-bottom: 12px;
      border-bottom: 1px solid #e8e8e8;
    }

    .filters-and-sort {
      width: 100%;
      justify-content: space-between;
    }

    .filter-dropdown,
    .sort-dropdown {
      flex: 1;
    }

    .filter-dropdown-btn,
    .sort-select {
      width: 100%;
      font-size: 0.85rem;
      padding: 8px 12px;
      justify-content: center;
    }

    .clear-filters-btn {
      flex-shrink: 0;
    }

    .nav-icons {
      position: absolute;
      right: 70px;
      gap: 15px;
    }

    .hero-slideshow {
      height: 60vh;
    }

    .slide-content h1 {
      font-size: 1.8rem;
    }

    .slide-content p {
      font-size: 0.95rem;
    }

    .hero-buttons {
      flex-direction: column;
      gap: 12px;
      width: 100%;
      max-width: 280px;
    }

    .hero-buttons .btn {
      width: 100%;
      padding: 12px 20px;
      font-size: 0.9rem;
    }

    .slide-nav {
      padding: 15px;
      font-size: 1.5rem;
    }

    .slide-nav.prev {
      left: 10px;
    }

    .slide-nav.next {
      right: 10px;
    }

    .categories-grid {
      grid-template-columns: 1fr;
    }

    .products-grid {
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 20px;
    }

    .products-toolbar {
      flex-direction: column;
      gap: 15px;
      align-items: stretch;
    }

    .sort-controls {
      width: 100%;
      justify-content: space-between;
    }

    .whatsapp-float {
      width: 50px;
      height: 50px;
      bottom: 20px;
      right: 20px;
      font-size: 1.5rem;
    }

    .features-grid {
      grid-template-columns: 1fr;
      gap: 30px;
    }
  }

  @media (max-width: 576px) {
    .slide-content h1 {
      font-size: 1.4rem;
    }

    .slide-content p {
      font-size: 0.85rem;
    }

    .btn-primary, .btn-secondary {
      padding: 10px 18px;
      font-size: 0.85rem;
    }

    /* Hero buttons specific sizing */
    .hero-buttons {
      max-width: 260px;
      gap: 10px;
    }

    .hero-buttons .btn {
      padding: 11px 20px;
      font-size: 0.875rem;
    }

    .category-card {
      padding: 30px 20px;
    }

    .category-icon {
      width: 60px;
      height: 60px;
      font-size: 2rem;
    }

    .products-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }

    .product-card {
      /* Remove hover transform on mobile to prevent jank */
      transform: none !important;
    }

    .product-card:hover {
      transform: none !important;
    }

    .product-card:active {
      transform: scale(0.98) !important;
    }

    .product-image {
      height: 160px;
    }

    .product-image img {
      /* Ensure image fits well on mobile */
      object-fit: contain;
      padding: 8px;
    }

    /* Show description on mobile with proper truncation */
    .product-desc,
    .product-description {
      display: block !important;
      font-size: 0.8rem;
      color: #565959;
      line-height: 1.4;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      margin-bottom: 8px;
    }

    .product-info {
      padding: 10px 12px;
    }

    .product-info h3 {
      font-size: 0.9rem;
      min-height: auto;
      -webkit-line-clamp: 2;
      margin-bottom: 4px;
    }

    .product-price .price {
      font-size: 1.1rem;
    }

    .product-price .old-price {
      font-size: 0.8rem;
    }

    /* Hide overlay on mobile - use tap instead */
    .product-overlay {
      display: none !important;
    }

    /* Make buttons visible on mobile */
    .product-actions {
      display: flex !important;
      flex-direction: column;
      gap: 6px;
      padding: 8px 12px 12px;
    }

    .product-actions button {
      width: 100%;
      padding: 10px;
      font-size: 0.85rem;
    }

    .filters-sidebar {
      padding: 20px;
    }

    .products-toolbar {
      padding: 15px;
    }

    .sort-select {
      width: 100%;
    }
  }

  /* Modal Responsive Styles */
  @media (max-width: 992px) {
    .product-detail-container {
      grid-template-columns: 1fr;
      gap: 30px;
      padding: 30px;
    }

    .product-detail-image {
      height: 400px;
    }
  }

  @media (max-width: 768px) {
    .modal-content {
      margin: 0;
      border-radius: 15px;
      max-height: 85vh;
    }

    .product-detail-container {
      padding: 20px;
      gap: 20px;
    }

    .product-detail-image {
      height: 300px;
    }

    .product-detail-info h2 {
      font-size: 1.5rem;
    }

    .product-price-large .price {
      font-size: 2rem;
    }

    .product-actions {
      flex-direction: column;
    }

    .product-actions button {
      width: 100%;
    }

    .quote-form-container {
      padding: 25px;
    }

    .quote-form-container h2 {
      font-size: 1.5rem;
    }

    .form-row {
      grid-template-columns: 1fr;
      gap: 15px;
    }

    .form-actions {
      flex-direction: column;
    }

    .form-actions button {
      width: 100%;
    }
  }

  @media (max-width: 576px) {
    .modal {
      padding: 10px;
    }

    .modal-close {
      top: 10px;
      right: 10px;
      width: 35px;
      height: 35px;
      font-size: 1.5rem;
    }

    .product-detail-container {
      padding: 15px;
    }

    .product-detail-image {
      height: 250px;
    }

    .product-detail-info h2 {
      font-size: 1.2rem;
    }

    .product-price-large .price {
      font-size: 1.6rem;
    }

    .product-price-large .old-price {
      font-size: 1.1rem;
    }

    .product-specs ul li {
      font-size: 0.9rem;
    }

    .quote-form-container {
      padding: 20px;
    }

    .quote-form-container h2 {
      font-size: 1.3rem;
      gap: 10px;
    }

    .quote-subtitle {
      font-size: 0.95rem;
    }

    .btn-large {
      padding: 12px 25px;
      font-size: 0.95rem;
    }

    /* Search Modal Responsive - Mobile Optimized */
    .search-modal-content {
      max-width: 100%;
      width: 100%;
      height: 100%;
      max-height: 100vh;
      margin: 0;
      border-radius: 0;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }

    .search-container {
      height: 100vh;
      display: flex;
      flex-direction: column;
    }

    .search-header {
      padding: 12px 15px;
      gap: 10px;
      flex-shrink: 0;
    }

    .search-header i {
      font-size: 1.2rem;
    }

    .search-header input {
      font-size: 16px; /* Prevents iOS zoom on focus */
      padding: 10px 12px;
    }

    .search-filters {
      padding: 10px 12px;
      gap: 8px;
      flex-shrink: 0;
      flex-wrap: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }

    .search-filters::-webkit-scrollbar {
      display: none;
    }

    .filter-chip {
      padding: 6px 12px;
      font-size: 0.8rem;
      flex-shrink: 0;
    }

    .search-results {
      padding: 12px;
      flex: 1;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }

    .search-result-item {
      flex-direction: row;
      padding: 10px;
      gap: 12px;
      margin-bottom: 10px;
    }

    .search-result-image {
      width: 60px;
      height: 60px;
      flex-shrink: 0;
    }

    .search-result-info {
      min-width: 0;
    }

    .search-result-title {
      font-size: 0.9rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .search-result-category {
      font-size: 0.75rem;
    }

    .search-result-price {
      font-size: 0.95rem;
    }

    .search-result-arrow {
      display: none;
    }

    .search-shortcut {
      display: none;
    }

    .search-placeholder i {
      font-size: 2rem;
    }

    .search-placeholder p {
      font-size: 0.9rem;
    }

    .search-hint {
      font-size: 0.75rem;
    }

    .search-no-results {
      padding: 30px 15px;
    }

    .search-no-results i {
      font-size: 2rem;
    }

    /* Cart Sidebar Responsive */
    .cart-sidebar {
      width: 100%;
      max-width: 100%;
      right: -100%;
    }

    .cart-sidebar.active {
      right: 0;
    }

    .cart-header {
      padding: 15px 20px;
    }

    .cart-header h2 {
      font-size: 1.1rem;
    }

    .cart-items {
      padding: 15px 20px;
      max-height: calc(100vh - 250px);
      overflow-y: auto;
    }

    .cart-item {
      padding: 12px;
    }

    .cart-item-image {
      width: 60px;
      height: 60px;
    }

    .cart-item-title {
      font-size: 0.95rem;
    }

    .cart-footer {
      padding: 12px 15px;
      position: sticky;
      bottom: 0;
      background: #f8f9fa;
      border-top: 2px solid #e0e0e0;
      z-index: 10;
    }

    .cart-actions {
      flex-direction: column;
      gap: 8px;
    }

    .cart-actions button {
      width: 100%;
      padding: 12px 16px;
      font-size: 0.9rem;
      white-space: nowrap;
      min-height: 44px;
    }

    .cart-summary {
      margin-bottom: 12px;
    }

    .summary-row {
      font-size: 0.85rem;
      padding: 6px 0;
    }

    .summary-row.total {
      font-size: 1rem;
      padding-top: 8px;
    }
  }

  /* Extra small phones (portrait) */
  @media (max-width: 400px) {
    .hero-buttons {
      gap: 8px;
      max-width: 240px;
      padding: 0 15px;
    }

    .hero-buttons .btn {
      padding: 10px 16px;
      font-size: 0.8rem;
    }

    .slide-content h1 {
      font-size: 1.2rem;
      padding: 0 15px;
    }

    .slide-content p {
      font-size: 0.8rem;
      padding: 0 15px;
    }

    .cart-sidebar {
      width: 100%;
      max-width: 100%;
    }

    .cart-footer {
      padding: 10px 12px;
    }

    .cart-actions {
      gap: 6px;
    }

    .cart-actions button {
      padding: 10px 14px;
      font-size: 0.8rem;
      min-height: 40px;
    }

    .cart-actions button i {
      font-size: 0.8rem;
    }

    .cart-summary {
      margin-bottom: 8px;
    }

    .summary-row {
      font-size: 0.8rem;
      padding: 4px 0;
    }

    .summary-row.total {
      font-size: 0.95rem;
      padding-top: 6px;
    }

    .cart-item {
      padding: 12px;
    }

    .cart-item-image {
      width: 50px;
      height: 50px;
    }

    .cart-item-title {
      font-size: 0.85rem;
    }

    .cart-item-price {
      font-size: 0.85rem;
    }

    .quantity-btn {
      width: 28px;
      height: 28px;
      font-size: 1rem;
    }

    .quantity-value {
      font-size: 0.9rem;
      padding: 0 8px;
    }
  }

  /* Mobile Bottom Navigation */
  @media (max-width: 768px) {
    .bottom-nav {
      display: flex;
    }

    /* Add padding to body to prevent content from being hidden behind bottom nav */
    body {
      padding-bottom: 70px;
    }

    /* Hide hamburger menu on mobile since we have bottom nav */
    .hamburger {
      display: none !important;
    }

    /* Adjust WhatsApp button to not overlap with bottom nav */
    .whatsapp-float {
      bottom: 80px;
    }
  }
  
  