/* ROIMonitor SearchWP Live overlay. Existing header search controls remain untouched. */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.roimon-search-open{overflow:hidden}
.roimon-search-overlay{position:fixed;inset:0;z-index:99990;display:none;align-items:flex-start;justify-content:center;padding:clamp(72px,10vh,120px) 18px 32px}
.roimon-search-overlay.is-open{display:flex}
.roimon-search-backdrop{position:absolute;inset:0;background:rgba(1,0,84,.36);backdrop-filter:blur(1.5px)}
.roimon-search-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:min(78vh,820px);display:flex;flex-direction:column;background:#fff;border:1px solid rgba(1,0,84,.18);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 54px rgba(1,0,84,.16);outline:none}
.roimon-search-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px 12px}
.roimon-search-heading{font-size:20px;line-height:1.3;font-weight:700;color:var(--blue)}
.roimon-search-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border:1px solid rgba(1,0,84,.22);border-radius:var(--radius);background:#fff;color:var(--blue);font:inherit;font-size:24px;line-height:1;cursor:pointer}
.roimon-search-close:hover,.roimon-search-close:focus-visible{border-color:var(--accent);outline:2px solid rgba(1,138,156,.18);outline-offset:2px}
.roimon-search-form{padding:0 22px 16px;margin:0}
.roimon-search-input-wrap{position:relative}
.roimon-search-input-wrap input{display:block;width:100%;height:54px;padding:13px 50px 13px 15px;border:1px solid rgba(1,0,84,.30);border-radius:var(--radius);background:#fff;color:var(--black);font:inherit;font-size:16px;line-height:1.45;outline:none}
.roimon-search-input-wrap input::placeholder{color:#777}
.roimon-search-input-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(1,138,156,.10)}
.roimon-search-input-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--blue);pointer-events:none}
.roimon-search-input-icon svg{display:block;width:100%;height:100%}
.roimon-search-status{padding:2px 22px 18px;color:#555;font-size:14px;line-height:1.5}
.roimon-search-status[data-state="loading"]::before{content:"";display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;border:1.5px solid rgba(1,0,84,.20);border-top-color:var(--accent);border-radius:50%;animation:roimon-search-spin .75s linear infinite}
.roimon-search-status[data-state="error"]{color:#7b1f1f}
@keyframes roimon-search-spin{to{transform:rotate(360deg)}}
.roimon-search-results-host{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 22px 22px}
.roimon-search-results-host>.searchwp-live-search-results{position:static!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;opacity:1!important;overflow:visible!important;display:block!important;padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;border:0!important;transform:none!important}
.roimon-search-results-list{display:flex;flex-direction:column;border-top:1px solid rgba(1,0,84,.12)}
.roimon-search-result{margin:0;border:0;border-bottom:1px solid rgba(1,0,84,.12);background:#fff}
.roimon-search-result-link{display:grid;grid-template-columns:72px minmax(0,1fr) 18px;align-items:center;gap:16px;padding:14px 4px;color:inherit;text-decoration:none}
.roimon-search-result-link:hover,.roimon-search-result-link:focus-visible{background:#f8fafa;outline:none}
.roimon-search-result-link:focus-visible{box-shadow:inset 3px 0 0 var(--accent)}
.roimon-search-result-media{display:flex;align-items:center;justify-content:center;width:72px;height:58px;border:1px solid rgba(1,0,84,.10);border-radius:var(--radius);background:#fff;overflow:hidden;padding:6px}
.roimon-search-result-media img{display:block;width:100%;height:100%;object-fit:contain}
.roimon-search-result-media svg{display:block;width:100%;height:100%}
.roimon-search-result-media.is-fallback{padding:0;border:0}
.roimon-search-result-copy{display:flex;flex-direction:column;min-width:0}
.roimon-search-result-type{display:block;margin-bottom:2px;color:var(--accent);font-size:12px;line-height:1.35;font-weight:500;text-transform:none}
.roimon-search-result-title{display:block;color:var(--blue);font-size:16px;line-height:1.35;font-weight:700}
.roimon-search-result-description{display:block;margin-top:4px;color:#555;font-size:13px;line-height:1.45;font-weight:300}
.roimon-search-result-arrow{color:var(--blue);font-size:24px;line-height:1;font-weight:300}
.roimon-search-no-results{margin:0;padding:18px 0;color:#555}
.roimon-search-all{display:flex;justify-content:flex-end;padding:15px 0 2px}
.roimon-search-all a{font-weight:500;color:var(--blue);text-underline-offset:3px}

/* Full search results page. */
.roimon-search-page{position:relative;display:block;min-height:48vh;padding:52px 0 72px;background:#fff;color:var(--black)}
.roimon-search-page-shell{width:100%;max-width:960px;margin:0 auto}
.roimon-search-page-head{max-width:820px;margin:0 0 28px;padding:0}
.roimon-search-page-head h1{font-size:clamp(30px,3vw,44px);line-height:1.12;margin:0 0 8px;color:var(--blue)}
.roimon-search-query{color:#555;margin:0;font-size:15px;line-height:1.55}
.roimon-search-page-list{width:100%;border-top:1px solid rgba(1,0,84,.12)}
.roimon-search-page .roimon-search-result{width:100%}
.roimon-search-page .roimon-search-result-link{width:100%;padding:18px 4px}
.roimon-search-page-empty{min-height:180px;border-top:1px solid rgba(1,0,84,.12);padding-top:18px}
.roimon-search-page .roimon-pagination{margin-top:30px}
.roimon-search-page .roimon-pagination ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.roimon-search-page .roimon-pagination a,.roimon-search-page .roimon-pagination span{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid rgba(1,0,84,.18);border-radius:var(--radius);text-decoration:none;color:var(--blue);background:#fff}
.roimon-search-page .roimon-pagination .current{background:var(--blue);border-color:var(--blue);color:#fff}

@media (max-width:760px){
  .roimon-search-overlay{padding:0;align-items:stretch}
  .roimon-search-backdrop{display:none}
  .roimon-search-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .roimon-search-head{position:sticky;top:0;z-index:3;padding:14px 16px 10px;background:#fff}
  .roimon-search-heading{font-size:18px}
  .roimon-search-close{width:38px;height:38px;flex-basis:38px}
  .roimon-search-form{position:sticky;top:62px;z-index:2;padding:0 16px 12px;background:#fff}
  .roimon-search-input-wrap input{height:50px;font-size:16px}
  .roimon-search-status{padding:2px 16px 14px}
  .roimon-search-results-host{padding:0 16px 18px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .roimon-search-result-link{grid-template-columns:58px minmax(0,1fr) 14px;gap:12px;padding:13px 2px}
  .roimon-search-result-media{width:58px;height:50px;padding:5px}
  .roimon-search-result-title{font-size:15px}
  .roimon-search-result-description{font-size:12.5px;line-height:1.4}
  .roimon-search-result-arrow{font-size:21px}
  .roimon-search-page{display:block!important;visibility:visible!important;min-height:55vh;padding:34px 0 52px;background:#fff!important}
  .roimon-search-page-shell{display:block!important;width:100%;max-width:none}
  .roimon-search-page-head{display:block!important;margin-bottom:22px}
  .roimon-search-page-head h1{font-size:30px;line-height:1.15;overflow-wrap:anywhere}
  .roimon-search-page-list{display:block!important;width:100%}
  .roimon-search-page .roimon-search-result{display:block!important;width:100%}
  .roimon-search-page .roimon-search-result-link{display:grid!important;width:100%;grid-template-columns:58px minmax(0,1fr) 14px;padding:14px 2px}
  .roimon-search-page .roimon-search-result-copy{display:flex!important;min-width:0}
  .roimon-search-page .roimon-search-result-title,.roimon-search-page .roimon-search-result-description{white-space:normal;overflow-wrap:anywhere}
  .roimon-search-page-empty{min-height:150px}
}

@media (prefers-reduced-motion:reduce){
  .roimon-search-status[data-state="loading"]::before{animation:none}
}
