.search-overlay{position:fixed;inset:0;z-index:300;display:grid;grid-template-rows:auto 1fr;background:rgba(247,246,242,.98);opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease}
.search-overlay.open{opacity:1;visibility:visible}
.search-overlay-head{height:88px;display:grid;grid-template-columns:160px minmax(280px,720px) 160px;align-items:center;justify-content:space-between;gap:30px;padding:0 48px;border-bottom:1px solid rgba(0,0,0,.13);background:#fff}
.search-overlay-logo{width:132px}
.search-overlay-logo img{width:100%;height:auto}
.search-form{height:48px;display:flex;align-items:center;gap:13px;padding:0 18px;border:1px solid #c9c9c5;border-radius:999px;background:#f7f7f4}
.search-form img{width:19px;height:19px}
.search-input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#111;font-size:17px}
.search-input::placeholder{color:#777}
.search-clear{display:none;padding:4px;border:0;background:transparent;color:#5e5e5a;font-size:12px;font-weight:700;text-transform:uppercase;cursor:pointer}
.search-input:not(:placeholder-shown)+.search-clear{display:block}
.search-close{justify-self:end;width:42px;height:42px;display:grid;place-items:center;border:1px solid #d8d8d4;border-radius:50%;background:#fff;font-size:28px;line-height:1;cursor:pointer}
.search-overlay-body{overflow:auto;padding:52px max(32px,calc((100vw - 1180px)/2)) 70px}
.search-kicker{margin:0 0 12px;color:#777;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.search-title{margin:0 0 28px;font-size:clamp(30px,3.2vw,52px);line-height:1;letter-spacing:-.045em;text-transform:uppercase}
.search-suggestions{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:42px}
.search-suggestion{padding:10px 16px;border:1px solid #d8d8d4;border-radius:999px;background:#fff;font-size:12px;font-weight:700;cursor:pointer}
.search-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.search-result{min-width:0;border-radius:14px;background:#fff;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.search-result:hover,.search-result:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.09);outline:0}
.search-result-image{aspect-ratio:1/1;display:grid;place-items:center;padding:18px;background:#efefeb}
.search-result-image img{width:100%;height:100%;object-fit:contain}
.search-result-copy{display:flex;flex-direction:column;gap:6px;padding:15px 16px 18px}
.search-result-copy small{color:#777;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.search-result-copy strong{font-size:15px;line-height:1.25}
.search-result-copy span{font-size:13px;font-weight:700}
.search-empty{grid-column:1/-1;padding:48px 22px;border:1px solid #deded9;border-radius:14px;text-align:center;background:#fff}
.search-empty strong{display:block;margin-bottom:8px;font-size:22px}
.search-empty span{color:#70706d;font-size:14px}
body.search-open{overflow:hidden}
.mobile-menu .mobile-search-link{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}

@media(max-width:760px){
  .search-overlay-head{height:66px;grid-template-columns:1fr auto;padding:0 14px;gap:12px}
  .search-overlay-logo{display:none}
  .search-form{height:42px;padding:0 14px}
  .search-input{font-size:15px}
  .search-close{width:38px;height:38px;font-size:25px}
  .search-overlay-body{padding:30px 14px 50px}
  .search-title{margin-bottom:20px;font-size:32px}
  .search-suggestions{margin-bottom:30px}
  .search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .search-result-image{padding:10px}
  .search-result-copy{padding:12px}
  .search-result-copy strong{font-size:13px}
}
