.custom-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

@media (min-width: 992px) {
  .custom-container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .custom-container {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .custom-container {
    max-width: 1320px;
  }
}

.category-section {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

.category-alignment {
  grid-column: span 1; /* col-span-1 */
  position: relative; /* relative */
  display: flex; /* flex */
  align-items: flex-end; /* items-end */
  justify-content: center; /* justify-center */

  cursor: pointer; /* cursor-pointer */
  overflow: hidden; /* overflow-hidden */
  border-radius: 1rem; /* rounded-2xl (approx 16px) */
  background-color: #1e293b; /* bg-gray-800 (approx) */
  margin-left: auto;
  margin-right: auto;
  transition: transform 0.3s ease; /* transition for hover scale */
}

.category-alignment:hover {
  transform: scale(1.02); /* hover:scale-[1.02] */
}

.landing-image-dimensions {
  width: 180px;
  height: 180px;
}

@media (min-width: 768px) {
  .category-section {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 768px) {
  .category-alignment {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 398px) {
  .landing-image-dimensions {
    width: 150px;
    height: 150px;
  }
}
@media (max-width: 340px) {
  .landing-image-dimensions {
    width: 130px;
    height: 130px;
  }
}

.land-image {
  position: absolute;
  bottom: 2.2rem;
  /* transform: translateY(75%); */
  object-fit: contain;
  opacity: 0.8;
  transition: all 0.3s ease;
}

.land-image:hover {
  opacity: 1;
}

.land-text {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #fff;
  font-weight: 700;
}

.search-wrapper {
  width: 100%;
  max-width: 1200px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.search-sub {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2rem; /* rounded-4xl */
  padding: 0.75rem;
  display: flex;
  align-items: center;
  max-width: 1200px !important;
}

@media (min-width: 768px) {
  .search-sub {
    border-radius: 9999px; /* md:rounded-full */
    height: 100px; /* md:h-[100px] */
  }
}

.search-sub-sub {
  display: grid;
  grid-template-columns: 1fr; /* default (mobile) */
  align-items: center;
  gap: 1rem;
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .search-sub-sub {
    grid-template-columns: 1fr auto 1fr auto 1fr auto min-content; /* md:grid-cols-[...] */
  }
}

.search-select {
  background: transparent !important;
  color: #000;
  width: 100%;
  height: 100% !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
}

.vertical-line {
  display: none; /* hidden by default */
  border-right-width: 3px;
  border-right-style: solid;
  border-right-color: #bfbfbf;
  height: 65px;
  margin: 0 15px;
}
.vertical-line.transparent {
  border-right-color: transparent;
}

@media (min-width: 768px) {
  .vertical-line {
    display: block; /* md:block */
  }
  .vertical-line.transparent {
    border-right-color: transparent;
  }
}

.search-button {
  min-width: min-content;
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
  height: 50px !important;
  background-color: #e78f13 !important;
  border: 0 !important;
  color: #000000;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
  border-radius: 9999px !important;
  transition: all 0.3s ease;
  transform: scale(1);
  font-family: "SF Pro Display", sans-serif !important;
}

.search-button:hover {
  background-color: #d47f08 !important; /* hover:bg-[#d47f08] */
  transform: scale(1.05);
}

@media (min-width: 768px) {
  .search-button {
    height: 100% !important; /* md:!h-full */
  }
}

.features-container {
  width: 100%;
  max-width: 1200px; /* similar to container */
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 4rem !important; /* mt-16 */
  margin-bottom: 2.5rem !important; /* mb-10 */
  padding-left: 1rem !important; /* px-4 */
  padding-right: 1rem !important;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  text-align: center;
  align-items: center;
}

@media (min-width: 1024px) {
  .features-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.feature-image {
  width: 3rem;
  height: 3rem;
  margin-top: auto;
  margin-bottom: auto;
}

.feature-text-wrapper {
  text-align: center;
}

@media (min-width: 768px) {
  .feature-text-wrapper {
    text-align: left !important;
  }
}

.feature-head {
  font-weight: 700 !important;
  font-size: clamp(1rem, 1vw, 1.5rem) !important;
  margin: 0;
  white-space: nowrap;
}

.feature-sub {
  color: #6b7280 !important;
  font-weight: 600 !important;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1rem;
  white-space: nowrap;
}

.features-image-text-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center !important;
  gap: 0.5rem;
  background-color: #fff;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
  border-radius: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 768px) {
  .features-image-text-wrapper {
    flex-direction: row;
    justify-content: flex-start;
  }
}
