/* Guide search box (docs_search.js): shared by the Teacher Dashboard guide
   and the Behavior Handbook. Keep page-specific overrides in each page's own
   stylesheet. */
.docs-search { position: relative; }
.docs-search-nav { margin: 0 16px 10px; }
.docs-search-hero { max-width: 620px; margin-bottom: 40px; }
.docs-search-box { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid transparent; border-radius: 10px; padding: 9px 12px; box-shadow: 0 1px 5px rgba(0, 0, 0, .08); transition: border-color .15s, box-shadow .15s; }
.docs-search-hero .docs-search-box { background: #F8F9FA; border-color: #D2D6DA; border-radius: 12px; padding: 14px 18px; box-shadow: none; }
.docs-search-box.is-focused { border-color: #E293D3; box-shadow: 0 0 0 3px rgba(226, 147, 211, .18); }
.docs-search-box i { color: #ADB5BD; font-size: .75rem; }
.docs-search-hero .docs-search-box i { color: #8692A9; font-size: .9375rem; }
.docs-search-box input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: .8125rem; font-weight: 500; color: #28333F; caret-color: #B744B8; }
.docs-search-hero .docs-search-box input { font-size: .9375rem; }
.docs-search-box input::placeholder { color: #ADB5BD; }
.docs-search-box kbd { font: inherit; font-size: .625rem; font-weight: 700; color: #ADB5BD; background: #F8F9FA; border-radius: 5px; padding: 2px 6px; }
.docs-search-hero .docs-search-box kbd { font-size: .6875rem; color: #8692A9; background: #fff; border: 1px solid #DEE2E6; border-radius: 6px; padding: 3px 7px; }
.docs-search-panel { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 20; background: #fff; border-radius: 12px; box-shadow: 0 8px 26px -4px rgba(20, 20, 20, .15), 0 8px 9px -5px rgba(20, 20, 20, .06); padding: 8px; }
.docs-search-hero .docs-search-panel { padding: 10px; }
.docs-search-group { font-size: .625rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8692A9; padding: 8px 10px 4px; }
.docs-search-result, .docs-search-popular { display: block; padding: 7px 10px; border-radius: 9px; position: relative; color: inherit; }
.docs-search-result:hover, .docs-search-popular:hover { background: #F8F9FA; }
.docs-search-result.is-selected, .docs-search-popular.is-selected { background: #F7F1FA; box-shadow: inset 0 0 0 1px rgba(183, 68, 184, .18); }
.docs-search-title { display: block; font-size: .875rem; font-weight: 700; color: #28333F; padding-right: 28px; }
.docs-search-result.is-selected .docs-search-title { color: #B744B8; }
.docs-search-context { display: block; font-size: .8125rem; line-height: 1.45; color: #67748E; }
.docs-search-nav .docs-search-context { display: none; }
.docs-search-result kbd { position: absolute; right: 10px; top: 9px; font-size: .625rem; font-weight: 700; color: #B744B8; background: #fff; border: 1px solid rgba(183, 68, 184, .25); border-radius: 5px; padding: 1px 5px; }
.docs-search-panel mark { background: #FDF3B5; color: #28333F; padding: 0 1px; border-radius: 2px; }
.docs-search-popular { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: #3A416F; }
.docs-search-popular i { font-size: .625rem; color: #CED4DA; }
.docs-search-foot { display: flex; gap: 14px; border-top: 1px solid #F1F3F6; margin-top: 6px; padding: 8px 10px 2px; font-size: .6875rem; font-weight: 600; color: #8692A9; }
.docs-search-empty { padding: 12px 10px 6px; }
.docs-search-empty b { display: block; font-size: .9375rem; color: #28333F; margin-bottom: 4px; }
.docs-search-empty p { font-size: .8125rem; margin: 0 0 6px; }
.docs-search-empty .docs-search-popular { color: #B744B8; font-weight: 600; padding-left: 0; }
.docs-search-still { border-top: 1px solid #F1F3F6; margin-top: 8px; padding-top: 10px; font-size: .8125rem; color: #67748E; }
.docs-search-still a { color: #28333F; font-weight: 700; }
