/* ============================================================
   TVBoxFixer Theme — Responsive Stylesheet
   ============================================================ */

/* ── Tablet (max 1024px) ──────────────────────────────────── */
@media (max-width: 1024px) {
  :root { --container: 100%; }

  .hero-inner        { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual       { display: none; }
  .hero .lead        { max-width: 100%; }

  .featured-grid     { grid-template-columns: 1fr; }
  .featured-side     { flex-direction: row; flex-wrap: wrap; }
  .side-post         { flex: 1; min-width: 240px; }

  .cats-grid         { grid-template-columns: repeat(2, 1fr); }
  .posts-grid        { grid-template-columns: repeat(2, 1fr); }
  .posts-grid-4      { grid-template-columns: repeat(2, 1fr); }
  .software-grid     { grid-template-columns: repeat(2, 1fr); }

  .content-wrap      { grid-template-columns: 1fr; }
  .sidebar           { position: static; }

  .footer-grid       { grid-template-columns: 1fr 1fr; gap: 36px; }

  .cats-grid         { grid-template-columns: repeat(2, 1fr); }
  .software-info-grid { grid-template-columns: 1fr; }
}

/* ── Mobile (max 768px) ───────────────────────────────────── */
@media (max-width: 768px) {
  :root { --nav-h: 58px; }

  .section    { padding: 52px 0; }
  .section-sm { padding: 36px 0; }
  .container  { padding: 0 16px; }

  /* Nav */
  #primary-menu { display: none; }
  .nav-toggle    { display: flex; }
  .header-right  { margin-left: auto; }

  /* Hero */
  .hero          { padding: 48px 0 56px; }
  .hero-stats    { gap: 16px; }
  .hero-actions  { flex-direction: column; align-items: flex-start; }
  .hero-search .search-field { padding: 14px 110px 14px 46px; font-size: .9rem; }

  /* Grids → single column */
  .posts-grid, .posts-grid-2, .posts-grid-4 { grid-template-columns: 1fr; }
  .cats-grid     { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .software-grid { grid-template-columns: 1fr; }

  /* Featured side → vertical */
  .featured-side { flex-direction: column; }
  .side-post     { flex: unset; min-width: unset; }

  /* Newsletter */
  .newsletter-band  { padding: 36px 22px; }
  .newsletter-row   { flex-direction: column; }
  .nl-submit        { width: 100%; text-align: center; }

  /* Footer */
  .footer-grid        { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom      { flex-direction: column; text-align: center; }
  .footer-bottom-links { justify-content: center; }

  /* Form */
  .form-grid-2 { grid-template-columns: 1fr; }

  /* Article */
  .entry-header   { padding: 32px 0 24px; }
  .entry-body     { padding: 32px 0 52px; }
  .entry-content h2 { font-size: 1.3rem; margin: 28px 0 12px; padding-top: 28px; }

  /* Software */
  .software-card-header { flex-direction: column; align-items: flex-start; }

  /* Search */
  .search-hero-card { padding: 16px; }

  .share-btns { gap: 6px; }
  .share-btn  { padding: 7px 12px; font-size: .77rem; }
}

/* ── Small Mobile (max 480px) ─────────────────────────────── */
@media (max-width: 480px) {
  h1 { font-size: 1.6rem; }
  h2 { font-size: 1.25rem; }
  .cats-grid { grid-template-columns: 1fr; }
  .hero-stats { flex-wrap: wrap; }
  .featured-meta { flex-direction: column; gap: 4px; }
  .entry-meta { gap: 10px; }
  .pagination { gap: 4px; }
  .page-numbers, .pagination a, .pagination span { width: 34px; height: 34px; font-size: .82rem; }
  .toc-box { padding: 16px; }
  .step-block { flex-direction: column; gap: 10px; }
  .step-num { width: 28px; height: 28px; }
}

/* ── Print ────────────────────────────────────────────────── */
@media print {
  #site-header, #site-footer, .sidebar, .share-section,
  .related-posts, .comments-area, .newsletter-band,
  .cats-bar, .breadcrumb-wrap { display: none !important; }
  .content-wrap { grid-template-columns: 1fr; }
  body { font-size: 12pt; color: #000; }
  a    { color: #000; }
  .entry-content a::after { content: " (" attr(href) ")"; font-size: .8em; }
}
