@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter+Tight:wght@400;500;600;700&display=swap');
/* ===========================================================
   St. Leo Search Modal — same design language as the other
   plugins: Fraunces + Inter Tight, navy #161e34, cream, gold,
   maroon accents, sharp corners.
   =========================================================== */
html.psm-open{ overflow:hidden; }

.psm-modal{
  --psm-ink:#161e34;
  --psm-soft-ink:#4e5670;
  --psm-gold:#b4893f;
  --psm-gold-soft:#d4ab68;
  --psm-brand:#7a1f2b;
  --psm-surface:#fbf7ee;
  --psm-line:#e1e1e1;
  position:fixed; inset:0; z-index:100000;
  display:flex; align-items:flex-start; justify-content:center;
  padding:9vh 16px 16px; overflow-y:auto;
  font-family:'Inter Tight',-apple-system,Helvetica,Arial,sans-serif;
}
.psm-modal[hidden]{ display:none; }
.psm-modal *{ box-sizing:border-box; }

.psm-overlay{ position:fixed; inset:0; background:rgba(22,30,52,.6); backdrop-filter:blur(3px); }

.psm-dialog{
  position:relative; z-index:1; width:100%; max-width:640px;
  background:#fff; border:1px solid var(--psm-line);
  box-shadow:0 30px 80px rgba(20,20,30,.35);
  padding:22px 26px 20px;
}
.psm-close{
  position:absolute; top:12px; right:12px; width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--psm-line); background:#fff; color:var(--psm-soft-ink);
  cursor:pointer; transition:.18s ease;
}
.psm-close:hover{ border-color:var(--psm-ink); color:var(--psm-ink); }

/* Cross emblem above the search bar */
.psm-emblem{
  display:flex; align-items:center; justify-content:center; gap:16px;
  margin:6px 0 18px; color:var(--psm-gold-soft);
}
.psm-emblem svg{ flex:none; }
.psm-emblem-line{
  height:1px; width:120px;
  background:linear-gradient(90deg,transparent,var(--psm-gold-soft),transparent);
}

/* Input row -------------------------------------------------- */
.psm-box{
  display:flex; align-items:center; gap:12px;
  border:2px solid var(--psm-line); padding:13px 16px; background:#fff;
  transition:border-color .2s ease;
}
.psm-box:focus-within{ border-color:var(--psm-ink); }
.psm-box svg{ flex:none; color:var(--psm-gold); }
.psm-input{
  flex:1; border:0; outline:0; background:transparent;
  font-family:inherit; font-size:18px; color:var(--psm-ink);
}
.psm-input::placeholder{ color:#9aa0b4; }
.psm-input::-webkit-search-cancel-button{ -webkit-appearance:none; }

.psm-status{
  margin:14px 2px 4px; font-size:13px; color:var(--psm-soft-ink);
  font-family:inherit; letter-spacing:.02em;
}
.psm-status[hidden]{ display:none; }

/* Results ---------------------------------------------------- */
.psm-results{ margin-top:10px; max-height:52vh; overflow-y:auto; }
.psm-results[hidden]{ display:none; }
.psm-results::-webkit-scrollbar{ width:8px; }
.psm-results::-webkit-scrollbar-thumb{ background:#d8cfc0; }

.psm-item{
  display:block; padding:13px 12px; text-decoration:none;
  border-bottom:1px solid var(--psm-line);
  transition:background .15s ease;
}
.psm-item:last-child{ border-bottom:none; }
.psm-item:hover,.psm-item:focus{ background:var(--psm-surface); outline:0; }
.psm-item-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.psm-badge{
  flex:none; font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--psm-gold); background:rgba(212,171,104,.16); border:1px solid rgba(212,171,104,.4);
  padding:2px 8px;
}
.psm-item-title{
  font-family:'Inter Tight',sans-serif; font-weight:600; font-size:17px; line-height:1.25;
  color:var(--psm-ink); letter-spacing:.2px;
}
.psm-item-snippet{
  display:block; margin-top:4px; font-size:13px; line-height:1.5; color:var(--psm-soft-ink);
}
.psm-item mark{
  background:rgba(212,171,104,.35); color:inherit; padding:0 1px;
}
.psm-item:hover .psm-item-title{ color:var(--psm-brand); }

@media (max-width:520px){
  .psm-modal{ padding:5vh 10px 10px; }
  .psm-dialog{ padding:20px 16px 14px; }
  .psm-input{ font-size:16px; }
}
