/* Search page (search.php) - page-only styles, rebuilt 2026-10-14.
   Loaded only by search.php with ?v=filemtime. Header search suggestions
   (.nav-suggest) come from main.css.
   Contrast on #fff: #263845 12.6:1, #2f6e8d 5.6:1, #4a5d6b 7.2:1, #3a7d48 5.1:1.
   No left-stripe accents. */

.srch .content__main { min-width: 0; }

/* ---- form ------------------------------------------------------------- */
.srch-form { margin: 0 0 1rem; }
.srch-form__field {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 6px 6px 14px;
	background: #fff;
	border: 2px solid #cfe1eb;
	border-radius: 999px;
	box-shadow: 0 2px 10px rgba(15, 40, 60, .06);
	transition: border-color .2s, box-shadow .2s;
}
.srch-form__field:focus-within { border-color: #3b779b; box-shadow: 0 0 0 4px rgba(75, 178, 213, .2); }
.srch-form__icon { display: inline-flex; width: 18px; height: 18px; flex-shrink: 0; color: #3b779b; }
.srch-form__icon svg { width: 100%; height: 100%; fill: currentColor; }
.srch-form__field input[type="text"] {
	flex: 1;
	min-width: 0;
	height: 44px;
	padding: 0 4px;
	border: 0 !important;
	outline: none;
	background: transparent !important;
	box-shadow: none !important;
	font: 16px "Open Sans", sans-serif;   /* 16px stops iOS zooming on focus */
	color: #263845;
}
.srch-form__btn {
	flex-shrink: 0;
	min-height: 44px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: #3b779b;
	color: #fff;
	font: 700 15px "Open Sans", sans-serif;
	cursor: pointer;
	transition: background .2s;
}
.srch-form__btn:hover { background: #2f6e8d; }
.srch-form__btn:focus-visible { outline: 3px solid #2f6e8d; outline-offset: 2px; }
.srch-form .nav-suggest { top: calc(100% + 6px); }

/* ---- tabs ------------------------------------------------------------- */
.srch-tabs {
	display: flex;
	gap: 6px;
	margin: 0 0 1.25rem;
	padding-bottom: 2px;
	overflow-x: auto;
	scrollbar-width: none;
}
.srch-tabs::-webkit-scrollbar { display: none; }
.srch-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	min-height: 40px;
	padding: 6px 14px;
	border: 1px solid #cfe1eb;
	border-radius: 999px;
	background: #fff;
	color: #2f6e8d;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.srch-tab:hover { background: #eef5f9; text-decoration: none; }
.srch-tab:focus-visible { outline: 3px solid #2f6e8d; outline-offset: 2px; }
.srch-tab.is-active { background: #2f6e8d; border-color: #2f6e8d; color: #fff; }
.srch-tab__n { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #eaf2f7; color: #2f6e8d; font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
.srch-tab.is-active .srch-tab__n { background: rgba(255, 255, 255, .22); color: #fff; }

/* ---- blocks ----------------------------------------------------------- */
.srch-block {
	margin: 0 0 1.5rem;
	background: #fff;
	border: 1px solid #e3ebf0;
	border-radius: 12px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
	overflow: hidden;
}
.srch-block__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 12px 18px;
	border-bottom: 1px solid #e6eef3;
	background: #f6fafc;
	font-size: 1.05rem;
	font-weight: 700;
	color: #2f6e8d;
}
.srch-block__ico { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex-shrink: 0; border-radius: 8px; background: #e2eef5; color: #2f6e8d; }
.srch-block__ico svg { width: 15px; height: 15px; fill: currentColor; }
.srch-block__ico--tool  { background: #e3f4ee; color: #1d6b55; }
.srch-block__ico--guide { background: #efeafa; color: #5b3d99; }
.srch-block__ico--hot   { background: #fdebe8; color: #a3321f; }
.srch-block__ico--google { background: #eef1f4; color: #4a5d6b; }
.srch-block__n { margin-left: auto; padding: 2px 10px; border-radius: 999px; background: #fff; border: 1px solid #d5e3eb; font-size: 13px; color: #4a5d6b; font-variant-numeric: tabular-nums; }

/* ---- result list ------------------------------------------------------ */
.srch-list { list-style: none; margin: 0; padding: 0; }
.srch-item { padding: 14px 18px; border-bottom: 1px solid #edf2f5; }
.srch-item:last-child { border-bottom: 0; }
.srch-item__title { margin: 0 0 4px; font-size: 1.3rem; line-height: 1.3; font-weight: 700; }
.srch-item__title a { color: #3a7d48; text-decoration: none; }
.srch-item__title a:hover { color: #2f6e3d; text-decoration: underline; text-underline-offset: 3px; }
.srch-item__title a:focus-visible { outline: 3px solid #2f6e8d; outline-offset: 2px; border-radius: 3px; }
.srch-item__desc { margin: 0 0 6px; font-size: .93rem; line-height: 1.55; color: #4a5d6b; }
.srch-item__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0; font-size: .8rem; color: #5a6c7d; }
.srch mark { background: #fff3c4; color: inherit; padding: 0 1px; border-radius: 2px; }
.srch-item__title mark { background: none; text-decoration: underline; text-decoration-color: #f0c84a; text-decoration-thickness: 3px; text-underline-offset: 2px; color: inherit; }
.srch-chip { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #eaf2f7; color: #2f6e8d; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.srch-chip--guide { background: #efeafa; color: #5b3d99; }
.srch-chip--news  { background: #fdebe8; color: #a3321f; }
.srch-block .pagination-wrapper { padding: 12px 18px; border-top: 1px solid #edf2f5; margin: 0; }

/* ---- tools ------------------------------------------------------------ */
.srch-tools { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; padding: 14px 18px; }
.srch-tool {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-height: 64px;
	padding: 12px 14px;
	border: 1px solid #c9e6db;
	border-radius: 10px;
	background: #f4fbf8;
	text-decoration: none;
	transition: border-color .15s, background .15s;
}
.srch-tool:hover { border-color: #2f7f6b; background: #eaf7f2; text-decoration: none; }
.srch-tool:focus-visible { outline: 3px solid #2f6e8d; outline-offset: 2px; }
.srch-tool__name { font-weight: 700; color: #1d6b55; }
.srch-tool__hint { font-size: .8rem; color: #3f6b5d; }

.srch-more {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border-top: 1px solid #edf2f5;
	background: #fafcfd;
	color: #2f6e8d;
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
}
.srch-more::after { content: "\2192"; margin-left: 6px; }
.srch-more:hover { text-decoration: underline; }

/* ---- notes, empty, start state ---------------------------------------- */
.srch-note { margin: 0 0 1rem; padding: 10px 14px; border: 1px solid #e3ebf0; border-radius: 10px; background: #fff; font-size: .92rem; color: #4a5d6b; }
.srch-note a { color: #2f6e8d; font-weight: 600; }
.srch-empty { margin: 0 0 1.5rem; padding: 1.25rem 1.25rem 1rem; background: #fff; border: 1px solid #e3ebf0; border-radius: 12px; }
.srch-empty__title { margin: 0 0 .5rem; font-size: 1.15rem; color: #263845; }
.srch-empty__tips { margin: 0; padding-left: 1.2rem; color: #4a5d6b; font-size: .93rem; line-height: 1.6; }
.srch-empty__tips b { color: #2f6e8d; }

.srch-start { margin: 0 0 1.25rem; }
.srch-start__label { margin: 0 0 6px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #4a5d6b; }
.srch-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 1rem; }
.srch-pill {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 4px 14px;
	border: 1px solid #cfe1eb;
	border-radius: 999px;
	background: #fff;
	color: #2f6e8d;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.srch-pill:hover { background: #eef5f9; text-decoration: none; }
.srch-pill:focus-visible { outline: 3px solid #2f6e8d; outline-offset: 2px; }
.srch-pill--tool { border-color: #c9e6db; background: #f4fbf8; color: #1d6b55; }
.srch-pill--more { border-style: dashed; }

/* ---- weekly top ------------------------------------------------------- */
.srch-top { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; }
.srch-top li { border-bottom: 1px solid #edf2f5; }
.srch-top__link { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 8px 18px; color: inherit; text-decoration: none; }
.srch-top__link:hover { background: #f8fafb; text-decoration: none; }
.srch-top__link:focus-visible { outline: 3px solid #2f6e8d; outline-offset: -3px; }
.srch-top__rank { width: 28px; height: 28px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #eaf2f7; color: #2f6e8d; font-size: .85rem; font-weight: 700; }
.srch-top li:nth-child(-n+3) .srch-top__rank { background: #3b779b; color: #fff; }
.srch-top__body { min-width: 0; }
.srch-top__name { display: block; color: #3a7d48; font-weight: 700; line-height: 1.35; }
.srch-top__link:hover .srch-top__name { text-decoration: underline; }
.srch-top__meta { display: block; font-size: .8rem; color: #5a6c7d; }
.srch-foot { display: flex; flex-wrap: wrap; gap: 0 20px; margin: 0; padding: 4px 18px; background: #fafcfd; border-top: 1px solid #edf2f5; }
.srch-foot a { display: inline-flex; align-items: center; min-height: 44px; color: #2f6e8d; font-weight: 600; font-size: .92rem; text-decoration: none; }
.srch-foot a:hover { text-decoration: underline; }
@media (min-width: 720px) {
	.srch-top { grid-template-columns: 1fr 1fr; }
	.srch-top li:nth-child(odd) { border-right: 1px solid #edf2f5; }
}

/* ---- Google custom search (only page that loads cse.js) --------------- */
.srch-google .google-search-container { padding: 6px 12px 12px; }
.gsc-control-cse { padding: 0 !important; border: 0 !important; background: transparent !important; font-family: "Open Sans", sans-serif !important; }
.gsc-control-cse, .gsc-control-cse * { box-sizing: border-box !important; }
.gsc-above-wrapper-area { border: 0 !important; padding: 4px 6px !important; }
.gsc-result { padding: 12px 6px !important; border: 0 !important; border-bottom: 1px solid #edf2f5 !important; background: #fff !important; }
.gs-title, .gs-title *, .gsc-result .gs-title { color: #3a7d48 !important; font-size: 1.05rem !important; font-weight: 700 !important; text-decoration: none !important; line-height: 1.35 !important; }
.gs-title:hover { text-decoration: underline !important; }
.gs-visibleUrl { color: #2f6e8d !important; font-size: .82rem !important; }
.gs-snippet { color: #4a5d6b !important; font-size: .92rem !important; line-height: 1.55 !important; }
.gs-title, .gs-visibleUrl, .gs-snippet { word-break: break-word !important; }
.gsc-cursor-box { margin: 1rem 0 0 !important; text-align: center !important; }
.gsc-cursor-page { display: inline-block !important; min-width: 40px !important; padding: 9px 12px !important; margin: 2px !important; border-radius: 8px !important; background: #eef5f9 !important; color: #2f6e8d !important; font-weight: 600 !important; text-decoration: none !important; }
.gsc-cursor-current-page { background: #2f6e8d !important; color: #fff !important; }
.gsc-result-info { color: #5a6c7d !important; font-size: .82rem !important; padding: 4px 6px !important; }

/* ---- phones ----------------------------------------------------------- */
@media (max-width: 640px) {
	.srch-form__field { padding-left: 12px; }
	.srch-form__btn { padding: 0 16px; }
	.srch-block__title { padding: 10px 14px; font-size: 1rem; }
	.srch-item { padding: 12px 14px; }
	.srch-item__title { font-size: 1.15rem; }
	.srch-tools { padding: 12px 14px; grid-template-columns: 1fr; }
	.srch-more, .srch-foot { padding-left: 14px; padding-right: 14px; }
	.srch-top__link { padding: 8px 14px; }
}
@media (max-width: 380px) {
	.srch-form__icon { display: none; }
}

/* ---- 2026-10-14b: zebra rows + linked categories ----------------------- */
.srch-list > .srch-item:nth-child(even) { background: #f4f8fb; }
.srch-list > .srch-item:hover { background: #eaf3f8; }
.srch-cats { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; }
.srch-cats__sep { color: #8aa0ad; }
.srch-cat {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 8px;
	border: 1px solid #cfe1eb;
	border-radius: 999px;
	background: #fff;
	color: #2f6e8d;
	font-weight: 600;
	text-decoration: none;
}
.srch-cat:hover { border-color: #3b779b; background: #eef5f9; text-decoration: none; }
.srch-cat:focus-visible { outline: 3px solid #2f6e8d; outline-offset: 2px; }
@media (max-width: 640px) {
	.srch-cat { min-height: 32px; }
}

/* ---- 2026-10-14c: did you mean, licence filter, program pictures ------- */
.srch-dym { margin: -.25rem 0 1rem; font-size: 1rem; color: #4a5d6b; }
.srch-dym a { color: #2f6e8d; font-weight: 700; font-style: italic; text-decoration: underline; text-underline-offset: 3px; }
.srch-dym a:hover { color: #1f5f80; }

.srch-lic { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 10px 18px; border-bottom: 1px solid #edf2f5; background: #fff; }
.srch-lic__label { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #4a5d6b; margin-right: 2px; }
.srch-lic__opt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 2px 12px;
	border: 1px solid #cfe1eb;
	border-radius: 999px;
	background: #fff;
	color: #2f6e8d;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}
.srch-lic__opt span { font-size: 11px; color: #5a6c7d; font-variant-numeric: tabular-nums; }
.srch-lic__opt:hover { background: #eef5f9; text-decoration: none; }
.srch-lic__opt:focus-visible { outline: 3px solid #2f6e8d; outline-offset: 2px; }
.srch-lic__opt.is-active { background: #2f6e8d; border-color: #2f6e8d; color: #fff; }
.srch-lic__opt.is-active span { color: #dcebf3; }
.srch-lic--hint { font-size: .88rem; }
.srch-lic--hint a { color: #2f6e8d; font-weight: 600; }

.srch-item--soft { display: flex; gap: 14px; align-items: flex-start; }
.srch-item__thumb {
	flex-shrink: 0;
	width: 88px;
	height: 66px;
	margin-top: 2px;
	border: 1px solid #dfe9ef;
	border-radius: 8px;
	overflow: hidden;
	background: #f1f5f8;
}
.srch-item__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.srch-item__main { flex: 1; min-width: 0; }
@media (max-width: 640px) {
	.srch-item__thumb { width: 64px; height: 48px; border-radius: 6px; }
	.srch-item--soft { gap: 10px; }
	.srch-lic { padding: 10px 14px; }
}
