html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Mobile filter full width - Make filters take full width like search */
@media (max-width: 767px) {
  .category-item,
  .sort-item { 
    width: 100% !important;
    margin-bottom: 12px !important;
  }
  
  .chip-list {
    width: 100% !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
  
  .segment {
    width: 100% !important;
    justify-content: center !important;
  }
  
  .filter-label {
    text-align: center !important;
    margin-bottom: 10px !important;
    font-size: 16px !important;
  }
}

/* Mobile search optimization */
@media (max-width: 576px) {
  .search-filter-group { 
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .search-item { 
    width: 100% !important;
    margin-bottom: 8px !important;
  }
  
  .search-button-item { 
    width: 100% !important;
  }
  
  /* Small mobile filter optimization */
  .category-item,
  .sort-item { 
    width: 100% !important;
    margin-bottom: 12px !important;
  }
  
  .chip-list {
    width: 100% !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  
  .segment {
    width: 100% !important;
    justify-content: center !important;
  }
  
  .filter-label {
    text-align: center !important;
    margin-bottom: 8px !important;
    font-size: 15px !important;
  }
}