/* Search (#120, blocks #130): the search app and its page, from design-source/search.html,
   scoped to the page. Loaded by the Search blocks (inc/blocks.php). */
.ceec-page-search .s-hero { background:var(--gradient-teal); color:#fff; padding:clamp(28px,4vw,44px) 0; }
.ceec-page-search .s-hero .crumb { margin-bottom:14px; }
.ceec-page-search .s-box { display:flex; gap:12px; max-width:680px; }
.ceec-page-search .s-box input { flex:1; border:none; border-radius:var(--radius-md); padding:15px 18px; font-size:16px; font-family:var(--font-sans); outline:none; }
.ceec-page-search .s-meta { margin-top:12px; font-size:13px; color:var(--teal-mist); }
.ceec-page-search .s-scope { margin-top:16px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ceec-page-search .s-scope__lbl { font-size:13px; color:var(--teal-mist); margin-right:2px; }
.ceec-page-search .scope-btn { display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06); color:#fff; border-radius:999px; padding:8px 16px; font-size:13.5px; font-weight:600; font-family:var(--font-sans); cursor:pointer; transition:all .2s; }
.ceec-page-search .scope-btn i { font-size:15px; }
.ceec-page-search .scope-btn:hover { border-color:rgba(255,255,255,.55); }
.ceec-page-search .scope-btn.on { background:#fff; color:var(--primary); border-color:#fff; }
.ceec-page-search .nores-cta { margin-top:24px; border:1px dashed var(--panel-border); border-radius:var(--radius-xl); background:var(--cream); padding:18px 20px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.ceec-page-search .nores-cta > i { font-size:24px; color:var(--orange-deep); }
.ceec-page-search .nores-cta .t { flex:1; min-width:200px; }
.ceec-page-search .nores-cta .t b { display:block; font-size:14.5px; color:var(--ink); }
.ceec-page-search .nores-cta .t p { font-size:13px; color:var(--text-soft); margin-top:2px; }
.ceec-page-search .ai-vote { margin-left:auto; display:flex; align-items:center; gap:8px; }
.ceec-page-search .ai-vote button { border:1px solid var(--panel-border); background:#fff; border-radius:var(--radius-md); width:32px; height:30px; display:grid; place-items:center; cursor:pointer; color:var(--text-soft); transition:all .15s; }
.ceec-page-search .ai-vote button:hover { border-color:var(--orange-soft); color:var(--orange-deep); }

.ceec-page-search .s-layout { display:grid; grid-template-columns:250px 1fr; gap:36px; align-items:start; }
@media (max-width:900px){ .ceec-page-search .s-layout { grid-template-columns:1fr; } }

/* filters rail */
.ceec-page-search .f-rail { position:sticky; top:96px; }
.ceec-page-search .f-group { border:1px solid var(--panel-border); border-radius:var(--radius-xl); background:#fff; padding:18px 20px; }
.ceec-page-search .f-group + .f-group { margin-top:14px; }
.ceec-page-search .f-group h4 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ink); }
.ceec-page-search .f-list { margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.ceec-page-search .f-item { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text); cursor:pointer; user-select:none; }
.ceec-page-search .f-item input { accent-color:var(--primary); }
.ceec-page-search .f-item .cnt { margin-left:auto; font-family:var(--font-mono); font-size:11px; color:var(--teal-mist); }
.ceec-page-search .f-item.on { color:var(--orange-deep); font-weight:600; }
.ceec-page-search .f-clear { margin-top:6px; width:100%; }

/* AI answer panel */
.ceec-page-search .ai-ans { border:1px solid rgba(233,97,21,.3); border-radius:var(--radius-xl); background:linear-gradient(180deg,#fff,var(--cream)); overflow:hidden; }
.ceec-page-search .ai-ans__head { display:flex; align-items:center; gap:10px; padding:14px 20px; border-bottom:1px solid var(--panel-border); }
.ceec-page-search .ai-ans__head i { font-size:19px; color:var(--orange-deep); }
.ceec-page-search .ai-ans__head b { font-family:var(--font-display); font-weight:700; font-size:15px; color:var(--ink); }
.ceec-page-search .ai-ans__body { padding:16px 20px 20px; }
.ceec-page-search .ai-ans__text { font-size:15px; line-height:1.7; color:var(--text); min-height:48px; }
.ceec-page-search .ai-ans__text .cursor { display:inline-block; width:8px; height:16px; background:var(--orange); margin-left:2px; vertical-align:-2px; animation:blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }
.ceec-page-search .ai-src { margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; opacity:0; transition:opacity .5s; }
.ceec-page-search .ai-src.in { opacity:1; }
.ceec-page-search .ai-src a { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--panel-border); background:#fff; border-radius:999px; padding:6px 13px; font-size:12.5px; color:var(--text); cursor:pointer; transition:border-color .15s; }
.ceec-page-search .ai-src a:hover { border-color:rgba(233,97,21,.5); }
.ceec-page-search .ai-src a b { font-family:var(--font-mono); font-size:10px; color:var(--orange-deep); font-weight:500; }
.ceec-page-search .ai-src a > i { font-size:12px; color:var(--teal-mist); }
.ceec-page-search .ai-ans__note { margin-top:12px; font-size:11.5px; color:var(--text-soft); }

/* results */
.ceec-page-search .r-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:22px 0 6px; }
.ceec-page-search .r-count { font-size:14px; color:var(--text-soft); }
.ceec-page-search .r-toolbar select { border:1px solid var(--panel-border); border-radius:var(--radius-md); padding:9px 12px; font-size:13.5px; font-family:var(--font-sans); background:#fff; color:var(--ink); cursor:pointer; }
.ceec-page-search .r-row { position:relative; display:block; padding:18px 28px 18px 0; border-bottom:1px solid var(--panel-border); cursor:pointer; text-decoration:none; transition:background .15s; }
.ceec-page-search .r-row:hover { background:var(--cream); }
.ceec-page-search .r-row:hover h3 { text-decoration:underline; }
.ceec-page-search .r-row .r-go { position:absolute; right:2px; top:20px; color:var(--teal-mist); font-size:15px; }
.ceec-page-search .r-row h3 { font-size:17px; font-weight:600; font-family:var(--font-sans); color:var(--primary); line-height:1.4; }
.ceec-page-search .r-row h3 mark { background:rgba(233,97,21,.18); color:inherit; border-radius:3px; padding:0 2px; }
.ceec-page-search .r-meta { margin-top:5px; font-size:13px; color:var(--text-soft); }
.ceec-page-search .r-tags { margin-top:8px; display:flex; flex-wrap:wrap; gap:6px; }
.ceec-page-search .r-empty { padding:40px 0; text-align:center; color:var(--text-soft); }
.ceec-page-search .rel-chips { margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ceec-page-search .rel-chips .lbl { font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); }
.ceec-page-search .rel-chips a { border:1px solid var(--panel-border); background:#fff; border-radius:999px; padding:6px 14px; font-size:13px; color:var(--text); cursor:pointer; transition:all .2s; }
.ceec-page-search .rel-chips a:hover { border-color:rgba(233,97,21,.5); color:var(--orange-deep); }

.ceec-page-search .demo-note { border:1px solid rgba(233,97,21,.35); border-left:3px solid var(--orange); background:linear-gradient(180deg,#fff,var(--cream)); border-radius:var(--radius-lg); padding:13px 16px; margin-bottom:20px; display:flex; gap:11px; align-items:flex-start; }
.ceec-page-search .demo-note > i { color:var(--orange-deep); font-size:19px; flex-shrink:0; margin-top:1px; }
.ceec-page-search .demo-note b { display:block; font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); margin-bottom:3px; }
.ceec-page-search .demo-note p { font-size:12.5px; line-height:1.55; color:var(--text); }
