/*!
 * For The Player | searchbar-hybrid.css
 * Live-search dropdown, floating mobile panel en suggestie-resultaten.
 */
/* v0.7.1 - Hybrid search dropdown: products, suggestions, scopes and collections */
.ftp-live-search {
  min-width: min(720px, 100vw - 2rem);
}

.ftp-live-search-list {
  max-height: none;
  overflow: visible;
}

.ftp-live-search-group-label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.62rem 1rem 0.42rem;
  color: var(--ftp-muted);
  background: linear-gradient(180deg, rgba(246, 242, 255, 0.92), rgba(255, 255, 255, 0.7));
  border-bottom: 1px solid rgba(231, 225, 244, 0.72);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ftp-live-search-item {
  min-height: 72px;
  transition: background 0.16s ease, transform 0.16s ease;
}

.ftp-live-search-item.is-active,
.ftp-live-search-item:focus-visible,
.ftp-live-search-item:hover {
  background: linear-gradient(90deg, rgba(111, 60, 255, 0.11), rgba(255, 255, 255, 0.96));
  color: var(--ftp-text);
  outline: none;
}

.ftp-live-search-item.is-suggestion,
.ftp-live-search-item.is-category,
.ftp-live-search-item.is-collection,
.ftp-live-search-item.is-content {
  grid-template-columns: 48px minmax(0, 1fr);
  min-height: 62px;
}

.ftp-live-search-item.is-suggestion .ftp-live-search-image,
.ftp-live-search-item.is-category .ftp-live-search-image,
.ftp-live-search-item.is-collection .ftp-live-search-image,
.ftp-live-search-item.is-content .ftp-live-search-image {
  width: 48px;
  height: 48px;
  border-radius: 15px;
}

.ftp-live-search-icon {
  color: var(--ftp-accent-dark);
  font-size: 1.15rem;
}

.ftp-live-search-title {
  display: block;
  overflow: hidden;
  color: var(--ftp-text);
  font-size: 0.95rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ftp-live-search-title b {
  color: var(--ftp-accent-dark);
  font-weight: 950;
}

.ftp-live-search-copy strong {
  display: none;
}

.ftp-live-search-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.1rem;
}

.ftp-live-search-price,
.ftp-live-search-stock,
.ftp-live-search-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0.16rem 0.48rem;
  border-radius: 999px;
  background: var(--ftp-panel-soft);
  color: var(--ftp-muted);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
}

.ftp-live-search-price {
  background: rgba(33, 197, 128, 0.12);
  color: #116b46;
}

.ftp-live-search-stock.is-in-stock {
  background: rgba(111, 60, 255, 0.1);
  color: var(--ftp-accent-dark);
}

.ftp-live-search-badge {
  background: rgba(255, 193, 7, 0.18);
  color: #7a4e00;
}

@media (max-width: 991px) {
  .ftp-live-search {
    min-width: 0;
  }
  .ftp-live-search-list {
    max-height: min(62vh, 560px);
    overflow: auto;
  }
}
@media (max-width: 576px) {
  .ftp-live-search-head,
  .ftp-live-search-all,
  .ftp-live-search-empty {
    padding: 0.76rem 0.85rem;
  }
  .ftp-live-search-item {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.65rem;
    min-height: 64px;
    padding: 0.68rem 0.85rem;
  }
  .ftp-live-search-image {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }
  .ftp-live-search-copy small {
    font-size: 0.62rem;
  }
  .ftp-live-search-title {
    font-size: 0.88rem;
  }
  .ftp-live-search-copy em {
    font-size: 0.78rem;
  }
}
/* v1.6 - Mobile live-search containment from uploaded searchbar patch
   Alleen zoekbalk-styling: voorkomt dat de mobiele autocomplete de .ftp-search uitrekt. */
.ftp-search {
  min-width: 0;
}

