#kd-search-layer[hidden], #kd-search-layer [hidden] { display:none !important; }
#kd-search-layer { position:fixed;inset:0;z-index:1000000001;color:#29332b;font-family:inherit; }
#kd-search-layer * { box-sizing:border-box; }
#kd-search-layer .kds-backdrop { position:absolute;inset:0;background:rgba(22,29,24,.38);opacity:0;transition:opacity .25s ease-in-out; }
#kd-search-layer .kds-panel { position:absolute;right:0;top:0;bottom:0;width:min(600px,100%);height:100%;height:100dvh;display:flex;flex-direction:column;background:#fff;box-shadow:-8px 0 40px #17251914;transform:translate3d(100%,0,0);transition:transform .3s ease-in-out;will-change:transform;outline:0; }
#kd-search-layer .kds-header { padding:24px 30px 22px;flex:none;border-bottom:1px solid #e5e9e2; }
#kd-search-layer .kds-title-row { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px; }
#kd-search-layer h2 { margin:0;font-family:inherit;font-size:27px;font-style:normal;font-weight:500;line-height:1.25;color:#29332b; }
#kd-search-layer button { display:inline-flex;align-items:center;justify-content:center;box-shadow:none;border:0;margin:0;min-width:0;padding:0;cursor:pointer;font-family:inherit; }
#kd-search-layer .kds-close { width:42px;height:42px;flex:none;border-radius:50%;background:#f3f5f0;color:#53634e; }
#kd-search-layer svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none; }
#kd-search-layer .kds-close:hover { background:#e5ebe0; }
#kd-search-layer .kds-form { margin:0; }
#kd-search-layer .kds-input-label { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
#kd-search-layer .kds-input-wrap { height:56px;display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid #d5ded0;border-radius:12px;background:#f6f8f3;color:#66765f;transition:border-color .15s,box-shadow .15s; }
#kd-search-layer .kds-input-wrap:focus-within { border-color:#73816e;box-shadow:0 0 0 3px #73816e18; }
#kd-search-layer #kds-input { background:transparent !important;box-shadow:none !important;border:0 !important;outline:none !important;padding:0 !important;margin:0;height:100%;width:100%;min-width:0;appearance:none;font:inherit;font-size:17px;color:#29332b; }
#kd-search-layer #kds-input::-webkit-search-cancel-button { display:none; }
#kd-search-layer .kds-clear { width:32px;height:36px;flex:none;background:transparent;color:#73816e;border-radius:6px; }
#kd-search-layer .kds-clear:hover { background:#e6ece2; }
#kd-search-layer .kds-scroll { flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 30px 24px; }
#kd-search-layer .kds-status { margin:22px 0 0;color:#74806e;font-size:14px;line-height:1.5; }
#kd-search-layer .kds-status:empty { display:none; }
#kd-search-layer .kds-status.has-results { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);margin:0; }
#kd-search-layer h3 { font:inherit;font-size:14px;line-height:1.4;font-weight:650;margin:26px 0 13px;color:#73816e; }
#kd-search-layer .kds-categories { display:flex;flex-wrap:wrap;gap:8px; }
#kd-search-layer .kds-category { color:#42543c;background:#f1f5ed;border:1px solid #e2e8dd;border-radius:8px;padding:9px 12px;text-decoration:none;font-size:14px;line-height:1.4;transition:background .15s,border-color .15s; }
#kd-search-layer .kds-category:hover { background:#e3ebdd;border-color:#b9c8b0; }
#kd-search-layer .kds-products { list-style:none;padding:0;margin:0; }
#kd-search-layer .kds-products li { margin:0;padding:0;border-bottom:1px solid #e6eae3; }
#kd-search-layer .kds-product { display:flex;align-items:center;gap:18px;padding:18px 9px;margin:0 -9px;border-radius:10px;text-decoration:none;color:#29332b;transition:background .15s; }
#kd-search-layer .kds-product:hover { background:#f6f8f3; }
#kd-search-layer .kds-thumb { display:flex;align-items:center;justify-content:center;width:90px;height:90px;flex:none;background:#f7f8f5;border-radius:9px;overflow:hidden; }
#kd-search-layer .kds-thumb img { width:100%;height:100%;object-fit:contain;display:block;border:0;padding:0; }
#kd-search-layer .kds-product-copy { display:block;flex:1;min-width:0; }
#kd-search-layer .kds-product-name { display:block;font-size:17px;font-weight:500;line-height:1.4;margin-bottom:9px; }
#kd-search-layer .kds-price { display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:2px;font-size:17px;font-weight:650;line-height:1.4;color:#29332b; }
#kd-search-layer .kds-price .kds-from { font-size:14px;font-weight:400; }
#kd-search-layer .kds-price ins { color:#e65454;background:none;text-decoration:none;font-weight:650; }
#kd-search-layer .kds-price del { color:#93988f;font-size:13px;font-weight:400;order:2; }
#kd-search-layer .kds-price del .amount { color:inherit; }
#kd-search-layer .kds-price .woocommerce-price-suffix { width:100%;font-size:12px;font-weight:400;color:#7a8276;order:3; }
#kd-search-layer .kds-price .screen-reader-text { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
#kd-search-layer .kds-price-note { font-size:14px;color:#7a8276;font-weight:400; }
#kd-search-layer .kds-price-loading { width:105px;height:19px;border-radius:4px;display:block;background:linear-gradient(90deg,#edf0e9,#f8f9f6,#edf0e9);background-size:200% 100%;animation:kds-shimmer 1s infinite; }
#kd-search-layer .kds-footer { flex:none;margin:0!important;padding:18px 30px max(22px,env(safe-area-inset-bottom));border-top:1px solid #e2e7dd;background:#fff; }
#kd-search-layer .kds-all { display:flex;align-items:center;justify-content:center;gap:12px;border-radius:10px;background:#53634e;color:#fff;min-height:50px;padding:12px 18px;text-decoration:none;font-weight:500;font-size:16px;line-height:1.4;transition:background .15s; }
#kd-search-layer .kds-all:hover { background:#40543a; }
#kd-search-layer :is(a,button):focus-visible { outline:2px solid #53634e;outline-offset:3px; }
@keyframes kds-shimmer { to { background-position:-200% 0; } }
#kd-search-layer.kds-visible .kds-panel { transform:translate3d(0,0,0); }
#kd-search-layer.kds-visible .kds-backdrop { opacity:1; }
@media(max-width:600px) {
    #kd-search-layer .kds-header { padding:17px 20px 18px; }
    #kd-search-layer .kds-title-row { margin-bottom:13px; }
    #kd-search-layer h2 { font-size:24px; }
    #kd-search-layer .kds-close { width:38px;height:38px; }
    #kd-search-layer .kds-input-wrap { height:50px; }
    #kd-search-layer .kds-scroll { padding:0 20px 20px; }
    #kd-search-layer .kds-product { gap:14px;padding-top:16px;padding-bottom:16px; }
    #kd-search-layer .kds-thumb { width:76px;height:76px; }
    #kd-search-layer .kds-product-name { font-size:16px;margin-bottom:6px; }
    #kd-search-layer .kds-price { font-size:16px; }
    #kd-search-layer .kds-footer { padding:14px 20px max(16px,env(safe-area-inset-bottom)); }
    #kd-search-layer .kds-all { min-height:46px; }
}
@media(prefers-reduced-motion:reduce) { #kd-search-layer *,#kd-search-layer *::before { animation:none !important;transition:none !important; } }

/* Match the search close control while retaining Astra's existing cart click handler. */
body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close {
    box-sizing:border-box!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:0!important;border:0!important;border-radius:50%!important;background:#f3f5f0!important;color:#53634e!important;box-shadow:none!important;
}
body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close:hover { background:#e5ebe0!important; }
body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close:focus-visible { outline:2px solid #53634e;outline-offset:3px; }
body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close span { display:none!important; }
body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close::before,
body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close::after {
    content:''!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important;
    width:18px!important;height:1.7px!important;border:0!important;border-radius:2px!important;background:currentColor!important;
    transform:translate(-50%,-50%) rotate(45deg)!important;pointer-events:none;
}
body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close::after { transform:translate(-50%,-50%) rotate(-45deg)!important; }
@media(max-width:600px) {
    body.kd-cart-drawer-flow #astra-mobile-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close { width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important; }
}

/* Shared drawer motion: match the search panel in both directions. */
body.kd-cart-drawer-flow #astra-mobile-cart-drawer {
    transition:transform .3s ease-in-out,visibility 0s linear .3s!important;
    will-change:transform;
}
body.kd-cart-drawer-flow #astra-mobile-cart-drawer.active {
    transition:transform .3s ease-in-out,visibility 0s linear 0s!important;
}
body.kd-cart-drawer-flow .astra-mobile-cart-overlay {
    transition:opacity .25s ease-in-out,visibility 0s linear .3s!important;
}
body.kd-cart-drawer-flow:has(#astra-mobile-cart-drawer.active) .astra-mobile-cart-overlay {
    transition:opacity .25s ease-in-out,visibility 0s linear 0s!important;
}
@media(prefers-reduced-motion:reduce) {
    body.kd-cart-drawer-flow #astra-mobile-cart-drawer,
    body.kd-cart-drawer-flow .astra-mobile-cart-overlay { transition:none!important; }
}

/* Preserve Astra's scroll lock until the outgoing drawer is fully off screen. */
html.kds-cart-closing body.kd-cart-drawer-flow #astra-mobile-cart-drawer.active {
    transform:translate3d(0,0,0)!important;pointer-events:none;
}
html.kds-cart-closing body.kd-cart-drawer-flow .astra-mobile-cart-overlay {
    opacity:0!important;pointer-events:none;
}
