/*
 * ai-tailwind.css — Layout-only utility classes
 *
 * Only pure layout properties (display, flex, position, overflow, etc.).
 * No explicit units (rem, px, em) — spacing/sizing/typography left to
 * css-decorator or skeleton <style>.
 *
 * @layer utilities keeps specificity low so generated CSS can override.
 */

@layer utilities {

  /* Display */
  .flex        { display: flex; }
  .inline-flex { display: inline-flex; }
  .block       { display: block; }
  .grid        { display: grid; }
  .hidden      { display: none; }

  /* Flex direction / wrap */
  .flex-col  { flex-direction: column; }
  .flex-wrap { flex-wrap: wrap; }

  /* Flex sizing */
  .flex-1        { flex: 1 1 0%; }
  .flex-shrink-0 { flex-shrink: 0; }
  .shrink-0      { flex-shrink: 0; }

  /* Alignment */
  .items-center    { align-items: center; }
  .justify-center  { justify-content: center; }
  .justify-between { justify-content: space-between; }

  /* Position */
  .relative { position: relative; }
  .absolute { position: absolute; }
  .fixed    { position: fixed; }

  /* Inset */
  .inset-0   { inset: 0; }
  .inset-x-0 { left: 0; right: 0; }
  .top-0     { top: 0; }
  .right-0   { right: 0; }
  .bottom-0  { bottom: 0; }

  /* Overflow */
  .overflow-hidden { overflow: hidden; }
  .overflow-y-auto { overflow-y: auto; }

  /* Sizing (no units) */
  .min-w-0 { min-width: 0; }
  .h-full  { height: 100%; }
  .w-full  { width: 100%; }

  /* Grid columns */
  .grid-cols-1 { grid-template-columns: repeat(1, 1fr); }

  /* White-space / Cursor / List */
  .whitespace-nowrap { white-space: nowrap; }
  .cursor-pointer    { cursor: pointer; }
  .list-none         { list-style: none; }

  /* Responsive: md (768px) */
  @media (min-width: 768px) {
    .md\:grid-cols-2     { grid-template-columns: repeat(2, 1fr); }
    .md\:flex-row        { flex-direction: row; }
    .md\:items-center    { align-items: center; }
    .md\:justify-between { justify-content: space-between; }
  }
  .object-cover { object-fit: cover; }
}
