/* Header-only overrides. WP color-override.css has global !important link colours. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
#ts-shared-header{position:sticky;top:0;z-index:1000;width:100%;margin:0;padding:0;background:#fff;border-bottom:1px solid #e2e8f0;color:#1a2332;font:400 16px/1.6 Inter,Arial,sans-serif;isolation:isolate;text-align:left;-webkit-font-smoothing:antialiased;}
#ts-shared-header *,#ts-shared-header *::before,#ts-shared-header *::after{box-sizing:border-box;}
#ts-shared-header .ts-h-inner{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
#ts-shared-header a,#ts-shared-header a:visited{color:#1a2332!important;text-decoration:none!important;border:0;box-shadow:none;font:600 14px/1.6 Inter,Arial,sans-serif;letter-spacing:normal;}
#ts-shared-header a::before,#ts-shared-header a::after{content:none;}
#ts-shared-header a:hover,#ts-shared-header a:focus{color:#1565c0!important;}
#ts-shared-header a:focus-visible,#ts-shared-header summary:focus-visible,#ts-shared-header button:focus-visible{outline:3px solid #1565c0;outline-offset:4px;}
#ts-shared-header .ts-h-logo{display:flex;align-items:center;flex-shrink:0;line-height:0;}
#ts-shared-header .ts-h-logo img{display:block;height:50px;width:auto;max-width:100%;object-fit:contain;margin:0;}
#ts-shared-header nav{display:flex;align-items:center;gap:18px;margin:0;padding:0;min-width:0;flex-shrink:1;}
#ts-shared-header nav>a{white-space:nowrap;padding:0;}
#ts-shared-header details{position:relative;margin:0;padding:0;border:0;}
#ts-shared-header .ts-h-quizzes>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font:600 13.5px/1.6 Inter,Arial,sans-serif;padding:0;color:#1a2332;white-space:nowrap;}
#ts-shared-header summary::-webkit-details-marker{display:none;}
#ts-shared-header .ts-h-chevron{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);flex-shrink:0;}
#ts-shared-header .ts-h-submenu{position:absolute;top:calc(100% + 12px);left:0;min-width:210px;padding:8px;border:1px solid #e2e8f0;border-radius:12px;background:white;box-shadow:0 12px 28px #0f172a24;z-index:30;}
#ts-shared-header .ts-h-submenu a{display:block;padding:9px 10px;border-radius:8px;font-size:13px;white-space:nowrap;}
#ts-shared-header .ts-h-submenu a:hover{background:#eff6ff;}
#ts-shared-header .ts-h-quizzes{overflow:visible;}
#ts-shared-header .ts-h-quizzes:not([open])>.ts-h-submenu{display:none!important;}
#ts-shared-header .ts-h-quizzes[open]>.ts-h-submenu{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto;}
/* Bridge the gap below the trigger so moving the pointer into the menu is safe. */
#ts-shared-header .ts-h-submenu::before{content:'';position:absolute;top:-13px;left:0;right:0;height:13px;}
#ts-shared-header .ts-h-quizzes[open]>summary .ts-h-chevron{transform:translateY(2px) rotate(225deg);}
#ts-shared-header .ts-h-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
#ts-shared-header .ts-h-signin,#ts-shared-header .ts-h-signin:visited,#ts-shared-header .ts-h-signin:focus{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 18px;border-radius:12px;background:#ff6500;color:#fff!important;font-size:14px;font-weight:800;white-space:nowrap;box-shadow:0 8px 16px #ff650033;transition:background .2s,transform .2s;}
#ts-shared-header .ts-h-signin:hover{background:#e95600;color:#fff!important;transform:translateY(-1px);}
#ts-shared-header .ts-h-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:40px;height:40px;padding:8px;border:0;border-radius:0;box-shadow:none;background:transparent;cursor:pointer;}
#ts-shared-header .ts-h-toggle span{display:block;width:24px;height:2px;border-radius:2px;background:#1a2332;}
#ts-shared-header .ts-h-mobile-close,#ts-shared-header .ts-h-backdrop{display:none;}
#ts-shared-header .ts-h-board-slot{width:228px;flex-shrink:1;min-width:0;margin-right:10px;}
#ts-shared-header .ts-h-board-fallback{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:36px;padding:7px 12px;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;}
#ts-shared-header .board-grade-form{width:100%;margin:0;}
#ts-shared-header .board-grade-picker{width:100%;}
#ts-shared-header .board-grade-select{width:100%;font-family:Inter,Arial,sans-serif;line-height:1.6;}
#ts-shared-header .board-grade-picker p{font-family:Inter,Arial,sans-serif;line-height:1.6;}
#ts-shared-header .board-grade-picker button{font-family:Inter,Arial,sans-serif;box-shadow:none;text-transform:none;letter-spacing:normal;}
#ts-shared-header .board-grade-picker .fas{display:inline-block;width:7px;height:7px;flex-shrink:0;font-style:normal;}
#ts-shared-header .board-grade-picker .fa-chevron-down{border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);}
#ts-shared-header .board-grade-picker .fa-chevron-right{border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);}
#ts-shared-header .board-grade-picker .fa-check{width:12px;height:auto;}
#ts-shared-header .board-grade-picker .fa-check::before{content:'\2713';}
body.admin-bar #ts-shared-header{top:32px;}
@media(max-width:768px){
 #ts-shared-header .ts-h-inner{padding:12px 16px;}
 #ts-shared-header .ts-h-toggle{display:flex;}
 #ts-shared-header nav{display:none;position:fixed;top:0;right:0;width:100%;max-width:320px;height:100vh;height:100dvh;overflow-y:auto;padding:24px;align-items:stretch;flex-direction:column;gap:0;background:#fff;box-shadow:-4px 0 20px #0000001a;z-index:2000;}
 #ts-shared-header.ts-h-open nav{display:flex;}
 #ts-shared-header .ts-h-mobile-close{display:flex;justify-content:flex-end;margin:0 0 32px;}
 #ts-shared-header .ts-h-mobile-close button{padding:0;background:none;border:0;box-shadow:none;color:#1a2332;font:400 28px/1 Inter,Arial,sans-serif;cursor:pointer;}
 #ts-shared-header .ts-h-backdrop:not([hidden]){display:block;position:fixed;inset:0;width:100%;height:100vh;margin:0;padding:0;background:#0005;border:0;border-radius:0;box-shadow:none;z-index:1999;}
 #ts-shared-header .ts-h-submenu{position:static;min-width:0;box-shadow:none;}
 #ts-shared-header .ts-h-submenu::before{display:none;}
 #ts-shared-header .ts-h-submenu a{white-space:normal;font-size:13px;}
 #ts-shared-header nav>a,#ts-shared-header .ts-h-quizzes>summary{padding:16px 0;font-size:16px;border-bottom:1px solid #e2e8f0;}
 #ts-shared-header .ts-h-board-slot{width:100%;margin:8px 0 16px;flex-shrink:0;}
 #ts-shared-header .board-grade-select{max-width:100%;min-height:42px;border-radius:10px;}
 #ts-shared-header .board-grade-menu{position:relative;width:100%;margin-top:6px;max-height:50vh;}
}
@media(max-width:782px){body.admin-bar #ts-shared-header{top:46px;}}
@media(max-width:600px){body.admin-bar #ts-shared-header{top:0;}#ts-shared-header .ts-h-logo img{height:38px;}}

/* Home is the default selected item on the homepage. */
body.home #ts-shared-header nav>a.ts-h-home,
body.home #ts-shared-header nav>a.ts-h-home:visited{
  padding:7px 11px;
  border-radius:999px;
  background:#eaf2ff;
  color:#0757bd!important;
}

/* Unified visual system: match the Laravel primary header on all WordPress pages. */
#ts-shared-header {
  border-bottom-color:#e5eaf2;
  box-shadow:0 1px 0 rgba(15,23,42,.08);
}
#ts-shared-header .ts-h-inner {
  min-height:76px;
  max-width:1200px;
  padding:10px 24px;
  gap:26px;
}
#ts-shared-header .ts-h-logo img { height:46px; }
#ts-shared-header nav { gap:22px; }
#ts-shared-header nav>a,
#ts-shared-header .ts-h-quizzes>summary {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 1px;
  color:#1f2937;
  font-size:14px;
  font-weight:700;
  line-height:1;
}
#ts-shared-header .ts-h-quizzes>summary { gap:7px; }
#ts-shared-header .ts-h-chevron { width:7px; height:7px; }
#ts-shared-header .ts-h-submenu {
  top:calc(100% + 12px);
  left:50%;
  min-width:238px;
  padding:7px;
  border-radius:14px;
  box-shadow:0 18px 38px rgba(15,23,42,.16);
  transform:translateX(-50%);
}
#ts-shared-header .ts-h-submenu a {
  display:flex;
  align-items:center;
  min-height:38px;
  padding:0 11px;
  border-radius:9px;
  color:#334155!important;
  font-size:12.5px;
  font-weight:650;
}
#ts-shared-header .ts-h-submenu a:hover { color:#0757bd!important; }
#ts-shared-header .ts-h-actions { gap:0; }
#ts-shared-header .ts-h-toggle {
  width:40px;
  height:40px;
  gap:4px;
  padding:0;
  border:1px solid #dbe3ef;
  border-radius:11px;
  background:#f8fafc;
}
#ts-shared-header .ts-h-toggle span { width:18px; height:2px; background:#1e3a5f; }
body.home #ts-shared-header nav>a.ts-h-home,
body.home #ts-shared-header nav>a.ts-h-home:visited {
  position:relative;
  padding:0 1px;
  border-radius:0;
  background:transparent;
  color:#0757bd!important;
}
body.home #ts-shared-header nav>a.ts-h-home::after {
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:2px;
  border-radius:999px;
  background:#0757bd;
}
@media (min-width:769px) {
  #ts-shared-header .ts-h-inner {
    display:grid;
    grid-template-columns:minmax(150px,1fr) auto minmax(40px,1fr);
    align-items:center;
  }
  #ts-shared-header .ts-h-logo { grid-column:1; justify-self:start; }
  #ts-shared-header nav { grid-column:2; justify-self:center; }
  #ts-shared-header .ts-h-actions { grid-column:3; justify-self:end; }
}
@media (max-width:768px) {
  #ts-shared-header .ts-h-inner { min-height:64px; padding:8px 16px; }
  #ts-shared-header .ts-h-logo img { height:39px; }
  #ts-shared-header .ts-h-toggle { display:flex; }
}

