/*
 * SocialLinks static stylesheet (20-02 Task 1; ART-04, Phase 20 Codex Ruling
 * 3). The component emits ONLY data attributes; this sheet owns spacing, the
 * data-size 16/20/24px icon dimensions, focus styling, and the icons-labels
 * visible-label layout. Served from /noon-social-links.css and hoisted into the
 * head by React's <link precedence> dedup whenever a SocialLinks renders.
 */

/* Every rule below is in the `noon` cascade layer, so operator `customCss`
 * (unlayered) beats it regardless of specificity and of hoist order — the FULL
 * rationale lives ONCE, in `noon-theme.css`. Same layer name as all four Noon
 * sheets, so their order among themselves is unchanged; the rules are NOT
 * re-indented, so this file's only diff is the wrapper (260730-csc, #25). */
@layer noon {
  [data-block="SocialLinks"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
  }

  [data-block="SocialLinks"] a {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: currentColor;
    text-decoration: none;
  }

  [data-block="SocialLinks"] a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  /* ICON DIMENSIONS keyed on data-size (Ruling 3): sm 16 / md 20 / lg 24 px. */
  [data-block="SocialLinks"][data-size="sm"] svg {
    width: 16px;
    height: 16px;
  }

  [data-block="SocialLinks"][data-size="md"] svg {
    width: 20px;
    height: 20px;
  }

  [data-block="SocialLinks"][data-size="lg"] svg {
    width: 24px;
    height: 24px;
  }

  /* biome-ignore lint/style/noDescendingSpecificity: the sheet is ordered by block narrative; specificity, not order, decides between these two */
  [data-block="SocialLinks"] svg {
    display: block;
    flex: none;
  }

  /* Visible labels appear ONLY for the icons-labels variant (the icons variant
 * keeps the label as the anchor's accessible name via aria-label). */
  [data-block="SocialLinks"][data-variant="icons"] [data-social-label] {
    display: none;
  }

  /* ── close of @layer noon (260730-csc) ── */
}
