/* Video Wall Manager V1.0 FIX4 (retains FIX2 larger typography) - 2026-11-05
   Larger, more legible typography for Windows, iPad, Android tablets and phones.
   This file loads after style.css and leaves all site data untouched.
*/
:root { font-size: 17px; }
body { font-size: 17px; line-height: 1.55; }
h1 { line-height: 1.22; }
h2, .section-row h2 { font-size: 23px; line-height: 1.3; }
h3 { font-size: 18px; }
small, .small { font-size: 14px; }
.muted { line-height: 1.6; }
.eyebrow { font-size: 12px; }
.soft-label, .count-label { font-size: 14px; }

/* Navigation */
.sidebar { width: 272px; min-width: 272px; }
.brand { padding: 29px 18px 28px; }
.brand strong, .auth-brand strong { font-size: 20px; letter-spacing: .3px; }
.brand small, .auth-brand small { font-size: 11px; letter-spacing: .35px; white-space: normal; }
.sidebar-label { font-size: 13px; padding: 23px 19px 10px; }
.nav-link { font-size: 16px; padding: 12px 13px; line-height: 1.45; }
.user-identity strong { font-size: 15px; }
.user-identity small { font-size: 13px; }
.topbar-location { font-size: 15px; }
.private-pill { font-size: 13px; }
.topbar-add { font-size: 15px; padding: 11px 15px; }
.footer { font-size: 13px; line-height: 1.55; }

/* Headings, action buttons, filters */
.page-heading p { font-size: 16px; }
.btn { font-size: 15px; min-height: 44px; padding: 10px 16px; }
.btn.small { font-size: 14px; min-height: 39px; }
.stat-number { font-size: 28px; }
.stat-label { font-size: 14px; }
.view-switch a { font-size: 15px; min-height: 42px; }
.chip { font-size: 14px; padding: 10px 13px; }
.chip span { font-size: 12px; }
.filter-form { gap: 10px; }
.filter-form select { font-size: 15px; min-height: 45px; max-width: 175px; }
.filter-form input { min-height: 45px; }
.search-input { max-width: 480px; }
.search-input input { font-size: 15px; }
.tiny-check { font-size: 14px; }
.density-control { font-size: 14px; }
.density-control select { font-size: 14px; min-height: 42px; max-width: 92px; }
.density-control small { font-size: 13px; }

/* TV wall cards */
.video-body { padding: 16px 15px; }
.video-title-row h3 { font-size: 17px; min-height: 49px; line-height: 1.43; }
.video-cats { min-height: 26px; }
.video-cats span { font-size: 13px; padding: 5px 8px; }
.video-notes { font-size: 14px; }
.video-meta { font-size: 13px; gap: 8px; flex-wrap: wrap; }
.video-actions { gap: 12px 14px; }
.video-actions a, .video-actions button { font-size: 14px; min-height: 30px; line-height: 1.3; }
.platform-tag, .broken-tag { font-size: 13px; }
.empty-state p { font-size: 16px; }
.pagination { font-size: 15px; }

/* Forms, classification, accounts and system pages */
.form-group > label { font-size: 16px; }
.form-group small, .input-hint { font-size: 14px; line-height: 1.6; }
.form-group input:not([type=checkbox]), .form-group textarea,
.form-group select, .stack-form input, .stack-form select,
.inline-rename input, .account-controls select, .account-controls input {
  font-size: 16px; min-height: 45px;
}
.check-pill span { font-size: 15px; padding: 11px 14px; }
.tips-panel p, .tips-panel li { font-size: 15px; }
.inline-rename span { font-size: 13px; white-space: normal; }
.stack-form label { font-size: 16px; }
.info-note { font-size: 15px; }
.account-controls select, .account-controls input { font-size: 15px; }
.restore-steps { font-size: 16px; }
.auth-container { max-width: 520px; }
.auth-card .muted { font-size: 16px; }
.auth-hint { font-size: 14px; }
.flash { font-size: 15px; }
.theater-item strong { font-size: 15px; }
.theater-item small { font-size: 13px; }
.dialog-footer p { font-size: 14px; }
.dialog-heading h2 { font-size: 21px; }
.no-embed { font-size: 16px; }