/* Keep the unified header readable on tablets and browser zoom. */
@media (max-width:1080px) {
  #ts-shared-header .ts-h-inner { min-height:64px; padding:8px 16px; }
  #ts-shared-header .ts-h-logo img { height:39px; }
  #ts-shared-header .ts-h-toggle { display:flex; }
  #ts-shared-header nav { display:none; position:fixed; top:0; right:0; width:100%; max-width:320px; height:100vh; height:100dvh; overflow-y:auto; padding:24px; align-items:stretch; flex-direction:column; gap:0; background:#fff; box-shadow:-4px 0 20px #0000001a; z-index:2000; }
  #ts-shared-header.ts-h-open nav { display:flex; }
  #ts-shared-header .ts-h-mobile-close { display:flex; justify-content:flex-end; margin:0 0 32px; }
  #ts-shared-header .ts-h-mobile-close button { padding:0; background:none; border:0; box-shadow:none; color:#1a2332; font:400 28px/1 Inter,Arial,sans-serif; cursor:pointer; }
  #ts-shared-header nav>a, #ts-shared-header .ts-h-quizzes>summary { padding:16px 0; font-size:16px; border-bottom:1px solid #e2e8f0; }
  #ts-shared-header .ts-h-submenu { position:static; min-width:0; box-shadow:none; transform:none; }
  #ts-shared-header .ts-h-submenu::before { display:none; }
  #ts-shared-header .ts-h-submenu a { white-space:normal; font-size:13px; }
  #ts-shared-header .ts-h-backdrop:not([hidden]) { display:block; position:fixed; inset:0; width:100%; height:100vh; margin:0; padding:0; background:#0005; border:0; border-radius:0; box-shadow:none; z-index:1999; }
}
