.sp-header-search input{
  cursor:text;
}

.sp-header-search button{
  cursor:pointer;
}

.sp-header-search-mobile{
  display:none;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid var(--sp-card-border);
  border-radius:var(--sp-radius-pill);
  background:var(--sp-white-06);
  color:var(--sp-text);
  cursor:pointer;
  transition:
    background var(--sp-transition-fast),
    border-color var(--sp-transition-fast),
    color var(--sp-transition-fast);
}

.sp-header-search-mobile:hover,
.sp-header-search-mobile:focus-visible{
  border-color:var(--sp-card-border-hover);
  background:var(--sp-white-10);
  color:var(--sp-accent);
  outline:0;
}

.sp-header-search-mobile svg{
  display:block;
  width:20px;
  height:20px;
}

.sp-search-modal[hidden]{
  display:none;
}

.sp-search-modal{
  position:fixed;
  inset:0;
  z-index:220;
  display:grid;
  place-items:start center;
  padding:calc(var(--sp-header-height) + 34px) var(--sp-gutter) 32px;
  overflow:hidden;
  overscroll-behavior:contain;
}

body.admin-bar .sp-search-modal{
  padding-top:calc(var(--sp-header-height) + 66px);
}

.sp-search-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2, 6, 23, .74);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.sp-search-modal__panel{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  gap:14px;
  width:min(840px, 100%);
  max-height:min(760px, calc(100vh - var(--sp-header-height) - 80px));
  overflow:hidden;
  min-height:0;
  border:1px solid var(--sp-card-border);
  border-radius:var(--sp-radius-lg);
  background:
    radial-gradient(520px 260px at 0% 0%, var(--sp-accent-alpha-12), transparent 70%),
    var(--sp-bg-soft);
  box-shadow:0 26px 90px rgba(0,0,0,.46);
}

body.admin-bar .sp-search-modal__panel{
  max-height:calc(100vh - var(--sp-header-height) - 112px);
}

.sp-search-modal__top{
  display:grid;
  gap:12px;
  padding:18px 18px 0;
}

.sp-search-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.sp-search-modal__title{
  margin:0;
  color:var(--sp-text);
  font-size:var(--sp-fs-xl);
  line-height:1.08;
  font-weight:var(--sp-fw-norm);
  letter-spacing:-.035em;
}

.sp-search-modal__close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid var(--sp-card-border);
  border-radius:var(--sp-radius-pill);
  background:var(--sp-white-06);
  color:var(--sp-text-soft);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.sp-search-modal__close:hover,
.sp-search-modal__close:focus-visible{
  border-color:var(--sp-card-border-hover);
  background:var(--sp-white-10);
  color:var(--sp-text);
  outline:0;
}

.sp-search-modal__form{
  position:relative;
  display:block;
}

.sp-search-modal__input{
  width:100%;
  min-height:54px;
  padding:0 54px 0 48px;
  border:1px solid var(--sp-card-border);
  border-radius:var(--sp-radius-pill);
  background:rgba(255,255,255,.06);
  color:var(--sp-text);
  font-size:var(--sp-fs-lg);
  line-height:1;
  outline:0;
}

.sp-search-modal__input::placeholder{
  color:var(--sp-muted);
}

.sp-search-modal__form-icon{
  position:absolute;
  left:18px;
  top:50%;
  width:20px;
  height:20px;
  color:var(--sp-accent);
  transform:translateY(-50%);
  pointer-events:none;
}

.sp-search-modal__submit{
  position:absolute;
  right:6px;
  top:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 15px;
  border:0;
  border-radius:var(--sp-radius-pill);
  background:var(--sp-accent);
  color:var(--sp-bg);
  font-size:var(--sp-fs-sm);
  font-weight:var(--sp-fw-norm);
  cursor:pointer;
}

.sp-search-modal__status{
  min-height:20px;
  color:var(--sp-muted);
  font-size:var(--sp-fs-sm);
  line-height:1.4;
}

.sp-search-modal__body{
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  padding:0 18px 18px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}

.sp-search-results{
  display:grid;
  gap:16px;
}

.sp-search-results__empty,
.sp-search-results__hint{
  padding:18px;
  border:1px solid var(--sp-card-border);
  border-radius:var(--sp-radius-card-small);
  background:var(--sp-white-04);
  color:var(--sp-muted);
  font-size:var(--sp-fs-sm);
  line-height:1.5;
}

