/* Search workspace: clear input hierarchy and compact, readable results. */
.search-hub { --search-green:#254c43; --search-line:#cbd5cb; --search-muted:#52675e; }
.search-content { padding-bottom:80px; }
.search-panel { padding:34px 38px 38px; background:#fffdf8; border:1px solid var(--search-line); border-radius:20px; box-shadow:none; scroll-margin-top:172px; }
.search-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.search-panel-heading-copy { min-width:0; }
.search-panel-eyebrow { display:block; margin-bottom:9px; color:var(--search-muted); font:700 11px/1.5 var(--sans); letter-spacing:.15em; }
.search-panel h2 { margin:0; font-size:32px; line-height:1.45; letter-spacing:.01em; color:var(--search-green); }
.search-panel-mark { display:grid; place-items:center; flex-shrink:0; width:68px; height:68px; background:#e9eee3; color:var(--search-green); border-radius:16px; }
.search-panel-mark svg { width:44px; height:44px; }
.search-hub .search-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 156px; gap:22px 20px; align-items:end; padding:0; border:0; border-radius:0; background:none; margin:0; box-shadow:none; }
.search-hub .search-form label { display:block; margin:0 0 10px; font-size:13px; font-weight:700; line-height:1.5; color:var(--search-muted); }
.search-hub .search-form input,.search-hub .search-form select { width:100%; height:54px; min-width:0; border:1px solid #a9bbb0; border-radius:9px; background:#f4f6f0; color:#263b33; font:400 15px/1.5 var(--sans); padding:12px 14px; box-shadow:none; }
.search-hub .search-form .search-keyword-field { grid-column:1/-1; grid-row:1; position:relative; min-width:0; }
.search-hub .search-keyword-field input { height:68px; padding:18px 20px 18px 54px; background:#fff; border-color:#749186; font-size:18px; }
.search-hub .search-keyword-field input::placeholder { color:#78817a; opacity:1; }
.search-input-icon { position:absolute; left:19px; bottom:22px; width:24px; height:24px; color:var(--search-green); pointer-events:none; }
.search-hub .search-category-field { grid-column:1; grid-row:2; min-width:0; }
.search-hub .search-language-field { grid-column:2; grid-row:2; min-width:0; }
.search-hub .search-form button[type=submit] { grid-column:3; grid-row:2; justify-self:stretch; display:flex; align-items:center; justify-content:center; gap:20px; height:54px; min-height:54px; min-width:0; width:100%; padding:12px 20px; border:1px solid var(--search-green); border-radius:9px; box-shadow:none; background:var(--search-green); color:#fffdf5; font:700 16px/1.5 var(--sans); }
.search-hub .search-form button svg { width:23px; height:23px; flex-shrink:0; }
.search-hub .search-form button[type=submit]:hover { background:#173d34; translate:0; }
.search-hub .search-form :is(input,select,button):disabled { opacity:.55; cursor:wait; }
.search-hub .search-form :is(input,select):focus-visible,.search-hub .search-content :is(button,a,input):focus-visible { outline:3px solid #65866c; outline-offset:4px; }
.search-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:22px 0 46px; padding:0 4px; }
.search-destinations a { display:flex; align-items:center; gap:10px; padding:12px 18px; color:var(--search-muted); font:700 13px/1.5 var(--sans); border-right:1px solid var(--search-line); }
.search-destinations a:first-child { padding-left:0; }
.search-destinations a:last-child { border-right:0; padding-right:0; }
.search-destinations a svg { width:22px; height:22px; flex-shrink:0; }
.search-destinations a::after { content:'↗'; margin-left:auto; font-size:19px; font-weight:400; }
.search-destinations a[aria-current=page]::after { content:'—'; color:#8b9d91; }
.search-destinations a[aria-current=page] { color:var(--search-green); }
.search-destinations a:hover { translate:0!important; text-decoration:underline; text-underline-offset:5px; }
.search-results-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 0 0; border-top:1px solid #b3c4b7; }
.search-results-heading h2 { margin:0; color:var(--search-green); font-size:25px; line-height:1.5; }
.search-hub .result-count { margin:0; color:var(--search-muted); font:600 14px/1.5 var(--sans); scroll-margin-top:180px; }
.search-hub [data-search-results] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.search-hub .search-result { --result-tone:#73895e; display:flex; flex-direction:column; min-width:0; max-width:none; margin:0; padding:26px 28px 28px; background:#fffdf8; border:1px solid var(--search-line); border-radius:14px; box-shadow:none; }
.search-hub .search-result[data-category='サービス'] { --result-tone:#a16d29; }
.search-hub .search-result[data-category='ミャンマー情報'] { --result-tone:#367a7b; }
.search-hub .search-result-meta { gap:12px; align-items:center; justify-content:space-between; }
.search-hub .search-result-meta .eyebrow { display:flex; align-items:center; gap:8px; margin:0; padding:0; background:none; color:var(--search-muted); font:700 11px/1.5 var(--sans); letter-spacing:.04em; }
.search-hub .search-result-meta .eyebrow::before { content:''; width:7px; height:7px; background:var(--result-tone); border-radius:50%; flex-shrink:0; }
.search-hub .search-result-meta .language-note { padding:0; margin:0; background:none; color:#66766c; font:400 11px/1.5 var(--sans); }
.search-hub .search-result h2 { margin:18px 0 14px; color:var(--search-green); font-size:20px; line-height:1.6; }
.search-hub .search-result h2 a { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; overflow-wrap:anywhere; }
.search-hub .search-result h2 a>span { display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border:1px solid #d5dfd0; border-radius:50%; color:#436453; font:400 18px/1 var(--sans); }
.search-hub .search-result h2 a:hover { translate:0; }
.search-hub .search-result>p { margin:0; color:#526258; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.search-hub .search-result:focus-within,.search-hub .search-result:hover { border-color:#829d8c; }
.search-hub .empty-state { grid-column:1/-1; margin:0; padding:38px 30px; background:#e7eee2; border:1px solid var(--search-line); border-radius:14px; color:var(--search-green); font-size:16px; line-height:1.9; }
/* Preserve the requested 15px reading size for every pagination control. */
.search-hub .search-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:16px; margin:24px 0; font-size:15px; }
.search-hub .search-pagination[hidden] { display:none; }
.search-hub .search-pagination button,.search-hub .search-pagination input,.search-hub .search-pagination span { font-size:15px; }
.search-hub .search-pagination button { min-height:44px; padding:10px 16px; color:var(--search-green); background:#fffdf8; border:1px solid #b7c8ba; border-radius:8px; box-shadow:none; }
.search-hub .search-pagination button:hover:not(:disabled) { background:#e8eee3; translate:0; }
.search-hub .search-pagination button:disabled { opacity:.4; }
.search-page-jump { display:flex; align-items:center; justify-content:center; gap:10px; margin:0; }
.search-page-jump input { width:66px; min-height:44px; padding:8px; border:1px solid #a9bbb0; border-radius:8px; background:#fffdf8; color:var(--search-green); font-family:var(--sans); font-weight:700; text-align:center; }
.search-page-jump span { white-space:nowrap; color:var(--search-muted); }
.search-hub .search-page-jump button { background:#e7eee2; }
@media(max-width:767px) {
 .search-content { padding-bottom:52px; }
 .search-panel { padding:26px 22px; border-radius:16px; scroll-margin-top:138px; }
 .search-panel-heading { align-items:flex-start; gap:14px; margin-bottom:26px; }
 .search-panel h2 { font-size:25px; }
 .search-panel-eyebrow { font-size:10px; margin-bottom:8px; }
 .search-panel-mark { width:48px; height:48px; border-radius:12px; }
 .search-panel-mark svg { width:32px; height:32px; }
 .search-hub .search-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; }
 .search-hub .search-form input,.search-hub .search-form select { font-size:16px; padding:12px; }
 .search-hub .search-keyword-field input { height:62px; padding-left:44px; font-size:16px; }
 .search-input-icon { left:14px; bottom:20px; width:22px; height:22px; }
 .search-hub .search-form button[type=submit] { grid-column:1/-1; grid-row:3; }
 .search-destinations { margin:18px 0 32px; }
 .search-destinations a { gap:7px; padding:10px; font-size:12px; }
 .search-destinations a svg { width:19px; height:19px; }
 .search-destinations a::after { display:none; }
 .search-results-heading { gap:12px; padding-top:22px; }
 .search-results-heading h2 { font-size:22px; }
 .search-hub .result-count { font-size:13px; scroll-margin-top:142px; }
 .search-hub [data-search-results] { grid-template-columns:1fr; gap:14px; }
 .search-hub .search-result { padding:23px; }
 .search-hub .search-result h2 { font-size:20px; }
}
@media(max-width:600px) {
 .search-hub .search-pagination { grid-template-columns:1fr 1fr; gap:14px; }
 .search-pagination>[data-search-prev] { grid-column:1; grid-row:1; }
 .search-pagination>[data-search-next] { grid-column:2; grid-row:1; }
 .search-page-jump { grid-column:1/-1; grid-row:2; }
 .search-destinations { grid-template-columns:1fr; margin-bottom:26px; }
 .search-destinations a { padding:12px 0; border-right:0; border-bottom:1px solid var(--search-line); font-size:13px; gap:10px; }
 .search-destinations a::after { display:block; }
 .search-destinations a:last-child { border-bottom:0; }
}
@media(max-width:420px) {
 .search-panel { padding:24px 18px; }
 .search-panel h2 { font-size:23px; }
 .search-panel-mark { display:none; }
 .search-hub .search-form { grid-template-columns:minmax(0,1fr); gap:18px; }
 .search-hub .search-category-field { grid-column:1; grid-row:2; }
 .search-hub .search-language-field { grid-column:1; grid-row:3; }
 .search-hub .search-form button[type=submit] { grid-column:1; grid-row:4; }
 .search-hub .search-result { padding:22px 20px; }
 .search-results-heading { flex-wrap:wrap; gap:6px 14px; }
}
@media print { .search-hub .search-panel,.search-hub .search-destinations { display:none; } .search-hub .search-result { break-inside:avoid; } }
