/*********************************************
 * SUBHEADER / FILTER TABS
 *********************************************/

.subheader {
  display: flex; /* Ensures horizontal layout */
  justify-content: space-between; /* Space between elements */
  align-items: center; /* Vertically center the content */
  padding: 20px 40px; /* Similar padding to your header */
  background-color: #fff; /* Matches header background */
  border-bottom: 1px solid #ddd; /* Optional border for separation */
  flex-wrap: wrap; /* Allows wrapping on smaller screens */
}

.filter-tabs {
  display: flex; /* Horizontal layout for buttons */
  justify-content: center;
  gap: 10px; /* Consistent spacing */
  flex-wrap: wrap; /* Wraps buttons on smaller screens */
}

.filter-tab {
  background: #ffffff;
  color: #333;
  border: none;
  padding: 8px 15px; /* Adjusted for consistency */
  border-radius: 3px;
  font-weight: bold; /* Matches header font weight */
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
}

.filter-tab:hover {
  background-color: #FFFFFF;
  transform: translateY(-2px);
}

.filter-tab.active {
  background-color: #ed0e03; /* Highlight active tab */
  color: #fff; /* Ensures text is visible */
}

/*********************************************
 * RESPONSIVE SUBHEADER / FILTER TABS
 *********************************************/

/* Medium screens (up to 768px) */
@media (max-width: 768px) {
  .subheader {
    flex-direction: column; /* Stack content vertically */
    text-align: center; /* Center-align for smaller screens */
    padding: 10px; /* Reduce padding */
  }

  .filter-tabs {
    gap: 8px; /* Reduce gap between buttons */
  }

  .filter-tab {
    padding: 6px 12px; /* Smaller padding */
    font-size: 0.9rem; /* Reduce font size slightly */
  }
}

/* Small screens (up to 320px) */
@media (max-width: 320px) {
  .filter-tabs {
    flex-direction: column; /* Stack buttons vertically */
    align-items: center;
    gap: 5px; /* Smaller gap for compact layout */
  }

  .filter-tab {
    width: 90%; /* Full-width buttons */
    padding: 6px 10px;
    font-size: 0.8rem; /* Smaller font size */
  }
}

/*********************************************
 * MODEL CAPTION
 *********************************************/
.model-caption h3 {
  text-transform: uppercase;
  font-size: 1.2rem; /* Adjust the size as needed */
  font-weight: bold; /* Makes it visually striking */
  margin: 0; /* Reset margin for consistent spacing */
}

/*********************************************
 * MODEL PROFILES & GRID
 *********************************************/
.model-profiles {
  padding: 20px;
}

.model-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  max-width: 1380px;
  margin: 0 auto;
}

.model-item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  text-decoration: none;
  color: #000;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.model-item.hide {
  display: none;
}

.model-item img,
.model-item video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.model-item:hover img,
.model-item:hover video {
  transform: scale(1.05);
}

/*********************************************
 * CAPTION OVERLAY
 *********************************************/
.model-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
  color: #fff;
  padding: 15px;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transform: translateY(100%);
  opacity: 0;
}

.model-item:hover .model-caption {
  transform: translateY(0%);
  opacity: 2;
}

/*********************************************
 * RESPONSIVE GRID
 *********************************************/
@media (max-width: 1024px) {
  .model-grid {
    grid-template-rows: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .model-grid {
    grid-template-rows: repeat(2, 1fr);
    padding: 05px;
  }
}

@media (max-width: 310px) {
  .model-grid {
    grid-template-columns: 3fr; /* Single-column layout */
  }

  .filter-tabs {
    flex-wrap: wrap;
    gap: 05px;
  }
}


===============================
/* Responsive Design for Small Screens */
@media (max-width: 320px) {
    .filter-tabs {
        flex-direction: row; /* Stack buttons vertically */
        align-items: center; /* Center-align buttons */
        gap: 5px; /* Reduce gap between buttons */
    }

    .filter-tab {
        width: 50%; /* Make buttons take most of the screen width */
        padding: 8px 10px; /* Reduce padding further */
        font-size: 0.8rem; /* Reduce font size for very small screens */
    }
	
	/* Responsive Styles for Small Screens */
@media (max-width: 320px) {
  .filter-tabs {
    flex-direction: row; /* Stack buttons vertically */
    gap: 5px; /* Smaller gap for a compact look */
  }

  .filter-tab {
    padding: 5px 10px; /* Reduce padding for smaller buttons */
    font-size: 0.4rem; /* Slightly smaller font size */
  }

}
