/* Final brand layer for GeoDirectory, UsersWP and AyeCode UI — WOH GROUP LTD */
:root{--ua-brand-forest:#0f2b22;--ua-brand-green:#2f6b45;--ua-brand-gold:#c89b3c;--ua-brand-gold-hover:#ddb34f;--ua-brand-cream:#f5f1e8;--ua-brand-paper:#fdfbf6;--ua-brand-ink:#16211a;--ua-brand-muted:#69776d;--ua-brand-line:#e5dac5}

/* Buttons and links: remove plugin blue/orange defaults. */
.bsui .btn-primary,.uwp_page .btn-primary,.uwp_page .uwp_form input[type=submit],.uwp_page .uwp_form button[type=submit],.uwp-modal .btn-primary,.modal .uwp-register .btn-primary,.modal .uwp-login .btn-primary,body.geodir-page .geodir_button,body.geodir-page input[type=submit]{border-color:var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important;box-shadow:0 12px 28px -16px rgba(15,43,34,.55)!important;font-weight:900!important}
.bsui .btn-primary:hover,.bsui .btn-primary:focus,.uwp_page .btn-primary:hover,.uwp_page input[type=submit]:hover,.uwp-modal .btn-primary:hover,body.geodir-page .geodir_button:hover{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important;transform:translateY(-1px)}
.bsui .btn-outline-primary,.uwp_page .btn-outline-primary,.uwp-modal .btn-outline-primary,body.geodir-page .btn-outline-primary{border:1px solid var(--ua-brand-green)!important;background:transparent!important;color:var(--ua-brand-green)!important;box-shadow:none!important;font-weight:800!important}
.bsui .btn-outline-primary:hover,.uwp_page .btn-outline-primary:hover,.uwp-modal .btn-outline-primary:hover,body.geodir-page .btn-outline-primary:hover{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}
.bsui a:not(.btn),.uwp_page a,.uwp-modal a,.modal .uwp-register a,.modal .uwp-login a{color:var(--ua-brand-green)!important;text-decoration-color:rgba(47,107,69,.3)!important}
.bsui a:not(.btn):hover,.uwp_page a:hover,.uwp-modal a:hover{color:var(--ua-brand-forest)!important}

/* Forms and focus states. */
.bsui .form-control,.bsui .form-select,.uwp_page input:not([type=checkbox]):not([type=radio]),.uwp_page textarea,.uwp_page select,.uwp-modal input:not([type=checkbox]):not([type=radio]),.modal .uwp-register input,.modal .uwp-login input{border-color:var(--ua-brand-line)!important;background:#fff!important;color:var(--ua-brand-ink)!important;box-shadow:none!important}
.bsui .form-control:focus,.bsui .form-select:focus,.uwp_page input:focus,.uwp_page textarea:focus,.uwp-modal input:focus,.modal .uwp-register input:focus,.modal .uwp-login input:focus{border-color:var(--ua-brand-green)!important;box-shadow:0 0 0 4px rgba(47,107,69,.11)!important}
.bsui .form-check-input:checked,.uwp_page .form-check-input:checked,.uwp-modal .form-check-input:checked{border-color:var(--ua-brand-green)!important;background-color:var(--ua-brand-green)!important}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ua-brand-green)!important;color:#fff!important}

/* Alerts, badges, tabs and pagination. */
.bsui .alert-info,body.geodir-page .alert-info{border-color:#d6e2d1!important;background:#eef5ea!important;color:#24452f!important}
.bsui .alert-warning{border-color:#ead8ab!important;background:#fff8e7!important;color:#5b461c!important}
.bsui .badge.bg-primary,.bsui .text-bg-primary,.geodir-badge{background:var(--ua-brand-gold)!important;color:var(--ua-brand-forest)!important}
.bsui .nav-pills .nav-link.active,.bsui .nav-tabs .nav-link.active,body.geodir-page-single .geodir-tabs .nav-link.active{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}
.bsui .page-item.active .page-link,.geodir-pagination .current{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}
.bsui .page-link{color:var(--ua-brand-green)!important}
.ua-card-quote{border-color:var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important}.ua-card-quote:hover{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}

/* Search action and pagination must remain sober, regardless of GeoDirectory defaults. */
body.geodir-page .geodir-search .geodir_submit_search,.uah-search .geodir-search .geodir_submit_search{border-color:var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important;box-shadow:none!important}
body.geodir-page .geodir-search .geodir_submit_search:hover,.uah-search .geodir-search .geodir_submit_search:hover{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}
body.geodir-page .page-numbers.current,body.geodir-page .page-item.active .page-link,body.geodir-page .geodir-pagination .current{border-color:var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important}

/* Registration/login modal and every AyeCode modal. */
.modal.bsui .modal-dialog,.uwp-modal .modal-dialog{max-width:620px!important}
.modal.bsui .modal-content,.uwp-modal .modal-content{overflow:hidden;border:1px solid rgba(200,155,60,.35)!important;border-radius:18px!important;background:var(--ua-brand-paper)!important;box-shadow:0 35px 90px rgba(7,31,23,.28)!important}
.modal.bsui .modal-header,.uwp-modal .modal-header{padding:20px 26px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;background:linear-gradient(145deg,#20452e,var(--ua-brand-forest))!important}
.modal.bsui .modal-title,.uwp-modal .modal-title{margin:0!important;color:#fff!important;font:800 24px/1.2 'Bricolage Grotesque'!important}
.modal.bsui .modal-header .btn-close,.uwp-modal .modal-header .btn-close{filter:brightness(0) invert(1);opacity:.78}
.modal.bsui .modal-body,.uwp-modal .modal-body{padding:28px!important;background:var(--ua-brand-paper)!important}
.modal.bsui .modal-footer,.uwp-modal .modal-footer{padding:18px 28px!important;border-top:1px solid var(--ua-brand-line)!important;background:#f7f2e8!important}
.modal .uwp-register,.modal .uwp-login,.uwp-modal .uwp-register,.uwp-modal .uwp-login{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.modal .uwp-register .form-control,.modal .uwp-login .form-control,.uwp-modal .form-control{min-height:52px!important;padding:13px 15px!important;border-radius:10px!important}
.modal .uwp-register .btn-primary,.modal .uwp-login .btn-primary,.uwp-modal .btn-primary{min-height:52px!important;border-radius:10px!important}

/* Logged-out add-listing state. */
body.geodir-page-add .entry-content>.bsui>.alert,body.geodir-page-add .geodir-notifications .alert{padding:20px 22px!important;border:1px solid #d8e2d3!important;border-radius:14px!important;background:#f4f8f1!important;color:#24452f!important;box-shadow:0 14px 36px -28px rgba(15,35,23,.45)!important}
body.geodir-page-add .geodir-login-actions,body.geodir-page-add .geodir-login-box{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:700px){.modal.bsui .modal-dialog,.uwp-modal .modal-dialog{max-width:calc(100% - 20px)!important;margin:10px auto!important}.modal.bsui .modal-header,.uwp-modal .modal-header{padding:17px 20px!important}.modal.bsui .modal-body,.uwp-modal .modal-body{padding:20px!important}}

/* Branded account value panel shared by login, registration and recovery screens. */
body.uwp_page #main-content:after{display:none!important}
body.uwp_page #main-content>.container{position:relative;z-index:2}
.ua-account-aside{position:absolute;z-index:3;top:130px;left:64%;width:min(430px,30vw);padding:38px 38px 34px;border:1px solid rgba(200,155,60,.42);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(143,203,106,.18),transparent 40%),linear-gradient(155deg,rgba(32,69,46,.97),rgba(9,37,30,.98));box-shadow:0 34px 75px -32px rgba(0,0,0,.7);color:#d5dfda}
.ua-account-aside:before{content:"";position:absolute;left:38px;top:0;width:74px;height:3px;background:var(--ua-brand-gold)}
.ua-account-aside__kicker{display:block;margin-bottom:18px;color:#d4b261;font-size:10px;font-weight:900;letter-spacing:.2em}
.ua-account-aside h2{margin:0 0 18px!important;color:#fff!important;font:800 clamp(32px,3.1vw,48px)/1.02 'Bricolage Grotesque'!important;letter-spacing:-.035em}
.ua-account-aside p{max-width:330px;margin:0 0 22px;color:#bdcbc4;font-size:14px;line-height:1.65}
.ua-account-aside ul{display:grid;gap:11px;margin:0!important;padding:0!important;list-style:none!important}
.ua-account-aside li{position:relative;padding-left:26px;color:#edf3ef;font-size:13px;font-weight:700}
.ua-account-aside li:before{content:"✓";position:absolute;left:0;top:0;color:#b9e098;font-weight:900}
@media(max-width:1100px){.ua-account-aside{left:62%;width:34vw;padding:30px}.ua-account-aside:before{left:30px}}
@media(max-width:900px){.ua-account-aside{display:none}}

/* Listing cards: protect button contrast from broad AyeCode link rules. */
body .geodir-loop-container .ua-card-actions a.ua-card-quote,body .uah-listings .ua-card-actions a.ua-card-quote{border-color:var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important}
body .geodir-loop-container .ua-card-actions a.ua-card-quote:hover,body .uah-listings .ua-card-actions a.ua-card-quote:hover{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}

/* Single listing navigation and profile actions. */
body.geodir-page-single .geodir-tabs{padding:8px!important;border:1px solid var(--ua-brand-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 15px 38px -32px rgba(15,43,34,.55)!important}
body.geodir-page-single .geodir-tabs .nav-tabs{display:inline-flex!important;width:auto!important;gap:4px!important;padding:4px!important;border:0!important;border-radius:11px!important;background:#f4f1e9!important}
body.geodir-page-single .geodir-tabs .nav-link{min-height:42px;padding:10px 17px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#526158!important;box-shadow:none!important}
body.geodir-page-single .geodir-tabs .nav-link.active{background:var(--ua-brand-forest)!important;color:#fff!important;box-shadow:0 8px 18px -12px rgba(15,43,34,.8)!important}
body.single-gd_place .woh-company-cta{border:1px solid var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important;box-shadow:0 12px 25px -18px rgba(0,0,0,.8)!important}
body.single-gd_place .woh-company-cta:hover{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}
body.single-gd_place .woh-company-phone{border-color:rgba(255,255,255,.35)!important;color:#fff!important}
body.single-gd_place .woh-profile-tabs{gap:4px;padding:5px;border:0;border-radius:10px;background:#f4f1e9}
body.single-gd_place .woh-profile-tabs a{padding:10px 14px;border:0!important;border-radius:7px;color:#526158!important;text-decoration:none!important}
body.single-gd_place .woh-profile-tabs a:first-child,body.single-gd_place .woh-profile-tabs a:hover{background:#fff;color:var(--ua-brand-forest)!important;box-shadow:0 5px 15px -13px rgba(15,43,34,.7)}

/* Review form and access notice. */
body.geodir-page-single #reviews{padding:clamp(22px,4vw,42px)!important;border-color:var(--ua-brand-line)!important;background:var(--ua-brand-paper)!important}
body.geodir-page-single #reviews input[type=text],body.geodir-page-single #reviews input[type=email],body.geodir-page-single #reviews input[type=url],body.geodir-page-single #reviews textarea{border:1px solid var(--ua-brand-line)!important;border-radius:11px!important;background:#fff!important;color:var(--ua-brand-ink)!important}
body.geodir-page-single #reviews input:focus,body.geodir-page-single #reviews textarea:focus{border-color:var(--ua-brand-green)!important;box-shadow:0 0 0 4px rgba(47,107,69,.1)!important}
.ua-review-access{max-width:760px;padding:26px;border:1px solid #d6e2d1;border-radius:14px;background:#eef5ea;color:#24452f}.ua-review-access h3{margin:0 0 8px;color:var(--ua-brand-forest);font-size:22px}.ua-review-access p{margin:0 0 16px}.ua-review-access a{display:inline-flex;align-items:center;min-height:46px;padding:11px 18px;border:1px solid var(--ua-brand-forest)!important;border-radius:8px;background:var(--ua-brand-forest)!important;color:#fff!important;font-weight:800;text-decoration:none!important}.ua-review-access a:hover{border-color:var(--ua-brand-green)!important;background:var(--ua-brand-green)!important;color:#fff!important}
body.geodir-page-single #reviews .ua-review-access a,body.geodir-page-single #reviews .ua-review-access a:link,body.geodir-page-single #reviews .ua-review-access a:visited,body.geodir-page-single #reviews .ua-review-access a:hover{color:#fff!important;-webkit-text-fill-color:#fff!important}
body.geodir-page-single.ua-review-guest #reviews,body.geodir-page-single.ua-review-company #reviews{padding:28px!important;background:#fff!important}
body.geodir-page-single.ua-review-guest #reviews>.ua-review-access,body.geodir-page-single.ua-review-company #reviews>.ua-review-access{margin:0!important}
body.single-gd_place .post-navigation a,body.single-gd_place .nav-previous a,body.single-gd_place .nav-next a,body.single-gd_place .geodir-post-prev a,body.single-gd_place .geodir-post-next a{display:inline-flex!important;align-items:center!important;min-height:38px;padding:8px 13px!important;border:1px solid #d4c9b4!important;border-radius:8px!important;background:#fff!important;color:var(--ua-brand-forest)!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important}
body.single-gd_place .post-navigation a:hover,body.single-gd_place .nav-previous a:hover,body.single-gd_place .nav-next a:hover{border-color:var(--ua-brand-green)!important;background:#eef5ea!important;color:var(--ua-brand-forest)!important}

/* Complete GeoDirectory pagination skin. */
body.geodir-page .geodir-pagination,body.geodir-page .pagination,body.geodir-page nav.navigation.pagination{display:flex!important;align-items:center!important;gap:6px!important;margin:28px 0!important;padding:0!important;background:transparent!important}
body.geodir-page .geodir-pagination ul,body.geodir-page .pagination .nav-links,body.geodir-page nav.navigation.pagination .nav-links{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;list-style:none!important}
body.geodir-page .geodir-pagination li{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
body.geodir-page .geodir-pagination a,body.geodir-page .geodir-pagination span,body.geodir-page .pagination a.page-numbers,body.geodir-page .pagination span.page-numbers,body.geodir-page .pagination .page-link,body.geodir-page nav.navigation.pagination a,body.geodir-page nav.navigation.pagination span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;height:42px!important;margin:0!important;padding:0 12px!important;border:1px solid #d9cfbc!important;border-radius:9px!important;background:#fff!important;color:var(--ua-brand-forest)!important;-webkit-text-fill-color:var(--ua-brand-forest)!important;font-size:13px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important}
body.geodir-page .geodir-pagination a:hover,body.geodir-page .pagination a.page-numbers:hover,body.geodir-page .pagination .page-link:hover,body.geodir-page nav.navigation.pagination a:hover{border-color:var(--ua-brand-green)!important;background:#eef5ea!important;color:var(--ua-brand-forest)!important;-webkit-text-fill-color:var(--ua-brand-forest)!important}
body.geodir-page .geodir-pagination .current,body.geodir-page .pagination .current,body.geodir-page .pagination .active .page-link,body.geodir-page nav.navigation.pagination .current{border-color:var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 18px -13px rgba(15,43,34,.8)!important}
body.geodir-page .geodir-pagination .dots,body.geodir-page .pagination .dots{min-width:24px!important;border-color:transparent!important;background:transparent!important;color:#7b877f!important;-webkit-text-fill-color:#7b877f!important}

/* Actual GeoDirectory single-listing previous/next markup. */
body.single-gd_place .geodir-post_left>a.badge.bg-secondary,body.single-gd_place .geodir-post_right>a.badge.bg-secondary{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 17px!important;border:1px solid #d7ccb8!important;border-radius:9px!important;background:#fff!important;color:var(--ua-brand-forest)!important;-webkit-text-fill-color:var(--ua-brand-forest)!important;font-size:12px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;box-shadow:0 8px 22px -19px rgba(15,43,34,.65)!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important}
body.single-gd_place .geodir-post_left>a.badge.bg-secondary:hover,body.single-gd_place .geodir-post_right>a.badge.bg-secondary:hover{border-color:var(--ua-brand-forest)!important;background:var(--ua-brand-forest)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;transform:translateY(-1px)!important}
body.single-gd_place .geodir-post_left>a.badge.bg-secondary:before{content:"←";margin-right:8px}
body.single-gd_place .geodir-post_right>a.badge.bg-secondary:after{content:"→";margin-left:8px}

/* Both contact actions keep readable contrast in every interaction state. */
body.single-gd_place .woh-company-contact a.woh-company-cta,body.single-gd_place .woh-company-contact a.woh-company-cta:link,body.single-gd_place .woh-company-contact a.woh-company-cta:visited{background:#082b22!important;border-color:#082b22!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.single-gd_place .woh-company-contact a.woh-company-cta:hover,body.single-gd_place .woh-company-contact a.woh-company-cta:focus{background:#285f3e!important;border-color:#285f3e!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.single-gd_place .woh-company-contact a.woh-company-phone,body.single-gd_place .woh-company-contact a.woh-company-phone:link,body.single-gd_place .woh-company-contact a.woh-company-phone:visited{border-color:rgba(255,255,255,.38)!important;background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.single-gd_place .woh-company-contact a.woh-company-phone:hover,body.single-gd_place .woh-company-contact a.woh-company-phone:focus{border-color:#fff!important;background:rgba(255,255,255,.1)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Search results map and empty state. */
.ua-search-results-map{position:relative;overflow:hidden;margin:24px 0 30px;border:1px solid var(--ua-brand-line);border-radius:18px;background:#fff;box-shadow:0 18px 45px -30px rgba(15,43,34,.5)}
.ua-search-results-map__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--ua-brand-line);background:var(--ua-brand-paper)}
.ua-search-results-map__head span{color:#a87b25;font-size:10px;font-weight:900;letter-spacing:.18em}.ua-search-results-map__head strong{color:var(--ua-brand-forest);font-size:15px}
.ua-search-results-map .geodir-map-wrap,.ua-search-results-map .geodir_map_container{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.geodir-page .geodir-info .alert{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:20px 22px!important;border-color:#d6e2d1!important;background:#eef5ea!important;color:#24452f!important}
body.geodir-page .geodir-info .alert strong{color:var(--ua-brand-forest)}body.geodir-page .geodir-info .alert a{color:var(--ua-brand-green)!important;font-weight:900;text-decoration:underline!important}
@media(max-width:650px){.ua-search-results-map__head{align-items:flex-start;flex-direction:column;gap:5px}.ua-search-results-map .geodir_map_container{height:320px!important}}
@media(max-width:650px){body.geodir-page-single .geodir-tabs .nav-tabs{display:flex!important;width:100%!important}body.geodir-page-single .geodir-tabs .nav-item{flex:1}body.geodir-page-single .geodir-tabs .nav-link{width:100%}.woh-profile-tabs{overflow:auto}.woh-profile-tabs a{flex:none}}
