:root{
  --search-ink:#17212b;
  --search-muted:#697681;
  --search-blue:#17577e;
  --search-blue-hover:#103f5c;
  --search-line:#dce3e8;
  --search-soft:#f5f8fa;
}

.search-page-body{background:#f7f9fb;color:var(--search-ink)}
.search-shell{max-width:1120px;margin:0 auto;padding:42px 24px 64px}
.search-hero{text-align:center;margin-bottom:28px}
.search-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:var(--search-blue)}
.search-hero h1{font-size:clamp(2.15rem,4vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:8px 0 10px}
.search-hero p{font-size:1.08rem;line-height:1.55;color:var(--search-muted);margin:0 auto;max-width:760px}

.search-box{background:#fff;border:1px solid var(--search-line);border-radius:16px;padding:14px;box-shadow:0 8px 30px rgba(23,33,43,.05)}
.search-row{display:flex;gap:10px}
.search-input{flex:1;min-width:0;border:1px solid transparent;background:#f4f7f9;border-radius:11px;padding:15px 18px;font-size:1.12rem;line-height:1.35;color:var(--search-ink);outline:none}
.search-input:focus{border-color:#9fc2d8;background:#fff;box-shadow:0 0 0 3px rgba(23,87,126,.10)}
.search-button{border:1px solid var(--search-blue);border-radius:11px;background:var(--search-blue);color:#fff;font-weight:750;padding:0 26px;white-space:nowrap}
.search-button:hover,.search-button:focus{background:var(--search-blue-hover);border-color:var(--search-blue-hover);color:#fff}
.search-hints{display:flex;justify-content:space-between;gap:12px;padding:10px 4px 0;color:var(--search-muted);font-size:.88rem}
.recent-searches{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px;padding:0 4px}
.recent-label{color:var(--search-muted);font-size:.84rem}
.recent-searches button{border:1px solid var(--search-line);background:#fff;border-radius:999px;padding:5px 10px;color:#4d5b66;font-size:.84rem}
.recent-searches button:hover,.recent-searches button:focus{border-color:#b9cbd6;color:var(--search-blue);background:#f8fbfc}

.result-heading{margin:34px 0 15px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px}
.result-heading h2{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;margin:0}
.result-heading span{color:var(--search-muted);font-size:.92rem}
.search-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.search-tabs button{border:1px solid var(--search-line);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;color:#4c5963}
.search-tabs button:hover,.search-tabs button:focus{color:var(--search-blue);border-color:#b9cbd6}
.search-tabs button.active{background:var(--search-ink);color:#fff;border-color:var(--search-ink)}

.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.quick-panel,.result-panel{background:#fff;border:1px solid var(--search-line);border-radius:14px;overflow:hidden}
.panel-head{padding:15px 18px;border-bottom:1px solid var(--search-line);display:flex;justify-content:space-between;align-items:center;gap:14px}
.panel-head h3{font-size:1.04rem;font-weight:800;margin:0}
.panel-head>span{font-size:.82rem;color:var(--search-muted)}
.quick-item{display:block;padding:13px 18px;border-bottom:1px solid #edf1f3;text-decoration:none!important}
.quick-item:last-child{border-bottom:0}
.quick-item strong{display:block;color:#214d68;font-size:1rem}
.quick-item small{display:block;color:var(--search-muted);font-size:.84rem;margin-top:2px}
.quick-item:hover{background:#f8fafb}
.quick-item:hover strong{color:var(--search-blue)}

.result-panel{margin-top:16px}
.sorter{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.sorter button{border:1px solid var(--search-line);background:#fff;border-radius:7px;padding:5px 9px;font-size:.8rem;color:#596873}
.sorter button:hover,.sorter button:focus{color:var(--search-blue);border-color:#b9cbd6}
.sorter button.active{background:#eaf3f8;color:var(--search-blue);border-color:#bdd6e5;font-weight:700}
.ajax-body{padding:4px 18px 14px}
.search-result{padding:15px 0;border-bottom:1px solid #edf1f3}
.search-result:last-child{border-bottom:0}
.search-result-title{font-size:1.08rem;font-weight:750;line-height:1.3}
.search-result-title a{color:#214d68;text-decoration:none}
.search-result-title a:hover{color:var(--search-blue);text-decoration:underline}
.search-result-meta{font-size:.82rem;color:var(--search-muted);margin-top:4px}
.search-result-copy{color:#4f5d67;margin-top:6px;line-height:1.5}
.search-more{text-align:center;padding:13px;border-top:1px solid var(--search-line)}
.search-more a{color:var(--search-blue);font-weight:700;text-decoration:none}
.search-more a:hover{text-decoration:underline}
.empty-modern{padding:22px;color:var(--search-muted);text-align:center}
.loading-modern{text-align:center;padding:25px;color:var(--search-muted)}
.search-start-note{text-align:center;color:var(--search-muted);margin-top:24px;font-size:1rem}

/* The Forum helper returns the shared forum row structure. Keep it compact inside Search. */
.forum-search-results .resort_forum_pointer{margin:0!important;border:0!important;border-bottom:1px solid #edf1f3!important;border-radius:0!important;background:#fff!important}
.forum-search-results .resort_forum_pointer:last-child{border-bottom:0!important}
.forum-search-results .resort_forum_pointer>.container{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important}
.forum-search-results .clickable-row{padding:12px 0!important;min-height:0!important}
.forum-search-results .resort_forum_subject{font-size:1rem!important;line-height:1.35}
.forum-search-results .resort_forum_subject a{color:#214d68!important;text-decoration:none!important}
.forum-search-results .resort_forum_subject a:hover{color:var(--search-blue)!important;text-decoration:underline!important}
.forum-search-results .resort_forum_timestamp,.forum-search-results .resort_forum_abbreviated_stats{color:var(--search-muted)!important;font-size:.8rem!important}

@media(max-width:767px){
  .search-shell{padding:28px 14px 48px}
  .search-hero{margin-bottom:22px}
  .search-hero h1{font-size:2rem}
  .search-hero p{font-size:1rem}
  .search-row{display:block}
  .search-input{width:100%;font-size:16px}
  .search-button{width:100%;padding:13px;margin-top:9px}
  .search-hints{display:block;font-size:.84rem}
  .search-shortcut{display:none}
  .quick-grid{grid-template-columns:1fr}
  .result-heading{display:block;margin-top:28px}
  .result-heading span{display:block;margin-top:4px}
  .panel-head{align-items:flex-start}
  .result-panel .panel-head{display:block}
  .sorter{justify-content:flex-start;margin-top:10px}
  .ajax-body{padding-left:14px;padding-right:14px}
}

@media(max-width:480px){
  .search-tabs button{flex:1 1 calc(50% - 8px)}
  .quick-item{padding:12px 14px}
}
