/* V20 mobile QA hardening — safe overrides for phone/tablet layouts. */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe, canvas, svg { max-width: 100%; }
button, input, select, textarea { max-width: 100%; box-sizing: border-box; }

/* Public growth pages */
.gc-wrap { min-width: 0; }
.gc-nav, .gc-hero, .gc-card, .gc-section, .gc-quiz, .gc-stat, .gc-grid,
.quiz-top, .quiz-actions, .gc-actions, .gc-share, .quiz-options, .video-grid,
.contact-form-row, .video-search-bar, .admin-grid, .admin-table { min-width: 0; max-width: 100%; }
.gc-hero > *, .gc-grid > *, .gc-stat > *, .gc-card > * { min-width: 0; }
.gc-card, .gc-feature, .quiz-option { overflow-wrap: anywhere; }
.gc-btn { min-width: 0; white-space: normal; text-align: center; }
.quiz-question, .quiz-note, .quiz-top, .quiz-option { overflow-wrap: anywhere; }
.quiz-options input { flex: 0 0 auto; }

/* Exam library: keep tabs usable without causing page-level horizontal scroll. */
.library-tabs { display:flex; max-width:100%; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.library-tabs::-webkit-scrollbar { display:none; }
.library-tab { flex:0 0 auto; min-width:fit-content; }
.library-test-card, .library-series-card, .library-subject-card, .library-exam-card { min-width:0; }
.library-test-main, .library-series-copy, .library-exam-copy { min-width:0; overflow-wrap:anywhere; }
.library-test-card h4, .library-test-card p, .library-series-copy strong, .library-series-copy small,
.library-exam-copy strong, .library-exam-copy small { overflow-wrap:anywhere; white-space:normal; }

/* App header and active-exam controls */
#appShell, .main-content, .view-container, .section-hero, .exam-library-shell { min-width:0; max-width:100%; }
.target-exam-chips { min-width:0; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.target-exam-chips::-webkit-scrollbar { display:none; }
.target-exam-chip { flex:0 0 auto; max-width:86vw; white-space:normal; overflow-wrap:anywhere; }

/* Growth analytics/admin */
.gc-admin .admin-grid { min-width:0; }
.gc-admin .admin-table { min-width:520px; }
.gc-admin [style*="overflow:auto"] { max-width:100%; overflow-x:auto; }

@media (max-width: 767px) {
  .gc-wrap { width: min(100% - 20px, 1120px); }
  .gc-nav { gap:10px; align-items:flex-start; flex-wrap:wrap; }
  .gc-nav > * { min-width:0; }
  .gc-nav .gc-badge { max-width:100%; white-space:normal; }
  .gc-hero { grid-template-columns:1fr; gap:14px; padding:22px 0 18px; }
  .gc-hero h1 { font-size:clamp(1.7rem,8vw,2.45rem); overflow-wrap:anywhere; }
  .gc-hero p { font-size:.92rem; line-height:1.55; }
  .gc-actions, .quiz-actions, .gc-share { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
  .gc-actions > *, .quiz-actions > *, .gc-share > * { width:100%; min-width:0; }
  .gc-stat { grid-template-columns:1fr; }
  .gc-grid { grid-template-columns:1fr; }
  .gc-section { padding:16px 0; }
  .gc-quiz { margin:18px 0; padding:15px; }
  .quiz-top { align-items:flex-start; flex-direction:column; }
  .quiz-actions { gap:8px; }
  .quiz-option { padding:12px; }
  .gc-score { font-size:2.5rem; }

  /* Full app exam library */
  .exam-library-hero { grid-template-columns:1fr !important; }
  .exam-library-actions { width:100%; display:grid; grid-template-columns:1fr; }
  .exam-library-actions > * { width:100%; }
  .library-tabs { padding-bottom:4px; }
  .library-tab { min-height:42px; }
  .library-test-card { gap:10px; }

  /* Admin mobile */
  .gc-admin { padding:16px 0 30px; }
  .gc-admin .gc-nav { display:flex; }
  .gc-admin .gc-nav .gc-btn { width:auto; }
  .gc-admin .admin-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .gc-admin .admin-metric { min-width:0; padding:13px; }
  .gc-admin .admin-metric strong { font-size:1.35rem; overflow-wrap:anywhere; }
  .gc-admin .admin-label { line-height:1.25; overflow-wrap:anywhere; }
}

@media (max-width: 430px) {
  .gc-wrap { width: min(100% - 14px, 1120px); }
  .gc-card { padding:14px; border-radius:16px; }
  .gc-nav { padding:10px 0; }
  .gc-logo { font-size:.95rem; }
  .gc-admin .admin-grid { grid-template-columns:1fr 1fr; }
  .gc-admin .admin-table { min-width:470px; }
  .target-exam-chip { max-width:78vw; }
}

@media (max-width: 360px) {
  .gc-admin .admin-grid { grid-template-columns:1fr; }
  .gc-btn { padding:12px 14px; font-size:.9rem; }
  .gc-hero h1 { font-size:1.7rem; }
}
