/* P1R6CS — composition responsive canonique des cartes entités.
   Presets + réglages avancés viennent du catalogue serveur. Le contenu pilote
   la hauteur : aucune troncature ou hauteur fixe n'est décidée ici par entité. */

html body :is(#step-consultation-type .location-options, #step-service .service-grid.consultation-front-preview) {
  --entity-card-grid-min: var(--public-card-grid-min);
  display: grid !important;
  grid-template-columns: var(--public-entity-grid-template, repeat(auto-fit, minmax(min(100%, var(--entity-card-grid-min)), 1fr))) !important;
  gap: var(--public-space-md) !important;
  align-items: stretch !important;
  container: entity-card-grid / inline-size;
}
html body #step-service .service-grid--services.consultation-front-preview {
  --entity-card-grid-min: var(--public-card-grid-min-wide);
}

html body :is(#step-consultation-type .location-options, #step-service .service-grid.consultation-front-preview)
  > .public-entity-card[data-card-renderer="entity-card-engine"] {
  --entity-card-padding: var(--public-card-padding-standard);
  --entity-card-gap: var(--public-space-xs);
  --entity-card-title-size: var(--public-card-title-size);
  --entity-card-copy-size: var(--public-card-copy-size);
  position: relative !important;
  isolation: isolate;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: var(--entity-card-padding) !important;
  border-radius: var(--radius-lg) !important;
  overflow: clip !important;
  color: var(--brand-card-text);
  transition: var(--transition);
}
html body :is(#step-consultation-type .location-options, #step-service .service-grid.consultation-front-preview)
  > .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-density="compact"] {
  --entity-card-padding: var(--public-card-padding-compact);
  --entity-card-gap: var(--public-space-2xs);
}
html body :is(#step-consultation-type .location-options, #step-service .service-grid.consultation-front-preview)
  > .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-density="hero"] {
  --entity-card-padding: var(--public-card-padding-hero);
  --entity-card-gap: var(--public-space-sm);
}

html body .public-entity-card[data-card-renderer="entity-card-engine"] > :is(.public-entity-card__icon, .card-icon, .public-entity-card__content) {
  position: relative;
  z-index: 1;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"] > .public-entity-card__media {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: inherit !important;
  background-image: var(--consultation-card-image-overlay), var(--consultation-card-image) !important;
  background-size: cover !important;
  background-position: var(--consultation-card-image-position, center center) !important;
  background-repeat: no-repeat !important;
}
html body .public-entity-card__media-probe {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip-path: inset(50%) !important;
}

html body .public-entity-card[data-card-renderer="entity-card-engine"] .public-entity-card__content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: var(--entity-card-gap) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  text-align: center;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"] :is(.public-entity-card__title, .card-title) {
  display: block !important;
  max-width: min(22ch, 100%) !important;
  margin: 0 auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: var(--entity-card-title-size) !important;
  line-height: 1.08 !important;
  text-wrap: balance;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"] :is(.public-entity-card__description, .card-description) {
  display: block !important;
  max-width: min(40ch, 100%) !important;
  max-height: none !important;
  margin: 0 auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: var(--entity-card-copy-size) !important;
  line-height: 1.4 !important;
  text-wrap: pretty;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"] .public-entity-card__feature {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, var(--public-card-action-max-inline)) !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: var(--public-space-2xs) var(--public-space-xs) !important;
  gap: var(--public-space-2xs) var(--public-space-xs) !important;
  overflow: visible !important;
  border-radius: var(--radius-md) !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"] .public-entity-card__feature > * {
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"] .public-entity-card__action {
  width: min(100%, var(--public-card-action-max-inline)) !important;
  min-width: 0 !important;
  min-height: var(--public-control-min-block) !important;
  height: auto !important;
  margin: auto auto 0 !important;
  padding: var(--public-space-xs) var(--public-space-md) !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.25 !important;
}

html body .public-entity-card[data-card-renderer="entity-card-engine"] .public-entity-card__selected-badge {
  position: absolute !important;
  inset-block-start: var(--public-space-sm);
  inset-inline-start: var(--public-space-sm);
  z-index: 3;
  max-width: calc(100% - (2 * var(--public-space-lg))) !important;
  margin: 0 !important;
  white-space: normal !important;
  pointer-events: none;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"][aria-selected="true"] {
  outline: 2px solid var(--public-accent);
  outline-offset: -2px;
  box-shadow: var(--shadow-md) !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"]:hover {
  border-color: color-mix(in srgb, var(--public-accent) 36%, var(--public-border)) !important;
  box-shadow: var(--shadow-lg) !important;
  transform: translateY(calc(-1 * var(--public-space-2xs))) !important;
}

html body .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-mode="background"][data-has-admin-image="true"] {
  background: transparent !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-text-theme="light"][data-has-admin-image="true"] :is(.card-title, .card-description, .consultation-card-help),
html body .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-overlay-preset="dark_readable"][data-has-admin-image="true"] :is(.card-title, .card-description, .consultation-card-help) {
  color: var(--brand-card-button-text) !important;
  -webkit-text-fill-color: var(--brand-card-button-text) !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-text-theme="light"][data-has-admin-image="true"] .card-title,
html body .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-overlay-preset="dark_readable"][data-has-admin-image="true"] .card-title {
  text-shadow: var(--entity-card-readable-shadow-title) !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-text-theme="light"]:not([data-has-admin-image="true"]) {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary)) !important;
}
html body .public-entity-card[data-card-renderer="entity-card-engine"][data-card-visual-text-theme="light"]:not([data-has-admin-image="true"]) :is(.card-title, .card-description, .consultation-card-help) {
  color: var(--brand-card-button-text) !important;
  -webkit-text-fill-color: var(--brand-card-button-text) !important;
}

@container entity-card-grid (max-width: 34rem) {
  html body .public-entity-card[data-card-renderer="entity-card-engine"] {
    --entity-card-padding: var(--public-card-padding-compact);
  }
  html body .public-entity-card[data-card-renderer="entity-card-engine"] :is(.public-entity-card__title, .card-title) {
    max-width: 100% !important;
  }
}