.sp-search-results__section{
  display:grid;
  gap:8px;
}

.sp-search-results__section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  color:var(--sp-accent);
  font-size:var(--sp-fs-xs);
  line-height:1.1;
  font-weight:var(--sp-fw-norm);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.sp-search-results__list{
  display:grid;
  gap:8px;
}

/* Карточка результата */

.sp-search-result{
  display:grid;
  grid-template-columns:92px minmax(0, 1fr);
  align-items:center;
  gap:14px;
  min-width:0;
  min-height:116px;
  padding:12px;
  border:1px solid var(--sp-card-border);
  border-radius:var(--sp-radius-card-small);
  background:rgba(255,255,255,.035);
  color:inherit;
  text-decoration:none;
  transition:
    background var(--sp-transition-fast),
    border-color var(--sp-transition-fast),
    transform var(--sp-transition-fast);
}

.sp-search-result:hover,
.sp-search-result:focus-visible,
.sp-search-result.is-active{
  transform:translateY(-1px);
  border-color:var(--sp-card-border-hover);
  background:var(--sp-gradient-card-hover);
  outline:0;
}

.sp-search-result__media{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  width:92px;
  height:92px;
  border:1px solid var(--sp-card-border);
  border-radius:18px;
  background:var(--sp-white-06);
  color:var(--sp-accent);
  font-size:var(--sp-fs-xl);
  font-weight:var(--sp-fw-bold);
}

.sp-search-result__media > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}

.sp-search-result__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
}

.sp-search-result--team .sp-search-result__media img,
.sp-search-result--league .sp-search-result__media img,
.sp-search-result--tournament .sp-search-result__media img{
  object-fit:contain;
  padding:8px;
}

.sp-search-result__body{
  display:grid;
  grid-template-rows:auto auto auto;
  align-content:center;
  gap:7px;
  min-width:0;
  min-height:92px;
}

.sp-search-result__title{
  display:-webkit-box;
  overflow:hidden;
  color:var(--sp-text);
  font-size:var(--sp-fs-md);
  line-height:1.18;
  font-weight:var(--sp-fw-medium);
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
}

.sp-search-result__subtitle{
  display:-webkit-box;
  overflow:hidden;
  color:var(--sp-muted);
  font-size:var(--sp-fs-sm);
  line-height:1.32;
  text-overflow:ellipsis;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
}

.sp-search-result__meta{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:10px;
  min-width:0;
  color:var(--sp-muted);
  font-size:var(--sp-fs-xs);
  line-height:1.25;
  white-space:nowrap;
}

.sp-search-result__date{
  display:inline-flex;
  align-items:center;
  min-width:0;
  color:var(--sp-muted);
  font-size:inherit;
  line-height:inherit;
}

.sp-search-result__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-width:0;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(125,211,252,.22);
  border-radius:var(--sp-radius-pill);
  background:rgba(125,211,252,.08);
  color:var(--sp-accent-text);
  font-size:var(--sp-fs-xs);
  font-weight:var(--sp-fw-norm);
  line-height:1;
  white-space:nowrap;
}

.sp-search-results__all{
  display:flex;
  justify-content:center;
  padding-top:2px;
}

.sp-search-results__all a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border:1px solid var(--sp-card-border);
  border-radius:var(--sp-radius-pill);
  background:var(--sp-white-06);
  color:var(--sp-text);
  font-size:var(--sp-fs-sm);
  font-weight:var(--sp-fw-norm);
  text-decoration:none;
}

.sp-search-results__all a:hover,
.sp-search-results__all a:focus-visible{
  border-color:var(--sp-card-border-hover);
  background:var(--sp-white-10);
  color:var(--sp-accent);
  outline:0;
}

html.is-search-open,
body.is-search-open{
  overflow:hidden;
  overscroll-behavior:none;
}

@media (max-width:1200px){
  .sp-header-search{
    display:none;
  }
}