/* Accessible tablet & phone layouts. Original CSS maintains 2-column phone wall. */
@media (max-width:1120px) {
  .sidebar { width: 242px; min-width: 242px; }
  .nav-link { font-size: 15px; }
  .theater-playlist { gap: 10px; }
}
@media (max-width:850px) {
  .sidebar { width: min(290px, 85vw); min-width: 0; }
  .topbar-location { font-size: 15px; }
  .topbar { min-height: 66px; height: auto; padding-top: 9px; padding-bottom: 9px; }
  .main-content { padding: 24px 18px 50px; }
  .menu-toggle { font-size: 24px; min-width: 44px; min-height: 44px; }
}
@media (max-width:620px) {
  body { font-size: 16px; }
  .topbar-add { font-size: 14px; padding: 10px; }
  .topbar-location { font-size: 13px; min-width: 0; }
  .topbar-right { gap: 6px; }
  .page-heading h1 { font-size: 27px; }
  .page-heading p { font-size: 15px; }
  .page-heading .btn { font-size: 14px; padding: 10px 12px; }
  .stat-number { font-size: 25px; }
  .stat-tile { padding: 14px 12px; }
  .video-title-row h3 { font-size: 15px; min-height: 43px; }
  .video-body { padding: 12px 11px; }
  .video-meta { font-size: 12px; }
  .video-actions { gap: 9px 11px; }
  .video-actions a, .video-actions button { font-size: 13px; }
  .video-cats span, .platform-tag, .broken-tag { font-size: 12px; }
  .view-switch a { font-size: 14px; }
  .filter-form select { flex: 1 1 120px; max-width: none; }
  .search-input { flex: 1 0 100%; max-width: 100%; }
  .density-control { flex-wrap: wrap; }
  .auth-card { padding: 24px 20px; }
  .dialog-heading h2 { font-size: 18px; }
}
@media (max-width:360px) {
  .video-grid[data-columns], .video-grid.short-grid[data-columns] { grid-template-columns: 1fr; }
  .page-heading { flex-wrap: wrap; }
  .topbar-location { font-size: 12px; }
}

/* A 10-inch landscape tablet benefits from wider cards once type is enlarged. */
@media (min-width: 1001px) and (max-width: 1250px) {
  .video-grid[data-columns="4"], .video-grid.short-grid[data-columns="4"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* Legacy two-level navigation styles (overridden by FIX4 folder CSS), comfortable for touch and tablet. */
.category-tree-section{border:1px solid #e5ecec;border-radius:13px;margin:13px 0;padding:8px;background:#fcfdfd}
.hierarchical-categories{display:block}
.category-tree-section .cat-manage-row{display:flex;align-items:center;gap:9px;padding:10px 7px;border-bottom:1px solid #edf1ef;min-width:0}
.category-tree-section .cat-manage-row:last-child{border-bottom:0}
.category-tree-section .sub-category-row{margin-left:22px;background:#f2f8f7;border-radius:9px;margin-top:5px}
.category-tree-section .main-category-row{font-weight:750}
.category-edit-form{display:flex;flex:1;gap:8px;align-items:center;min-width:0;flex-wrap:wrap}
.category-edit-form input{flex:2 1 135px;min-width:100px;max-width:340px}
.category-edit-form select{flex:1 1 130px;min-width:120px;max-width:230px}
.category-edit-form .cat-video-count{font-size:13px;color:#657d80;white-space:normal}
.category-tree-section .cat-symbol{font-size:23px;color:#3a7b88;flex-shrink:0}
.category-tree-section .btn{min-height:41px}
.category-chips .child-chip{background:#f5f9f8;border-color:#dfe9e6;color:#4f7378}
.category-chips .main-chip{font-weight:800;background:#edf4f4}
.category-chips .main-chip.active{background:#d4eded;border-color:#85bdbe}
.check-pill .subcategory-choice{border-left:3px solid #99c7c2}
@media(max-width:620px){
  .category-tree-section .cat-manage-row{flex-wrap:wrap;align-items:flex-start}
  .category-tree-section .sub-category-row{margin-left:11px}
  .category-edit-form{flex-basis:85%}
  .category-edit-form input,.category-edit-form select{flex:1 1 100%;max-width:none}
  .category-tree-section .confirm-delete{margin-left:auto}
}
