/* Component-level refinements layered on layout */

.btn svg {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
}

.service-row__title {
  transition: color var(--transition);
}

.service-row:hover .service-row__title {
  color: var(--color-blush-deep);
}

.gallery__item figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: var(--space-5) var(--space-4) var(--space-4);
  font-size: var(--text-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-pearl);
  background: linear-gradient(to top, rgba(26, 20, 18, 0.75), transparent);
  opacity: 0.85;
  transform: translateY(0);
  transition:
    opacity var(--transition),
    transform var(--transition),
    letter-spacing var(--transition);
}

.gallery__item:hover figcaption,
.gallery__item:focus-within figcaption {
  opacity: 1;
  letter-spacing: 0.2em;
}

.visit__map-link {
  display: inline-block;
  margin-top: var(--space-3);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blush-deep);
  border-bottom: 1px solid currentColor;
  transition: color var(--transition);
}

.visit__map-link:hover {
  color: var(--color-espresso);
}
