.pr-amenities {
  --pr-amenities-accent: var(--primary);
  --pr-amenities-icon-bg: var(--primary-50);
  --pr-amenities-ink: var(--text-primary);
  --pr-amenities-line: var(--border-default);
  width: 100%;
}

.pr-amenities__header {
  margin-bottom: var(--space-l);
}

.pr-amenities__title {
  color: var(--pr-amenities-accent);
  font-family: var(--font-primary);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-wider);
  margin: 0;
  text-transform: uppercase;
}

.pr-amenities__grid {
  display: grid;
  column-gap: var(--space-l);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.pr-amenities__item {
  align-items: center;
  border-bottom: var(--border-width-thin) solid var(--pr-amenities-line);
  display: flex;
  gap: var(--space-s);
  min-width: 0;
  padding: var(--space-s) 0;
  text-align: left;
}

.pr-amenities__icon {
  align-items: center;
  background: var(--pr-amenities-icon-bg);
  border-radius: var(--radius-full);
  color: var(--pr-amenities-accent);
  display: inline-flex;
  flex: 0 0 clamp(3.25rem, 4vw, 4rem);
  height: clamp(3.25rem, 4vw, 4rem);
  justify-content: center;
  padding: clamp(0.7rem, 1vw, 0.95rem);
  width: clamp(3.25rem, 4vw, 4rem);
}

.pr-amenities__icon svg {
  display: block;
  height: 100%;
  overflow: visible;
  width: 100%;
}

.pr-amenities__label {
  color: var(--pr-amenities-ink);
  font-family: var(--font-primary);
  font-size: var(--text-base);
  font-weight: var(--weight-medium);
  line-height: var(--leading-snug);
  min-width: 0;
}

@media (max-width: 62rem) {
  .pr-amenities__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 36rem) {
  .pr-amenities__grid {
    column-gap: var(--space-xs);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pr-amenities__item {
    gap: var(--space-2xs);
    min-height: 4.75rem;
    padding-block: var(--space-xs);
  }

  .pr-amenities__icon {
    flex-basis: 2.75rem;
    height: 2.75rem;
    padding: 0.65rem;
    width: 2.75rem;
  }

  .pr-amenities__label {
    font-size: var(--text-base);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pr-amenities *,
  .pr-amenities *::before,
  .pr-amenities *::after {
    scroll-behavior: auto;
  }
}
