.service-booking-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.booking-card {
  min-height: 255px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 14px 45px rgba(7, 39, 64, .08);
}

.booking-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--navy);
  background: var(--gold);
  font-size: 24px;
  font-weight: 800;
}

.booking-card h3 { margin: 20px 0 8px; font-size: 22px; }
.booking-card p { margin: 0 0 20px; color: var(--slate); line-height: 1.55; }
.booking-card .primary-button { width: 100%; margin-top: auto; }
.booking-note { margin: 18px 4px 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
.dialog-close { z-index: 5; pointer-events: auto; }

@media (max-width: 900px) {
  .service-booking-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .service-booking-grid { grid-template-columns: 1fr; }
  .booking-card { min-height: 225px; }
  .app-tabs { justify-content: flex-start; }
  .app-tab { flex: 0 0 auto; min-width: 78px; }
}
