.directory-agent.directory-paid{background:#fff6f0!important}.directory-agent.directory-free{background:#fff!important}.directory-agent{cursor:pointer}.directory-agent[hidden],#agent-empty[hidden]{display:none!important}.directory-agent .images-group{position:relative;height:100%;min-height:0;aspect-ratio:3/2}.directory-agent .image-link{position:absolute;inset:0;display:block}.directory-agent .image-link img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}.directory-agent .agent-left-details{min-width:0}.directory-agent .pp-agent-name,.directory-agent .pp-agent-designation{overflow-wrap:anywhere}.directory-pagination{display:flex;justify-content:center;gap:10px;margin-top:24px}.directory-pagination button{border:1px solid #ddd;border-radius:6px;padding:8px 16px;background:white}.directory-pagination [aria-current]{background:#fff6f0;border-color:#db962f}.directory-agent a:focus-visible{outline:2px solid #d99826;outline-offset:3px}

/* Agent reviews */
.agent-reviews-open { display:flex; align-items:center; flex-wrap:wrap; gap:8px; background:none; border:0; padding:6px 0; font-size:14px; color:#444; cursor:pointer; }
.agent-review-count { color:#1769aa; text-decoration:underline; }
.agent-rating-stars { display:inline-block; position:relative; color:#dadce0; white-space:nowrap; font-family:Arial,sans-serif; font-size:22px; line-height:1.2; letter-spacing:0; }
.agent-rating-stars > span { position:absolute; top:0; left:0; overflow:hidden; white-space:nowrap; color:#fbbc04; width:0; }
#agent-reviews-dialog { position:fixed; inset:0; background:#fff; box-sizing:border-box; width:min(760px, calc(100% - 24px)); max-height:85vh; margin:auto; padding:36px; border:1px solid #dadce0; border-radius:12px; color:#303134; overflow:auto; }
#agent-reviews-dialog::backdrop { background:rgba(0,0,0,.55); }
#agent-reviews-dialog [hidden] { display:none !important; }
#agent-reviews-dialog h2 { font-size:26px; padding-right:28px; }
.review-close { position:absolute; right:15px; top:10px; font-size:28px; background:none; border:0; cursor:pointer; }
.review-summary { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0; }
.review-summary strong { font-size:32px; font-weight:400; }
#review-status { margin:12px 0; }
#agent-review-form { background:#f8f9fa; border-radius:8px; padding:20px; margin:18px 0; }
#agent-review-form .form-control { margin:6px 0 16px; }
.review-rating-picker { border:0; padding:0; margin:12px 0; display:flex; gap:12px; }
.review-rating-picker legend { font-size:16px; }
.review-rating-picker label { position:relative; color:#777; cursor:pointer; font-size:32px; }
.review-rating-picker label.selected { color:#b87900; }
.review-rating-picker input { position:absolute; opacity:0; width:100%; height:100%; cursor:pointer; }
.review-rating-picker label:focus-within { outline:2px solid #1769aa; outline-offset:3px; }
.review-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
#review-sort { max-width:220px; margin:8px 0 20px; }
#review-write { margin-bottom:20px; }
#agent-review-list article { padding:20px 0; border-top:1px solid #dadce0; }
#agent-review-list small { display:block; color:#666; }
#agent-review-list p { white-space:pre-wrap; overflow-wrap:anywhere; margin-top:8px; }
.review-item-stars { color:#b87900; font-size:20px; }
.review-paging { display:flex; justify-content:space-between; gap:16px; }
@media (max-width:575px) { #agent-reviews-dialog { padding:24px 18px; } }

/* Full-width directory with a single row of dropdown filters. */
.agent-directory { padding:120px 0 60px; }
.agent-directory .box-listing-top { padding-bottom:24px; margin-bottom:0; border-bottom:1px solid #e9e9e9; }
.agent-directory .box-listing-top h1 { font-size:38px; line-height:1.25; margin:0; }
.agent-directory .box-filter-tab { margin:0; }
.agent-directory #agent-filter-controls { display:block; z-index:20; }
.agent-directory .filter-scroll-container { flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; }
.agent-directory .btn-filter-pill { font-size:13px; padding:8px 14px; white-space:nowrap; }
.agent-directory .dropdown-menu { white-space:normal; max-height:min(360px, 65vh); overflow-y:auto; }
.agent-directory .dropdown-menu .form-check { display:flex; align-items:center; gap:8px; padding-left:0; }
.agent-directory .dropdown-menu .form-check-input { float:none; margin:0; flex-shrink:0; }
.agent-directory .dropdown-menu .form-check-label { margin-left:0 !important; font-size:13px; }
.directory-network-title { text-align:center; font-size:28px; margin:4px 0 12px; }
.directory-results-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:24px; margin-bottom:12px; }
.directory-results-toolbar p { color:#68717d; font-size:12px; margin:0; }
.directory-results-toolbar .btn { font-size:12px; padding:2px 8px; }
#agent-clear-filters[hidden] { display:none; }
.agent-directory .premium-agent { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:20px; }
.agent-directory .directory-agent { display:flex; flex-direction:row; align-items:stretch; border:1px solid #e9e9e9; border-radius:16px; overflow:hidden; padding:0; }
.agent-directory .directory-agent .archive-top { flex:0 0 31%; width:31%; margin:0; }
.agent-directory .directory-agent .images-group { width:100%; aspect-ratio:3/2; }
.agent-directory .directory-agent .pp-agent-content { gap:20px; padding:16px; min-width:0; }
.agent-directory .directory-agent .pp-agent-header { gap:5px !important; }
.agent-directory .directory-agent .pp-agent-name { font-size:22px; line-height:1.3; }
.agent-directory .agent-reviews-open { flex-wrap:nowrap; gap:3px; padding:0; color:#071528; font-size:12px; font-weight:700; white-space:nowrap; }
.agent-directory .agent-reviews-open .agent-rating-stars { order:-1; font-size:19px; }
.agent-directory .agent-review-count { color:inherit; text-decoration:none; }
.agent-directory .agent-reviews-open:hover .agent-review-count { text-decoration:underline; }
.agent-directory .agent-reviews-open:focus-visible { outline:2px solid #1769aa; outline-offset:3px; }
.agent-directory .pp-agent-bottom { flex:0 0 160px; }
.agent-directory .pp-agent-bottom .btn-view-profile { background:#d6af2d; text-transform:uppercase; }
@media (min-width:1400px) { .agent-directory > .container { max-width:1304px; } }
@media (max-width:991px) {
    .flat-section.agent-directory { padding-top:100px !important; }
    .agent-directory .directory-agent .archive-top { flex-basis:29%; width:29%; }
    .agent-directory .directory-agent .pp-agent-content { flex-direction:column; align-items:stretch; }
    .agent-directory .pp-agent-bottom { flex:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; }
}
@media (max-width:575px) {
    .agent-directory .box-listing-top h1 { font-size:28px; }
    .agent-directory { padding:88px 0 36px; }
    .agent-directory .box-listing-top { flex-direction:column; align-items:stretch; gap:12px; padding-bottom:16px; }
    .agent-directory .box-listing-top .box-title { margin-bottom:0; }
    .agent-directory .box-filter-tab { width:100%; }
    .agent-directory .sort-select { width:100%; }
    .agent-directory .filter-scroll-container { flex-wrap:wrap; overflow:visible; gap:8px; }
    .agent-directory .dropdown-menu { max-width:calc(100vw - 32px); }
    .agent-directory .directory-agent .pp-agent-info { flex-wrap:wrap; gap:8px 16px; }
    .agent-directory .directory-agent .pp-agent-meta-extra { overflow-wrap:anywhere; }
    .agent-directory .agent-reviews-open { flex-wrap:wrap; white-space:normal; }
    .agent-directory .pp-agent-bottom { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .agent-directory .pp-agent-bottom a { min-width:0; }
    .directory-network-title { font-size:23px; }
    .agent-directory .directory-agent { flex-direction:column; }
    .agent-directory .directory-agent .archive-top { flex:auto; width:100%; }
    .agent-directory .directory-agent .images-group { height:auto; aspect-ratio:3/2; }
}

/* Review list and separate identity / writing dialogs. */
#agent-reviews-dialog { width:min(782px, calc(100% - 24px)); padding:44px 50px 36px; border-radius:0; }
#agent-reviews-dialog h2 { padding-right:165px; font-size:27px; line-height:1.35; font-weight:400; }
#agent-reviews-city { color:#666; font-size:14px; line-height:1.4; }
#review-write { position:absolute; right:50px; top:46px; border:1px solid #dadce0; border-radius:24px; padding:8px 22px; color:#1a73e8; background:white; font-size:14px; }
.review-summary .agent-rating-stars { font-size:28px; }
.review-sort-bar { border-top:1px solid #dadce0; padding-top:16px; }
.review-sort-bar > span { font-size:14px; }
#review-sort { display:flex; flex-wrap:wrap; gap:6px; max-width:none; margin:12px 0 20px; }
#review-sort button { border:1px solid #dadce0; border-radius:24px; padding:8px 15px; background:#fff; color:#202124; font-size:14px; }
#review-sort button[aria-pressed="true"] { background:#a8caff; border-color:#a8caff; color:#071528; }
#agent-review-list article { border-top:0; padding:0 0 24px; }
#agent-review-list strong { font-size:14px; }
.review-item-stars { color:#fbbc04; }
.review-form-dialog { position:fixed; inset:0; margin:auto; width:min(500px, calc(100% - 24px)); max-height:90vh; overflow:auto; background:white; color:#202124; border:0; border-radius:16px; padding:26px 50px; }
.review-form-dialog::backdrop { background:rgba(0,0,0,.75); backdrop-filter:blur(3px); }
.review-form-dialog [hidden] { display:none !important; }
.review-form-dialog h2 { text-align:center; font-size:19px; line-height:1.5; padding:0 15px; }
.review-identity-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:56px; margin-bottom:16px; }
.review-identity-fields fieldset { border:1px solid #ccc; border-radius:8px; padding:0 10px 8px; min-width:0; }
.review-identity-fields legend { float:none; width:auto; font-size:12px; margin:0; padding:0 3px; }
.review-identity-fields input { width:100%; border:0; padding:6px 0; background:white; min-width:0; }
#review-login-form > label { font-size:12px; font-weight:600; color:#526071; }
.review-mobile-field { display:flex; align-items:center; border:1px solid #ccc; border-radius:7px; margin:6px 0 20px; overflow:hidden; }
.review-mobile-field span { padding:14px 10px; white-space:nowrap; border-right:1px solid #ccc; background:#f8f9fa; }
.review-mobile-field input { width:100%; min-width:0; padding:14px 12px; border:0; font-size:14px; }
.review-login-submit { display:block; margin:16px auto; border:0; border-radius:15px; padding:12px 34px; background:#737373; color:white; }
.review-login-submit:disabled { opacity:.6; }
.review-later { display:block; margin:50px auto 0; background:none; border:0; color:#777; font-size:14px; }
#review-login-status, #review-save-status { font-size:14px; margin-top:12px; }
#review-resend { border:0; background:none; color:#1a73e8; padding:8px; }
#agent-review-form { background:white; padding:0; }
@media(max-width:575px) { #agent-reviews-dialog { padding:40px 20px 24px; } #agent-reviews-dialog h2 { padding-right:0; font-size:23px; } #review-write { position:static; margin:0 0 16px; } .review-form-dialog { padding:26px 22px; } .review-identity-fields { gap:10px; margin-top:36px; } }

.review-mobile-field select { width:125px; flex-shrink:0; align-self:stretch; border:0; border-right:1px solid #ccc; border-radius:0; background:#f8f9fa; padding:10px 6px; font-size:13px; color:#202124; cursor:pointer; }
@media(max-width:575px) { .review-mobile-field select { width:105px; } }

/* Keep entered values distinct from placeholder hints in the reviewer form. */
#review-login-form input {
    color: #202124;
    -webkit-text-fill-color: #202124;
    caret-color: #202124;
}
#review-login-form input::placeholder {
    color: #8b919a;
    -webkit-text-fill-color: #8b919a;
    opacity: 1;
}

/* Separate OTP screen, matching the verification reference. */
#review-otp-dialog { box-sizing:border-box; width:min(500px, calc(100% - 24px)); padding:55px 50px 26px; text-align:center; }
#review-otp-dialog h2 { font-size:24px; font-weight:500; color:#080808; margin:0 0 18px; padding:0; }
#review-otp-description { font-size:16px; line-height:26px; color:#555; margin:0 auto 26px; }
#review-otp-phone { color:#009cff; }
.review-otp-digits { display:flex; justify-content:center; gap:8px; }
#review-otp-form .review-otp-digits input { box-sizing:border-box; width:48px; height:51px; min-width:0; padding:0; border:1px solid #ccc; border-radius:8px; background:#fff; color:#202124; -webkit-text-fill-color:#202124; text-align:center; font-size:22px; }
#review-otp-form .review-otp-digits input:focus { border-color:#009cff; outline:2px solid #009cff33; }
.review-otp-timer { color:#777; font-size:14px; margin:18px 0 8px; }
.review-otp-resend { color:#414b5a; font-size:14px; }
#review-otp-dialog #review-resend { padding:0; font-size:14px; }
#review-otp-dialog #review-resend:disabled { color:#aaa; cursor:default; }
#review-otp-status { font-size:13px; color:#b3261e; margin:8px 0; }
#review-otp-status:empty { display:none; }
.review-otp-actions { display:flex; justify-content:center; gap:15px; margin-top:20px; }
.review-otp-actions button { min-width:120px; padding:14px 24px; font-size:16px; }
#review-otp-verify { background:#737373; color:#fff; border:1px solid #aaa; border-radius:14px; }
#review-otp-verify:disabled { opacity:.6; cursor:default; }
#review-otp-cancel { background:#fff; color:#009cff; border:1px solid #009cff; border-radius:8px; }
#review-otp-dialog .review-later { margin-top:54px; }
@media(max-width:575px) { #review-otp-dialog { padding:36px 22px 26px; } .review-otp-digits { gap:6px; } #review-otp-form .review-otp-digits input { width:calc((100% - 30px)/6); max-width:48px; } }

/* Home page Top Rated card actions. */
.home-top-rated-actions { display:flex; gap:8px; width:100%; margin-top:auto; }
.home-top-rated-actions a { flex:1; min-width:0; min-height:36px; display:flex; align-items:center; justify-content:center; padding:8px 6px; border:1px solid transparent; border-radius:4px; font-size:12px; font-weight:600; line-height:18px; text-align:center; text-decoration:none; }
.home-top-rated-actions .home-top-rated-profile { border-color:#ffb400; background:#fff; color:#00448d; }
.home-top-rated-actions .home-top-rated-contact { background:#00448d; color:#fff; }
.home-top-rated-actions .home-top-rated-profile:hover { background:#fff8e6; }
.home-top-rated-actions .home-top-rated-contact:hover { background:#00366f; }
.home-top-rated-actions a:focus-visible { outline:2px solid #00448d; outline-offset:3px; }
@media(max-width:575px) { .home-top-rated-actions a { min-height:44px; } }

/* Google city suggestions in the directory filter. */
.agent-directory .directory-city-menu { width:320px; max-width:calc(100vw - 32px); }
#directory-city-search gmp-place-autocomplete { width:100%; color-scheme:light; }
#directory-city-help { display:block; margin-top:8px; }
