/*
==========================================
SERVICES SECTION
==========================================
*/

.hs-services {
  padding: 100px 0;
  background: #111;
}

/*
==========================================
SERVICES GRID
WCAG safe + preserve layout
==========================================
*/

.hs-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;

  list-style: none;
  margin: 0;
  padding: 0;
}

.hs-services-grid li {
  margin: 0;
  padding: 0;
}

/*
==========================================
SERVICE CARD
==========================================
*/

.hs-service-card {
  display: flex;
  flex-direction: column;
  background: #1b1b1b;
  padding: 40px;
  border-radius: 12px;
  border: 1px solid #333;
  margin-bottom: 15px;
  height: 100%;

  transition:
    transform 0.3s ease,
    border-color 0.3s ease;
}

.hs-service-card-content {
  padding: 30px 10px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.hs-service-footer {
  margin-top: auto;
  padding-top: 25px;
}

.hs-service-link {
  color: var(--hs-gold);

  text-decoration: none;

  font-weight: 600;

  transition: color 0.2s ease;
}

.hs-service-link:hover,
.hs-service-link:focus {
  color: #ffffff;
}

.hs-service-card::before {
  content: "";

  position: absolute;
  padding: 0 8px;
  top: -10px;
  left: 0;

  width: 100%;
  height: 3px;

  background: linear-gradient(to right, var(--hs-gold), rgba(75, 0, 0, 0.5));
}

/*
==========================================
HOVER
==========================================
*/

.hs-service-card:hover {
  transform: translateY(-8px);
}

/*
==========================================
KEYBOARD FOCUS
WCAG 2.1 AA
Only matters if links/buttons exist inside card
==========================================
*/

.hs-service-card:focus-within {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

/*
==========================================
SERVICE IMAGE
==========================================
*/

.hs-service-image {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hs-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/*
==========================================
CONTENT
==========================================
*/

.hs-service-content {
  margin-top: 20px;
}

.hs-service-content ul,
.hs-service-content .wp-block-list {
  margin: 0;
  padding-left: 20px;
}

.hs-service-content li {
  margin-bottom: 8px;
}

.hs-service-content p {
  margin-top: 0;
}

.hs-service-content > *:last-child {
  margin-bottom: 0;
}

/*
==========================================
TABLET
==========================================
*/

@media (max-width: 1200px) {
  .hs-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/*
==========================================
MOBILE
==========================================
*/

@media (max-width: 768px) {
  .hs-services {
    padding: 60px 0;
  }

  .hs-services-grid {
    grid-template-columns: 1fr;
  }

  .hs-service-card {
    padding: 30px;
  }
}
