/* Header search drawer, desktop and mobile. Preserve Kadence's open/close behavior. */
#search-drawer .drawer-inner { background:#f5f6ed!important; color:#284f39!important; }
#search-drawer .drawer-content { padding:24px; }
#search-drawer .search-form { width:min(720px,100%); margin-inline:auto; }
#search-drawer .search-form input.search-field,
#search-drawer .search-form input.search-field:focus { background:#fff!important; color:#20392b!important; border:2px solid #284f39!important; border-radius:12px!important; box-shadow:none!important; font-size:20px; min-height:60px; padding:14px 58px 14px 18px; }
#search-drawer .search-field::placeholder { color:#627461!important; opacity:1; }
#search-drawer .search-form input.search-field:focus-visible { outline:3px solid #8da95f!important; outline-offset:4px; }
#search-drawer .search-toggle-close,
#search-drawer .search-toggle-close:hover,
#search-drawer .kadence-search-icon-wrap { color:#284f39!important; background:transparent!important; }
#search-drawer .search-toggle-close:focus-visible { outline:3px solid #284f39; outline-offset:3px; }

/* Search page uses the shop's cream, green and compact card dimensions. */
body.htsearch-page { background:#fbfcf8; color:#20392b; }
.htsearch-main { padding:0 0 40px; }
.htsearch-container { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.htsearch-hero { padding:48px 0; background:#f5f6ed; text-align:center; }
.htsearch-eyebrow { color:#284f39; text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:700; }
.htsearch-hero h1 { color:#20392b; font-size:clamp(28px,4vw,44px); line-height:1.2; margin:12px 0 24px; overflow-wrap:anywhere; }
.htsearch-form { display:flex; gap:10px; max-width:660px; margin:auto; }
.htsearch-form input[type=search] { flex:1; min-width:0; background:#fff; color:#20392b; border:1px solid #b7c5b0; border-radius:10px; font-size:17px; padding:12px 16px; }
.htsearch-main button,.htsearch-button,.htsearch-card-action a.button,.htsearch-pagination a { display:inline-block; background:#284f39; color:#fff!important; border:0; border-radius:999px; padding:11px 20px; font-size:14px; font-weight:700; line-height:1.4; text-decoration:none; }
.htsearch-main button:hover,.htsearch-button:hover,.htsearch-card-action a.button:hover,.htsearch-pagination a:hover { background:#193b28; }
.htsearch-main a:focus-visible,.htsearch-main button:focus-visible,.htsearch-main input:focus-visible { outline:3px solid #8da95f; outline-offset:3px; }
.htsearch-results { padding-block:36px; }
.htsearch-main ul.htsearch-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:start; margin:0; padding:0; list-style:none; }
.htsearch-grid > li { min-width:0; margin:0; padding:0; height:100%; }
.htsearch-card { display:flex; flex-direction:column; height:100%; padding:15px; background:#fff; border:1px solid #dce4d8; border-radius:14px; box-shadow:none; text-align:center; }
.htsearch-image { display:block; height:170px; margin-bottom:12px; }
.htsearch-main .htsearch-image img { display:block; width:100%!important; height:100%!important; max-height:100%; object-fit:contain!important; object-position:center; margin:0; border:0; transform:none; }
.htsearch-card-content { display:flex; flex-direction:column; flex:1; }
.htsearch-card h2 { font-size:17px; line-height:1.4; margin:0 0 12px; color:#20392b; }
.htsearch-card h2 a { color:inherit; text-decoration:none; }
.htsearch-price { color:#20392b; font-size:16px; margin-bottom:14px; }
.htsearch-price del { opacity:.65; }
.htsearch-price ins { background:none; }
.htsearch-card-action,.htsearch-card-content > .htsearch-button { margin-top:auto; }
.htsearch-card-action a.button { font-size:13px; padding:10px 14px; }
.htsearch-excerpt { color:#435843; font-size:15px; line-height:1.6; margin:0 0 18px; }
.htsearch-pagination { display:flex; justify-content:center; gap:14px; margin-top:28px; }
.htsearch-empty { padding:28px 0; text-align:center; }
.htsearch-wellness { background:#284f39; color:#fff; padding:45px 0; text-align:center; }
.htsearch-wellness h2 { color:#fff; font-size:clamp(29px,4vw,43px); }
.htsearch-wellness p { max-width:740px; margin:16px auto; line-height:1.6; }
.htsearch-wellness .htsearch-eyebrow { color:#e6eccf; }
.htsearch-wellness .htsearch-button { background:#fff; color:#284f39!important; }
@media(max-width:1024px) and (min-width:768px) { .htsearch-main ul.htsearch-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
    #search-drawer .drawer-content { padding:20px; }
    #search-drawer .search-form input.search-field { font-size:17px; }
    .htsearch-hero { padding:32px 0; }
    .htsearch-container { width:calc(100% - 32px); }
    .htsearch-form { gap:8px; }
    .htsearch-form input[type=search] { font-size:16px; padding:12px; }
    .htsearch-main button { padding:11px 16px; }
    .htsearch-main ul.htsearch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .htsearch-card { padding:12px; }
    .htsearch-image { height:135px; }
    .htsearch-card h2 { font-size:16px; }
    .htsearch-results { padding-block:26px; }
}
