html,
body {
  height: 100%;
  margin: 0;
}
body {
  background: linear-gradient(
    123.5deg,
    rgb(244, 219, 251) 29.3%,
    rgb(255, 214, 214) 67.1%
  );
  font-family: "Funnel Sans", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
a {
  color: #885df1;
}

.weather-app {
  background: white;
  max-width: 600px;
  margin: 45px auto;
  box-shadow: 0 30px 50px rgba(65, 50, 100, 0.08);
  border-radius: 16px;
  padding: 30px;
}

header {
  border-bottom: 1px solid #f9f7fe;
  padding: 0 0 30px 0;
}
.search-form {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.search-form-input {
  font-family: "Outfit", sans-serif;
  background-color: (255, 200, 221, 0.35);
  border: 1px solid #ffd6e9;
  border-radius: 12px;
  width: 100%;
  font-size: 18px;
  padding: 15px 20px;
  box-sizing: border-box;
  color: #663366;
  transition: all 0.3s ease;
}
.search-form-input::placeholder {
  color: #d17fb4; /* soft orchid pink */
  font-style: italic;
}

.search-form-input:focus {
  outline: none;
  background-color: rgba(255, 200, 221, 0.5);
  box-shadow: 0 0 12px #ffbde1;
}
main {
  padding: 30px 0;
}

.weather-app-data {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-top: 30px;
  flex-wrap: wrap;
}
.weather-app-city {
  margin: 0;
  font-size: 48px;
  line-height: 48px;
}
.weather-app-temperature-container {
  display: flex;
}
.weather-app-temperature {
  font-size: 88px;
  line-height: 88px;
  font-weight: bold;
  margin-left: 10px;
}
.weather-app-unit {
  margin-top: 6px;
  font-size: 28px;
}
.weather-app-icon {
  font-size: 88px;
  display: flex;
  align-items: center;
  font-weight: bold;
  gap: 10px;
}
.weather-details {
  text-align: left;
  font-size: 16px;
  color: rgba(39, 33, 66, 0.4);
  font-weight: 500;
  padding: 10px;
  margin: 30px;
}
.weather-details strong {
  color: #f652bd;
}
#time {
  color: #fca3cc;
  font-size: 16px;
  font-weight: bold;
}
/* New CSS for the 5-day forecast */
.forecast-header {
  font-family: "Outfit", sans-serif;
  padding: 10px 20px;
  border-radius: 12px 12px 0 0;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  margin: 0;
}

.weather-forecast {
  display: flex;
  justify-content: center;
  margin: 30px;
}
.weather-forecast-date {
  text-align: center;
  color: rgba(39, 33, 66, 00.4);
  font-size: 16px;
  line-height: 20px;
  margin: 10px;
}
.forecast-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 10px;
  padding: 10px;
}
.weather-forecast-day {
  border-radius: 12px;
  width: 100px;
  padding: 10px;
  text-align: center;
  font-family: "Outfit", sans-serif;
  transition: all 0.3s ease;
  cursor: pointer;
}
.weather-forecast-day:hover {
  transform: translateY(-5px) scale(1.05);
  box-shadow: 0 4px 15px rgba(255, 183, 229, 0.6);
  background-color: #ffe6f0;
  border-color: #fca3cc;
}

.weather-forecast-icon {
  font-size: 38px;
  text-align: center;
}
.weather-forecast-temperatures {
  text-align: center;
  color: #f652bd;
  margin-top: 10px;
  display: flex;
  justify-content: center;
}
.weather-forecast-temperature {
  padding: 0 10px;
}
footer {
  border-top: 1px solid #f9f7fe;
  padding: 30px 0 0 0;
  text-align: center;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
}
