/*
 * DEPRECATED -- 2026-05-02 (LOT 2 chantier shell)
 * Ce fichier a ete extrait vers
 *   cabinetpellet-platform-shared/cabinetpellet_shared/shell/engine/icon-engine.css
 * La version locale RA reste utilisee jusqu'a validation totale du LOT 6
 * du chantier shell (cf. core-beta/docs/SHELL_CADRAGE.md v1.2).
 *
 * Modifications interdites ici. Modifier la lib partagee a la place.
 * Suppression seulement apres LOT 6 + 1 mois de cohabitation sans incident.
 */
/* ╔═══════════════════════════════════════════════════════════════════════════╗
 * ║  ⛔  LOCKED STABLE MODULE — ne pas modifier sans test_dragdrop          ║
 * ║      + test_sanitize + test_icon_engine_lock + validation utilisateur.  ║
 * ║      Voir app/static/home-icons/LOCKED_BEHAVIOR.md                      ║
 * ╚═══════════════════════════════════════════════════════════════════════════╝
 *
 * icon-engine.css — dimensions/layout des widgets de la home Réseau Actif
 * ────────────────────────────────────────────────────────────────────────────
 *
 * INVARIANTS
 *   - NE JAMAIS modifier les dimensions (.w-icon, .w-group, etc.) dans
 *     home_shell_preview.html ; ce fichier en est la source de vérité.
 *   - .widget-grid: 4 colonnes, gap 0.6rem, padding 0.75rem. Toute
 *     modification doit être répercutée dans icon-engine.js _gridMetrics()
 *     (qui les LIT depuis le DOM, donc en principe c'est automatique).
 *   - Les rangées ont une hauteur MIN de 72px mais peuvent grandir (carte
 *     220px). Le moteur (icon-engine.js) gère cela via elementFromPoint.
 * ──────────────────────────────────────────────────────────────────────────── */

/* ── Grille principale ─────────────────────────────────────────────────── */
.widget-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(72px, auto);
  gap: 0.6rem;
  padding: 0.75rem;
}

/* ── Tailles canoniques (NE PAS surcharger inline) ─────────────────────── */
/* PHASE 4 — Refonte : taxonomie reduite a [icon, group, medium, large].
 *   medium = 2x2 (carre compact, ex: carte en mode QR seul)
 *   large  = 4x3 (toute la largeur, 3 rangees)
 *   small / wide = legacy, conserves pour les rares layouts non encore
 *   migres ; sanitizeLayout les remappe vers medium/large. min-height:0
 *   sur les sizes pluri-cellules pour que la grille ne deborde pas
 *   verticalement (cause du scroll parasite).                            */
.w-icon   { grid-column: span 1; min-height: 72px; aspect-ratio: 1/1; }
.w-group  { grid-column: span 1; min-height: 72px; aspect-ratio: 1/1; transition: all 0.2s; }
.w-medium { grid-column: span 2; grid-row: span 2; min-height: 0; }
.w-large  { grid-column: span 4; grid-row: span 3; min-height: 0; }
/* Legacy — devraient avoir ete migres par sanitizeLayout, conserves au cas */
.w-small  { grid-column: span 2; min-height: 100px; }
.w-wide   { grid-column: span 4; min-height: 0; }

/* État "expanded" = uniquement span 2x2. Les start col/row sont gérés en
   inline par expandGroup() pour préserver la position d'origine. */
.w-group.expanded {
  min-height: 156px;
  box-shadow: 0 12px 32px rgba(22,58,90,0.28) !important;
  z-index: 50;
  position: relative;
  transform: scale(1.04);
}
