/**
 * Me5rine LAB — styles intégrés (UM / Elementor / thème)
 * Ne modifie pas body, main, .elementor, .um.
 */
.ml-front,
.ml-front--integrated,
.ml-um-section {
  box-sizing: border-box;
}

.ml-front *,
.ml-front *::before,
.ml-front *::after {
  box-sizing: inherit;
}

.ml-front-section {
  margin: 1.25rem 0;
}

.ml-front-section__title {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
}

.ml-front-quick-actions,
.ml-front-widgets,
.ml-front-stats-grid,
.ml-front .m5fo-quota-grid,
.ml-front .m5fo-module-grid {
  display: grid;
  gap: 1rem;
}

.ml-front-quick-actions {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.ml-front-stats-grid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

/* Alias cartes — préfixe ml-card + compat m5fo interne */
.ml-front .m5fo-widget,
.ml-front .ml-card,
.ml-front .m5fo-module-card,
.ml-front .m5fo-stat-card,
.ml-front .m5fo-quota-card,
.ml-front .m5fo-subscription-card,
.ml-front .m5fo-notification-card,
.ml-front .m5fo-empty-state,
.ml-front .m5fo-upgrade-message {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.6);
}

.ml-front .m5fo-btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.ml-front .m5fo-btn--primary {
  background: var(--e-global-color-primary, var(--wp--preset--color--primary, #4f46e5));
  color: #fff;
}

.ml-front .m5fo-btn--ghost {
  background: transparent;
  border-color: rgba(0, 0, 0, 0.15);
}

.ml-front .m5fo-badge {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
}

.ml-front .m5fo-loader span {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 2px;
  border-radius: 50%;
  background: currentColor;
  animation: ml-front-pulse 1s infinite alternate;
}

@keyframes ml-front-pulse {
  from { opacity: 0.35; }
  to { opacity: 1; }
}

.um-profile .ml-front,
.um-account .ml-front {
  width: 100%;
  max-width: none;
}
