/* ================================================================
   NEPAL BUDGET 2083/84 — Responsive Stylesheet
   Breakpoints: 1200px | 960px | 768px | 480px | print
   ================================================================ */

/* ── 1200px ── */
@media (max-width: 1200px) {
  .hero-inner { grid-template-columns: 1fr 360px; gap: 40px; }
  .highlights-grid { grid-template-columns: repeat(3, 1fr); }
  .figures-grid { grid-template-columns: repeat(4, 1fr); }
  .ql-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 28px; }
}

/* ── 960px ── */
@media (max-width: 960px) {
  .container { padding: 0 16px; }

  /* Header */
  .site-title { font-size: 1rem; }
  .site-subtitle { font-size: .72rem; }
  .header-logo { width: 46px; height: 46px; }

  /* Nav — mobile drawer */
  .nav-toggle { display: flex; }
  .nav-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: var(--blue-dark);
    z-index: 998;
    padding: 8px 0;
    box-shadow: 0 12px 32px rgba(0,0,0,.35);
  }
  .nav-menu.open { display: flex; }
  .nav-menu li a { padding: 12px 20px; border-bottom: 1px solid rgba(255,255,255,.07); }
  .nav-menu li a.active { border-left: 4px solid var(--orange); border-bottom-color: transparent; }

  /* Hero — stack */
  .hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .hero-title { font-size: 2.4rem; }
  .hero-panel { display: none; } /* hide panel on tablet, show stat ribbon */
  .hero-stats-ribbon { grid-template-columns: repeat(3, 1fr); }
  .hero-section { min-height: auto; padding: 60px 0 48px; }

  /* Snapshot */
  .snapshot-inner { grid-template-columns: repeat(3, 1fr); }
  .snapshot-inner > .snap-item:nth-child(4),
  .snapshot-inner > .snap-item:nth-child(5) { display: none; }

  /* Grids */
  .highlights-grid { grid-template-columns: repeat(2, 1fr); }
  .figures-grid { grid-template-columns: repeat(3, 1fr); }
  .ql-grid { grid-template-columns: repeat(2, 1fr); }
  .ov-grid { grid-template-columns: repeat(3, 1fr); }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .revenue-grid { grid-template-columns: repeat(2, 1fr); }
  .social-grid { grid-template-columns: repeat(2, 1fr); }
  .infra-grid { grid-template-columns: repeat(2, 1fr); }

  /* Charts */
  .charts-row { grid-template-columns: 1fr; }
  .charts-grid { grid-template-columns: 1fr; }

  /* Economy */
  .economy-two-col { grid-template-columns: 1fr; }

  /* Minister */
  .minister-card { flex-direction: column; text-align: center; padding: 36px 28px; gap: 24px; }
  .minister-quote { text-align: left; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }

  /* Section */
  .section { padding: 60px 0; }
  .section-header { margin-bottom: 40px; }
  .section-header h2 { font-size: 1.7rem; }
}

