/* ═══ Bookingo feed / social layer ═══ */
.fd{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; max-width:1180px; margin:0 auto; padding:22px 20px 40px}
.fd-main{min-width:0; display:flex; flex-direction:column; gap:14px}
.fd-side{display:flex; flex-direction:column; gap:14px; position:sticky; top:calc(var(--top,72px) + 16px); align-self:start}
.fd-card{background:#fff; border:1px solid var(--line,#E2EAE5); border-radius:14px; padding:16px 18px; box-shadow:var(--shadow,0 1px 2px rgba(16,24,40,.05))}
.fd-card h3{font-size:14px; font-weight:700; margin:0 0 10px; display:flex; align-items:center; gap:8px}
.fd-muted{color:#5A6962; font-size:13.5px} .fd-muted a,.fd-link{color:var(--red,#16833F); font-weight:600}
.fd-pill{background:#F1F3F6; border-radius:999px; padding:2px 8px; font-size:11.5px; font-weight:700; color:#5A6962} .fd-pill--ok{background:#E8F7EE; color:#127A45}
.fd-av{width:44px; height:44px; border-radius:50%; overflow:hidden; background:#E6EEF8; color:#1B3A6B; display:grid; place-items:center; font-weight:800; font-size:14px; flex:none; text-decoration:none}
.fd-av img{width:100%; height:100%; object-fit:cover} .fd-av--sm{width:34px; height:34px; font-size:12px} .fd-av--lg{width:84px; height:84px; font-size:26px}
.fd-me{display:flex; gap:12px; align-items:center} .fd-me b{display:block} .fd-me small{color:#5A6962; font-size:12.5px}
.fd-join{display:flex; flex-direction:column; gap:8px} .fd-join b{font-size:16px} .fd-join span{color:#5A6962; font-size:13.5px} .fd-join .bk-btn{height:42px; margin-top:4px}
.fd-trend{display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px solid #F0F2F5; color:#10201A} .fd-trend:last-child{border:0} .fd-trend b{font-weight:700} .fd-trend span{color:#8A968F; font-size:12.5px}
.fd-broker{display:flex; gap:10px; align-items:center; padding:7px 0; border-bottom:1px solid #F0F2F5} .fd-broker:last-child{border:0} .fd-broker b{display:block; font-size:14px} .fd-broker small{color:#5A6962; font-size:12px}
.fd-tabs{display:flex; gap:6px} .fd-tabs a{padding:8px 14px; border-radius:999px; background:#fff; border:1px solid var(--line,#E2EAE5); font-weight:600; font-size:14px; color:#10201A}
.fd-tabs a.is-on{background:#10201A; color:#fff; border-color:#10201A}
.fd-cta{background:linear-gradient(120deg,#10201A,#0F5A2B 60%,#0F5A2B); color:#fff; border-radius:14px; padding:18px 20px; display:flex; align-items:center; gap:16px; flex-wrap:wrap}
.fd-cta > div{flex:1; min-width:220px} .fd-cta b{display:block; font-size:17px} .fd-cta span{color:#D3DED7; font-size:14px} .fd-cta .bk-btn{height:44px} .fd-cta-b{color:#22A94A; font-weight:600; font-size:14px}
.fd-note{background:#E8F7EE; color:#127A45; border-radius:12px; padding:12px 16px; font-size:14px}
.fd-empty{background:#fff; border:1px dashed var(--line,#E2EAE5); border-radius:14px; padding:28px; text-align:center} .fd-empty b{display:block; margin-bottom:4px} .fd-empty span{color:#5A6962; font-size:14px}
.fd-tag{display:flex; align-items:baseline; gap:12px} .fd-tag h1{font-size:26px; font-weight:800} .fd-tag span{color:#5A6962}
.fd-back{color:#5A6962; font-weight:600; font-size:14px}
.fd-pager{display:flex; justify-content:space-between} .fd-pager a{padding:9px 16px; background:#fff; border:1px solid var(--line,#E2EAE5); border-radius:10px; font-weight:600}

/* post card */
.pc{background:#fff; border:1px solid var(--line,#E2EAE5); border-radius:14px; padding:16px 18px 10px; box-shadow:var(--shadow,0 1px 2px rgba(16,24,40,.05)); position:relative}
.pc--request{border-left:4px solid var(--red,#16833F)} .pc--listing{border-left:4px solid #1B3A6B}
.pc-head{display:flex; gap:12px; align-items:flex-start}
.pc-av{width:44px; height:44px; border-radius:50%; overflow:hidden; background:#E6EEF8; color:#1B3A6B; display:grid; place-items:center; font-weight:800; font-size:14px; flex:none} .pc-av img{width:100%; height:100%; object-fit:cover}
.pc-who{flex:1; min-width:0} .pc-name{font-weight:700; font-size:15px; display:inline-flex; align-items:center; gap:5px} .pc-ver{width:16px; height:16px; color:#1E9E52}
.pc-sub{color:#5A6962; font-size:12.5px; display:flex; flex-wrap:wrap; align-items:center; gap:4px} .pc-sub .ic{width:13px; height:13px} .pc-sub a{color:#5A6962}
.pc-badge{font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:999px; background:#F1F3F6; color:#5A6962; white-space:nowrap} .pc-badge--req{background:#F2FAF4; color:var(--red,#16833F)} .pc-badge--list{background:#E6EEF8; color:#1B3A6B}
.pc-del{background:none; border:0; color:#8A968F; font-size:20px; line-height:1; padding:0 4px; cursor:pointer} .pc-del:hover{color:var(--red,#16833F)}
.pc-body{margin:12px 0 10px; font-size:15px; line-height:1.55; word-wrap:break-word} .pc-tag{color:#1B3A6B; font-weight:600}
.pc-req{display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 0} .pc-req span{background:#F1F3F6; border-radius:8px; padding:5px 10px; font-size:13px; font-weight:500} .pc-req b{font-weight:800}
.pc-req--list{margin:0 0 10px} .pc-req--list span:first-child{background:#E6EEF8; color:#1B3A6B}
.pc-media{display:grid; gap:6px; margin:4px 0 10px; border-radius:12px; overflow:hidden} .pc-media a{display:block; aspect-ratio:16/10; background:#F1F3F6} .pc-media img{width:100%; height:100%; object-fit:cover; display:block}
.pc-media--2,.pc-media--3,.pc-media--4{grid-template-columns:1fr 1fr} .pc-media--3 a:first-child{grid-column:1/-1}
.pc-foot{display:flex; flex-wrap:wrap; gap:4px; border-top:1px solid #F0F2F5; padding-top:8px}
.pc-act{display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:9px; background:none; border:0; color:#5A6962; font-weight:600; font-size:13.5px; cursor:pointer}
.pc-act .ic{width:17px; height:17px} .pc-act:hover{background:#F4F7F5; color:#10201A}
.pc-like.is-on{color:var(--red,#16833F)} .pc-like.is-on .ic{fill:var(--red,#16833F)}
.pc-act--wa{color:#128C7E} .pc-act--primary{margin-left:auto; background:#10201A; color:#fff} .pc-act--primary:hover{background:#0F5A2B; color:#fff}

/* composer */
.cp{background:#fff; border:1px solid var(--line,#E2EAE5); border-radius:14px; padding:14px 16px; box-shadow:var(--shadow,0 1px 2px rgba(16,24,40,.05))}
.cp-top{display:flex; gap:12px} .cp textarea{flex:1; border:0; resize:vertical; font:inherit; font-size:15px; outline:0; min-height:64px; padding:8px 0}
.cp-kind{display:flex; gap:14px; font-size:13.5px; font-weight:600; color:#5A6962; padding:6px 0 8px; border-top:1px solid #F0F2F5} .cp-kind label{display:flex; align-items:center; gap:6px; cursor:pointer}
.cp-fields{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-bottom:10px}
.cp-fields select,.cp-fields input{height:40px; border:1px solid var(--line,#E2EAE5); border-radius:9px; padding:0 10px; font:inherit; font-size:14px; background:#fff}
.cp-fields input[name="media[]"]{grid-column:1/-1}
.cp-foot{display:flex; justify-content:space-between; align-items:center; gap:10px; border-top:1px solid #F0F2F5; padding-top:10px} .cp-hint{font-size:12.5px; color:#5A6962} .cp-foot .bk-btn{height:42px; padding:0 22px}
.cp-err{background:#F2FAF4; color:#16833F; border-radius:10px; padding:10px 12px; font-size:13.5px; margin-top:10px}

/* comments */
.cm{display:flex; gap:10px; padding:10px 0; border-top:1px solid #F0F2F5} .cm-b{flex:1; min-width:0} .cm-b b{font-size:14px} .cm-b small{color:#8A968F; font-size:12px; margin-left:6px} .cm-b p{margin:4px 0 0; font-size:14.5px; line-height:1.5}
.cm-form{display:flex; gap:8px; align-items:flex-end; margin-top:12px} .cm-form textarea{flex:1; border:1px solid var(--line,#E2EAE5); border-radius:10px; padding:10px 12px; font:inherit; font-size:14px; resize:vertical} .cm-form .bk-btn{height:42px}

/* profile */
.pf{display:flex; gap:18px; align-items:flex-start} .pf-b{flex:1; min-width:0} .pf h1{font-size:22px; font-weight:800; display:flex; align-items:center; gap:6px; margin:0 0 4px} .pf-sub{color:#5A6962; font-size:13.5px} .pf p{margin:10px 0 0; font-size:14.5px}
.pf-actions{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}

/* request form */
.rq h1{font-size:22px; font-weight:800; margin:0 0 4px}
.rq-form{display:flex; flex-direction:column; gap:14px; margin-top:14px}
.rq-form label{display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:600; color:#5A6962}
.rq-form input,.rq-form select,.rq-form textarea{height:44px; border:1px solid var(--line,#E2EAE5); border-radius:10px; padding:0 12px; font:inherit; font-size:14.5px; color:#10201A; background:#fff} .rq-form textarea{height:auto; padding:10px 12px}
.rq-row{display:flex; gap:8px} .rq-seg{flex-direction:row!important; align-items:center} .rq-seg input{position:absolute; opacity:0; width:0; height:0}
.rq-seg span{display:block; padding:10px 22px; border:1.5px solid var(--line,#E2EAE5); border-radius:999px; font-weight:700; color:#10201A; cursor:pointer} .rq-seg input:checked + span{background:#10201A; color:#fff; border-color:#10201A}
.rq-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}

/* auth */
.au{max-width:520px; margin:0 auto; padding:40px 20px 60px} .au-card h1{font-size:26px; font-weight:800; margin:0 0 6px}
.au-form{display:flex; flex-direction:column; gap:14px; margin-top:16px} .au-form label{display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:600; color:#5A6962}
.au-form input{height:46px; border:1px solid var(--line,#E2EAE5); border-radius:10px; padding:0 12px; font:inherit; font-size:15px; color:#10201A} .au-form .bk-btn{height:48px; margin-top:4px}
.au-foot{margin-top:16px; padding-top:14px; border-top:1px solid #F0F2F5; font-size:13.5px; color:#5A6962} .au-foot a{color:var(--red,#16833F); font-weight:600}

@media (max-width:1000px){ .fd{grid-template-columns:1fr; padding:14px 12px 30px} .fd-side{position:static} .cp-fields{grid-template-columns:1fr 1fr} .rq-grid{grid-template-columns:1fr} }

/* ═══ v4.1 — design pass ═══ */
.fd-h1{font-size:20px; font-weight:800; margin:0 0 12px}
.fd-more{margin-left:auto; font-size:13px; color:var(--red,#16833F); font-weight:600}
.fd-card h3{font-size:16px}
.fd-req{display:flex; gap:12px; padding:12px 0; border-bottom:1px solid #F0F2F5; color:#10201A; align-items:flex-start}
.fd-req .fd-av{width:44px; height:44px; background:#EAF1FF; color:#2563EB; font-size:13px}
.fd-req-b{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px} .fd-req-b b{font-size:14.5px} .fd-req-b small{color:#5A6962; font-size:13px}
.fd-req time{font-size:12px; color:#8A968F; white-space:nowrap}
.fd-req-cta{display:block; margin-top:12px; text-align:center; background:#F2FAF4; color:var(--red,#16833F); font-weight:700; padding:12px; border-radius:10px; font-size:14.5px}
.fd-broker{align-items:center} .fd-broker-t{flex:1; min-width:0} .fd-broker .fd-av{width:44px; height:44px}
.fd-follow{border:1.5px solid var(--red,#16833F); color:var(--red,#16833F); background:#fff; border-radius:9px; padding:8px 18px; font-weight:700; font-size:14px; cursor:pointer; white-space:nowrap}
.fd-follow.is-on{background:var(--red,#16833F); color:#fff}
.fd-trend b{display:flex; align-items:center; gap:10px; font-size:15px} .fd-trend b i{font-style:normal; color:#8A968F; font-weight:400} .fd-trend span{font-size:13.5px}
.fd-tabs{flex-wrap:wrap} .fd-tabs a.is-on{background:var(--red,#16833F); border-color:var(--red,#16833F)}

.cp-top{align-items:center} .cp textarea{min-height:52px; background:#F4F7F5; border-radius:12px; padding:14px 16px}
.cp-cam{width:50px; height:50px; border-radius:12px; background:#E8F7EE; color:#1E9E52; display:grid; place-items:center; cursor:pointer; flex:none} .cp-cam .ic{width:24px; height:24px}
.cp-more{margin-top:10px}
.cp-kind{flex-wrap:wrap; gap:10px 16px} .cp-kind input{accent-color:var(--red,#16833F)}
.cp-thumbs{display:flex; flex-wrap:wrap; gap:8px; padding:8px 0}
.cp-thumb{position:relative; width:92px; height:72px; border-radius:10px; overflow:hidden; background:#F1F3F6; display:grid; place-items:center; font-size:11px; color:#5A6962}
.cp-thumb img{width:100%; height:100%; object-fit:cover} .cp-thumb b{position:absolute; top:4px; right:4px; width:20px; height:20px; border-radius:50%; background:rgba(0,0,0,.6); color:#fff; display:grid; place-items:center; cursor:pointer; font-size:14px}
.cp-thumb.is-err{color:#16833F}

.pc-menu{position:relative} .pc-menu > button{background:none; border:0; font-size:22px; line-height:1; color:#5A6962; padding:0 6px; cursor:pointer}
.pc-media{gap:4px; border-radius:10px} .pc-media a{position:relative}
.pc-media--3{grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr} .pc-media--3 a:first-child{grid-column:1; grid-row:1/3; aspect-ratio:auto}
.pc-media--4{grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr} .pc-media--4 a:first-child{grid-column:1; grid-row:1/3; aspect-ratio:auto} .pc-media--4 a:nth-child(4){grid-column:2/4}
.pc-media--1 a{aspect-ratio:16/9}
.pc-media-more{position:absolute; inset:0; background:rgba(0,0,0,.45); color:#fff; font-weight:800; font-size:22px; display:grid; place-items:center}
.pc-stats{display:flex; justify-content:space-between; align-items:center; padding:6px 2px 8px; font-size:13.5px; color:#5A6962}
.pc-react{display:inline-flex; align-items:center; gap:2px} .pc-react b{margin-left:6px; font-weight:600}
.pc-r{display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; font-size:11px; font-style:normal; border:2px solid #fff; background:#2563EB} .pc-r--love{background:#16833F; margin-left:-6px}
.pc-stats-r a{color:#5A6962}
.pc-foot{justify-content:space-around} .pc-act{padding:9px 14px; font-size:14px} .pc-like.is-on{color:#2563EB} .pc-like.is-on .ic{fill:#2563EB; color:#2563EB} .pc-save.is-on{color:var(--red,#16833F)} .pc-save.is-on .ic{fill:var(--red,#16833F)}

.nt{display:flex; gap:12px; align-items:center; padding:12px 0; border-top:1px solid #F0F2F5; color:#10201A} .nt.is-new{background:#F6FBF8; margin:0 -18px; padding:12px 18px}
.nt-b{flex:1; font-size:14.5px} .nt-b small{display:block; color:#5A6962; font-size:13px} .nt time{font-size:12px; color:#8A968F; white-space:nowrap}

.fd--wide{grid-template-columns:1fr}
.ms{display:grid; grid-template-columns:320px minmax(0,1fr); padding:0; overflow:hidden; min-height:560px}
.ms-list{border-right:1px solid #F0F2F5; padding:16px 12px; overflow:auto; max-height:75vh} .ms-list .fd-h1{padding:0 6px}
.ms-item{display:flex; gap:10px; align-items:center; padding:10px 8px; border-radius:10px; color:#10201A} .ms-item.is-on{background:#F2FAF4} .ms-item-b{flex:1; min-width:0} .ms-item-b b{display:block; font-size:14px} .ms-item-b small{display:block; color:#5A6962; font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.ms-pane{display:flex; flex-direction:column; max-height:75vh} .ms-head{padding:14px 18px; border-bottom:1px solid #F0F2F5} .ms-head b{display:block; font-size:16px} .ms-head small{color:#5A6962}
.ms-log{flex:1; overflow:auto; padding:16px; display:flex; flex-direction:column; gap:8px; background:#FAFBFC}
.ms-log .dm{max-width:78%; padding:9px 13px; border-radius:12px; font-size:14px; line-height:1.45; background:#fff; border:1px solid #E2EAE5; align-self:flex-start} .ms-log .dm.is-me{align-self:flex-end; background:#F2FAF4; border-color:#F2FAF4} .ms-log .dm time{display:block; font-size:11px; color:#8A968F; margin-top:3px; text-align:right}
.ms-form{display:flex; gap:8px; padding:12px; border-top:1px solid #F0F2F5} .ms-form input{flex:1; height:44px; border:1px solid #E2EAE5; border-radius:10px; padding:0 12px; font:inherit} .ms-form .bk-btn{height:44px}
.ms-empty{padding:40px; text-align:center}
.st-av{display:flex; align-items:center; gap:16px} .st-av label{flex:1} .st-h{font-size:15px; margin:6px 0 -6px}
@media (max-width:900px){ .ms{grid-template-columns:1fr} .ms-list{max-height:240px; border-right:0; border-bottom:1px solid #F0F2F5} }

/* ═══ auth v2: pitch + smart form ═══ */
.au2{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:0; max-width:1120px; margin:36px auto 60px; padding:0 20px}
.au2-pitch{background:linear-gradient(160deg,#10201A,#0F5A2B 70%,#0F5A2B); color:#fff; border-radius:20px 0 0 20px; padding:40px 36px; display:flex; flex-direction:column}
body.bk-site .au2-pitch h2,.au2-pitch h2{color:#fff; font-size:30px; font-weight:800; letter-spacing:-.02em; line-height:1.1; margin:0 0 24px}
.au2-pitch ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px} .au2-pitch li{display:flex; gap:14px; align-items:flex-start}
.au2-ic{width:42px; height:42px; border-radius:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); display:grid; place-items:center; flex:none; color:#22A94A} .au2-ic .ic{width:22px; height:22px}
.au2-pitch li b{display:block; font-size:15px} .au2-pitch li span{color:#D3DED7; font-size:13.5px; line-height:1.45}
.au2-stats{display:flex; gap:26px; margin-top:auto; padding-top:30px} .au2-stats b{display:block; font-size:22px; font-weight:800} .au2-stats span{font-size:12.5px; color:#8A968F}
.au2-card{background:#fff; border:1px solid var(--line,#E2EAE5); border-radius:0 20px 20px 0; padding:36px 36px 30px; box-shadow:0 30px 80px rgba(0,0,0,.12)}
.au2-card h1{font-size:26px; font-weight:800; margin:0 0 6px}
.au2-form{display:flex; flex-direction:column; gap:16px; margin-top:20px}
.au2-row{display:flex; justify-content:space-between; align-items:center; font-size:13.5px} .au2-check{display:flex; align-items:center; gap:8px; color:#5A6962} .au2-check input{accent-color:var(--red,#16833F)}
.btn-lg{height:50px; font-size:16px}
.ff-opt{font-weight:500; color:#8A968F; font-size:12px}
.pw-bar{display:grid; grid-template-columns:repeat(4,1fr) auto; gap:5px; align-items:center; margin-top:8px} .pw-bar i{height:5px; border-radius:3px; background:#E2EAE5} .pw-bar span{font-size:12px; color:#5A6962; min-width:60px; text-align:right}
.pw-bar[data-level="1"] i:nth-child(-n+1){background:#16833F} .pw-bar[data-level="2"] i:nth-child(-n+2){background:#F5A623} .pw-bar[data-level="3"] i:nth-child(-n+3){background:#3B82F6} .pw-bar[data-level="4"] i{background:#1E9E52}
.brk-found{display:flex; gap:12px; align-items:center; background:#E8F7EE; border:1px solid #BFEBD2; border-radius:12px; padding:12px 14px}
.brk-found .fd-av{background:#fff; color:#127A45} .brk-found b{display:block; font-size:15px} .brk-found small{display:block; color:#127A45; font-size:12.5px}
.brk-tick{margin-left:auto; color:#1E9E52} .brk-tick .ic{width:26px; height:26px}
.ff.is-busy .ff-ico{color:#F5A623} .ff.is-ok .ff-wrap{border-color:#1E9E52} .ff.is-ok .ff-state.ok{opacity:1; transform:scale(1)} .ff.is-bad .ff-wrap{border-color:#16833F} .ff.is-bad .ff-state.bad{opacity:1; transform:scale(1)}
.ff-msg.is-bad{color:#16833F} .ff-msg.is-ok{color:#127A45}
@media (max-width:900px){ .au2{grid-template-columns:1fr; margin:14px auto 30px; padding:0 12px} .au2-pitch{border-radius:20px 20px 0 0; padding:24px 20px} .au2-stats{display:none} .au2-card{border-radius:0 0 20px 20px; padding:24px 18px} }
.rq-form .ff{gap:0} .rq-form .ff-label{font-size:13px; font-weight:600; color:#5A6962; margin-bottom:5px; display:block}
.rq-seg span{display:inline-flex; align-items:center; gap:8px} .rq-seg .ic{width:18px; height:18px}

/* broker profile setup */
.bp h1{font-size:24px; font-weight:800; margin:0 0 4px} .bp-head{display:flex; gap:18px; align-items:center; margin-bottom:10px}
.bp-form{display:flex; flex-direction:column; gap:6px; margin-top:12px}
.bp-step{display:flex; gap:16px; padding:18px 0; border-top:1px solid #F0F2F5} .bp-step > span{width:34px; height:34px; border-radius:50%; background:#10201A; color:#fff; font-weight:800; display:grid; place-items:center; flex:none}
.bp-step > div{flex:1; min-width:0} .bp-step h2{font-size:16px; margin:5px 0 12px} .bp-step h2 em{color:#16833F; font-style:normal}
.bp-chips{display:flex; flex-wrap:wrap; gap:8px} .bp-chip input,.bp-card input{position:absolute; opacity:0; width:0; height:0}
.bp-chip span{display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border:1.5px solid #E2EAE5; border-radius:999px; font-size:14px; font-weight:600; cursor:pointer; background:#fff} .bp-chip small{color:#8A968F; font-weight:500}
.bp-chip input:checked + span{background:#F2FAF4; border-color:#16833F; color:#16833F}
.bp-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px} .bp-card span{display:flex; flex-direction:column; gap:2px; padding:12px 14px; border:1.5px solid #E2EAE5; border-radius:12px; cursor:pointer} .bp-card b{font-size:14px} .bp-card small{font-size:12px; color:#5A6962}
.bp-card input:checked + span{border-color:#16833F; background:#F6FBF8} .bp-card input:checked + span b{color:#16833F}
.bp-areas{max-height:220px; overflow:auto; padding:2px} .bp-search{margin:0 0 10px; max-width:360px; background:#F4F7F5; border-radius:10px; padding:0 12px; display:flex; align-items:center; gap:8px; height:40px} .bp-search input{border:0; background:none; outline:0; font:inherit; flex:1}
.bp-form .ds-btn{color:#10201A} .bp-form .ds-menu{background:#fff; color:#10201A; border-color:#E2EAE5} .bp-form .ds-list button{color:#10201A} .bp-form .ds-list button:hover{background:#F4F7F5} .bp-form .ds-search{background:#fff; color:#10201A; border-color:#E2EAE5}
.bp-link{display:flex; align-items:center; gap:12px; padding:14px 16px; border:1.5px solid #E2EAE5; border-radius:12px; margin:8px 0 14px; color:#10201A} .bp-link .ic{width:26px; height:26px; color:#16833F} .bp-link span{flex:1} .bp-link b{display:block} .bp-link small{color:#5A6962} .bp-link i{font-style:normal; font-size:22px; color:#8A968F}
.bp-banner{display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:14px 18px; border-radius:14px; background:#FFF4E0; color:#8A6116; text-decoration:none} .bp-banner b{color:#10201A} .bp-banner span{flex:1; min-width:200px; font-size:14px} .bp-banner i{font-style:normal; font-weight:800; color:#16833F}
@media (max-width:700px){ .bp-cards{grid-template-columns:1fr 1fr} .bp-step{gap:10px} }

/* avatar uploader */
.av-up{display:flex; align-items:center; gap:18px; padding:4px 0 8px}
.av-up-pic{position:relative; width:96px; height:96px; flex:none; cursor:pointer}
.av-up-img{display:grid; place-items:center; width:96px; height:96px; border-radius:50%; overflow:hidden; background:linear-gradient(145deg,#DCE7F5,#B8CCE6); box-shadow:0 0 0 4px #fff, 0 0 0 6px #E2EAE5}
.av-up-img img{width:100%; height:100%; object-fit:cover} .av-up-img b{font-size:30px; font-weight:800; color:#1B3A6B}
.av-up-cam{position:absolute; right:-2px; bottom:-2px; width:34px; height:34px; border-radius:50%; background:#16833F; color:#fff; display:grid; place-items:center; border:3px solid #fff; box-shadow:0 4px 10px rgba(22,131,63,.35)} .av-up-cam svg{width:17px; height:17px}
.av-up-pic:hover .av-up-img{filter:brightness(.92)}
.av-up-t b{display:block; font-size:15px} .av-up-t small{display:block; color:#5A6962; font-size:12.5px; margin:2px 0 10px}
.av-up-btns{display:flex; gap:8px} .av-btn{height:38px; padding:0 16px; border-radius:10px; border:0; background:#10201A; color:#fff; font:inherit; font-weight:700; font-size:13.5px; cursor:pointer} .av-btn:hover{background:#0F5A2B}
.av-btn--ghost{background:#fff; color:#16833F; border:1.5px solid #DDF2E3} .av-btn--ghost:hover{background:#F6FBF8}
.st-country{display:flex; align-items:center; gap:10px; padding:0 14px; height:46px; background:#F4F7F5!important; color:#10201A; font-weight:600} .st-country img{border-radius:2px}

/* request wizard */
.rw{padding:24px 26px 26px} .rw-top{display:flex; align-items:center; justify-content:space-between; gap:16px} .rw h1{font-size:24px; font-weight:800; margin:0}
.rw-bar{width:180px; height:6px; border-radius:999px; background:#F1F3F6; overflow:hidden} .rw-bar i{display:block; height:100%; width:12%; background:#16833F; border-radius:999px; transition:width .3s}
.rw-sum{margin:12px 0 4px; padding:12px 16px; border-radius:12px; background:#F8F9FB; color:#5A6962; font-size:15px; min-height:22px} .rw-sum b{color:#10201A}
.rw-step{padding:18px 0 4px; animation:rwIn .25s ease} @keyframes rwIn{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
.rw-step h2{font-size:22px; font-weight:800; margin:0 0 16px; letter-spacing:-.01em}
.rw-big{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.rw-big button{display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:22px; border:2px solid #E2EAE5; border-radius:18px; background:#fff; cursor:pointer; text-align:left; font:inherit; transition:all .15s}
.rw-big button span{width:52px; height:52px; border-radius:14px; background:#F2FAF4; color:#16833F; display:grid; place-items:center; margin-bottom:6px} .rw-big svg{width:28px; height:28px}
.rw-big b{font-size:22px; font-weight:800; color:#10201A} .rw-big small{font-size:14px; color:#5A6962}
.rw-big button:hover,.rw-big button.is-on{border-color:#16833F; background:#F6FBF8; transform:translateY(-2px)}
.rw-chips{display:flex; flex-wrap:wrap; gap:10px}
.rw-chips button,.rw-tags button{padding:11px 18px; border:1.5px solid #E2EAE5; border-radius:999px; background:#fff; font:inherit; font-size:15px; font-weight:600; color:#10201A; cursor:pointer; transition:all .12s}
.rw-chips--lg button{padding:14px 22px; font-size:16px} .rw-chips button small{font-weight:500; color:#8A968F; margin-left:3px}
.rw-chips button:hover,.rw-chips button.is-on,.rw-tags button.is-on{border-color:#16833F; background:#F2FAF4; color:#16833F}
.rw-areas{max-height:280px; overflow:auto; padding:2px}
.rw-search{display:flex; align-items:center; gap:10px; height:48px; padding:0 14px; border:1.5px solid #E2EAE5; border-radius:12px; margin-bottom:12px; max-width:420px} .rw-search svg{width:20px; height:20px; color:#8A968F} .rw-search input{flex:1; border:0; outline:0; font:inherit; font-size:15px}
.rw-skip{margin-top:14px; border:0; background:none; color:#16833F; font:inherit; font-weight:700; font-size:15px; cursor:pointer; padding:0}
.rw-none{color:#8A968F; font-size:14px}
.rw-tiles{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px}
.rw-tiles button{display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 8px; border:1.5px solid #E2EAE5; border-radius:14px; background:#fff; font:inherit; font-size:13.5px; font-weight:700; color:#10201A; cursor:pointer}
.rw-tiles button span{color:#16833F} .rw-tiles svg{width:30px; height:30px} .rw-tiles button:hover,.rw-tiles button.is-on{border-color:#16833F; background:#F6FBF8}
.rw-custom{display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:16px; color:#5A6962; font-size:14px}
.rw-custom label{display:flex; align-items:center; gap:6px} .rw-custom input{width:130px; height:44px; border:1.5px solid #E2EAE5; border-radius:10px; padding:0 12px; font:inherit; font-size:15px}
.rw-next,.rw-post{height:46px; padding:0 22px; border:0; border-radius:12px; background:#16833F; color:#fff; font:inherit; font-weight:800; font-size:15px; cursor:pointer} .rw-next:hover,.rw-post:hover{background:#16833F}
.rw-tags{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px} .rw-tags button{padding:8px 14px; font-size:14px}
#rwNotes{width:100%; box-sizing:border-box; border:1.5px solid #E2EAE5; border-radius:12px; padding:12px 14px; font:inherit; font-size:15px; resize:vertical}
.rw-final{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px} .rw-post{height:52px; padding:0 28px; font-size:16px}
.rw-nav{margin-top:14px} .rw-back{border:0; background:none; color:#5A6962; font:inherit; font-weight:700; cursor:pointer; padding:6px 0}
@media (max-width:760px){ .rw{padding:18px 14px} .rw-bar{width:100px} .rw-step h2{font-size:19px} .rw-big{grid-template-columns:1fr 1fr} .rw-big button{padding:16px} .rw-tiles{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* request card (v9.1) */
.pc-verb{font-size:15px; color:#5A6962; font-weight:500} .pc-verb b{color:#16833F; font-weight:800}
.rq-card{margin:12px 0 4px; padding:16px 18px; border-radius:14px; background:linear-gradient(135deg,#F6FBF8,#fff 60%); border:1px solid #E3F4E8}
.rq-h{margin:0 0 12px; font-size:20px; font-weight:800; letter-spacing:-.01em; color:#10201A}
.rq-facts{display:flex; flex-wrap:wrap; gap:8px 18px} .rq-facts span{display:inline-flex; align-items:center; gap:7px; color:#5A6962; font-size:14px} .rq-facts .ic{width:18px; height:18px; color:#16833F} .rq-facts b{color:#10201A; font-weight:700}
.rq-wish{display:flex; flex-wrap:wrap; gap:6px; margin-top:12px} .rq-wish span{display:inline-flex; align-items:center; gap:5px; padding:5px 11px; border-radius:999px; background:#fff; border:1px solid #E2EAE5; font-size:13px; font-weight:600} .rq-wish .ic{width:14px; height:14px; color:#1E9E52}
.rq-note{margin:12px 0 0; color:#374151; font-size:14.5px; font-style:italic}
.rq-cta{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px dashed #DDF2E3} .rq-cta span{font-size:13px; color:#5A6962}
.rq-btn{display:inline-flex; align-items:center; height:38px; padding:0 16px; border-radius:10px; background:#16833F; color:#fff!important; font-weight:800; font-size:14px; text-decoration:none} .rq-btn:hover{background:#16833F}
@media (max-width:600px){ .rq-h{font-size:17px} .rq-facts{flex-direction:column; gap:6px} }
/* request replies (v9.2) */
.rq-cta{justify-content:space-between} .rq-reps{display:flex; align-items:center; gap:10px}
.rq-avs{display:flex} .rq-avs img,.rq-avs i{width:30px; height:30px; border-radius:50%; border:2px solid #fff; margin-left:-8px; object-fit:cover; background:#E6EEF8; color:#1B3A6B; font-style:normal; font-size:10.5px; font-weight:800; display:grid; place-items:center} .rq-avs > :first-child{margin-left:0} .rq-avs .rq-more{background:#10201A; color:#fff}
.rq-count{font-size:14px; color:#5A6962} .rq-count b{color:#10201A} .rq-wait{font-size:13px; color:#5A6962}
.rq-btn--ghost{background:#fff!important; color:#16833F!important; border:1.5px solid #DDF2E3} .rq-btn--wa{background:#25D366!important} button.rq-btn{border:0; cursor:pointer; font:inherit; font-weight:800}
.rq-priv{display:flex; align-items:center; gap:8px; margin:-4px 0 12px} .rq-priv .ic{width:16px; height:16px; color:#16833F; flex:none}
.cm--rep{padding:14px; border:1px solid #F0F2F5; border-radius:14px; margin-bottom:10px} .cm-meta{font-size:12.5px; color:#8A968F; margin-top:2px} .cm-acts{display:flex; gap:8px; margin-top:10px}

/* broker profile wizard (reuses the request wizard styles) */
.rw-lim{font-size:13px; font-weight:600; color:#8A968F; margin-left:6px; letter-spacing:0}
.rw-chips button img{border-radius:2px; margin-right:7px; vertical-align:-2px}
.rw-ck,.rw-tile{position:relative; cursor:pointer} .rw-ck input,.rw-tile input{position:absolute; opacity:0; width:0; height:0}
.rw-ck span{display:inline-flex; align-items:center; gap:6px; padding:11px 18px; border:1.5px solid #E2EAE5; border-radius:999px; background:#fff; font-size:15px; font-weight:600; color:#10201A; transition:all .12s} .rw-ck small{color:#8A968F; font-weight:500}
.rw-ck:hover span,.rw-ck.is-on span{border-color:#16833F; background:#F2FAF4; color:#16833F}
.rw-tile{display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 8px; border:1.5px solid #E2EAE5; border-radius:14px; background:#fff; font-size:13.5px; font-weight:700; color:#10201A; text-align:center}
.rw-tile-ic{color:#16833F} .rw-tile svg{width:30px; height:30px} .rw-tile:hover,.rw-tile.is-on{border-color:#16833F; background:#F6FBF8}
.rw-multi .is-off{opacity:.45} .rw-multi .is-off:hover span,.rw-multi label.rw-tile.is-off:hover{border-color:#E2EAE5; background:#fff; color:inherit}
.rw-go{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px} .rw-cnt{font-size:13.5px; color:#5A6962; font-weight:600}
.rw-big--3{grid-template-columns:repeat(3,minmax(0,1fr))} .rw-big--3 button{padding:18px} .rw-big--3 b{font-size:18px}
.bpw .av-up{margin-bottom:10px}
@media (max-width:760px){ .rw-big--3{grid-template-columns:1fr 1fr} }
.fd--wide .fd-main{max-width:860px; margin:0 auto; width:100%}
/* wizard chips: tight, natural width */
.rw-chips > label.rw-ck{display:inline-flex; margin:0; padding:0; width:auto; flex:0 0 auto}
/* hide the native/switch checkbox inside wizard chips & tiles (a global switch style was giving it 40px) */
.rw-ck input[type=checkbox],.rw-tile input[type=checkbox],.bp-chip input,.bp-card input,.rp-opt input[type=radio]:not(.keep){position:absolute!important; opacity:0!important; width:0!important; height:0!important; margin:0!important; pointer-events:none}
.rp-opt input[type=radio]{position:static!important; opacity:1!important; width:17px!important; height:17px!important; pointer-events:auto}

/* ═══ broker profile wizard — 1:1 with the design ═══ */
.bpw-grid{display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:18px; max-width:1260px; margin:0 auto; align-items:start}
.bpw-main{min-width:0}
.bpw-side{position:sticky; top:84px}
.bps{background:linear-gradient(180deg,#F6FBF8 0%,#F2FAF4 100%); border:1px solid #E3F4E8; border-radius:18px; padding:22px 22px 24px; color:#374151}
.bps-art{margin:-6px -6px 10px} .bps-art svg{display:block; width:100%; height:auto}
.bps h3{margin:0 0 12px; font-size:24px; line-height:1.2; font-weight:800; letter-spacing:-.02em; color:#10201A}
.bps p{margin:0 0 12px; font-size:15.5px; line-height:1.6; color:#5A6962}
.bps-call{display:flex; align-items:center; gap:14px; margin-top:16px; padding:16px 18px; border-radius:14px; background:rgba(22,131,63,.08)}
.bps-call-ic{flex:none; width:52px; display:grid; place-items:center; padding-right:14px; border-right:2px solid rgba(22,131,63,.6)} .bps-call-ic svg{width:42px; height:42px}
.bps-call > span:last-child{font-size:14.5px; line-height:1.55; color:#374151}
.bps-feat{display:flex; align-items:center; gap:14px; margin-top:10px; padding:14px 16px; border-radius:14px; background:rgba(255,255,255,.7)}
.bps-feat .bps-call-ic{border-right:0; padding-right:0; width:44px} .bps-feat .bps-call-ic svg{width:38px; height:38px}
.bps-feat b{display:block; font-size:15px; color:#10201A; margin-bottom:2px} .bps-feat > span:last-child{font-size:13.5px; color:#5A6962; line-height:1.45}
.bps-script{margin-top:22px; text-align:center; font-family:Caveat,'Segoe Script','Brush Script MT',cursive; font-size:32px; color:#10201A; transform:rotate(-4deg)} .bps-script svg{display:block; width:120px; margin:2px auto 0}
.rw-sub{margin:-6px 0 18px; color:#5A6962; font-size:15.5px; line-height:1.6}
/* nationality chips: flag over name */
.rw-flags button{display:inline-flex; flex-direction:column; align-items:flex-start; gap:3px; padding:9px 18px 9px} .rw-flags button img{margin:0; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.06)}
/* property-type tiles: soft icon square + check badge */
.rw-tile{padding:18px 8px 16px} .rw-tile-ic{width:48px; height:48px; border-radius:12px; background:#F2FAF4; display:grid; place-items:center} .rw-tile svg{width:28px; height:28px}
.rw-tile-ck{position:absolute; top:-8px; right:-8px; width:28px; height:28px; border-radius:50%; background:#16833F; display:none; place-items:center; box-shadow:0 2px 6px rgba(22,131,63,.4)} .rw-tile-ck svg{width:16px; height:16px}
.rw-tile.is-on .rw-tile-ck{display:grid}
.rw-cnt--solo{margin-top:14px} .rw-info{display:flex; align-items:center; gap:12px; margin-top:12px; padding:14px 16px; border-radius:12px; background:#F2FAF4; color:#16833F; font-size:15px} .rw-info svg{width:26px; height:26px; flex:none}
.rw-go--end{justify-content:space-between; margin-top:22px} .rw-back-in{border:0; background:none; color:#5A6962; font:inherit; font-weight:700; font-size:16px; cursor:pointer; padding:6px 0}
/* about step */
.ab-grid{display:grid; grid-template-columns:1fr 1fr; gap:4px 20px; margin-top:6px}
.ab-grid select{appearance:none; -webkit-appearance:none; background:transparent; border:0; width:100%; font:inherit; font-size:15px; color:#10201A; padding-right:28px; cursor:pointer}
.ab-h{margin:14px 0 4px; font-size:17px; font-weight:800; color:#10201A} .ab-h span{font-weight:800}
.ab-soc{display:grid; grid-template-columns:1fr 1fr; gap:10px 28px; margin-bottom:10px}
.ab-soc-row{display:flex; align-items:flex-end; gap:12px} .ab-soc-ic{flex:none; width:40px; height:40px; margin-bottom:2px} .ab-soc-ic svg{width:40px; height:40px}
.ab-soc-row label{flex:1; min-width:0; display:flex; flex-direction:column; gap:5px} .ab-soc-row b{font-size:13.5px; color:#10201A}
.ab-soc-row input{height:38px; border:1.5px solid #E2EAE5; border-radius:8px; padding:0 12px; font:inherit; font-size:14px; color:#10201A; background:#fff; width:100%; box-sizing:border-box}
.ab-soc-row input::placeholder{color:#8A968F}
.ab-count{text-align:right; font-size:13px; color:#8A968F; margin-top:4px}
.rw-final--2{align-items:flex-end} .rw-final--2 > div{display:flex; flex-direction:column; align-items:flex-start; gap:14px}
.av-btn{display:inline-flex; align-items:center; gap:8px}
@media (max-width:1100px){ .bpw-grid{grid-template-columns:1fr} .bpw-side{position:static} }
@media (max-width:700px){ .ab-grid,.ab-soc{grid-template-columns:1fr} }
/* saved page */
.sv-h{font-size:28px; font-weight:800; margin:0 0 12px}
.sv-tabs a span{display:inline-grid; place-items:center; min-width:22px; height:20px; padding:0 6px; margin-left:6px; border-radius:999px; background:rgba(0,0,0,.08); font-size:12px}
.sv-tabs a.is-on span{background:rgba(255,255,255,.25)}
.sv-b{display:flex; align-items:center; gap:16px; padding:16px 18px} .sv-b-t{flex:1; min-width:0}
.sv-b-n{font-size:17px; font-weight:800; color:#10201A} .sv-b-m{font-size:13.5px; color:#5A6962; margin:3px 0 10px}
.sv-b-a{display:flex; gap:8px; flex-wrap:wrap}
.sv-heart{border:0; background:#F2FAF4; color:#16833F; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; cursor:pointer; flex:none} .sv-heart svg{width:20px; height:20px} .sv-heart:hover{background:#E3F4E8}
.fd-empty{display:flex; flex-direction:column; align-items:center; gap:6px; padding:34px 18px; text-align:center; color:#5A6962} .fd-empty b{color:#10201A}
.rw-tags button[hidden]{display:none!important}
.rw-chips button[hidden]{display:none!important}

/* ═══════════ Feed v2 — modern, Facebook-style (overrides above) ═══════════ */
.fd-main{--fb-bg:#F0F2F5;--fb-line:#E2EAE5;--fb-mute:#5A6962;--fb-ink:#10201A}
.fd-list{display:flex;flex-direction:column;gap:14px}
.pc{background:#fff!important;border:0!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(0,0,0,.08),0 2px 10px rgba(0,0,0,.03)!important;padding:0!important;margin:0!important;overflow:hidden;transition:opacity .25s,transform .25s}
.pc.is-gone{opacity:0;transform:scale(.98)}
.pc.is-new{animation:pcNew 1.6s ease}
@keyframes pcNew{0%{box-shadow:0 0 0 3px rgba(22,131,63,.45)}100%{box-shadow:0 1px 2px rgba(0,0,0,.08)}}
.pc-head{display:flex;align-items:flex-start;gap:10px;padding:12px 16px 4px!important}
.pc-av{width:42px!important;height:42px!important;border-radius:50%!important;flex:none}
.pc-name{font-size:15px!important;font-weight:700!important;color:var(--fb-ink)!important}
.pc-sub{font-size:13px!important;color:var(--fb-mute)!important;margin-top:1px}.pc-sub a{color:var(--fb-mute)!important}
.pc-body{padding:6px 16px 10px!important;font-size:15px!important;line-height:1.5!important;color:var(--fb-ink);word-wrap:break-word}
.pc-body.is-clamp{max-height:7.6em;overflow:hidden;-webkit-mask-image:linear-gradient(#10201A 70%,transparent);mask-image:linear-gradient(#10201A 70%,transparent)}
.pc-seemore{display:block;margin:-6px 16px 10px;padding:0;border:0;background:none;font:inherit;font-weight:700;font-size:14.5px;color:var(--fb-mute);cursor:pointer}.pc-seemore:hover{text-decoration:underline}
.pc-facts{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.pc-facts span{padding:6px 12px;border-radius:999px;background:var(--fb-bg);font-size:13.5px;font-weight:600;color:#10201A}
.pc-facts .pc-price{background:#F2FAF4;color:#16833F;font-weight:800}.pc-facts small{font-weight:600;opacity:.8}
.pc-req--list{display:none!important}
/* media: full-bleed grid */
.pc-media{display:grid!important;gap:3px!important;margin:0!important;border-radius:0!important;background:var(--fb-line);max-height:560px;overflow:hidden}
.pc-media a{position:relative;display:block;overflow:hidden;background:#EEF3F0}
.pc-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.pc-media a:hover img{transform:scale(1.015)}
.pc-media--1{grid-template-columns:1fr}.pc-media--1 img{max-height:560px;height:auto;aspect-ratio:auto}
.pc-media--2{grid-template-columns:1fr 1fr}.pc-media--2 a{aspect-ratio:1/1}
.pc-media--3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:3/2}.pc-media--3 a:first-child{grid-row:span 2}
.pc-media--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1/1}
.pc-media-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-size:28px;font-weight:800}
/* stats */
.pc-stats{display:flex!important;justify-content:space-between;align-items:center;padding:10px 16px!important;font-size:14px!important;color:var(--fb-mute)!important;border:0!important;margin:0!important}
.pc-likes{display:inline-flex;align-items:center;gap:6px}.pc-likes.is-zero{visibility:hidden}
.pc-heart-dot{width:19px;height:19px;border-radius:50%;background:linear-gradient(180deg,#22A94A,#16833F);display:grid;place-items:center}
.pc-heart-dot svg{width:11px;height:11px;fill:#fff;stroke:none}
.pc-stats-r{display:inline-flex;gap:12px}
.pc-link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.pc-link:hover{text-decoration:underline}.pc-link.is-zero{display:none}
/* action bar */
.pc-foot{display:flex!important;gap:4px!important;margin:0 12px!important;padding:4px 0!important;border-top:1px solid var(--fb-line)!important;border-bottom:0!important}
.pc-act{flex:1;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;height:40px!important;padding:0 8px!important;border:0!important;border-radius:8px!important;background:none!important;color:var(--fb-mute)!important;font:inherit;font-size:15px!important;font-weight:600!important;cursor:pointer;text-decoration:none!important;box-shadow:none!important;transition:background .12s}
.pc-act:hover{background:#EEF3F0!important}
.pc-act svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pc-act .ui-ic{width:20px;height:20px}
.pc-like.is-on{color:#16833F!important}.pc-like.is-on svg{fill:#16833F;stroke:#16833F}
.pc-like.is-pop svg{animation:pcPop .35s ease}
@keyframes pcPop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.pc-save.is-on{color:#10201A!important}.pc-save.is-on svg{fill:currentColor}
.pc-act--wa{color:#1FA855!important}
@media (max-width:560px){ .pc-act span{display:none} .pc-act{height:42px!important} }
/* comments */
.pc-cmts{display:none;padding:4px 16px 12px;border-top:1px solid var(--fb-line);margin:0 0}
.pc-cmts.is-open{display:block}
.pc-cmts-more{border:0;background:none;padding:6px 0 4px;font:inherit;font-weight:700;font-size:14px;color:var(--fb-mute);cursor:pointer}.pc-cmts-more:hover{text-decoration:underline}
.pc-cmts-list{display:flex;flex-direction:column;gap:8px;padding:6px 0}
.pc-c{display:flex;gap:8px;align-items:flex-start}.pc-c.is-pending{opacity:.6}
.pc-c-av{width:32px;height:32px;border-radius:50%;flex:none;overflow:hidden;background:linear-gradient(145deg,#E6EEF8,#CFDDF0);color:#1B3A6B;font-weight:800;font-size:12px;display:grid;place-items:center;text-decoration:none}
.pc-c-av img{width:100%;height:100%;object-fit:cover}
.pc-c-b{min-width:0;max-width:calc(100% - 40px)}
.pc-c-bub{display:inline-block;background:var(--fb-bg);border-radius:18px;padding:8px 12px;max-width:100%}
.pc-c-n{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:700;color:var(--fb-ink);text-decoration:none}.pc-c-n:hover{text-decoration:underline}
.pc-c-bub p{margin:1px 0 0;font-size:14.5px;line-height:1.4;color:var(--fb-ink);word-wrap:break-word}
.pc-c-t{display:block;margin:3px 0 0 12px;font-size:12px;color:var(--fb-mute);font-weight:600}
.pc-cform{display:flex;align-items:center;gap:8px;margin-top:6px}
.pc-cform input{flex:1;min-width:0;height:38px;border:0;border-radius:20px;background:var(--fb-bg);padding:0 16px;font:inherit;font-size:14.5px;outline:0}
.pc-cform input:focus{box-shadow:inset 0 0 0 2px rgba(22,131,63,.35)}
.pc-cform button{width:36px;height:36px;border-radius:50%;border:0;background:#16833F;color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.pc-cform button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pc-clogin{display:block;padding:8px 0 2px;font-size:14px;font-weight:700;color:#16833F;text-decoration:none}
/* composer */
.cp{background:#fff!important;border:0!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(0,0,0,.08),0 2px 10px rgba(0,0,0,.03)!important;padding:12px 16px!important;margin-bottom:14px!important}
.cp-top{display:flex;align-items:flex-start;gap:10px}
.cp-top textarea{flex:1;min-height:42px;border:0!important;border-radius:21px!important;background:var(--fb-bg,#F0F2F5)!important;padding:11px 16px!important;font:inherit;font-size:15.5px!important;line-height:1.4;resize:none;outline:0}
.cp.is-open .cp-top textarea{border-radius:14px!important;background:#fff!important;box-shadow:inset 0 0 0 1px #E2EAE5}
.cp-cam{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#1FA855;cursor:pointer;flex:none}.cp-cam:hover{background:#EEF3F0}
.cp-more{margin-top:10px;padding-top:10px;border-top:1px solid #E2EAE5}
.cp-kind{display:flex;flex-wrap:wrap;gap:6px}.cp-kind label{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#F0F2F5;font-size:13.5px;font-weight:600;cursor:pointer}
.cp-kind input{accent-color:#16833F}
.cp-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.cp-thumb{position:relative;width:84px;height:84px;border-radius:10px;overflow:hidden;background:#F0F2F5;display:grid;place-items:center;font-size:12px;color:#5A6962}
.cp-thumb img{width:100%;height:100%;object-fit:cover}.cp-thumb button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;line-height:1}
.cp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.cp-foot .bk-btn{min-width:110px;height:40px;border-radius:10px}
/* tabs, new-posts pill, loader */
.fd-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0 12px!important;margin:0!important;border:0!important;background:none!important}
.fd-tabs::-webkit-scrollbar{display:none}
.fd-tabs a{flex:none;padding:8px 14px!important;border-radius:999px!important;background:#fff!important;border:0!important;box-shadow:0 1px 2px rgba(0,0,0,.08);font-size:14px!important;font-weight:700!important;color:#10201A!important;text-decoration:none}
.fd-tabs a.is-on{background:#16833F!important;color:#fff!important}
.fd-newpill{position:sticky;top:90px;z-index:20;display:block;margin:0 auto 10px;padding:9px 18px;border:0;border-radius:999px;background:#16833F;color:#fff;font-weight:800;font-size:14px;box-shadow:0 8px 20px rgba(22,131,63,.35);cursor:pointer}
.fd-newpill[hidden]{display:none}
.fd-sentinel{display:flex;align-items:center;justify-content:center;gap:10px;padding:22px;color:#5A6962;font-size:14px;font-weight:600}.fd-sentinel[hidden]{display:none}
.fd-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid #E2EAE5;border-top-color:#16833F;animation:asSpin .7s linear infinite}
@keyframes asSpin{to{transform:rotate(360deg)}}
.fd-empty{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
/* property requests keep their layout, inside the same modern card */
.pc--request .rq-card{margin:6px 16px 16px!important}
.pc-stats.is-empty{display:none!important}
/* broker ↔ request match line */
.rq-match{margin:4px 0 10px;padding:8px 12px;border-radius:10px;font-size:13.5px;font-weight:600;line-height:1.45}
.rq-match.is-match{background:#E8F7EE;color:#15803D}
.rq-match.is-no{background:#F4F7F5;color:#5A6962}
.rq-match.is-incomplete{background:#FEF3C7;color:#92400E}
/* V15.2 — request reach + invited-broker welcome */
.rq-wait b{color:#10201A}
.rq-welcome{padding:14px 16px; margin-bottom:12px; border-left:4px solid #16A34A; background:#F0FBF4; font-size:14px; line-height:1.55; color:#10201A}
.rq-welcome a{color:#127A45; font-weight:700}
.rw-restored{padding:12px 14px; margin:0 0 12px; border-radius:10px; background:#F0FBF4; color:#10201A; font-size:14px}
/* V15.8 — broker "main focus" step */
.rw-note{margin:-4px 0 14px; font-size:14px; color:#5A6962; line-height:1.5} .rw-note b{color:#10201A; font-weight:700}
/* V15.9 — broker wizard: top stepper, step counter, descriptions, Back / Continue */
.bpw-steps{max-width:1260px; margin:0 auto 18px; background:#fff; border:1px solid #EEF3F0; border-radius:16px; padding:18px 22px 14px; box-shadow:0 1px 2px rgba(17,19,24,.04)}
.bpw-steps ol{list-style:none; margin:0; padding:0; display:flex; justify-content:space-between; gap:4px}
.bpw-steps li{flex:1 1 0; position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; min-width:84px; text-align:center}
.bpw-steps li+li::before{content:""; position:absolute; top:25px; right:calc(50% + 36px); width:calc(100% - 72px); height:2px; background:#E2EAE5; border-radius:2px}
.bpw-steps li.is-done+li::before,.bpw-steps li.is-done+li.is-on::before{background:#16833F}
.sp-dot{width:50px; height:50px; border-radius:50%; border:0; background:#F4F7F5; color:#5A6962; display:grid; place-items:center; cursor:default; padding:0; transition:.15s}
.sp-dot svg{width:24px; height:24px}
.bpw-steps li.is-open .sp-dot{cursor:pointer}
.bpw-steps li.is-done .sp-dot{background:#F2FAF4; color:#16833F}
.bpw-steps li.is-on .sp-dot{background:#F2FAF4; color:#16833F; box-shadow:0 0 0 2px #16833F inset, 0 0 0 5px #E3F4E8}
.bpw-steps li.is-open:not(.is-on) .sp-dot:hover{box-shadow:0 0 0 2px #DDF2E3 inset}
.sp-l{font-size:13.5px; font-weight:600; color:#5A6962; line-height:1.2}
.bpw-steps li.is-on .sp-l{color:#16833F; font-weight:700}
.sp-n{width:22px; height:22px; border-radius:50%; background:#EEF3F0; color:#5A6962; font-size:12px; font-weight:700; display:grid; place-items:center}
.bpw-steps li.is-on .sp-n{background:#16833F; color:#fff}
.bpw-steps li.is-done .sp-n{background:#E3F4E8; color:#12703A}
.rw-prog{display:flex; flex-direction:column; align-items:flex-end; gap:6px} .rw-prog span{font-size:13px; font-weight:600; color:#5A6962}
.rw-desc{margin:-4px 0 16px; font-size:15px; color:#5A6962; line-height:1.55; max-width:680px}
.rw-go--end .rw-back-in{display:inline-flex; align-items:center; gap:8px; background:#F4F7F5; border:1px solid #E2EAE5; color:#10201A; border-radius:10px; padding:11px 20px; font-size:15px}
.rw-go--end .rw-back-in:hover{background:#EEF3F0}
.rw-go--end .rw-next{display:inline-flex; align-items:center; gap:10px; padding-left:26px; padding-right:24px}
.rw-go--solo{justify-content:flex-end}
@media (max-width:900px){
  .bpw-steps{padding:14px 10px 10px; overflow-x:auto; scrollbar-width:none} .bpw-steps::-webkit-scrollbar{display:none}
  .bpw-steps ol{min-width:680px}
}
@media (max-width:560px){ .sp-dot{width:42px; height:42px} .sp-dot svg{width:20px; height:20px} .bpw-steps li+li::before{top:21px; right:calc(50% + 30px); width:calc(100% - 60px)} .sp-l{font-size:12px} }
.rw-step .rw-sub{margin:-4px 0 16px; font-size:15px; color:#5A6962; line-height:1.55; max-width:680px}   /* V15.9: same look as .rw-desc */
/* V16.0 — matching details lock */
.rw-lock{margin:12px 0 4px; padding:12px 14px; border-radius:12px; background:#FFF6E5; border:1px solid #F6DDA8; color:#5B4410; font-size:14px; line-height:1.5}
.rw-lock b{color:#3F2E05} .rw-lock a{color:#12703A; font-weight:700}
.rw-lock--open{background:#F4F7FB; border-color:#E1E7EF; color:#3A4A42} .rw-lock--open b{color:#10201A}
.rw-lockmsg{margin:10px 0 0; padding:10px 14px; border-radius:10px; background:#F2FAF4; color:#0F5A2B; font-weight:600; font-size:14px}
form.is-locked .rw-step:not([data-step=about]) .rw-chips,form.is-locked .rw-step:not([data-step=about]) .rw-tiles,form.is-locked .rw-step:not([data-step=about]) .rw-big,form.is-locked .rw-step:not([data-step=about]) .rw-search{opacity:.6; pointer-events:none}
/* V16.1 — completed steps: green badge, white number */
.bpw-steps li.is-done .sp-n{background:#16A34A; color:#fff}
/* V16.1 — "check your answers" call-out on the last step */
.rw-check{display:flex; gap:14px; margin:18px 0 4px; padding:16px 18px; border-radius:14px; background:#FFF6E5; border:2px solid #F5C451; color:#4A3606}
.rw-check-ic{flex:none; width:40px; height:40px; border-radius:50%; background:#F5A524; color:#fff; display:grid; place-items:center} .rw-check-ic svg{width:21px; height:21px}
.rw-check-b{min-width:0} .rw-check-b > b{display:block; font-size:16.5px; color:#2E2104; margin:2px 0 4px}
.rw-check-b p{margin:0 0 12px; font-size:14px; line-height:1.5} .rw-check-b strong{color:#B42318}
.rw-check-tags{display:flex; flex-wrap:wrap; gap:8px}
.rw-rv{display:flex; flex-direction:column; align-items:flex-start; gap:1px; text-align:left; padding:7px 12px; border-radius:10px; background:#fff; border:1px solid #F1D38E; font:inherit; cursor:pointer; max-width:100%}
.rw-rv small{font-size:11.5px; font-weight:700; color:#8A6A1F; text-transform:uppercase; letter-spacing:.03em} .rw-rv b{font-size:14px; color:#10201A; font-weight:700}
.rw-rv:hover{border-color:#E0A21B; box-shadow:0 1px 4px rgba(224,162,27,.25)} .rw-rv.is-miss b{color:#8A968F; font-weight:600}
.rw-agree{display:flex; align-items:flex-start; gap:10px; margin-top:14px; padding:10px 12px; border-radius:10px; background:#fff; border:1px solid #F1D38E; font-size:14.5px; font-weight:700; color:#2E2104; cursor:pointer}
.rw-agree input{width:20px; height:20px; margin:0; flex:none; accent-color:#16A34A}
.rw-check.is-ok{background:#F0FBF4; border-color:#86D5A4} .rw-check.is-ok .rw-check-ic{background:#16A34A} .rw-check.is-ok .rw-agree{border-color:#86D5A4}
.rw-check.is-shake{animation:rwShake .45s} @keyframes rwShake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@media (prefers-reduced-motion:reduce){ .rw-check.is-shake{animation:none; box-shadow:0 0 0 3px #F5A524} }
@media (max-width:560px){ .rw-check{flex-direction:column; gap:10px; padding:14px} }
.rw-go--end .rw-post{display:inline-flex; align-items:center; gap:10px}   /* V16.1 */
/* V17.0 — My alerts */
.al-sub{margin:-4px 0 14px; color:#3A4A42; font-size:14.5px; line-height:1.55} .al-sub b{color:#10201A}
.al-ok,.al-err{padding:10px 14px; border-radius:10px; font-size:14px; font-weight:600; margin:0 0 12px}
.al-ok{background:#EAF8EF; color:#127A45} .al-err{background:#F2FAF4; color:#B42318}
.al-q input{width:100%; box-sizing:border-box; height:52px; border:1.5px solid #D3DED7; border-radius:12px; padding:0 16px; font:inherit; font-size:16px}
.al-q input:focus{outline:none; border-color:#16833F; box-shadow:0 0 0 3px #E3F4E8}
.al-got{display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:30px; margin:12px 0 4px}
.al-got-l{font-size:13px; font-weight:700; color:#3A4A42; margin-right:2px}
.al-chip,.al-chips span{font-size:13px; font-weight:700; color:#0F5A2B; background:#F2FAF4; border:1px solid #E3F4E8; padding:4px 10px; border-radius:999px}
.al-need{font-size:12.5px; color:#8A5A00; background:#FFF4DC; padding:4px 10px; border-radius:999px}
.al-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin:10px 0 0}
.al-grid label{display:flex; flex-direction:column; gap:5px; font-size:12.5px; font-weight:700; color:#3A4A42}
.al-grid select,.al-grid input{height:40px; border:1px solid #D3DED7; border-radius:10px; padding:0 10px; font:inherit; font-size:14px; color:#10201A; background:#fff}
.al-go{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:16px}
.al-hint{font-size:13px; color:#5A6962}
.al-btn{height:46px; padding:0 22px; border:0; border-radius:12px; background:#16833F; color:#fff; font:inherit; font-weight:800; font-size:15px; cursor:pointer}
.al-h2{font-size:17px; font-weight:800; margin:0 0 10px}
.al-item{border-top:1px solid #EEF3F0; padding:14px 0} .al-item:first-of-type{border-top:0}
.al-item.is-off .al-chips span{color:#5A6962; background:#F4F7F5; border-color:#E2EAE5}
.al-top{display:flex; justify-content:space-between; gap:10px; align-items:flex-start}
.al-chips{display:flex; flex-wrap:wrap; gap:6px}
.al-acts{display:flex; gap:6px; flex:none} .al-acts form{margin:0}
.al-mini{height:32px; padding:0 12px; border-radius:8px; border:1px solid #D3DED7; background:#fff; font:inherit; font-size:13px; font-weight:700; cursor:pointer}
.al-mini--del{color:#B42318}
.al-meta{margin:8px 0 0; font-size:13px; color:#5A6962}
.al-recent{margin:8px 0 0; padding-left:18px; font-size:14px} .al-recent a{color:#10201A}
.al-empty{margin:8px 0 0; font-size:13.5px; color:#5A6962} .al-empty a{color:#12703A; font-weight:700}
@media (max-width:560px){ .al-top{flex-direction:column} .al-go{flex-direction:column; align-items:stretch} }
/* V17.2 — ringing bell on the My alerts heading (same icon as the search "Get alerts" row) */
.al-h1{display:flex; align-items:center; gap:12px}
.al-h1-ic{width:42px; height:42px; border-radius:12px; background:#F2FAF4; color:#16833F; display:grid; place-items:center; flex:none}
.al-h1-ic svg{width:23px; height:23px; transform-origin:50% 15%; animation:alRing 2.8s ease-in-out 0.6s 2}
@keyframes alRing{0%,40%,100%{transform:rotate(0)} 8%{transform:rotate(14deg)} 16%{transform:rotate(-12deg)} 24%{transform:rotate(8deg)} 32%{transform:rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){ .al-h1-ic svg{animation:none} }
.al-grid .al-kw{grid-column:1 / -1} .al-kw-h{font-weight:500; color:#8A968F}   /* V17.3 keywords */
.al-also{flex-basis:100%; margin-top:6px; font-size:13px; color:#3A4A42; line-height:1.5} .al-also b{color:#10201A}   /* V17.3 */
/* V17.4 — keyword phrases in posts: blue links to their topic page (not #hashtags) */
.pc-kw{color:#1D6FE0; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(29,111,224,.25)}
.pc-kw:hover{border-bottom-color:#1D6FE0}
.fd-tag h1 small{font-size:.6em; font-weight:600; color:#5A6962}
.fd-tag-d{margin:-4px 0 14px; font-size:14.5px; color:#3A4A42; line-height:1.55} .fd-tag-d a{color:#12703A; font-weight:700; white-space:nowrap}
.fd-kw-i{color:#1D6FE0; font-style:normal; font-size:.7em; vertical-align:2px}
/* V17.5 — keyword definition tooltip (arrow points at the word) */
.kw-tip{position:absolute; z-index:9999; width:max-content; max-width:min(300px, calc(100vw - 16px)); box-sizing:border-box; padding:12px 14px 12px;
  background:#10201A; color:#D3DED7; border-radius:12px; box-shadow:0 12px 32px rgba(17,19,24,.28); font-size:13.5px; line-height:1.5;
  opacity:0; transform:translateY(4px); transition:opacity .15s ease, transform .15s ease; pointer-events:auto}
.kw-tip.is-below{transform:translateY(-4px)} .kw-tip.is-on{opacity:1; transform:none}
.kw-tip b{display:block; color:#fff; font-size:14px; font-weight:800; margin-bottom:3px}
.kw-tip span{display:block}
.kw-tip a{display:inline-block; margin-top:8px; color:#8DB6FF; font-weight:700; font-size:13px; text-decoration:none} .kw-tip a:hover{text-decoration:underline}
.kw-tip-arrow{position:absolute; bottom:-6px; width:12px; height:12px; margin-left:-6px; background:#10201A; transform:rotate(45deg); border-radius:2px}
.kw-tip.is-below .kw-tip-arrow{bottom:auto; top:-6px}
.pc-kw{cursor:help}
@media (prefers-reduced-motion:reduce){ .kw-tip{transition:none; transform:none} }
.fd-def{background:#fff; border:1px solid #E2EAE5; border-left:4px solid #1D6FE0; border-radius:12px; padding:14px 16px; margin:0 0 16px}   /* V17.5 */
.fd-def h2{margin:0 0 4px; font-size:15.5px; font-weight:800; color:#10201A} .fd-def p{margin:0; font-size:14.5px; line-height:1.55; color:#10201A}
/* V17.6 — topic pages: "Get alerts" call-to-action with the ringing bell */
.fd-tag--kw{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.fd-tag-t{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap} .fd-tag-t span{color:#5A6962}
.kw-cta{display:inline-flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; border-radius:14px; background:#16833F; color:#fff; text-decoration:none;
  box-shadow:0 6px 16px rgba(22,131,63,.25); transition:transform .15s ease, box-shadow .15s ease, background .15s ease; flex:none}
.kw-cta:hover{background:#12703A; transform:translateY(-1px); box-shadow:0 10px 22px rgba(22,131,63,.3); color:#fff}
.kw-cta:focus-visible{outline:3px solid #DDF2E3; outline-offset:2px}
.kw-cta-ic{width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.18); display:grid; place-items:center; flex:none}
.kw-cta-ic svg{width:20px; height:20px; transform-origin:50% 15%}
.kw-cta:hover .kw-cta-ic svg{animation:kwRing .6s ease-in-out}
@keyframes kwRing{20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
.kw-cta-tx{display:flex; flex-direction:column; line-height:1.15; text-align:left}
.kw-cta-tx b{font-size:15px; font-weight:800} .kw-cta-tx small{font-size:12px; font-weight:500; opacity:.9}
.fd-tag-d{margin:6px 0 14px}
.fd-empty--kw{display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; padding:28px 20px}
.kw-empty-ic{width:52px; height:52px; border-radius:16px; background:#F2FAF4; color:#16833F; display:grid; place-items:center; margin-bottom:4px}
.kw-empty-ic svg{width:28px; height:28px}
.kw-cta--lg{margin-top:12px}
@media (max-width:640px){ .fd-tag--kw > .kw-cta{width:100%; justify-content:center} }
@media (prefers-reduced-motion:reduce){ .kw-cta, .kw-cta:hover{transition:none; transform:none} .kw-cta:hover .kw-cta-ic svg{animation:none} }
/* V17.6 fixes: keep the CTA white inside the header / empty box (their generic span colours won the cascade), button on the right on desktop */
.fd-tag .kw-cta, .fd-tag .kw-cta span, .fd-empty .kw-cta, .fd-empty .kw-cta span, .kw-cta .kw-cta-tx b, .kw-cta .kw-cta-tx small{color:#fff}
.fd-empty .kw-empty-ic{color:#16833F}
.fd-tag.fd-tag--kw{flex-wrap:nowrap; align-items:center} .fd-tag--kw .fd-tag-t{min-width:0}
@media (max-width:640px){ .fd-tag.fd-tag--kw{flex-wrap:wrap} }
/* V17.9 — "Complete your broker profile" card */
.pcs{position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; background:#fff; border:1px solid #E2EAE5; border-radius:16px;
  padding:18px 22px; margin:0 0 14px; box-shadow:0 1px 2px rgba(17,19,24,.04)}
.pcs[hidden]{display:none}
.pcs-ring{position:relative; width:64px; height:64px; flex:none}
.pcs-ring svg{width:64px; height:64px; transform:rotate(-90deg)}
.pcs-ring-bg{fill:none; stroke:#E3F4E8; stroke-width:6}
.pcs-ring-fg{fill:none; stroke:#16833F; stroke-width:6; stroke-linecap:round; transition:stroke-dashoffset .8s ease}
.pcs-ring b{position:absolute; inset:0; display:grid; place-items:center; font-size:15px; font-weight:800; color:#10201A}
.pcs-body h2{margin:0; font-size:17px; font-weight:800; color:#10201A}
.pcs-body p{margin:4px 0 10px; font-size:14px; line-height:1.5; color:#3A4A42} .pcs-body p b{color:#10201A}
.pcs-list{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px}
.pcs-list li{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:#3A4A42; background:#F4F7F5; border:1px solid #E2EAE5; padding:4px 10px 4px 6px; border-radius:999px}
.pcs-list li span{width:16px; height:16px; border-radius:50%; border:1.5px solid #AEB9B2; display:grid; place-items:center; font-size:10px; line-height:1; color:#fff; box-sizing:border-box}
.pcs-list li.is-done{color:#127A45; background:#EEF9F2; border-color:#CDEBD8}
.pcs-list li.is-done span{background:#16A34A; border-color:#16A34A}
.pcs-go{display:flex; flex-direction:column; align-items:center; gap:6px}
.pcs-cta{display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 20px; border-radius:12px; background:#16833F; color:#fff; font-weight:800; font-size:15px; text-decoration:none; white-space:nowrap;
  box-shadow:0 6px 16px rgba(22,131,63,.22); transition:background .15s, transform .15s}
.pcs-cta:hover{background:#12703A; color:#fff; transform:translateY(-1px)}
.pcs-go small{font-size:12px; color:#5A6962; white-space:nowrap}
.pcs-x{position:absolute; top:6px; right:8px; width:28px; height:28px; border:0; border-radius:8px; background:transparent; color:#8A968F; font-size:20px; line-height:1; cursor:pointer}
.pcs-x:hover{background:#F4F7F5; color:#10201A}
@media (max-width:760px){ .pcs{grid-template-columns:auto 1fr; padding:16px} .pcs-go{grid-column:1 / -1; align-items:stretch} .pcs-cta{justify-content:center} .pcs-go small{text-align:center} }
@media (prefers-reduced-motion:reduce){ .pcs-ring-fg{transition:none} .pcs-cta:hover{transform:none} }
@media (max-width:760px){ .pcs{align-items:start} .pcs-ring{width:56px; height:56px} .pcs-ring svg{width:56px; height:56px} }   /* V17.9: ring at the top on phones */
/* V18.0 — composer: posting tips, character counter, link warning */
.cp-tips{list-style:none; margin:4px 0 10px; padding:10px 12px; border-radius:10px; background:#F7F8FA; display:grid; gap:4px; font-size:13px; color:#3A4A42}
.cp-tips li{position:relative; padding-left:18px} .cp-tips li::before{content:""; position:absolute; left:4px; top:.55em; width:6px; height:6px; border-radius:50%; background:#16833F}
.cp-tips b{color:#10201A}
.cp-warn{margin:0 0 10px; padding:9px 12px; border-radius:10px; background:#F2FAF4; color:#B42318; font-size:13.5px; font-weight:600}
.cp-count{margin-left:auto; margin-right:12px; font-size:12.5px; font-weight:700; color:#8A968F; font-variant-numeric:tabular-nums}
.cp-count.is-near{color:#B45309} .cp-count.is-over{color:#B42318}
.cp-foot [type=submit]:disabled{opacity:.5; cursor:not-allowed}
.cp-thumbs:empty{display:none}   /* V18.0: no blank gap until a photo is added */
/* V18.1 — listing preview card */
.lc{display:grid; grid-template-columns:220px 1fr; margin:12px 0 4px; border:1px solid #E2EAE5; border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; background:#fff; transition:box-shadow .15s, border-color .15s}
.lc:hover{border-color:#D3DED7; box-shadow:0 6px 18px rgba(17,19,24,.08)}
.lc-img{position:relative; display:block; background:#EEF3F0; min-height:150px}
.lc-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.lc-src{position:absolute; left:8px; bottom:8px; background:rgba(17,19,24,.78); color:#fff; font-size:11.5px; font-weight:700; padding:3px 8px; border-radius:6px}
.lc-b{display:flex; flex-direction:column; gap:5px; padding:12px 14px; min-width:0}
.lc-price{font-size:19px; font-weight:800; color:#10201A} .lc-price small{font-size:13px; font-weight:600; color:#5A6962}
.lc-tag{align-self:flex-start; font-size:11.5px; font-weight:800; color:#0F5A2B; background:#F2FAF4; padding:2px 8px; border-radius:6px; order:-1}
.lc-t{font-size:14.5px; font-weight:700; color:#10201A; line-height:1.35}
.lc-f{font-size:13.5px; font-weight:600; color:#10201A}
.lc-loc{display:flex; align-items:center; gap:5px; font-size:13px; color:#5A6962} .lc-loc svg{width:14px; height:14px; flex:none}
.lc-foot{display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; margin-top:auto; padding-top:4px}
.lc-ver{font-size:12.5px; font-weight:800; color:#127A45; background:#EEF9F2; border:1px solid #CDEBD8; padding:3px 9px; border-radius:999px}
.lc-go{font-size:13px; font-weight:800; color:#1D6FE0}
.lc--min{display:flex; grid-template-columns:none; padding:10px 14px}
@media (max-width:600px){ .lc{grid-template-columns:1fr} .lc-img{min-height:0; aspect-ratio:16/10} }
.lc.lc--noimg{grid-template-columns:1fr}   /* V18.1: photo removed by the portal → full-width card, no broken image */
/* V18.3 — portal link buttons (round logo + "View on …") */
.pl-row{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 4px}
.pl-btn{display:inline-flex; align-items:center; gap:9px; padding:5px 14px 5px 5px; border:1px solid #E2EAE5; border-radius:999px; background:#fff; color:#10201A; font-size:14px; font-weight:700; text-decoration:none; transition:border-color .15s, box-shadow .15s}
.pl-btn img{width:26px; height:26px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(17,19,24,.08)}
.pl-btn span{color:#5A6962; font-weight:600}
.pl-btn:hover{border-color:#D3DED7; box-shadow:0 2px 8px rgba(17,19,24,.08); color:#10201A}
.pl-row{padding:0 16px; margin:4px 0 10px}   /* V18.3: line up with the post text (.pc-body has 16px side padding) */
/* V18.4 — replies to comments */
.pc-c-meta{display:flex; align-items:center; gap:12px; padding:2px 0 0 12px}
.pc-c-meta .pc-c-t{padding:0}
.pc-c-rep{border:0; background:none; padding:0; font:inherit; font-size:12.5px; font-weight:800; color:#5A6962; cursor:pointer}
.pc-c-rep:hover{color:#10201A; text-decoration:underline}
.pc-c--reply{margin-left:46px}
.pc-c--reply .pc-c-av{width:26px; height:26px; font-size:10px}
.pc-rform{margin:4px 0 10px 46px}
.pc-rform .pc-c-av{width:26px; height:26px; font-size:10px}
@media (max-width:560px){ .pc-c--reply, .pc-rform{margin-left:30px} }
/* V18.5 — send button inside the comment / reply box (right edge), dims until there's text */
.pc-cform{position:relative}
.pc-cform input{padding-right:46px}
.pc-cform button{position:absolute; right:4px; top:50%; transform:translateY(-50%); width:30px; height:30px; transition:opacity .15s, background .15s}
.pc-cform button svg{width:15px; height:15px}
.pc-cform input:placeholder-shown + button{opacity:.45; background:#8A968F}
.pc-cform button:hover{background:#16833F}
/* V18.6 — "Helpful" replies to property requests */
.rq-help{background:#fff; color:#10201A; border:1px solid #D3DED7}
.rq-help .rq-help-i{display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; border:1.5px solid #8A968F; font-size:11px; line-height:1; color:transparent; margin-right:6px}
.rq-help:hover{border-color:#86D5A4; color:#127A45}
.rq-help.is-on{background:#EEF9F2; border-color:#86D5A4; color:#127A45}
.rq-help.is-on .rq-help-i{background:#16A34A; border-color:#16A34A; color:#fff}
.cm-rep-n{display:inline-flex; align-items:center; gap:5px; margin:2px 0 4px; font-size:12.5px; font-weight:700; color:#127A45}
.cm-rep-n .ui-ic{width:14px; height:14px}
.cm-helpful{margin-top:6px; display:inline-block; font-size:12.5px; font-weight:800; color:#127A45; background:#EEF9F2; border:1px solid #CDEBD8; padding:3px 10px; border-radius:999px}
/* V18.6 fix: the .rq-btn base sets white text — keep the Helpful button readable */
.cm-acts .rq-btn.rq-help{background:#fff; color:#10201A; border:1px solid #D3DED7; box-shadow:none}
.cm-acts .rq-btn.rq-help:hover{border-color:#86D5A4; color:#127A45}
.cm-acts .rq-btn.rq-help.is-on{background:#EEF9F2; border-color:#86D5A4; color:#127A45}
.cm-acts .rq-btn.rq-help span{color:inherit}
.cm-acts .rq-btn.rq-help .rq-help-i{color:transparent} .cm-acts .rq-btn.rq-help.is-on .rq-help-i{color:#fff}
.cm-acts .rq-btn.rq-help{color:#10201A!important; border:1px solid #D3DED7!important}   /* .rq-btn forces white text with !important */
.cm-acts .rq-btn.rq-help:hover{color:#127A45!important; border-color:#86D5A4!important}
.cm-acts .rq-btn.rq-help.is-on{color:#127A45!important; border-color:#86D5A4!important}
/* V18.7 — who liked: up to 3 overlapping avatars before the heart */
.pc-likers{display:inline-flex; align-items:center}
.pc-likers:empty{display:none}
.pc-liker{width:22px; height:22px; border-radius:50%; border:2px solid #fff; background:#E8EEF7; color:#25406B; font-size:8.5px; font-weight:800; display:grid; place-items:center; overflow:hidden; margin-left:-7px; box-sizing:content-box}
.pc-liker:first-child{margin-left:0}
.pc-liker img{width:100%; height:100%; object-fit:cover}
.pc-likers + .pc-heart-dot{margin-left:-3px}
.pc-likes[title]{cursor:default}
/* V18.7 polish: each person their own colour, initials sized to fit */
.pc-liker{width:24px; height:24px; font-size:8px; letter-spacing:-.02em; margin-left:-8px}
.pc-liker--0{background:#E8EEF7; color:#25406B} .pc-liker--1{background:#F2FAF4; color:#0F5A2B} .pc-liker--2{background:#EAF8EF; color:#127A45}
.pc-liker--3{background:#FFF4DC; color:#8A5A00} .pc-liker--4{background:#EEE9FB; color:#4B2E9E}
.pc-liker[data-me]:not([class*="pc-liker--"]){background:#E3F4E8; color:#0F5A2B}
.pc-liker--0{background:#4F7FD8; color:#fff} .pc-liker--1{background:#16833F; color:#fff} .pc-liker--2{background:#2FA56B; color:#fff}
.pc-liker--3{background:#D9922B; color:#fff} .pc-liker--4{background:#7B61D1; color:#fff}
.pc-liker[data-me]:not([class*="pc-liker--"]){background:#16833F; color:#fff}   /* V18.7: distinct at 24 px */
.pc-liker{margin-left:-5px; position:relative} .pc-liker:first-child{margin-left:0}
.pc-liker:nth-child(1){z-index:3} .pc-liker:nth-child(2){z-index:2} .pc-liker:nth-child(3){z-index:1}   /* newest on top, letters readable */
/* V18.8 — post photo gallery (new class names, so the older .pc-media rules can't interfere) */
.pg{display:grid; gap:3px; margin:10px 0 0; background:#E2EAE5; overflow:hidden}
.pg-i{position:relative; display:block; overflow:hidden; background:#EEF3F0; cursor:zoom-in; min-height:0}
.pg-i img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .25s ease}
.pg-i:hover img{transform:scale(1.02)}
.pg-x{display:none}
.pg--1{grid-template-columns:1fr} .pg--1 .pg-i{aspect-ratio:16/10; max-height:560px}
.pg--2{grid-template-columns:1fr 1fr; height:340px}
.pg--3{grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; height:420px} .pg--3 .pg-i:first-child{grid-row:1 / 3}
.pg--4{grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; height:440px}
.pg--5{grid-template-columns:repeat(6, 1fr); grid-template-rows:260px 190px}
.pg--5 .pg-i:nth-child(1), .pg--5 .pg-i:nth-child(2){grid-column:span 3}
.pg--5 .pg-i:nth-child(n+3){grid-column:span 2}
.pg-more{position:absolute; inset:0; display:grid; place-items:center; background:rgba(17,19,24,.55); color:#fff; font-size:28px; font-weight:800; letter-spacing:.02em}
@media (max-width:600px){
  .pg--2{height:220px} .pg--3{height:300px} .pg--4{height:300px}
  .pg--5{grid-template-rows:170px 120px} .pg-more{font-size:22px}
}
/* V18.9 — portal button(s) over the first photo (top-left) when a post has photos */
.pg{position:relative}
.pl-row.pl-row--on{position:absolute; z-index:2; top:12px; left:12px; right:auto; margin:0; padding:0; max-width:calc(50% - 24px)}
.pg--1 .pl-row--on, .pg--4 .pl-row--on{max-width:calc(100% - 24px)}
.pl-row--on .pl-btn{background:rgba(255,255,255,.95); border-color:transparent; box-shadow:0 4px 14px rgba(17,19,24,.28); backdrop-filter:blur(4px)}
.pl-row--on .pl-btn:hover{background:#fff; box-shadow:0 6px 18px rgba(17,19,24,.34)}
@media (max-width:600px){ .pl-row.pl-row--on{top:8px; left:8px; max-width:calc(100% - 16px)} .pl-row--on .pl-btn{font-size:13px; padding:4px 12px 4px 4px} .pl-row--on .pl-btn img{width:22px; height:22px} }
/* V18.9 fix: the portal button is the gallery's first child, so count photos with :nth-of-type (photos are <a>, the button row is a <div>) */
.pg--3 a.pg-i{grid-row:auto} .pg--3 a.pg-i:first-of-type{grid-row:1 / 3}
.pg--5 a.pg-i{grid-column:span 2} .pg--5 a.pg-i:nth-of-type(1), .pg--5 a.pg-i:nth-of-type(2){grid-column:span 3}
/* V19.0 — desktop feed layout: content starts next to the menu (no empty strip on the left), wider right sidebar */
@media (min-width:1001px){
  .fd{grid-template-columns:minmax(0,1fr) clamp(300px, 24vw, 380px); gap:24px; max-width:1240px; margin:0; padding:22px 28px 40px}
}
@media (min-width:1001px){
  .fd{grid-template-columns:minmax(0, 880px) clamp(300px, 23vw, 420px); max-width:none; justify-content:start}
}
/* V19.1 — option A: posts next to the menu at Facebook size (≤ 680 px), sidebar ≤ 380 px; overrides V19.0 */
@media (min-width:1001px){
  .fd{grid-template-columns:minmax(0, 680px) clamp(300px, 24vw, 380px); justify-content:start; max-width:none; margin:0; padding:22px 32px 40px; gap:28px}
}
/* V19.2 — back to the original centred layout (posts the same size as before V19.0); only the right sidebar a bit wider:
   320 → 360 px, with the page 40 px wider so the post column keeps its original width. Overrides V19.0 / V19.1. */
@media (min-width:1001px){
  .fd{grid-template-columns:minmax(0,1fr) 360px; justify-content:normal; max-width:1220px; margin:0 auto; padding:22px 20px 40px; gap:20px}
}
@media (min-width:1001px){ .fd{grid-template-columns:minmax(0,1fr) clamp(300px, 26vw, 360px)} }   /* V19.2: 360 px on desktop, a little less on small laptops */
/* V19.4 — icons on the sidebar card titles */
.fd-side h3.fd-h{display:flex; align-items:center; gap:10px}
.fd-h-ic{width:30px; height:30px; border-radius:9px; background:#F2FAF4; color:#16833F; display:grid; place-items:center; flex:none}
.fd-h-ic svg{width:17px; height:17px}
.fd-h-t{flex:1; min-width:0}
.fd-side h3.fd-h .fd-more{margin-left:auto}
.pl-btn{padding-right:16px}   /* V19.8: no arrow — keep the pill balanced */
/* V20.0 — composer photo upload progress (ring + percentage over the preview) */
.cp-thumb.is-up, .cp-thumb.is-done, .cp-thumb.is-err{width:84px; height:84px}
.cp-up{position:absolute; inset:0; display:grid; place-items:center; background:rgba(17,19,24,.45)}
.cp-up svg{width:46px; height:46px; transform:rotate(-90deg)}
.cp-up-bg{fill:none; stroke:rgba(255,255,255,.3); stroke-width:4}
.cp-up-fg{fill:none; stroke:#fff; stroke-width:4; stroke-linecap:round; stroke-dasharray:125.7; stroke-dashoffset:125.7; transition:stroke-dashoffset .2s linear}
.cp-up-pc{position:absolute; color:#fff; font:700 12px/1 system-ui,sans-serif}
.cp-thumb.is-done .cp-up{background:rgba(22,163,74,.55)}
.cp-thumb.is-done .cp-up svg{display:none}
.cp-thumb.is-done .cp-up-pc{font-size:0; width:30px; height:30px; border-radius:50%; background:#16A34A; display:grid; place-items:center}
.cp-thumb.is-done .cp-up-pc::after{content:"✓"; font-size:16px; color:#fff}
.cp-thumb.is-err{cursor:pointer}
.cp-up-err{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; background:rgba(180,35,24,.72); color:#fff; text-align:center; padding:4px}
.cp-up-err strong{font-size:11px; font-weight:800; line-height:1.2} .cp-up-err small{font-size:10.5px; opacity:.9}
@media (prefers-reduced-motion:reduce){ .cp-up-fg{transition:none} }
/* V20.5 — a broker's recent posts on their public profile, as feed cards */
.brp-posts{display:flex; flex-direction:column; gap:12px}
.brp-posts-h{display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:4px 2px 0}
.brp-posts-h h2{margin:0; font-size:19px; font-weight:800}
.brp-posts-h a{font-size:14px; font-weight:700; color:#16833F; text-decoration:none}
.brp-posts-list{display:flex; flex-direction:column; gap:14px}
/* V21.0 — official Bookingo posts and pinned posts */
.pc-official{display:inline-block; vertical-align:2px; font-size:11px; font-weight:800; color:#fff; background:#10201A; border-radius:6px; padding:2px 7px}
.pc-pinned{display:inline-block; vertical-align:2px; font-size:11px; font-weight:800; color:#8A5A00; background:#FFF4DC; border-radius:6px; padding:2px 7px}
/* ═══ V21.13 — feed card header on phones: name on one line (badge always visible), one info line, small time ═══ */
.pc-name .pc-nm{min-width:0}
@media (max-width:600px){
  .pc-who{min-width:0}
  .pc-name{display:flex!important; align-items:center; max-width:100%; min-width:0; font-size:15px!important; line-height:1.3}
  .pc-name .pc-nm{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
  .pc-name .pc-ver, .pc-name svg{flex:none}
  .pc-sub{display:flex!important; flex-wrap:nowrap!important; white-space:nowrap; overflow:hidden; align-items:center; gap:4px; font-size:12.5px!important; margin-top:2px}
  .pc-sub .pc-role{flex:none}
  .pc-sub .pc-ag{min-width:0; overflow:hidden; text-overflow:ellipsis}
  .pc-sub .pc-time, .pc-sub .pc-dot{flex:none}
  .pc-sub .pc-time{font-size:11.5px; color:#8A968F!important}
  .pc-sub .pc-loc{display:none}          /* requests show the area in the card itself */
  .pc-body{font-size:15px}
}
@media (max-width:420px){ .pc-sub .pc-role, .pc-sub .pc-dot--ag{display:none} }   /* narrow: agency · time */
@media (max-width:600px){   /* V21.14: name stays inline so "is looking to rent" follows it; long names still end with "…" */
  .pc-name{display:inline-flex!important; vertical-align:bottom}
  .pc-verb{white-space:nowrap}
}
/* ═══ V21.15 — comments: name · time, text beneath (no bubble), actions under it, replies folded ═══ */
.pc-cmts-list{display:flex; flex-direction:column; gap:14px}
.pc-c{gap:10px}
.pc-c-av{width:36px!important; height:36px!important; font-size:12.5px}
.pc-c-b{min-width:0; flex:1; max-width:none}
.pc-c-h{display:flex; align-items:baseline; flex-wrap:wrap; gap:0 6px; line-height:1.3}
.pc-c-n{font-size:14px; font-weight:700; color:var(--fb-ink,#10201A)}
.pc-c-n .ui-verified, .pc-c-n svg{width:14px; height:14px; vertical-align:-2px}
.pc-c-dot{color:#8A968F; font-size:12.5px}
.pc-c-h .pc-c-t{display:inline; margin:0!important; padding:0; font-size:12.5px; font-weight:500; color:#8A968F}
.pc-c-x{margin:2px 0 0; font-size:14.5px; line-height:1.45; color:var(--fb-ink,#10201A); word-wrap:break-word; overflow-wrap:anywhere}
.pc-c-meta{display:flex; align-items:center; gap:18px; padding:6px 0 0!important}
.pc-c-rep{display:inline-flex; align-items:center; gap:6px; font-size:13px!important; font-weight:600!important; color:#5A6962!important}
.pc-c-rep svg{width:16px; height:16px}
.pc-c-rep:hover{color:#10201A!important; text-decoration:none!important}
.pc-c--reply{margin-left:46px}
.pc-c--reply .pc-c-av{width:28px!important; height:28px!important; font-size:10.5px}
.pc-c--reply[hidden]{display:none!important}
.pc-c-more{display:inline-flex; align-items:center; gap:6px; align-self:flex-start; margin:-6px 0 0 46px; padding:2px 0; border:0; background:none; font:inherit; font-size:13.5px; font-weight:700; color:#3A4A42; cursor:pointer}
.pc-c-more svg{width:16px; height:16px; transition:transform .2s}
.pc-c-more.is-open svg{transform:rotate(180deg)}
.pc-c-more:hover{color:#10201A}
@media (max-width:560px){ .pc-c--reply, .pc-c-more{margin-left:44px} }
/* ═══ V21.16 — feed type scale on phones: one calm hierarchy (body 14.5 · names 14.5 · titles 15.5–16 · meta 12–13) ═══ */
@media (max-width:600px){
  .pc-av, .fd-av{width:40px!important; height:40px!important; font-size:13px!important}
  .pc-name{font-size:14.5px!important}
  .pc-verb{font-size:14px!important} .pc-verb b{font-weight:700}
  .pc-body{font-size:14.5px!important; line-height:1.45}
  .pc-badge{font-size:11px!important}
  /* property-request card */
  .rq-card{padding:14px!important}
  .rq-h{font-size:15.5px!important; font-weight:700!important; line-height:1.3!important; margin-bottom:8px!important}
  .rq-facts, .rq-facts *{font-size:13px!important}
  .rq-facts b, .rq-facts strong, .rq-facts span{font-weight:600!important}
  .rq-wish, .rq-wish *{font-size:12.5px!important}
  .rq-match, .rq-note, .rq-wait{font-size:12.5px!important; font-weight:500!important; line-height:1.4!important}
  .rq-count{font-size:12.5px!important}
  .rq-btn{font-size:13.5px!important; font-weight:700!important; padding:9px 14px!important}
  /* "complete your profile" card */
  .pcs h2, .pcs .h2{font-size:15.5px!important; line-height:1.25!important}
  .pcs p, .pcs-body p{font-size:13px!important; line-height:1.45!important}
  .pcs-list *{font-size:12px!important}
  .pcs-cta, .pcs-go{font-size:14px!important}
  .pcs-ring b{font-size:13px!important}
  /* composer: 16px stops iPhone zooming in on focus; the hint stays on one line */
  #cpBody{font-size:16px!important}
  #cpBody::placeholder{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:15px}
  /* sidebar sections shown under the feed */
  .fd-h-t{font-size:15px!important}
}
@media (max-width:600px){ .pc-head{padding:12px 10px 0px!important} }   /* V21.17: tighter card header on phones (tested by the site owner) */
@media (max-width:600px){ .pc-body{padding:1px 16px 10px!important} }   /* V21.18: post text spacing on phones (set by the site owner) */
.ab-soc-ic .ab-soc-logo{width:40px; height:40px; border-radius:9px; display:block; object-fit:cover; border:1px solid #EEF3F0}   /* V21.22: real portal logos */
/* V22.0 — articles on profiles */
.brp-articles{margin:18px 0 22px} .brp-art-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.brp-art{display:flex;gap:12px;padding:12px;border:1px solid #E2EAE5;border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.brp-art img{width:96px;height:72px;border-radius:9px;object-fit:cover;flex:none;background:#EEF3F0} .brp-art b{display:block;font-size:14.5px;line-height:1.3} .brp-art small{display:block;color:#5A6962;font-size:12.5px;margin-top:4px;line-height:1.4}
@media (max-width:600px){ .brp-art-list{grid-template-columns:1fr} }
/* V22.11 — feed photos: shimmer placeholder + fade-in (like Facebook), soft shade on every tile but the first */
.pg-i{background:#EEF3F0}
.pg-i::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 80%) #EEF3F0;background-size:200% 100%;animation:pgShimmer 1.2s ease-in-out infinite;z-index:0}
.pg-i img{opacity:0;transition:opacity .35s ease, transform .25s ease;z-index:1;animation:pgReveal 0s 6s forwards}   /* reveals anyway after 6 s if the script never ran */
.pg-i.is-ld img{opacity:1;animation:none} .pg-i.is-ld::before{animation:none;opacity:0}
.pg-i:not(.pg-first)::after{content:"";position:absolute;inset:0;z-index:2;background:rgba(17,19,24,.16);transition:background .2s;pointer-events:none}
.pg-i:not(.pg-first):hover::after{background:rgba(17,19,24,0)}
.pg-i .pg-more{z-index:3}
.pg-i:has(.pg-more)::after{display:none}
@keyframes pgShimmer{0%{background-position:150% 0}100%{background-position:-50% 0}}
@keyframes pgReveal{to{opacity:1}}
@media (prefers-reduced-motion:reduce){ .pg-i::before{animation:none} .pg-i img{transition:none} }
/* V22.24 — polls */
.pl{margin:4px 16px 12px}
.pl-o{display:block;width:100%;margin:0 0 8px;padding:11px 14px;border:1.5px solid #E2EAE5;border-radius:12px;background:#fff;font:700 14px Inter,system-ui,sans-serif;color:#10201A;text-align:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.pl-o:hover{border-color:#16833F;color:#16833F;background:#F6FBF8} .pl-o.is-picked{border-color:#16833F;background:#F2FAF4;color:#16833F} .pl-o:disabled{cursor:default}
.pl-r{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;height:42px;margin:0 0 8px;padding:0 14px;border-radius:12px;background:#F4F7F5;overflow:hidden;font-size:14px;font-weight:600;color:#10201A}
.pl-r i{position:absolute;left:0;top:0;bottom:0;background:#E3F4E8;border-radius:12px 0 0 12px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.pl-r span, .pl-r b{position:relative;z-index:1} .pl-r span{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-r span svg{width:16px;height:16px;color:#16833F;flex:none} .pl-r b{font-weight:800;font-variant-numeric:tabular-nums}
.pl-r.is-me{box-shadow:inset 0 0 0 1.5px #16833F} .pl-r.is-me i{background:#E3F4E8}
.pl-r.is-win b, .pl-r.is-win span{color:#16833F} .pl-r.is-win i{background:#E3F4E8}
.pl-meta{font-size:12.5px;color:#5A6962;margin-top:2px} .pl-meta b{color:#10201A}
.pl-lock{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:10px;background:#F4F7F5;font-size:12.5px;color:#5A6962} .pl-lock svg{width:16px;height:16px;flex:none;color:#5A6962}
/* composer: Post | Poll */
.cp-mode{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#EEF3F0;margin:2px 0 10px}
.cp-mode button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:9px;background:none;font:700 13px Inter,system-ui,sans-serif;color:#5A6962;cursor:pointer}
.cp-mode button svg{width:16px;height:16px} .cp-mode button.is-on{background:#fff;color:#10201A;box-shadow:0 1px 3px rgba(17,19,24,.12)}
.cp-poll{margin:0 0 10px} .cp-poll-opts{display:grid;gap:8px}
.cp-po{width:100%;box-sizing:border-box;height:42px;padding:0 12px;border:1.5px solid #E2EAE5;border-radius:11px;font:500 14px Inter,system-ui,sans-serif;color:#10201A;background:#fff} .cp-po:focus{outline:0;border-color:#10201A}
.cp-po-add{display:inline-flex;align-items:center;gap:6px;margin:8px 0 0;padding:0;border:0;background:none;font:700 13px Inter,system-ui,sans-serif;color:#16833F;cursor:pointer} .cp-po-add svg{width:15px;height:15px}
.cp-poll-dur{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:#5A6962}
.cp-poll-dur label{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1.5px solid #E2EAE5;border-radius:99px;font-weight:700;color:#374151;cursor:pointer}
.cp-poll-dur input{position:absolute;opacity:0;pointer-events:none} .cp-poll-dur label:has(input:checked){border-color:#16833F;background:#F2FAF4;color:#16833F}
.cp-poll-note{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:12.5px;color:#5A6962} .cp-poll-note svg{width:15px;height:15px;flex:none}
.cp.is-poll .cp-thumbs, .cp.is-poll .cp-tips{display:none}
/* V22.25 — poll states */
.pl-o--ro{cursor:default;color:#374151;display:flex;align-items:center;justify-content:center;gap:6px} .pl-o--ro:hover{border-color:#E2EAE5;color:#374151;background:#fff}
.pl-o--ro.is-me{border-color:#16833F;color:#16833F;background:#F6FBF8} .pl-o--ro svg{width:16px;height:16px}
.pl-note{display:flex;align-items:center;gap:8px;margin:2px 0 8px;padding:8px 10px;border-radius:10px;background:#F6FBF8;font-size:12.5px;color:#0F5A2B} .pl-note svg{width:16px;height:16px;flex:none}
.pl-manage{color:#16833F;font-weight:700;text-decoration:none} .pl-manage:hover{text-decoration:underline}
/* V22.29 — questions in the feed */
.fd-kinds{display:flex;align-items:center;gap:6px;margin:0 0 10px;overflow-x:auto;scrollbar-width:none} .fd-kinds::-webkit-scrollbar{display:none}
.fd-kinds a{flex:none;padding:7px 14px;border-radius:99px;border:1px solid #E2EAE5;background:#fff;font-size:13px;font-weight:700;color:#374151;text-decoration:none} .fd-kinds a:hover{border-color:#10201A}
.fd-kinds a.is-on{background:#10201A;border-color:#10201A;color:#fff} .fd-kinds .fd-kinds-go{margin-left:auto;border:0;background:none;color:#16833F;padding:7px 4px}
.fq{background:#fff;border:1px solid #E2EAE5;border-radius:16px;padding:14px 16px;margin-bottom:12px}
.fq-h{display:flex;align-items:center;gap:10px} .fq-hm b{display:block;font-size:14px} .fq-hm small{font-size:12px;color:#5A6962}
.fq-ic{width:38px;height:38px;border-radius:50%;background:#E3F4E8;color:#16833F;display:grid;place-items:center;flex:none} .fq-ic svg{width:20px;height:20px}
.fq-pill{margin-left:auto;flex:none;font-size:11px;font-weight:800;border-radius:99px;padding:3px 10px;background:#F2FAF4;color:#16833F} .fq-pill--ok{background:#E7F7EE;color:#127A45}
.fq-t{margin:10px 0 4px;font-size:17px;line-height:1.35;font-weight:800} .fq-t a{color:#10201A;text-decoration:none} .fq-t a:hover{color:#16833F}
.fq-b{margin:0 0 6px;font-size:14px;line-height:1.55;color:#5A6962}
.fq-top{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;margin-top:10px;padding:10px 12px;border:1px solid #E2EAE5;border-radius:13px;background:#FAFBFC}
.fq-top.is-best{border:1.5px solid #16A34A;background:#FBFEFC} .fq-top .qa-v{width:32px;height:28px} .fq-top .qa-v svg{width:16px;height:16px} .fq-top .qa-score{font-size:14px} .fq-top .qa-best{margin-bottom:4px}
.fq-who{font-size:13px;margin-bottom:3px} .fq-who a{color:#10201A;text-decoration:none} .fq-who small{color:#5A6962} .fq-tx{font-size:13.5px;line-height:1.5;color:#374151}
.fq-ans{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;align-items:start}
.fq-ans textarea{width:100%;box-sizing:border-box;min-height:42px;border:1.5px solid #E2EAE5;border-radius:11px;padding:10px 12px;font:500 14px/1.5 Inter,system-ui,sans-serif;color:#10201A;resize:vertical} .fq-ans textarea:focus{outline:0;border-color:#10201A}
.fq-btn{height:42px;padding:0 16px;border:0;border-radius:11px;background:#16833F;color:#fff;font:800 13.5px Inter,system-ui,sans-serif;cursor:pointer} .fq-btn:hover{background:#12703A} .fq-btn:disabled{opacity:.6}
.fq-err{grid-column:1/-1;padding:8px 10px;border-radius:9px;background:#FEF3F2;color:#B42318;font-size:13px;font-weight:600}
.fq-done{display:flex;align-items:center;gap:6px;margin-top:10px;padding:9px 12px;border-radius:11px;background:#E7F7EE;color:#127A45;font-size:13.5px;font-weight:700} .fq-done svg{width:16px;height:16px} .fq-done a{color:#127A45}
.fq-f{margin-top:10px} .fq-f a{font-size:13.5px;font-weight:800;color:#16833F;text-decoration:none} .fq-f a:hover{text-decoration:underline}
.fd-sq-i{display:block;padding:9px 0;border-top:1px solid #EEF3F0;text-decoration:none} .fd-sq-i:first-of-type{border-top:0} .fd-sq-i b{display:block;font-size:13.5px;line-height:1.35;color:#10201A} .fd-sq-i:hover b{color:#16833F}
.fd-sq-i small{display:block;margin-top:2px;font-size:12px;color:#8A968F} .fd-sq-none{margin:0 0 8px;font-size:13px;color:#5A6962}
@media (max-width:420px){ .fd-kinds{gap:4px} .fd-kinds a{padding:6px 10px;font-size:12.5px} }
/* V22.30 — question card: soft rose background (option A) */
.fq{background:#F6FBF8;border-color:#E3F4E8}
.fq-ic{background:#E3F4E8;color:#16833F}
.fq-pill{background:#E3F4E8;color:#16833F} .fq-pill--ok{background:#E7F7EE;color:#127A45}
.fq-top{background:#fff;border-color:#E3F4E8} .fq-top.is-best{background:#FBFEFC;border-color:#16A34A}
.fq-ans textarea{background:#fff;border-color:#DDF2E3} .fq-ans textarea:focus{border-color:#10201A}
.fq-done{background:#E7F7EE}
/* V22.38 — Settings: where you're logged in */
.st-sec{margin-top:14px} .st-h{margin:0 0 6px;font-size:18px} .st-p{margin:0 0 12px;font-size:14px;line-height:1.5;color:#5A6962}
.st-dev{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #EEF3F0} .st-dev img{border-radius:3px;flex:none} .st-dev b{display:block;font-size:14px} .st-dev small{display:block;font-size:12.5px;color:#5A6962}
.st-sec form{margin-top:12px} .st-ok{font-size:13.5px;font-weight:700;color:#127A45}
.pc-group{display:inline-flex;align-items:center;gap:5px;margin:2px 0 1px;font-size:12px;font-weight:700;color:#16833F;text-decoration:none} .pc-group svg{width:14px;height:14px} .pc-group:hover{text-decoration:underline}
.pc-glock{display:flex;gap:8px;align-items:center;margin:8px 0 0;padding:9px 11px;border-radius:10px;background:#F4F7F5;font-size:12.5px;color:#5A6962} .pc-glock svg{width:15px;height:15px;flex:none}
.st-dev .st-rm{margin:0 0 0 auto} .st-dev .dv-link{background:none;border:0;padding:0;font:700 13.5px Inter,system-ui,sans-serif;color:#16833F;cursor:pointer}
/* V22.62 — five feed tabs fit on a phone */
@media (max-width:480px){ .fd-kinds{gap:4px} .fd-kinds a{padding:6px 9px;font-size:12.5px} .fd-long{display:none} }
@media (max-width:380px){ .fd-kinds a{padding:6px 7px;font-size:12px} }

/* V22.101 — a single photo is shown whole, in its own shape (it was forced into 16:10 and cropped, e.g. tall flyers lost
   their top and bottom). Tall images are capped and centred on a soft blurred copy of themselves; small ones aren't
   stretched. Galleries of 2+ keep their grid. */
.pg--1 .pg-i{aspect-ratio:auto; max-height:none; min-height:140px; display:flex; align-items:center; justify-content:center; isolation:isolate; background:#EEF3F0}
.pg--1 .pg-i::before{content:''; position:absolute; inset:-30px; z-index:-1; background:var(--pg-bg) center/cover no-repeat; filter:blur(26px) saturate(1.1); opacity:.6}
.pg--1 .pg-i img{position:relative; inset:auto; display:block; width:auto; height:auto; max-width:100%; max-height:min(75vh, 720px); object-fit:contain; margin:0 auto}
.pg--1 .pg-i:hover img{transform:none}

/* V22.105 — profile photo: the circle is the control; a crop window after choosing a photo */
.av-up--solo{flex-direction:column;align-items:flex-start;gap:8px}
.av-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
.av-up-pic{border-radius:50%}
.av-up-pic:focus-within .av-up-img{box-shadow:0 0 0 4px #fff,0 0 0 6px #16833F}
.av-up-pic:hover .av-up-img{filter:brightness(.96)}
.av-rm{border:0;background:none;padding:2px 0;font:inherit;font-size:13px;font-weight:700;color:#B42318;cursor:pointer}
.av-rm:hover{text-decoration:underline}.av-rm:focus-visible{outline:2px solid #16833F;outline-offset:2px;border-radius:4px}
.avc{position:fixed;inset:0;z-index:3000;background:rgba(17,19,24,.62);display:flex;align-items:center;justify-content:center;padding:16px}
.avc[hidden]{display:none}
.avc-box{width:min(380px,100%);background:#fff;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.avc-box h3{margin:0;font-size:18px;font-weight:800;color:#10201A}
.avc-stage{position:relative;width:100%;max-width:300px;aspect-ratio:1/1;margin:0 auto;overflow:hidden;border-radius:14px;background:#10201A;cursor:grab;touch-action:none;outline:none}
.avc-stage.is-drag{cursor:grabbing}
.avc-stage:focus-visible{box-shadow:0 0 0 3px #16833F}
.avc-stage img{position:absolute;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.avc-ring{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px rgba(17,19,24,.55);outline:2px solid rgba(255,255,255,.9);outline-offset:-2px;pointer-events:none}
.avc-zoom{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;color:#3A4A42}
.avc-zoom input{flex:1;accent-color:#16833F}
.avc-hint{margin:-6px 0 0;font-size:12.5px;color:#5A6962;text-align:center}
.avc-acts{display:flex;justify-content:flex-end;gap:8px}
.avc-b{height:44px;padding:0 18px;border-radius:11px;border:1px solid #D3DED7;background:#fff;font:inherit;font-size:14px;font-weight:700;color:#10201A;cursor:pointer}
.avc-b--go{background:#16833F;border-color:#16833F;color:#fff}.avc-b--go:hover{background:#12703A}
.avc-b:focus-visible{outline:2px solid #16833F;outline-offset:2px}
body.avc-open{overflow:hidden}

/* V22.107 — phone field messages: green when the number is good (it was red, the error colour), red when it isn't */
.ff-msg.is-ok{color:#0F6B3E !important;font-weight:700}
.ff-msg.is-bad{color:#B42318 !important;font-weight:700}

/* V22.114 — the Official badge (the Bookingo team's account): red, the same everywhere */
.pc-official{display:inline-flex !important;align-items:center;height:20px;padding:0 8px !important;border-radius:999px !important;background:#F2FAF4 !important;color:#0F5A2B !important;font-size:11.5px !important;font-weight:800;vertical-align:1px}

/* V22.134 (Bookingo) — feed filter bar: category and area */
.fd-filt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.fd-sel select{height:38px;max-width:260px;padding:0 34px 0 14px;border-radius:99px;border:1px solid #E2EAE5;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center;appearance:none;-webkit-appearance:none;font:inherit;font-size:13.5px;font-weight:700;color:#374151;cursor:pointer}
.fd-sel select:focus-visible{outline:2px solid #16833F;outline-offset:2px}
.fd-go{height:38px;padding:0 14px;border-radius:99px;border:0;background:#10201A;color:#fff;font-weight:700}
.fd-clear{font-size:13px;font-weight:700;color:#12703A;text-decoration:none;padding:6px 4px}.fd-clear:hover{text-decoration:underline}
@media (max-width:600px){.fd-sel{flex:1 1 45%}.fd-sel select{width:100%;max-width:none}}
/* V22.134: the post's area stays on one line (dot, pin and name together); a long name ends in "…" */
.pc-sub .pc-loc{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}
.pc-sub .pc-loc .ic{flex:none}
