.azcom-search {
    position: relative;
    isolation: isolate;
    z-index: 2;
}

.azcom-search-fields,
.azcom-filter {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    align-items: end;
}

.azcom-search-fields input[type="search"] { flex: 1 1 12rem; min-width: 0; }
.azcom-search-fields > *,
.azcom-filter :is(input:not([type="checkbox"]), select) { min-height: 42px; }
.azcom-search-results {
    position: absolute;
    inset: 100% 0 auto;
    z-index: 1;
    max-height: min(420px, 60vh);
    overflow: auto;
    color: #252025;
    background: #fff;
    border: 1px solid #e5e0e5;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgb(0 0 0 / 12%);
}

.azcom-search-results ul { list-style: none; margin: 0; padding: 0; }
.azcom-search-results p { margin: .75rem; }
.azcom-search-results p:empty { display: none; }
.azcom-search-results a {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: inherit;
    padding: .65rem .8rem;
}
.azcom-search-results a:is(:hover, :focus-visible) { background: #f6f2f6; }
.azcom-search-results img { width: 44px; height: 44px; object-fit: contain; }
.azcom-search-price { margin-inline-start: auto; white-space: nowrap; }

.azcom-filter label { display: grid; gap: .3rem; font-size: .9em; }
.azcom-filter .azcom-filter-checkbox { display: flex; align-items: center; min-height: 42px; }
.azcom-filter-vertical { flex-direction: column; align-items: stretch; }

:is(.azcom-search-button, .azcom-filter-apply, .azcom-cart-trigger, .azcom-quick-trigger, .azcom-quick-action) {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem .9rem;
    border-radius: 8px;
    border: 1px solid currentColor;
    text-decoration: none;
}

.azcom-cart-count { font-weight: 700; }
.azcom-dialog {
    box-sizing: border-box;
    width: min(720px, calc(100% - 2rem));
    max-height: calc(100% - 2rem);
    overflow: auto;
    border: 0;
    border-radius: 12px;
    padding: 1.5rem;
    background: #fff;
    color: #242024;
}

.azcom-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.azcom-dialog-close { display: flex; justify-content: end; margin: 0 0 .75rem; }
.azcom-dialog-close button {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: #f1eef1;
    color: #242024;
    border-radius: 50%;
    font-size: 1.4rem;
    cursor: pointer;
}

.azcom-cart-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(420px, 100%);
    height: 100%;
    max-height: none;
    max-width: none;
    margin: 0;
    border-radius: 0;
}

.azcom-drawer-left { inset: 0 auto 0 0; }
.azcom-quick-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; }
.azcom-quick-content img { display: block; width: 100%; height: auto; }
.azcom-product-card > .azcom-quick-view { display: block; margin-block-start: .6rem; }
.azcom-quick-action { margin: .4rem .4rem .4rem 0; }

@media (max-width: 540px) {
    .azcom-quick-content { grid-template-columns: minmax(0, 1fr); }
}
