/* Kartlar eşit yükseklik; butonlar yazıya göre kaymaz. */

.btn,
a.btn,
button.btn,
.button,
a.button,
button.button {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  flex-shrink: 0;
}

.locgrid,
.programs-grid,
.solutions,
.ecosystem,
.who {
  align-items: stretch;
}

.locgrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.loc.loc-archived,
.location-card.loc-archived {
  display: none !important;
}

.loc,
.program-card,
.solution,
.eco,
.who > div {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}

.loc {
  background: #fff !important;
  border: 1px solid #e6e8ef !important;
  border-radius: 21px !important;
  overflow: hidden !important;
}

.locbody,
.program-card-body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 0;
}

.loc .type {
  display: block;
  min-height: 0;
  margin: 0 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.loc h3 {
  display: block;
  margin: 0 0 6px !important;
  min-height: 0 !important;
  line-height: 1.15;
  overflow: hidden;
}

.solution h3,
.eco h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.4em;
}

.program-card h3 {
  display: block !important;
  width: 100%;
  margin: 0 0 8px;
  line-height: 1.25;
}

.loc .facts {
  display: grid;
  gap: 3px;
  margin: 6px 0 0;
  min-height: 0;
}

.loc .fact {
  display: block;
  overflow: hidden;
  min-height: 0;
  line-height: 1.35;
}

.loc .demo {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  margin-top: 8px;
  width: fit-content;
}

.locbody {
  padding: 14px 16px 14px !important;
}

.program-card-footer,
.ctabox .actions {
  margin-top: auto;
  padding-top: 14px;
}

.loc .actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  flex-wrap: nowrap !important;
  margin-top: auto !important;
  padding-top: 12px !important;
}

.loc .actions .btn,
.loc .actions a.btn,
.loc .actions button.btn {
  width: 100%;
  min-width: 0;
  padding: 0 10px;
  font-size: 13px;
}

.program-card-footer {
  margin-top: auto;
}

.program-arrow {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  margin: 0;
  border-radius: 50% !important;
  line-height: 1 !important;
  font-size: 15px;
  font-weight: 700;
  box-sizing: border-box !important;
  overflow: hidden;
  text-decoration: none;
  flex-shrink: 0;
}

.program-card p.small {
  display: block !important;
  width: 100%;
  margin: 0;
  line-height: 1.45;
}

.locations-grid {
  align-items: stretch;
}

.location-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}

.location-card h4 {
  display: block !important;
  width: 100%;
  margin: 0 0 6px;
  line-height: 1.25;
}

.location-card .demo-label {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 8px;
}

.location-card p.micro,
.location-card p.small {
  display: block !important;
  width: 100%;
  margin: 0 0 6px;
  line-height: 1.45;
}

.location-thumb {
  flex-shrink: 0;
  width: 100%;
  height: 88px;
  min-height: 88px;
  max-height: 88px;
}

.location-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
}

.location-actions a,
.location-actions button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 0 !important;
  border: 1px solid #d9ddea;
  background: #fff;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 10px;
  font-weight: 800;
  color: var(--purple, #4C2583);
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}

@media (max-width: 1100px) {
  .locgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .locgrid {
    grid-template-columns: 1fr !important;
  }
}
