body {
  padding-top: 70px;
  padding-bottom: 150px;
}

footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999;
}

.hero-section {
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(135deg, rgba(13, 110, 253, 0.5) 0%, rgba(11, 94, 215, 0.5) 50%, rgba(8, 66, 152, 0.5) 100%), url("../images/Segelwetter_01.jpg");
  background-size: cover;
  background-position: center;
}

.navbar-brand {
  letter-spacing: 0.08em;
}

footer a {
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

.card-icon {
  font-size: 1.4rem;
  color: #0d6efd;
}

.weather-card {
  min-height: 100%;
}

/* Location Search Styling */
datalist {
  display: none;
}

input[type="text"]#location-search {
  border-radius: 0.375rem 0 0 0.375rem;
}

#location-search:focus {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

.form-control-sm {
  font-size: 0.9rem;
}

/* Geolocations Button Animation */
button[onclick*="useGeolocation"] {
  transition: all 0.3s ease;
}

button[onclick*="useGeolocation"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
}

.highlight {
  background-color: rgba(255, 235, 59, 0.4);
  border-radius: 0.25rem;
  padding: 0 0.125rem;
}

.cookie-consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1050;
  background: rgba(13, 110, 253, 0.95);
  color: #fff;
  padding: 0.85rem 0;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
}

.cookie-consent-content {
  gap: 1rem;
}

.cookie-consent-text a {
  text-decoration: underline;
}

@media (max-width: 767.98px) {
  .cookie-consent-banner {
    text-align: center;
  }
}
