/* Reliable click-to-open product search for the global header and Royal single-product template. */
.winkelio-product-search {
  position: relative;
  box-sizing: border-box;
}

.winkelio-product-search .winkelio-search-panel {
  box-sizing: border-box;
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  z-index: 999999;
  width: min(440px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  min-height: 64px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #e2e2ed;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(40, 40, 60, .16);
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-6px);
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}

.winkelio-product-search.is-open .winkelio-search-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0);
}

.winkelio-product-search .winkelio-search-panel input[type="search"] {
  box-sizing: border-box;
  width: min(300px, 100%);
  min-width: 0;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0 15px;
  border: 1px solid #d8d8e7;
  border-radius: 12px;
  background: #fff;
  color: #28283c;
  font-size: 16px;
  line-height: 1;
}

.winkelio-product-search .winkelio-search-panel input[type="search"]:focus {
  border-color: #655abb;
  box-shadow: 0 0 0 3px rgba(101, 90, 187, .16);
  outline: 0;
}

.winkelio-product-search .winkelio-search-submit {
  box-sizing: border-box;
  width: auto !important;
  min-width: 112px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 12px !important;
  background: #655abb !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1 !important;
  white-space: nowrap;
  cursor: pointer;
}

.winkelio-product-search .winkelio-search-submit:hover,
.winkelio-product-search .winkelio-search-submit:focus-visible {
  background: #554ca7 !important;
}

.elementor-23729 .elementor-element-c55bf1d .winkelio-search--product .winkelio-search-panel {
  position: fixed !important;
  right: auto !important;
  width: min(440px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  transform: translateY(-6px) !important;
}

.elementor-23729 .elementor-element-c55bf1d .winkelio-search--product.is-open .winkelio-search-panel {
  transform: translateY(0) !important;
}

@media (max-width: 767px) {
  .winkelio-product-search .winkelio-search-panel {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    min-height: 0;
    padding: 10px;
    gap: 8px;
  }

  .winkelio-product-search .winkelio-search-panel input[type="search"] {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  .winkelio-product-search .winkelio-search-submit {
    flex: 0 0 auto;
    min-width: 102px !important;
    padding-inline: 15px !important;
  }
}

@media (max-width: 380px) {
  .winkelio-product-search .winkelio-search-panel {
    flex-wrap: wrap;
  }

  .winkelio-product-search .winkelio-search-panel input[type="search"],
  .winkelio-product-search .winkelio-search-submit {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .winkelio-product-search .winkelio-search-panel {
    transition: none;
  }
}