@media (max-width:900px){
  .sp-header__actions{
    display:flex !important;
    margin-left:auto;
  }

  .sp-header-search{
    display:none !important;
  }

  .sp-header-search-mobile{
    display:inline-flex;
  }

  .sp-search-modal{
    align-items:stretch;
    place-items:stretch;
    padding:10px;
  }

  body.admin-bar .sp-search-modal{
    padding-top:56px;
  }

  .sp-search-modal__panel{
    width:100%;
    max-height:calc(100vh - 20px);
    border-radius:var(--sp-radius-mobile);
  }

  body.admin-bar .sp-search-modal__panel{
    max-height:calc(100vh - 66px);
  }

  .sp-search-modal__top{
    padding:15px 15px 0;
  }

  .sp-search-modal__title{
    font-size:var(--sp-fs-lg);
  }

  .sp-search-modal__input{
    min-height:50px;
    padding-left:44px;
    padding-right:92px;
    font-size:var(--sp-fs-md);
  }

  .sp-search-modal__submit{
    height:38px;
    padding:0 12px;
    font-size:var(--sp-fs-xs);
  }

  .sp-search-modal__body{
    padding:0 15px 15px;
  }

  .sp-search-result{
    grid-template-columns:96px minmax(0, 1fr);
    align-items:center;
    gap:12px;
    min-height:120px;
    padding:12px;
    border-radius:var(--sp-radius-mobile);
  }

  .sp-search-result--post{
    min-height:120px;
  }

  .sp-search-result__media{
    width:96px;
    height:96px;
    border-radius:18px;
  }

  .sp-search-result__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    min-height:96px;
  }

  .sp-search-result--post .sp-search-result__body{
    justify-content:space-between;
    gap:4px;
    min-height:96px;
    max-height:96px;
  }

  .sp-search-result__title{
    font-size:18px;
    line-height:1.14;
    font-weight:var(--sp-fw-medium);
    -webkit-line-clamp:2;
  }

  .sp-search-result--post .sp-search-result__title{
    font-size:18px;
    line-height:1.12;
    font-weight:var(--sp-fw-medium);
    -webkit-line-clamp:3;
  }

  .sp-search-result--post .sp-search-result__subtitle{
    display:none;
  }

  .sp-search-result--team .sp-search-result__subtitle,
  .sp-search-result--league .sp-search-result__subtitle,
  .sp-search-result--tournament .sp-search-result__subtitle{
    display:-webkit-box;
    font-size:var(--sp-fs-sm);
    line-height:1.25;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
  }

  .sp-search-result__meta{
    gap:9px;
    font-size:var(--sp-fs-xs);
  }

  .sp-search-result--post .sp-search-result__meta{
    gap:8px;
  }

  .sp-search-result__badge{
    min-height:28px;
    padding:0 10px;
    font-size:var(--sp-fs-xs);
  }
}

@media (max-width:520px){
  .sp-search-modal__panel{
    max-height:calc(100vh - 20px);
  }

  .sp-search-result{
    grid-template-columns:92px minmax(0, 1fr);
    gap:11px;
    min-height:116px;
    padding:11px;
  }

  .sp-search-result--post{
    min-height:116px;
  }

  .sp-search-result__media{
    width:92px;
    height:92px;
    border-radius:17px;
  }

  .sp-search-result__body{
    gap:6px;
    min-height:92px;
  }

  .sp-search-result--post .sp-search-result__body{
    gap:3px;
    min-height:92px;
    max-height:92px;
  }

  .sp-search-result--post .sp-search-result__title{
    font-size:17px;
    line-height:1.11;
    -webkit-line-clamp:3;
  }

  .sp-search-result--post .sp-search-result__meta{
    font-size:12px;
  }

  .sp-search-result--post .sp-search-result__badge{
    min-height:26px;
    padding:0 9px;
    font-size:12px;
  }
}

@media (max-width:420px){
  .sp-search-modal{
    padding-left:8px;
    padding-right:8px;
  }

  .sp-search-modal__input{
    padding-right:82px;
  }

  .sp-search-result{
    grid-template-columns:86px minmax(0, 1fr);
    gap:10px;
    min-height:110px;
    padding:10px;
  }

  .sp-search-result--post{
    min-height:110px;
  }

  .sp-search-result__media{
    width:86px;
    height:86px;
    border-radius:16px;
  }

  .sp-search-result__body{
    gap:5px;
    min-height:86px;
  }

  .sp-search-result--post .sp-search-result__body{
    gap:2px;
    min-height:86px;
    max-height:86px;
  }

  .sp-search-result__title{
    font-size:17px;
  }

  .sp-search-result--post .sp-search-result__title{
    font-size:16px;
    line-height:1.1;
    -webkit-line-clamp:3;
  }

  .sp-search-result--post .sp-search-result__meta{
    font-size:12px;
  }

  .sp-search-result--post .sp-search-result__badge{
    min-height:25px;
    padding:0 8px;
    font-size:12px;
  }
}