.ap-header-icons {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:22px;
}

.ap-header-icon {
    position:relative;
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--ap-color-ink)!important;
    text-decoration:none!important;
    box-shadow:none!important;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
}

.ap-header-icon svg {
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.25;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .2s ease, color .2s ease, opacity .2s ease;
}

.ap-header-icon:hover,
.ap-header-icon:focus-visible {
    color:var(--ap-color-accent)!important;
    background:transparent!important;
    outline:none;
}

.ap-header-icon:hover svg {
    transform:translateY(-1px);
}

.ap-header-icons .ap-cart-count {
    position:absolute;
    top:-7px;
    right:-8px;
    min-width:16px;
    height:16px;
    padding:0 4px;
    border-radius:999px;
    background:var(--ap-color-accent-dark);
    color:#fff;
    font-family:var(--ap-font-body);
    font-size:10px;
    line-height:16px;
    text-align:center;
}

.ap-search-overlay {
    position:fixed;
    inset:0;
    z-index:99996;
    background:rgba(24,21,17,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity .24s ease;
}

.ap-search-overlay.is-open {
    opacity:1;
    pointer-events:auto;
}

.ap-search-panel {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:99997;
    background:var(--ap-color-bg);
    color:var(--ap-color-ink);
    border-bottom:1px solid var(--ap-color-line);
    padding:30px 0 38px;
    transform:translateY(-100%);
    transition:transform .34s cubic-bezier(.16,1,.3,1);
    font-family:var(--ap-font-body);
}

.ap-search-panel.is-open {
    transform:translateY(0);
}

.ap-search-panel__inner {
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 clamp(24px, 4vw, 64px);
    position:relative;
    box-sizing:border-box;
}

.ap-search-close {
    position:absolute;
    top:-8px;
    right:clamp(24px, 4vw, 64px);
    width:36px;
    height:36px;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    cursor:pointer;
}

.ap-search-close::before,
.ap-search-close::after {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:20px;
    height:1px;
    background:var(--ap-color-muted);
    transform-origin:center;
}

.ap-search-close::before {
    transform:translate(-50%,-50%) rotate(45deg);
}

.ap-search-close::after {
    transform:translate(-50%,-50%) rotate(-45deg);
}

.ap-search-label {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
}

.ap-search-input {
    width:100%;
    border:0!important;
    border-bottom:1px solid var(--ap-color-line)!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0 56px 18px 36px!important;
    font-family:var(--ap-font-body)!important;
    font-size:15px!important;
    font-weight:400!important;
    letter-spacing:.012em!important;
    color:var(--ap-color-text)!important;
    outline:none!important;
    min-height:42px;
    background-image:url("../icons/search.svg")!important;
    background-repeat:no-repeat!important;
    background-size:18px 18px!important;
    background-position:left 4px top 8px!important;
}

.ap-search-input::placeholder {
    color:var(--ap-color-faint);
}

.ap-search-results {
    margin-top:22px;
}

.ap-search-results__list {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}

.ap-search-result {
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    gap:14px;
    align-items:center;
    color:var(--ap-color-ink)!important;
    text-decoration:none!important;
    background:transparent!important;
}

.ap-search-result:hover .ap-search-result__title {
    color:var(--ap-color-accent);
}

.ap-search-result__image {
    width:74px;
    aspect-ratio:1;
    background:var(--ap-color-surface);
    display:flex;
    align-items:center;
    justify-content:center;
}

.ap-search-result__image img {
    width:100%;
    height:100%;
    object-fit:contain;
}

.ap-search-result__title {
    display:block;
    font-size:15px;
    letter-spacing:var(--ap-product-letter-spacing);
    line-height:1.45;
}

.ap-search-helper,
.ap-search-count {
    margin:14px 0 0;
    color:var(--ap-color-muted);
    font-size:12px;
    letter-spacing:.12em;
}

.ap-search-count {
    margin-bottom:18px;
    text-transform:uppercase;
}

.ap-search-result__price,
.ap-search-empty {
    display:block;
    margin-top:8px;
    color:var(--ap-color-muted);
    font-size:15px;
    letter-spacing:.015em;
}

body.ap-search-open {
    overflow:hidden;
}

@media (max-width:768px) {
    .ap-header-icons {
        gap:18px;
    }

    .ap-search-panel {
        padding:24px 0 30px;
    }

    .ap-search-panel__inner {
        padding:0 20px;
    }

    .ap-search-close {
        right:20px;
    }

    .ap-search-results__list {
        grid-template-columns:1fr;
    }

    .ap-search-input {
        padding-right:46px!important;
    }
}
