/* =========================================================
   UI LAYOUT PRIMITIVES
   Minimal, reusable, semantic-free layout helpers
   ========================================================= */


/* =========================================================
   ROW — horizontal layout
   ========================================================= */

   .ui-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
  }
  
  .ui-row.center {
    align-items: center;
  }
  
  .ui-row.start {
    align-items: flex-start;
  }
  
  .ui-row.end {
    align-items: flex-end;
  }
  
  .ui-row.between {
    justify-content: space-between;
  }
  
  
  /* =========================================================
     COLUMN — vertical layout
     ========================================================= */
  
  .ui-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .ui-col.center {
    align-items: center;
  }
  
  .ui-col.start {
    align-items: flex-start;
  }
  
  .ui-col.end {
    align-items: flex-end;
  }
  
  
  /* =========================================================
     INLINE — icon + text (most common case)
     ========================================================= */
  
  .ui-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  
  
  /* =========================================================
     STACK — vertical rhythm (like feed stack, lists)
     ========================================================= */
  
  .ui-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  
  /* =========================================================
     CENTERING
     ========================================================= */
  
  .ui-center {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  
  /* =========================================================
     FILL / FLEX BEHAVIOR
     ========================================================= */
  
  .ui-grow {
    flex: 1;
  }
  
  .ui-shrink {
    flex-shrink: 0;
  }
  
  
  /* =========================================================
     TEXT HELPERS (optional but useful)
     ========================================================= */
  
  .ui-text-center {
    text-align: center;
  }
  
  .ui-text-right {
    text-align: right;
  }
  
  
  /* =========================================================
     SPACING HELPERS (lightweight)
     ========================================================= */
  
  .ui-gap-xs { gap: 4px; }
  .ui-gap-sm { gap: 6px; }
  .ui-gap-md { gap: 10px; }
  .ui-gap-lg { gap: 14px; }
  .ui-gap-xl { gap: 20px; }
  
  .ui-media-body strong,
  .ui-media-body h1,
  .ui-media-body h2,
  .ui-media-body h3,
  .ui-media-body h4 {
    margin: 0;
    line-height: 1.2;
  } 
  
/* =========================================================
   MEDIA — refined (compact + balanced)
   ========================================================= */

   .ui-media {
    display: flex;
    gap: 10px;
  
    align-items: center; /* was flex-start → fixes vertical centering */
  }
  
  /* ICON */
  
  .ui-media-icon {
    flex-shrink: 0;
  
    font-size: 20px;     /* slightly larger */
    line-height: 1;
  }
  
  /* BODY */
  
  .ui-media-body {
    display: flex;
    flex-direction: column;
  
    gap: 2px;            /* tighter spacing */
  }
  
  /* remove default paragraph margins */
  
  .ui-media-body p {
    margin: 0;
  }