/* One focus surface for the input and its actions; one shared green palette. */
.site-search { position:relative; min-width:0; }
.site-search [hidden] { display:none !important; }
body .site-search .site-search-control { display:flex; align-items:center; flex-wrap:nowrap; gap:4px; padding:5px; margin:0; border:1px solid transparent; border-radius:12px; background:#f3f5ef; box-shadow:none; }
body .site-search .site-search-control:focus-within { box-shadow:0 0 0 2px #284735; }
body .site-search .site-search-control input:not([type=checkbox]) { display:block; position:static; flex:1 1 0%; width:0; min-width:0; height:48px; min-height:48px; padding:0 14px; margin:0; border:0; border-radius:7px; background:transparent; color:#23342a; font:400 16px/1.5 Manrope,sans-serif; box-shadow:none !important; }
body .site-search .site-search-control input:focus, body .site-search .site-search-control input:focus-visible { outline:none !important; box-shadow:none !important; }
.site-search input::-webkit-search-cancel-button { -webkit-appearance:none; }
body .site-search-control > button { display:grid; place-items:center; flex:0 0 44px; position:static; width:44px; height:48px; min-height:48px; padding:0; margin:0; border:0; border-radius:8px; cursor:pointer; transform:none; }
body .site-search-control :is(.site-search-submit,.pp-button,#submitSearch) { background:#284735; color:#fff; font-size:0; }
body .site-search-control button :is(img,svg) { width:22px; height:22px; }
.site-search-submit img { filter:brightness(0) invert(1); }
body .site-search-control :is(.site-search-clear,.prices-clear,#closeSearch) { background:transparent; color:#284735; font:400 27px/1 Manrope,sans-serif; }
body .site-search-control > button:focus-visible { outline:2px solid #a9bf7c !important; outline-offset:-4px !important; }
.site-search-panel { position:absolute; top:calc(100% + 10px); left:0; right:0; z-index:15; padding:10px; border:1px solid #e0e6da; border-radius:14px; background:#fff; color:#23342a; box-shadow:0 16px 40px #182c2020; text-align:left; font:400 13px/1.5 Manrope,sans-serif; max-height:min(440px,55dvh); overflow:auto; overscroll-behavior:contain; }
.site-search-panel .site-search-caption { margin:0; padding:8px 10px 10px; color:#60705d; font-size:11px; line-height:1.5; }
.site-search-panel ul { display:block; list-style:none; padding:0; margin:0; }
.site-search-panel li { margin:0; padding:0; border:0; }
.site-search-panel li a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 10px; min-height:58px; border-radius:8px; text-decoration:none !important; color:#23342a; }
.site-search-panel li a:hover, .site-search-panel [aria-selected=true] a { background:#edf2e5; }
.site-search-panel strong { display:block; color:#284735; font-size:13px; line-height:1.5; font-weight:600; }
.site-search-panel small { display:block; margin-top:3px; font-size:10px; color:#64715f; }
.site-search-price { flex:none; max-width:37%; font-size:11px; font-weight:500; text-align:right; }
.site-search-price--money { white-space:nowrap; }
.site-search-panel .site-search-all { display:block; padding:12px 10px 8px; margin-top:4px; border-top:1px solid #e3e8df; color:#284735; font-size:12px; font-weight:600; text-decoration:none; }
.site-search-panel .site-search-message { margin:0; padding:12px 10px; color:#566451; font-size:13px; }
.prices-toolbar > .site-search { grid-column:auto; }
.site-search .prices-search__icon { position:relative; left:auto; top:auto; margin-left:12px; flex:none; }
body .site-search .prices-search input { padding-left:8px; }
.site-search .site-search-control.search-input-wrapper { border-bottom:0; }
body .site-search #closeSearch svg { color:#284735; }
body .site-search #closeSearch.site-search-dismiss { position:absolute; top:-50px; right:0; display:grid; place-items:center; width:40px; height:40px; margin:0; padding:0; border:0; border-radius:10px; background:#f3f5ef; transform:none; }
@media(max-width:600px) {
    .prices-toolbar > .site-search { grid-column:1 / -1; }
    body .site-search .site-search-control input:not([type=checkbox]) { padding-inline:10px; font-size:16px; }
    .site-search-panel { padding:7px; }
    .site-search-panel li a { padding:11px 8px; gap:10px; }
    .site-search-panel strong { font-size:12px; }
}
