/* Mobile-first responsive overrides. Paired with data-* attributes in site.jsx.
   Inline styles win against class selectors, so we use attribute selectors + !important. */

/* ≤ 720px: phone layout */
@media (max-width: 720px) {
  [data-site-topbar]        { padding: 16px 20px !important; gap: 12px; flex-wrap: wrap; }
  [data-site-topbar] [data-clock] { font-size: 10px; }

  [data-site-main]          { padding: 40px 20px 56px !important; }

  [data-site-hero]          { grid-template-columns: 1fr !important; gap: 20px !important; margin-bottom: 48px !important; }
  [data-site-hero-title]    { font-size: 34px !important; letter-spacing: -0.8px !important; }
  [data-site-hero-meta]     { display: flex !important; flex-wrap: wrap; gap: 4px 14px; }
  [data-site-hero-meta] > div { display: inline; margin: 0 !important; }

  [data-site-twocol]        { grid-template-columns: 1fr !important; gap: 36px !important; margin-bottom: 48px !important; padding-bottom: 32px !important; }

  /* Project rows collapse: number+name on top line; blurb below; meta chip row last */
  [data-project-row]        { grid-template-columns: 32px 1fr 18px !important; gap: 12px !important; padding: 18px 0 !important; row-gap: 6px !important; grid-template-areas: "num name chev" "num blurb chev" "num meta chev" !important; align-items: start !important; }
  [data-project-num]        { grid-area: num; padding-top: 2px; }
  [data-project-name]       { grid-area: name; font-size: 17px !important; }
  [data-project-blurb]      { grid-area: blurb; font-size: 13px !important; }
  [data-project-meta]       { grid-area: meta; text-align: left !important; font-size: 10px !important; opacity: 0.8; }
  [data-project-chev]       { grid-area: chev; align-self: center; }

  [data-project-expanded]   { grid-template-columns: 1fr !important; gap: 20px !important; padding-left: 0 !important; }
  [data-project-expanded] [data-shot] { height: 150px !important; }

  [data-project-expanded-wrap] { max-height: 520px !important; }

  [data-writing-row], [data-contact-row] {
    grid-template-columns: 32px 1fr !important;
    grid-template-areas: "num main" "num sub" !important;
    row-gap: 4px !important;
    padding: 14px 0 !important;
    gap: 12px !important;
  }
  [data-writing-row] > :nth-child(1), [data-contact-row] > :nth-child(1) { grid-area: num; }
  [data-writing-row] > :nth-child(2), [data-contact-row] > :nth-child(2) { grid-area: main; font-size: 15px !important; }
  [data-writing-row] > :nth-child(3), [data-contact-row] > :nth-child(3) { grid-area: sub; text-align: left !important; font-size: 10px !important; }
  [data-contact-row] > :nth-child(4) { display: none !important; }
  [data-contact-row] > :nth-child(5) { display: none !important; }

  [data-site-footer]        { padding-top: 20px !important; flex-wrap: wrap; gap: 8px; }

  [data-tweaks-panel]       { right: 8px !important; left: 8px !important; bottom: 8px !important; width: auto !important; }

  /* Writing.html */
  [data-writing-article]    { padding: 40px 20px 64px !important; }
  [data-writing-title]      { font-size: 32px !important; letter-spacing: -0.6px !important; }
  [data-writing-body]       { font-size: 16px !important; }
  [data-writing-body] blockquote { margin: 28px 0 !important; padding: 20px !important; font-size: 18px !important; }
  [data-writing-navgrid]    { grid-template-columns: 1fr !important; }
}

/* 721–900px: soft padding only */
@media (min-width: 721px) and (max-width: 900px) {
  [data-site-topbar] { padding: 20px 32px !important; }
  [data-site-main]   { padding: 56px 32px 64px !important; }
}