.ftp-search .ftp-live-search {
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .ftp-search {
    position: relative !important;
    overflow: visible !important;
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .ftp-search .ftp-live-search,
  .ftp-search-mobile .ftp-live-search {
    position: absolute !important;
    top: calc(100% + 0.55rem) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 5000 !important;
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }
  .ftp-search .ftp-live-search-list,
  .ftp-search-mobile .ftp-live-search-list {
    max-height: min(56vh, 430px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .ftp-search .ftp-live-search-head,
  .ftp-search .ftp-live-search-all,
  .ftp-search .ftp-live-search-empty,
  .ftp-search-mobile .ftp-live-search-head,
  .ftp-search-mobile .ftp-live-search-all,
  .ftp-search-mobile .ftp-live-search-empty {
    flex-shrink: 0;
  }
  .ftp-mobile-menu-panel .ftp-search-mobile {
    margin-bottom: 1rem;
  }
  .ftp-mobile-menu-panel .ftp-live-search {
    max-height: min(58vh, 460px) !important;
  }
}
@media (max-width: 576px) {
  .ftp-search .ftp-live-search,
  .ftp-search-mobile .ftp-live-search {
    top: calc(100% + 0.45rem) !important;
    border-radius: 18px !important;
  }
  .ftp-live-search-head {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .ftp-live-search-head span {
    white-space: nowrap;
  }
  .ftp-live-search-item {
    width: 100%;
    min-width: 0;
  }
  .ftp-live-search-copy,
  .ftp-live-search-title,
  .ftp-live-search-copy em {
    min-width: 0;
    max-width: 100%;
  }
}
/* v1.6.1 - Grotere afbeeldingen in live zoekresultaten */
.ftp-live-search-item {
  grid-template-columns: 76px minmax(0, 1fr);
  min-height: 88px;
  gap: 0.9rem;
}

.ftp-live-search-image {
  width: 76px;
  height: 76px;
  border-radius: 18px;
}

.ftp-live-search-item.is-suggestion,
.ftp-live-search-item.is-category,
.ftp-live-search-item.is-collection,
.ftp-live-search-item.is-content {
  grid-template-columns: 62px minmax(0, 1fr);
  min-height: 76px;
}

.ftp-live-search-item.is-suggestion .ftp-live-search-image,
.ftp-live-search-item.is-category .ftp-live-search-image,
.ftp-live-search-item.is-collection .ftp-live-search-image,
.ftp-live-search-item.is-content .ftp-live-search-image {
  width: 62px;
  height: 62px;
  border-radius: 17px;
}

@media (max-width: 576px) {
  .ftp-live-search-item {
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 76px;
  }
  .ftp-live-search-image,
  .ftp-live-search-item.is-suggestion .ftp-live-search-image,
  .ftp-live-search-item.is-category .ftp-live-search-image,
  .ftp-live-search-item.is-collection .ftp-live-search-image,
  .ftp-live-search-item.is-content .ftp-live-search-image {
    width: 60px;
    height: 60px;
    border-radius: 16px;
  }
}
/* v1.7.1 - Mobile live-search alignment
   Laat de floating dropdown op mobiel uitlijnen met de daadwerkelijke zoekbalk,
   in plaats van opnieuw schermbreed te forceren na de JS-positionering. */
@media (max-width: 767.98px) {
  .ftp-live-search.is-floating-live-search:not([hidden]),
  .ftp-search .ftp-live-search.is-floating-live-search:not([hidden]),
  .ftp-search-mobile .ftp-live-search.is-floating-live-search:not([hidden]),
  .ftp-home-search .ftp-live-search.is-floating-live-search:not([hidden]) {
    position: fixed !important;
    top: var(--ftp-live-search-top, var(--ftp-mobile-live-search-top, 82px)) !important;
    right: auto !important;
    bottom: auto !important;
    left: var(--ftp-live-search-left, max(12px, env(safe-area-inset-left))) !important;
    width: var(--ftp-live-search-width, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    max-height: var(--ftp-live-search-max-height, var(--ftp-mobile-live-search-max-height, min(70dvh, 520px))) !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }
}
/* v1.7.2 - Mobile live-search polish
   Corrigeert uitlijning op de echte zoekbalk en geeft productrijen op mobiel meer ademruimte. */
@media (max-width: 767.98px) {
  .ftp-live-search.is-floating-live-search:not([hidden]),
  .ftp-search .ftp-live-search.is-floating-live-search:not([hidden]),
  .ftp-search-mobile .ftp-live-search.is-floating-live-search:not([hidden]),
  .ftp-home-search .ftp-live-search.is-floating-live-search:not([hidden]) {
    left: var(--ftp-live-search-left, 14px) !important;
    width: var(--ftp-live-search-width, calc(100vw - 28px)) !important;
    max-width: calc(100vw - 28px) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 58px rgba(18, 10, 42, 0.2) !important;
  }
  .ftp-live-search-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.72rem 0.9rem !important;
  }
  .ftp-live-search-head strong,
  .ftp-live-search-head span {
    min-width: 0;
    line-height: 1.15;
  }
  .ftp-live-search-list {
    display: block !important;
  }
  .ftp-live-search-group-label {
    padding: 0.56rem 0.9rem 0.38rem !important;
    font-size: 0.64rem !important;
    line-height: 1.1;
  }
  .ftp-live-search-item,
  .ftp-live-search-item.is-suggestion,
  .ftp-live-search-item.is-category,
  .ftp-live-search-item.is-collection,
  .ftp-live-search-item.is-content {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 0.68rem !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 0.7rem 0.85rem !important;
  }
  .ftp-live-search-image,
  .ftp-live-search-item.is-suggestion .ftp-live-search-image,
  .ftp-live-search-item.is-category .ftp-live-search-image,
  .ftp-live-search-item.is-collection .ftp-live-search-image,
  .ftp-live-search-item.is-content .ftp-live-search-image {
    width: 54px !important;
    height: 54px !important;
    border-radius: 15px !important;
  }
  .ftp-live-search-copy {
    display: grid !important;
    gap: 0.16rem !important;
    min-width: 0 !important;
    overflow: hidden;
  }
  .ftp-live-search-copy small {
    font-size: 0.58rem !important;
    line-height: 1 !important;
    letter-spacing: 0.07em !important;
  }
  .ftp-live-search-title {
    max-width: 100%;
    font-size: 0.84rem !important;
    line-height: 1.12 !important;
  }
  .ftp-live-search-copy em {
    max-width: 100%;
    font-size: 0.72rem !important;
    line-height: 1.1 !important;
  }
  .ftp-live-search-meta {
    gap: 0.25rem !important;
    margin-top: 0.12rem !important;
  }
  .ftp-live-search-price,
  .ftp-live-search-stock,
  .ftp-live-search-badge {
    min-height: 18px !important;
    padding: 0.12rem 0.36rem !important;
    font-size: 0.62rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 374.98px) {
  .ftp-live-search-item,
  .ftp-live-search-item.is-suggestion,
  .ftp-live-search-item.is-category,
  .ftp-live-search-item.is-collection,
  .ftp-live-search-item.is-content {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 0.58rem !important;
    padding-inline: 0.72rem !important;
  }
  .ftp-live-search-image,
  .ftp-live-search-item.is-suggestion .ftp-live-search-image,
  .ftp-live-search-item.is-category .ftp-live-search-image,
  .ftp-live-search-item.is-collection .ftp-live-search-image,
  .ftp-live-search-item.is-content .ftp-live-search-image {
    width: 48px !important;
    height: 48px !important;
  }
  .ftp-live-search-badge {
    display: none !important;
  }
}