/* ── 768px — Mobile ── */
@media (max-width: 768px) {
  /* Disclaimer */
  .disclaimer-bar { font-size: .75rem; }
  .disclaimer-bar .container { gap: 8px; }

  /* Header */
  .header-inner { padding: 10px 0; }
  .header-logo { width: 40px; height: 40px; }
  .site-title { font-size: .92rem; }
  .header-actions { gap: 8px; }
  .lang-btn { padding: 4px 11px; font-size: .75rem; }

  /* Hero */
  .hero-section { padding: 48px 0 36px; }
  .hero-title { font-size: 2rem; }
  .hero-subtitle-line { font-size: 1.05rem; }
  .hero-desc { font-size: .88rem; }
  .hero-badge { font-size: .75rem; padding: 5px 14px; }
  .hero-actions { flex-direction: column; gap: 10px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-stats-ribbon { grid-template-columns: 1fr; gap: 8px; }
  .hero-stat-box { padding: 12px 16px; text-align: left; display: flex; align-items: center; gap: 16px; }
  .hero-stat-num { font-size: 1.35rem; }

  /* Snapshot */
  .snapshot-inner { grid-template-columns: 1fr 1fr 1fr; }

  /* All grids → single column */
  .highlights-grid { grid-template-columns: 1fr; }
  .figures-grid { grid-template-columns: repeat(2, 1fr); }
  .ql-grid { grid-template-columns: 1fr; }
  .ov-grid { grid-template-columns: repeat(2, 1fr); }
  .kpi-grid { grid-template-columns: 1fr; }
  .revenue-grid { grid-template-columns: 1fr; }
  .social-grid { grid-template-columns: 1fr; }
  .infra-grid { grid-template-columns: 1fr; }

  /* Section */
  .section { padding: 48px 0; }
  .section-header h2 { font-size: 1.5rem; }
  .section-header p { font-size: .88rem; }

  /* Priorities */
  .priority-item { padding: 18px 20px; }
  .priority-num { width: 42px; height: 42px; font-size: 1.1rem; }

  /* Minister */
  .minister-card { padding: 28px 20px; }
  .minister-avatar { width: 120px; height: 120px; font-size: 3rem; }
  .minister-name { font-size: 1.3rem; }

  /* Tables */
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .data-table { min-width: 560px; }
  .data-table thead th,
  .data-table tbody td,
  .data-table tfoot td { padding: 10px 12px; font-size: .82rem; }

  /* Accordion */
  .accordion-header { padding: 14px 16px; font-size: .88rem; }
  .accordion-body-inner { padding: 16px 18px; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; }
  .footer-main { padding: 40px 0 24px; }
  .footer-bottom .container { flex-direction: column; text-align: center; gap: 6px; }

  /* Page header */
  .page-header { padding: 40px 0 32px; }
  .page-header h1 { font-size: 1.7rem; }

  /* Speech */
  .speech-body { padding: 28px 20px; }
}

/* ── 480px — Small mobile ── */
@media (max-width: 480px) {
  .container { padding: 0 12px; }

  .hero-title { font-size: 1.7rem; }
  .hero-section { padding: 38px 0 28px; }

  .snapshot-inner { grid-template-columns: 1fr; }
  .snapshot-inner > .snap-item:nth-child(n) { display: flex; align-items: center; gap: 14px; justify-content: center; border-bottom: 1px solid rgba(255,255,255,.08); }

  .figures-grid { grid-template-columns: 1fr 1fr; }
  .ov-grid { grid-template-columns: 1fr; }

  .section-header h2 { font-size: 1.35rem; }
  .btn-lg { padding: 12px 22px; font-size: .88rem; }

  .minister-card { padding: 22px 16px; }

  .chart-box { padding: 18px 14px; }
  .chart-wrap canvas { max-height: 250px; }

  .highlight-card { padding: 20px 18px; }
  .ql-card { padding: 20px 16px; }

  .back-to-top { width: 42px; height: 42px; right: 16px; bottom: 16px; }
}

/* ── Print ── */
@media print {
  .disclaimer-bar,
  .site-header,
  .main-nav,
  .nav-toggle,
  .hero-actions,
  .hero-panel,
  .back-to-top,
  .charts-row,
  .charts-grid,
  .chart-box,
  .sector-tabs,
  .quick-links-section,
  .footer-grid,
  .footer-bottom,
  .stripe-divider,
  .snapshot-strip { display: none !important; }

  body { font-size: 11pt; color: #000; background: #fff; font-family: serif; }
  .container { max-width: 100%; padding: 0; }
  .section { padding: 20px 0; }
  .hero-section { background: #fff !important; color: #000; padding: 10px 0; min-height: auto; }
  .hero-title { color: #003893 !important; font-size: 18pt; }
  .hero-title .title-highlight { color: #c9a84c !important; }
  .hero-desc, .hero-subtitle-line { color: #333 !important; }
  .hero-stats-ribbon { display: none; }

  .section-header h2 { color: #003893; }
  .highlight-card, .figure-card, .kpi-card, .ov-card { box-shadow: none !important; border: 1px solid #ccc !important; }
  .figures-section { background: #f5f5f5 !important; }
  .priorities-section { background: #f5f5f5 !important; }
  .fig-num, .priority-body h3 { color: #003893 !important; }
  .fig-label, .priority-body p { color: #333 !important; }
  .data-table thead th { background: #003893 !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 8pt; color: #666; }
}
