.tnn-search-page { --search-accent:#285e83; }
.tnn-search-page h1,.tnn-search-empty p { min-width:0; overflow-wrap:anywhere; }
.tnn-search-page [data-search-bar] { max-width:none; margin:0 0 18px; }
.tnn-search-input-row { display:flex; align-items:center; gap:12px; padding:5px 6px 5px 16px; border:1px solid #c8cfd6; border-radius:10px; background:#fff; }
.tnn-search-input-row:focus-within { border-color:var(--search-accent); outline:2px solid #d9e7ef; }
.tnn-search-input-row svg { width:20px; height:20px; flex:none; color:#687783; }
.tnn-search-input-row input { min-width:0; width:100%; flex:1; border:0; outline:0; box-shadow:none; font:inherit; background:transparent; }
.tnn-search-submit,.tnn-filter-apply { min-height:44px; flex:none; padding:0 21px; border:0; border-radius:7px; background:var(--search-accent); color:#fff; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.tnn-search-submit:hover,.tnn-filter-apply:hover { background:#194b6d; }
.tnn-search-tools { position:relative; border-bottom:1px solid #e1e5e9; margin-bottom:22px; }
.tnn-filter-disclosure>summary { display:flex; align-items:center; gap:8px; min-height:48px; width:max-content; padding:0 12px 0 0; font-size:14px; font-weight:600; cursor:pointer; list-style:none; }
.tnn-filter-disclosure>summary::-webkit-details-marker { display:none; }
.tnn-filter-disclosure>summary svg { width:18px; height:18px; }
.tnn-filter-disclosure>summary:hover { color:var(--search-accent); }
.tnn-filter-chevron { color:#687783; font-size:12px; }
.tnn-filter-disclosure[open] .tnn-filter-chevron { transform:rotate(180deg); }
.tnn-filter-count { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#e7f0f6; color:#194b6d; font-size:12px; }
.tnn-search-sort { position:absolute; top:0; right:0; display:flex; align-items:center; gap:6px; min-height:48px; font-size:13px; color:#66717d; }
.tnn-search-sort select { min-height:44px; max-width:150px; padding:0 25px 0 8px; border:0; border-radius:4px; font:inherit; font-weight:600; color:#273746; background-color:transparent; }
.tnn-filter-panel { padding:18px 0 20px; border-top:1px solid #edf0f2; }
.tnn-filter-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr); gap:20px; }
.tnn-filter-field,.tnn-filter-time { min-width:0; margin:0; padding:0; border:0; }
.tnn-filter-field>label,.tnn-filter-time>legend { display:block; padding:0; margin-bottom:9px; color:#576371; font-size:13px; font-weight:600; }
.tnn-filter-field select,.tnn-filter-field input { width:100%; min-width:0; max-width:100%; min-height:44px; padding:8px 10px; border:1px solid #cfd6dd; border-radius:6px; background-color:#fff; color:#202d39; font:inherit; font-size:14px; box-sizing:border-box; }
.tnn-filter-presets { display:flex; flex-wrap:wrap; gap:6px; }
.tnn-filter-choice { position:relative; display:inline-flex; cursor:pointer; }
.tnn-filter-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.tnn-filter-choice span { display:flex; align-items:center; min-height:44px; padding:0 12px; border:1px solid transparent; border-radius:6px; background:#f2f4f6; color:#485461; font-size:13px; white-space:nowrap; }
.tnn-filter-choice input:checked+span { background:#e9f1f7; border-color:#b3ccde; color:#164d73; font-weight:600; }
.tnn-filter-choice:hover span { background:#e7edf1; }
.tnn-filter-dates { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin-top:14px; }
@supports selector(:has(*)) { .tnn-filter-time:not(:has(input[value="custom"]:checked)) .tnn-filter-dates { display:none; } }
.tnn-filter-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:20px; }
.tnn-filter-clear { display:inline-flex; align-items:center; min-height:44px; color:#586775; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.tnn-search-active { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:0; list-style:none; }
.tnn-search-active li { min-width:0; max-width:100%; }
.tnn-search-active a { display:inline-flex; align-items:center; min-height:44px; gap:10px; padding:0 12px; border-radius:6px; background:#f1f4f6; color:#365369; font-size:13px; text-decoration:none; overflow-wrap:anywhere; }
.tnn-search-active a:hover { background:#e3ebf1; }
.tnn-search-page :is(summary,a,button,select,input):focus-visible,.tnn-filter-choice input:focus-visible+span { outline:2px solid #285e83; outline-offset:3px; }
.tnn-search-intro,.tnn-search-empty { padding:24px 0; }
.tnn-search-error { margin:16px 0; padding:14px 16px; border-left:3px solid #b54f16; background:#fff8ef; color:#743910; font-size:14px; }
.tnn-search-page .tnn-result { border:0; border-bottom:1px solid #e1e5e9; border-radius:0; box-shadow:none; padding:20px 0; }
.tnn-search-page .tnn-result:hover { box-shadow:none; }
.tnn-search-page [data-search-results]>li { margin-top:0; }
.tnn-search-page aside .tnn-panel { border:0; border-left:1px solid #e1e5e9; border-radius:0; box-shadow:none; background:none; }
@media(max-width:639px) {
 .tnn-search-page .tnn-result:not(.tnn-result--no-media) { grid-template-columns:110px minmax(0,1fr); gap:14px; }
 .tnn-search-page .tnn-card__summary { display:none; }
 .tnn-filter-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 12px; }
 .tnn-filter-time { grid-column:1/-1; }
 .tnn-search-sort label { font-size:12px; }
 .tnn-search-sort select { padding-left:2px; font-size:13px; }
 .tnn-filter-panel { padding-top:16px; }
 .tnn-filter-actions { margin-top:16px; }
 .tnn-search-page [data-search-bar] { margin-bottom:8px; }
 .tnn-search-input-row input,.tnn-filter-field select,.tnn-filter-field input { font-size:16px; }
 .tnn-search-submit { padding:0 18px; }
 .tnn-search-tools { margin-bottom:18px; }
}
