/*
 * Component: Page Header
 * This is the single source of truth for the
 * .InfoText (title) and .searchLabel (search bar).
*/

main {
  width: 90%;
  max-width: 1200px;
  margin: 40px auto;
}

.InfoText {
  margin-bottom: 25px;
}

.InfoText h1 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-font-darkest);
  border-left: 4px solid var(--color-black);
  padding-left: 10px;
}

html[dir="rtl"] .InfoText h1 {
  border-left: none;
  padding-left: 0;
  border-right: 4px solid var(--color-black);
  padding-right: 10px;
}

.searchLabel {
  width: 90%;
  max-width: 1000px;
  margin: 30px auto;
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.searchLabel input {
  flex: 1;
  min-width: 240px;
  padding: 12px 15px;
  border: 1px solid var(--color-gray-border);
  border-radius: 10px;
  outline: none;
  font-size: 1rem;
  background-color: var(--color-white);
  transition: 0.3s ease;
}

.searchLabel input:focus {
  border-color: var(--color-black);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .searchLabel {
    flex-direction: column;
    align-items: center;
  }

  .searchLabel input {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .InfoText h1 {
    font-size: 1.4rem;
  }
}