/* ═══════════════════════════════════════════════════════════════
   responsive.css — Anthony Squires Portfolio
   Shared across all pages.
   Breakpoints: tablet ≤ 1024px | mobile ≤ 640px | tiny ≤ 380px
═══════════════════════════════════════════════════════════════ */

/* ── TABLET (641px – 1024px) ───────────────────────────────── */
@media (max-width: 1024px) {

  .wrap { padding: 24px 20px 70px; }

  .hero { padding: 36px 36px 30px; }
  .hero h1 { font-size: 32px; }

  /* Two-col desc-card narrows but doesn't stack */
  .desc-card { grid-template-columns: 240px 1fr; }

  /* Gallery slightly smaller cells */
  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }

  /* inventor.php project split */
  .project-split { grid-template-columns: 1fr !important; }
  .viewer-frame  { height: 400px !important; }

  /* altamonte.php info split */
  .info-split { grid-template-columns: 1fr !important; gap: 20px; padding: 24px 22px; }

  /* utilitydrafter.php */
  .tools-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; }

  /* index.php */
  .udemy-grid { grid-template-columns: 1fr !important; }
}

/* ── MOBILE (≤ 640px) ──────────────────────────────────────── */
@media (max-width: 640px) {

  /* NAV */
  .nav { padding: 0 14px; height: 48px; gap: 4px; }
  .nav-name { font-size: 12px; }
  .nav-back,
  .nav-link,
  .nav-btn  { padding: 5px 10px; font-size: 12px; min-height: 40px; display: inline-flex; align-items: center; }
  .nav-cta  { font-size: 12px; padding: 6px 14px; }

  /* WRAP */
  .wrap { padding: 14px 12px 60px; }

  /* HERO */
  .hero { padding: 24px 18px 20px; border-radius: 14px; margin-bottom: 14px; }
  .hero h1 { font-size: 24px; letter-spacing: -0.4px; line-height: 1.1; }
  .hero h2 { font-size: 13px; margin-bottom: 14px; }
  .hero-desc { font-size: 13.5px; line-height: 1.62; margin-bottom: 16px; }
  .hero-divider { margin-bottom: 14px; }
  .hero-eyebrow { font-size: 10px; }
  .hero-cta { font-size: 14px; padding: 12px 24px; }
  .pill { font-size: 11px; padding: 4px 10px; }
  .software-pills { gap: 6px; }

  /* STATS */
  .stats-row { gap: 7px; margin-bottom: 14px; }
  .stat-chip  { padding: 10px 10px; min-width: 0; flex: 1; text-align: center; }
  .stat-chip strong { font-size: 17px; }
  .stat-chip span   { font-size: 9px; letter-spacing: 0.2px; }

  /* DESC CARD — stack vertically */
  .desc-card { grid-template-columns: 1fr !important; border-radius: 14px; }
  .desc-img-wrap img { min-height: 160px; max-height: 210px; }
  .desc-content { padding: 18px 18px 20px; }
  .desc-eyebrow { font-size: 9.5px; }
  .desc-title   { font-size: 18px; }
  .desc-text    { font-size: 13.5px; }
  .desc-badge   { font-size: 10.5px; padding: 4px 10px; margin-top: 12px; }

  /* NO-DESC CARD */
  .nodesc-card { padding: 20px 16px; border-radius: 14px; }
  .nodesc-card .desc-eyebrow { font-size: 9.5px; }
  .nodesc-card .desc-title   { font-size: 17px; }
  .nodesc-card .desc-text    { font-size: 13px; }
  .nodesc-card p + p { margin-top: 10px; }

  /* SECTION LABEL */
  .section-label { font-size: 10.5px; padding: 6px 12px; }

  /* GALLERY */
  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 9px; }
  .thumb-card   { border-radius: 10px; }
  .thumb-label  { font-size: 11px; padding: 6px 8px 8px; }
  .zoom-badge   { width: 24px; height: 24px; font-size: 11px; top: 6px; right: 6px; }

  /* TAB BAR (inventor_bvi.php) */
  .tab-bar-outer  { gap: 4px; margin-bottom: 14px; }
  .tab-scroll-btn { width: 28px; height: 28px; font-size: 13px; }
  .tab-btn        { font-size: 12px; padding: 7px 11px; min-height: 40px; }
  .tab-count      { font-size: 9.5px; padding: 1px 5px; }

  /* SUB-TABS */
  .sub-tab-bar { gap: 5px; margin-bottom: 14px; }
  .sub-tab-btn { font-size: 11.5px; padding: 6px 11px; min-height: 38px; }
  .sub-tab-count { font-size: 9.5px; padding: 1px 5px; }

  /* FOOTER */
  .footer-card {
    flex-direction: column !important;
    padding: 18px 14px !important;
    border-radius: 14px;
    gap: 12px;
    text-align: center;
  }
  .footer-links { flex-wrap: wrap; justify-content: center; gap: 6px; }
  .foot-link    { font-size: 12px; }

  /* LIGHTBOX — lb-panel style (inventor_bvi, illustrations) */
  .lb-panel    { max-width: 100vw; }
  .lb-img-wrap { border-radius: 0; }
  .lb-img      { max-width: 100vw; max-height: 72vh; }
  .lb-meta     { padding: 8px 12px 12px; }
  .lb-caption  { font-size: 12px; }
  .lb-counter  { font-size: 11px; }
  .lb-close    { width: 34px; height: 34px; font-size: 17px; top: 10px; right: 10px; }
  .lb-arrow    { width: 38px; height: 38px; font-size: 16px; }
  .lb-prev     { left: 8px; }
  .lb-next     { right: 8px; }

  /* LIGHTBOX — lb-inner style (altamonte, testunit) */
  .lb-inner    { max-width: 100vw; }
  .lb-img      { max-width: 100vw; max-height: 72vh; }
  .lb-prev,
  .lb-next     { width: 38px; height: 38px; min-width: 44px; min-height: 44px; font-size: 16px; }

  /* ── PAGE-SPECIFIC ── */

  /* index.php */
  .skill-groups { grid-template-columns: 1fr 1fr !important; }
  .udemy-grid   { grid-template-columns: 1fr !important; }
  .port-grid    { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important; }
  .job-top      { flex-wrap: wrap; gap: 4px; }
  .job-date     { font-size: 11px; }
  .job-title    { font-size: 14.5px; }
  .contact-row  { flex-direction: column; gap: 8px; }
  .edu-item     { gap: 10px; }
  .qr-wrap      { display: none; }
  .summary-text { font-size: 13.5px; }

  /* inventor.php */
  .project-split   { grid-template-columns: 1fr !important; }
  .viewer-frame    { height: 240px !important; }
  .preview-strip   { gap: 8px; }
  .preview-thumb   { width: 76px; height: 52px; }
  .project-title   { font-size: 20px; }
  .project-desc    { font-size: 13.5px; }

  /* altamonte.php */
  .viewer-frame    { height: 240px !important; }
  .info-split      { grid-template-columns: 1fr !important; gap: 14px; padding: 18px 14px !important; }
  .preview-grid    { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }

  /* utilitydrafter.php */
  .tools-grid      { grid-template-columns: 1fr !important; }
  .who-grid        { grid-template-columns: 1fr !important; }
  .disc-grid       { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important; }
  .tool-card       { padding: 18px 16px; }
  .cta-banner      { padding: 28px 18px; border-radius: 14px; }
  .cta-btn         { font-size: 14px; padding: 12px 22px; }
  .about-card      { padding: 22px 16px; }
  .disciplines-card { padding: 22px 16px; }
}

/* ── VERY SMALL (≤ 380px) ──────────────────────────────────── */
@media (max-width: 380px) {
  .hero h1    { font-size: 21px; }
  .nav-name   { display: none; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-chip strong { font-size: 15px; }
  .desc-title { font-size: 16px; }
  .skill-groups { grid-template-columns: 1fr !important; }
}
