.alm-etabs-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: 12px; }
.alm-etabs-grid[hidden] { display: none; }

.etab-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 165px;
  gap: 20px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid var(--alm-border);
  border-radius: var(--r-lg);
  box-shadow: 0 2px 8px rgba(0, 72, 153, 0.06);
  transition: box-shadow var(--tr), border-color var(--tr);
}
.etab-row:hover { box-shadow: var(--shadow-lg); border-color: var(--alm-blue); }
.etab-row[hidden] { display: none; }

.etab-row__media {
  width: 180px;
  aspect-ratio: 4 / 3;
  align-self: center;
  overflow: hidden;
  border-radius: var(--r-md);
  background: var(--alm-bg-grey);
}
.etab-row__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.etab-row__media--placeholder { display: flex; align-items: center; justify-content: center; background: var(--tc-tint, var(--alm-bg-grey)); }
.etab-row__ph-icon { width: 34%; max-width: 68px; color: var(--tc, var(--alm-blue)); line-height: 0; }
.etab-row__ph-icon svg { width: 100%; height: auto; display: block; opacity: 0.92; }

.etab-row__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.etab-row__badge {
  display: inline-block;
  max-width: 100%;
  background: var(--tc, var(--alm-blue));
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.etab-row__title { margin: 0; font-family: var(--font-title); font-size: 1.125rem; line-height: 1.3; font-weight: 600; }
.etab-row .etab-row__title-link { color: var(--alm-blue); text-decoration: none; }
.etab-row .etab-row__title-link:hover { color: var(--alm-blue-dark); text-decoration: underline; }
.etab-row .etab-row__title-link:focus-visible { outline: 2px solid var(--alm-blue); outline-offset: 3px; border-radius: 3px; }
.etab-row__loc { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--alm-text-soft); font-size: 0.875rem; }
.etab-row__loc svg { flex: 0 0 auto; color: var(--alm-orange-dark); }
.etab-row__tags { display: flex; flex-wrap: wrap; gap: 6px; }

.alm-tag { display: inline-block; padding: 3px 10px; font-size: 0.6875rem; font-weight: 600; border-radius: var(--r-sm); background: rgba(0, 72, 153, 0.08); color: var(--alm-blue); text-transform: uppercase; letter-spacing: 0.04em; }
.alm-tag--urgences { background: rgba(238, 114, 3, 0.12); color: var(--alm-orange-dark); }

.etab-row__aside { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 8px; }
.etab-row__distance { font-size: 0.875rem; font-weight: 600; color: var(--alm-blue); white-space: nowrap; }
.etab-row__distance[hidden] { display: none; }
.etab-row .etab-row__cta { min-height: 44px; padding: 10px 18px; font-size: 0.875rem; white-space: nowrap; }
.etab-row .etab-row__cta:hover { color: var(--cta-text); }

@media (max-width: 767px) {
  .alm-etabs-grid { grid-auto-rows: auto; }
  .etab-row { grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 12px; padding: 12px; }
  .etab-row__media { width: 100%; max-height: 200px; }
  .etab-row__aside { flex-direction: column; align-items: stretch; }
  .etab-row__distance { text-align: left; }
  .etab-row .etab-row__cta { width: 100%; justify-content: center; }
}
