body {
  gap: 0;
}

/* || Map */
#map {
  height: 37.5rem;
  filter: grayscale(100%);
}


/* || Button */

.location-button { 
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 260px;
  height: 72px;
  display: flex;
  z-index: 10;
  background-color: var(--grey-900);
}

.location-button__text {
  text-transform: uppercase;
  font: var(--FW-light) 20px / 1 "Big shoulders", sans-serif;
  letter-spacing: 3.64px;
  color: var(--white);
  flex: 4;
  display: flex;
  justify-content: center;
  align-items: center;
}

.location-button__icon-wrapper {
  background-color: var(--gold-500);
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.location-button__icon {
  width: 8px;
  height: auto;
} 

.location-button:focus-visible {
  outline: 4px solid var(--gold-500); 
  outline-offset: 2px;
}

.location-button:hover {
  background-color: var(--gold-500);
  transition: background-color 0.4s;
}

.location-button__text:hover {
  background-color: var(--gold-500);
  transition: background-color 0.4s;
}

.location-button__text:hover~.location-button__icon-wrapper {
  background-color: var(--grey-900);
  transition: background-color 0.4s;
}

.location-button__icon-wrapper:hover {
  background-color: var(--grey-900);
  transition: background-color 0.4s;
}

/* || Location */

.location {
  background-color: var(--grey-900);
  color: var(--white);
  padding: var(--space-xl) var(--space-s);
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.location__header {
  text-transform: uppercase;
}

.location__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}

.location__details > h2{
  color: var(--gold-500);
  font-size: var(--FS-h3);
  text-transform: uppercase;
}

.footer {
  background-color: var(--gold-500);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: var(--space-m);
  padding: var(--space-m) var(--space-s);
}

.footer__icon-wrapper {
  display: flex;
  gap: var(--space-s);
}

.footer__icon {
  width: 20px;
  height: 20px;
  color: var(--grey-900);
  filter: invert(100%);
  cursor: pointer;
}

.footer__icon:hover {
  filter: none;
}

.footer__icon:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
}

/* || Logo */
.logo {
  width: clamp(6.875rem, 2.5893rem + 8.9286vw, 10.625rem);
  height: clamp(2.5rem, 1.2143rem + 2.6786vw, 3.625rem);
}

@media screen and (min-width: 768px) {
  .location {
    flex-direction: row;
    gap: var(--space-2xl);
  }
  
  .footer {
    flex-direction: row;
    gap: var(--space-l);
  }

  .location__details {
    gap: var(--space-xs);
  }
}
