.disketc-product-search {
    visibility: hidden;
    position: relative;
    width: 100%;
    max-width: 100%;
    z-index: 2147483000;
}

/* Prevent an unstyled/partial search field from flashing while the page initializes.
 * visibility preserves the header layout space until frontend JS is ready. */
.disketc-product-search--ready {
    visibility: visible;
}

.disketc-product-search__form { position: relative; width: 100%; margin: 0; }
.disketc-product-search__field { position: relative; width: 100%; z-index: 2147483002; }
.disketc-product-search__input {
    display:block; box-sizing:border-box; width:100%; height:48px; margin:0; padding:0 58px 0 34px;
    border:2px solid #4b3a94; border-radius:999px; outline:none; background:#fff; color:#282828;
    font-size:16px; line-height:1.2; box-shadow:none; transition:border-color .18s ease, box-shadow .18s ease;
}
.disketc-product-search__input::placeholder { color:#a9a9a9; font-style:italic; opacity:1; }
.disketc-product-search__input:focus { border-color:#40328a; box-shadow:0 0 0 2px rgba(75,58,148,.08); }
.disketc-product-search__submit {
    position:absolute; top:50%; right:18px; display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; padding:0; border:0; border-radius:50%; background:transparent; color:#4b3a94;
    cursor:pointer; transform:translateY(-50%); z-index:2;
}
.disketc-product-search__submit svg { display:block; width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; }

.disketc-product-search__backdrop {
    position:fixed; inset:0; z-index:2147482990; pointer-events:auto;
}
.disketc-product-search--active { z-index:2147483001; }
.disketc-product-search__results {
    position:absolute; top:calc(100% + 0px); left:0; right:0; overflow:hidden; z-index:2147483003;
    border-radius:0 0 6px 6px; background:#eeecfa; box-shadow:0 10px 26px rgba(48,45,131,.16);
}
.disketc-product-search__result {
    display:block; width:100%; padding:11px 22px; border:0; border-bottom:1px solid rgba(255,255,255,.7);
    background:transparent; color:#29252e; font-size:16px; font-style:italic; line-height:1.35;
    text-align:left; text-decoration:none; cursor:pointer; box-sizing:border-box;
}
.disketc-product-search__result:last-child { border-bottom:0; }
.disketc-product-search__result:hover,
.disketc-product-search__result:focus { background:rgba(255,255,255,.42); color:#29252e; text-decoration:none; outline:none; }
.disketc-product-search__result mark { padding:0 2px; background:#161616; color:#fff; }
.disketc-product-search__status,
.disketc-product-search__empty { padding:13px 22px; color:#5b5962; font-size:14px; font-style:italic; background:transparent; }
.disketc-product-search__status { display:flex; align-items:center; gap:9px; }
.disketc-product-search__spinner {
    width:13px; height:13px; border:2px solid rgba(75,58,148,.22); border-top-color:#4b3a94; border-radius:50%;
    animation:disketc-product-search-spin .7s linear infinite; flex:0 0 auto;
}
@keyframes disketc-product-search-spin { to { transform:rotate(360deg); } }

@media (max-width:767px) {
    .disketc-product-search__input { height:46px; padding-left:20px; padding-right:52px; font-size:15px; }
    .disketc-product-search__submit { right:14px; }
    .disketc-product-search__result { padding:10px 16px; font-size:14px; }
}

/* Search popup: moved to <body> while active and rendered as a centered
 * modal so it remains above sticky/floating headers and navigation. */
.disketc-product-search--portal {
    position: fixed !important;
    top: 14vh !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(620px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 2147483647 !important;
}
.disketc-product-search--portal .disketc-product-search__form {
    position: relative;
    width: 100%;
}
.disketc-product-search--portal .disketc-product-search__field {
    z-index: 2147483647 !important;
}
.disketc-product-search--portal .disketc-product-search__input {
    height: 54px;
    font-size: 17px;
    box-shadow: 0 12px 34px rgba(20,16,60,.20);
}
.disketc-product-search--portal .disketc-product-search__results {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: min(60vh, 285px);
    overflow-y: auto;
    border-radius: 14px;
    background: #eeecfa;
    box-shadow: 0 18px 44px rgba(20,16,60,.22);
    z-index: 2147483647 !important;
}
.disketc-product-search--portal .disketc-product-search__result {
    padding: 14px 20px;
    font-size: 16px;
}
.disketc-product-search--portal .disketc-product-search__result:first-child {
    border-radius: 14px 14px 0 0;
}
.disketc-product-search--portal .disketc-product-search__result:last-child {
    border-radius: 0 0 14px 14px;
}
.disketc-product-search--portal .disketc-product-search__status,
.disketc-product-search--portal .disketc-product-search__empty {
    padding: 15px 20px;
}
.disketc-product-search__backdrop {
    z-index: 2147483646 !important;
}

@media (max-width:767px) {
    .disketc-product-search--portal {
        top: 10vh !important;
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }
    .disketc-product-search--portal .disketc-product-search__input {
        height: 48px;
        font-size: 16px;
    }
    .disketc-product-search--portal .disketc-product-search__results {
        max-height: 285px;
    }
    .disketc-product-search--portal .disketc-product-search__result {
        padding: 12px 16px;
        font-size: 14px;
    }
}
