/* VENUIVO category menu v1.1.0. Self-contained; no external icon/font dependency. */
.vncg-field{min-width:0;position:relative;box-sizing:border-box}
.vncg-field .vncg-native{display:none!important}
.sdm-directory .sdm-directory-search>.vncg-field{display:flex;flex-direction:column;gap:4px;flex:1.4 1 235px;margin:0}
.vncg-field>.vncg-trigger{box-sizing:border-box;display:flex;align-items:center;gap:9px;width:100%;min-height:44px;height:auto;margin:0;padding:9px 11px;border:1px solid #ccd5c6;border-radius:9px;background:#fff;color:#294a3c;box-shadow:none;text-align:start;font:400 14px/1.4 Arial,sans-serif;text-transform:none;letter-spacing:normal;cursor:pointer;transition:border-color .15s,background .15s}
.vncg-field>.vncg-trigger:hover,.vncg-field>.vncg-trigger[aria-expanded=true]{border-color:#819b74;background:#fafbf7;color:#234635}
.vncg-trigger .vncg-current{min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.vncg-trigger .vncg-icon{width:23px;height:23px;flex:0 0 23px;background:none;border-radius:0}
.vncg-caret{width:16px;height:16px;flex:0 0 16px;display:inline-flex;transition:transform .15s}
.vncg-caret svg{width:16px;height:16px}
.vncg-trigger[aria-expanded=true] .vncg-caret{transform:rotate(180deg)}
.vncg-trigger:disabled{opacity:.55;cursor:not-allowed}
.vncg-popup{--vncg-green:#234635;position:fixed;z-index:10050;display:flex;flex-direction:column;box-sizing:border-box;max-width:calc(100vw - 24px);overflow:hidden;margin:0;padding:0;border:1px solid #d8dfcf;border-radius:15px;background:#fffefa;color:var(--vncg-green);box-shadow:0 14px 45px #20372b29,0 2px 8px #20372b0f;font:14px/1.45 Arial,sans-serif;text-align:start}
.vncg-popup[hidden]{display:none!important}
.vncg-popup *,.vncg-popup *::before,.vncg-popup *::after{box-sizing:border-box}
.vncg-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 17px 11px;border-bottom:1px solid #e8e6da;background:linear-gradient(100deg,#f2f5ed,#fffefa)}
.vncg-heading{font:400 21px/1.25 Georgia,serif;color:#234635}
.vncg-popup button{appearance:none;-webkit-appearance:none;box-shadow:none;text-transform:none;letter-spacing:normal;cursor:pointer}
.vncg-popup .vncg-close{display:flex;align-items:center;justify-content:center;flex:0 0 36px;min-width:36px;min-height:36px;margin:0;padding:8px;border:0;border-radius:50%;background:transparent;color:#536c58;line-height:1}
.vncg-popup .vncg-close:hover{background:#e8efdf;color:#234635}
.vncg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;align-items:stretch;gap:5px 9px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9b7a0 #f5f6ef;padding:12px;scroll-padding:12px}
.vncg-popup[data-columns="2"] .vncg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.vncg-popup[data-columns="1"] .vncg-grid{grid-template-columns:minmax(0,1fr)}
.vncg-popup .vncg-option{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;min-height:55px;margin:0;padding:9px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#294a3c;text-align:start;font:400 14px/1.4 Arial,sans-serif;transition:background .12s,border-color .12s}
.vncg-popup .vncg-option:hover{background:#f0f4e9;border-color:#e1e8d8;color:#153724}
.vncg-popup .vncg-option[aria-selected=true]{background:#eaf1e1;border-color:#b7c8a5;color:#193e2b;font-weight:600}
.vncg-popup .vncg-option-all{grid-column:1/-1;min-height:44px;margin-bottom:5px;border-color:#e4e8dd;background:#f7f9f3}
.vncg-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;color:#496b45;background:#f0f3e9;border-radius:8px}
.vncg-icon svg{display:block;width:24px;height:24px;max-width:none;flex-shrink:0}
.vncg-option[aria-selected=true] .vncg-icon{background:#dbe8cb;color:#294e31}
.vncg-option-label{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}
.vncg-check{flex:0 0 14px;width:14px;color:#346038;font:700 15px/1 Arial,sans-serif;visibility:hidden}
.vncg-option[aria-selected=true] .vncg-check{visibility:visible}
.vncg-field>.vncg-trigger:focus-visible,.vncg-popup button:focus-visible{outline:2px solid #779064;outline-offset:2px}
.sdm-directory-filters .vncg-field>.vncg-trigger{min-height:40px;padding:8px 10px}
@media(max-width:767px){.sdm-directory .sdm-directory-search>.vncg-field{flex-basis:100%}.vncg-heading{font-size:19px}.vncg-head{padding:10px 12px}.vncg-grid{gap:4px 6px;padding:9px}.vncg-popup .vncg-option{min-height:48px;padding:8px}.vncg-popup .vncg-close{min-width:40px;min-height:40px}.vncg-popup{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.vncg-field>.vncg-trigger,.vncg-caret,.vncg-popup .vncg-option{transition:none}}
@media(forced-colors:active){.vncg-popup{border:1px solid CanvasText}.vncg-option[aria-selected=true]{outline:2px solid Highlight}.vncg-icon{color:ButtonText}.vncg-check{color:Highlight}}

/* Search form: align native fields with the category picker, including wrapped labels. */
.sdm-directory #sdm-directory-search{align-items:stretch}
.sdm-directory #sdm-directory-search>.vni-control{display:flex;flex-direction:column;align-self:stretch}
.sdm-directory #sdm-directory-search>.vni-control>span{flex:0 0 auto}
.sdm-directory #sdm-directory-search>.vni-control>select,
.sdm-directory #sdm-directory-search>.vni-control>.vncg-trigger{flex:1 0 auto;height:auto;min-height:46px}

/* Homepage: reuse the directory picker and keep the original routing input hidden. */
.sdm-home .sdm-search .vncg-home-ready>input#listing-category,
.sdm-home .sdm-search .vncg-home-ready>.listing-category-dropdown{display:none!important}
.sdm-home .sdm-search .vncg-home-field{width:100%;margin:0}
.sdm-home .sdm-search .vncg-home-field>.vncg-trigger{min-height:52px;height:52px;padding:10px 13px;border-color:#ccd5c6;border-radius:6px;font:inherit;font-size:14px}
.sdm-home .sdm-search .vncg-home-field .vncg-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.sdm-home .sdm-search .vncg-home-field>.vncg-trigger{font-size:16px}}

