:root {
  --primary: #1B4332;
  --primary-mid: #2D6A4F;
  --primary-light: #52B788;
  --accent: #D4A574;
  --accent-dark: #B07D45;
  --bg: #F8F6F1;
  --card: #FFFFFF;
  --text: #1A1A1A;
  --text-mid: #444;
  --text-light: #888;
  --border: #E8E4DC;
  --star: #F4A261;
  --danger: #C1121F;
  --warn: #E9C46A;
  --success: #2D6A4F;
  --shadow: 0 2px 20px rgba(27,67,50,0.08);
  --shadow-lg: 0 8px 40px rgba(27,67,50,0.15);
  --radius: 16px;
  --nav-h: 64px;
  --bottom-h: 72px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:var(--bottom-h);}
h1,h2,h3,.serif{font-family:'DM Serif Display',serif;}
img{max-width:100%;display:block;}
button{font-family:'DM Sans',sans-serif;cursor:pointer;border:none;outline:none;}
input,textarea,select{font-family:'DM Sans',sans-serif;outline:none;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}

/* ═══ TOP NAV ═══ */
.topnav{
  position:sticky;top:0;z-index:900;
  background:rgba(248,246,241,0.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  height:var(--nav-h);
  display:flex;align-items:center;
  padding:0 1.25rem;gap:1rem;
}
.logo{font-family:'DM Serif Display',serif;font-size:1.5rem;color:var(--primary);cursor:pointer;flex-shrink:0;display:flex;align-items:center;gap:0.3rem;}
.logo span{color:var(--accent);}
.logo-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.topnav-right{margin-left:auto;display:flex;align-items:center;gap:0.75rem;flex-wrap:nowrap;}
.lang-toggle{padding:0.3rem 0.65rem;border:1.5px solid var(--border);border-radius:20px;background:var(--card);font-size:0.82rem;font-weight:600;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:0.25rem;transition:all .2s;flex-shrink:0;white-space:nowrap;}
.lang-toggle:hover{border-color:var(--primary);background:rgba(27,67,50,0.06);}
.btn-msgs-icon{width:36px;height:36px;border-radius:50%;background:var(--bg);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.15rem;cursor:pointer;flex-shrink:0;transition:all .2s;position:relative;}
.btn-msgs-icon:hover{border-color:var(--primary);background:rgba(27,67,50,0.06);}
.msgs-unread-dot{min-width:18px;height:18px;border-radius:999px;background:var(--danger);position:absolute;top:-5px;right:-5px;border:2px solid var(--bg);display:none;align-items:center;justify-content:center;padding:0 4px;color:#fff;font-size:10px;font-weight:700;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.msgs-unread-dot.show{display:flex;}
.btn-post{display:none;}
@media(min-width:768px){.btn-post{display:flex;}}
.topnav-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.9rem;cursor:pointer;overflow:hidden;border:2px solid var(--border);transition:border-color .2s;flex-shrink:0;}
.topnav-avatar:hover{border-color:var(--primary);}
.topnav-avatar img{width:100%;height:100%;object-fit:cover;}
.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);position:absolute;top:0;right:0;border:2px solid var(--bg);}
.topnav-avatar-wrap{position:relative;display:inline-block;}
.btn-post{padding:0.5rem 1rem;border-radius:20px;background:var(--primary);color:#fff;font-weight:600;font-size:0.85rem;display:flex;align-items:center;gap:0.4rem;transition:all .2s;flex-shrink:0;}
.btn-post:hover{background:var(--primary-mid);transform:translateY(-1px);}
.btn-sign{padding:0.5rem 1rem;border-radius:20px;background:transparent;color:var(--primary);border:1.5px solid var(--primary);font-weight:600;font-size:0.85rem;transition:all .2s;flex-shrink:0;}
.btn-sign:hover{background:var(--primary);color:#fff;}
.admin-chip{background:var(--danger);color:#fff;padding:0.2rem 0.6rem;border-radius:10px;font-size:0.7rem;font-weight:700;letter-spacing:.5px;flex-shrink:0;}

/* ═══ BOTTOM NAV ═══ */
.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:900;height:var(--bottom-h);background:rgba(255,255,255,0.98);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(232,228,220,0.8);display:flex;align-items:center;justify-content:space-around;padding:0 1rem;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 24px rgba(27,67,50,0.06);}
.bnav-item{display:flex;flex-direction:column;align-items:center;gap:0.25rem;cursor:pointer;border-radius:14px;transition:all .22s cubic-bezier(.34,1.56,.64,1);flex:1;max-width:90px;background:transparent;border:none;color:var(--text-light);padding:0.4rem 0.5rem;-webkit-tap-highlight-color:transparent;}
.bnav-item.active{color:var(--primary);}
.bnav-icon{font-size:1.4rem;line-height:1;transition:transform .22s cubic-bezier(.34,1.56,.64,1);}
.bnav-item.active .bnav-icon{transform:scale(1.15);}
.bnav-label{font-size:0.6rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;opacity:.7;transition:opacity .2s;}
.bnav-item.active .bnav-label{opacity:1;}
.bnav-pip{width:18px;height:3px;border-radius:2px;background:var(--primary);margin-top:1px;transform:scaleX(0);transition:transform .22s cubic-bezier(.34,1.56,.64,1);}
.bnav-item.active .bnav-pip{transform:scaleX(1);}
.bnav-post-wrap{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;top:-8px;}
.bnav-post-btn{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--primary-mid),var(--primary));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(27,67,50,0.4),0 2px 6px rgba(27,67,50,0.2);transition:all .22s cubic-bezier(.34,1.56,.64,1);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;}
.bnav-post-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,0.18),transparent);border-radius:inherit;}
.bnav-post-btn:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 10px 28px rgba(27,67,50,0.45),0 4px 10px rgba(27,67,50,0.25);}
.bnav-post-btn:active{transform:translateY(-1px) scale(0.97);}
.bnav-post-icon{font-size:1.8rem;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .22s cubic-bezier(.34,1.56,.64,1);}
.bnav-post-btn:hover .bnav-post-icon{transform:translate(-50%,-50%) rotate(90deg);}
.bnav-post-label{font-size:0.6rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text-light);margin-top:0.35rem;opacity:.7;}

/* ═══ PAGES ═══ */
.page{display:none;min-height:calc(100vh - var(--nav-h) - var(--bottom-h));}
.page.active{display:block;}

/* ═══ HERO ═══ */
.hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-mid) 60%,#3A8B6A 100%);padding:2.5rem 1.25rem 3rem;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,0.05);}
.hero::after{content:'';position:absolute;bottom:-60px;left:-20px;width:160px;height:160px;border-radius:50%;background:rgba(212,165,116,0.15);}
.hero h1{color:#fff;font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.2;margin-bottom:0.5rem;}
.hero p{color:rgba(255,255,255,0.75);font-size:0.95rem;margin-bottom:1.5rem;}
.search-wrap{background:#fff;border-radius:14px;display:flex;align-items:center;padding:0.4rem 0.4rem 0.4rem 1rem;box-shadow:0 4px 20px rgba(0,0,0,0.15);gap:0.5rem;}
.search-wrap input{flex:1;border:none;font-size:0.95rem;background:transparent;color:var(--text);}
.search-wrap input::placeholder{color:var(--text-light);}
.search-btn{padding:0.6rem 1.2rem;border-radius:10px;background:var(--primary);color:#fff;font-weight:600;font-size:0.9rem;transition:all .2s;flex-shrink:0;}
.search-btn:hover{background:var(--primary-mid);}
.hero-stats{display:flex;gap:1.5rem;margin-top:1.5rem;}
.hero-stat{color:rgba(255,255,255,0.85);}
.hero-stat strong{display:block;font-size:1.3rem;color:#fff;}
.hero-stat span{font-size:0.75rem;opacity:.7;}

/* ═══ SECTION ═══ */
.section{padding:1.5rem 1.25rem;}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.section-head h2{font-size:1.3rem;color:var(--primary);}
.see-all{font-size:0.85rem;color:var(--primary-mid);font-weight:600;cursor:pointer;}

/* ═══ FILTER BUTTONS ═══ */
.filter-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-bottom:1rem;}
.fsel-btn{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.62rem 0.75rem;
  border:1.5px solid var(--border);border-radius:10px;
  background:var(--card);font-size:0.82rem;color:var(--text);
  font-weight:500;cursor:pointer;transition:all .2s;
  gap:0.3rem;min-width:0;
}
.fsel-btn:hover{border-color:var(--primary);background:rgba(27,67,50,0.04);}
.fsel-btn.active{border-color:var(--primary);background:var(--primary);color:#fff;}
.fsel-btn.active svg path{fill:#fff;}
.fsel-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fsel-btn svg{flex-shrink:0;opacity:.5;}
.fsel-btn.active svg{opacity:1;}

/* ═══ FILTER MODALS ═══ */
.fmodal .modal-box{padding:0;border-radius:var(--radius) var(--radius) 0 0;max-height:80vh;display:flex;flex-direction:column;}
@media(min-width:600px){.fmodal .modal-box{border-radius:var(--radius);max-height:70vh;}}
.fmodal-box{overflow:hidden;}
.fmodal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.25rem 1rem;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.fmodal-title{font-family:'DM Serif Display',serif;font-size:1.15rem;color:var(--primary);}
.fmodal-search-wrap{padding:0.75rem 1.25rem 0.5rem;flex-shrink:0;}
.fmodal-search{
  width:100%;padding:0.55rem 0.9rem;
  border:1.5px solid var(--border);border-radius:10px;
  background:var(--bg);font-size:0.9rem;color:var(--text);
}
.fmodal-search:focus{border-color:var(--primary-light);outline:none;}
.fmodal-list{
  flex:1;overflow-y:auto;
  padding:0.4rem 0.75rem;
}
.fopt{
  display:flex;align-items:center;gap:0.75rem;
  padding:0.75rem 0.5rem;
  border-radius:10px;cursor:pointer;
  transition:background .15s;
  border-bottom:1px solid rgba(232,228,220,0.5);
}
.fopt:last-child{border-bottom:none;}
.fopt:hover{background:rgba(27,67,50,0.04);}
.fopt.selected{background:rgba(27,67,50,0.08);}
.fopt-radio{
  width:20px;height:20px;border-radius:50%;
  border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .2s;
}
.fopt.selected .fopt-radio{border-color:var(--primary);background:var(--primary);}
.fopt.selected .fopt-radio::after{content:'';width:8px;height:8px;border-radius:50%;background:#fff;}
.fopt-text{flex:1;}
.fopt-label{font-size:0.92rem;font-weight:500;color:var(--text);}
.fopt-sub{font-size:0.75rem;color:var(--text-light);margin-top:1px;}
.fopt-count{font-size:0.75rem;color:var(--text-light);background:var(--bg);padding:2px 8px;border-radius:20px;flex-shrink:0;}
.fmodal-foot{
  display:flex;gap:0.75rem;
  padding:0.9rem 1.25rem;
  border-top:1px solid var(--border);
  flex-shrink:0;
  background:var(--card);
}
.fmodal-clear{
  flex:1;padding:0.65rem;border-radius:10px;
  background:var(--bg);border:1.5px solid var(--border);
  color:var(--text-mid);font-weight:600;font-size:0.88rem;cursor:pointer;
  transition:all .2s;
}
.fmodal-clear:hover{border-color:var(--danger);color:var(--danger);}
.fmodal-apply{
  flex:2;padding:0.65rem;border-radius:10px;
  background:var(--primary);color:#fff;border:none;
  font-weight:600;font-size:0.88rem;cursor:pointer;
  transition:all .2s;
}
.fmodal-apply:hover{background:var(--primary-mid);}


/* ═══ POST CARD ═══ */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:1.25rem;}
.feed-counter{text-align:center;font-size:0.82rem;color:var(--text-light);padding:1.5rem 0;grid-column:1/-1;}
.pcard{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;position:relative;}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.pcard-images{position:relative;height:220px;background:linear-gradient(135deg,var(--primary-mid),var(--accent));overflow:hidden;}
.img-track{display:flex;height:100%;transition:transform .35s cubic-bezier(.4,0,.2,1);}
.img-track img{width:100%;height:100%;object-fit:cover;flex-shrink:0;}
.pcard-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;}
.rec-badge{position:absolute;top:0.75rem;left:0.75rem;background:var(--accent);color:#fff;padding:0.3rem 0.65rem;border-radius:20px;font-size:0.72rem;font-weight:700;letter-spacing:.3px;box-shadow:0 2px 8px rgba(0,0,0,0.2);}
.type-badge{position:absolute;top:0.75rem;right:0.75rem;background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);color:var(--primary);padding:0.3rem 0.75rem;border-radius:20px;font-size:0.78rem;font-weight:700;}
.views-badge{position:absolute;bottom:0.75rem;right:0.75rem;background:rgba(0,0,0,0.55);backdrop-filter:blur(6px);color:#fff;padding:0.25rem 0.65rem;border-radius:20px;font-size:0.75rem;display:flex;align-items:center;gap:0.3rem;}
.img-counter{position:absolute;top:0.75rem;left:0.75rem;background:rgba(0,0,0,0.55);color:#fff;font-size:0.72rem;font-weight:600;border-radius:20px;padding:3px 9px;backdrop-filter:blur(6px);}
.img-dots{position:absolute;bottom:0.75rem;left:50%;transform:translateX(-50%);display:flex;gap:4px;}
.img-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:all .2s;}
.img-dot.active{background:#fff;width:14px;border-radius:3px;}
.img-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.9);border:none;border-radius:50%;width:32px;height:32px;font-size:1.2rem;color:var(--text);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.img-arrow.prev{left:8px;}
.img-arrow.next{right:8px;}
.img-arrow.hidden{display:none;}
.pcard-body{padding:1rem 1.1rem 1.1rem;}
.pcard-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.5rem;}
.pcard-title{font-size:1.05rem;font-weight:700;color:var(--primary);line-height:1.3;flex:1;margin-right:0.5rem;cursor:pointer;}
.pcard-title:hover{text-decoration:underline;}
.pcard-rating{display:flex;align-items:center;gap:0.25rem;font-size:0.82rem;font-weight:600;color:var(--star);flex-shrink:0;}
.pcard-author{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;}
.author-ava{width:28px;height:28px;border-radius:50%;background:var(--primary-mid);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;cursor:pointer;overflow:hidden;flex-shrink:0;border:1.5px solid var(--border);}
.author-ava img{width:100%;height:100%;object-fit:cover;}
.author-name{font-size:0.82rem;font-weight:600;color:var(--primary-mid);cursor:pointer;}
.author-name:hover{text-decoration:underline;}
.author-location{font-size:0.78rem;color:var(--text-light);margin-left:auto;}
.pcard-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.4rem;margin-bottom:0.75rem;}
.detail-chip{background:var(--bg);border-radius:8px;padding:0.4rem 0.5rem;text-align:center;}
.detail-chip .dval{font-size:0.9rem;font-weight:700;color:var(--primary);}
.detail-chip .dlbl{font-size:0.65rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;}
.price-row{display:flex;align-items:baseline;gap:0.5rem;margin-bottom:0.75rem;}
.price-main{font-size:1.3rem;font-weight:700;color:var(--primary);}
.price-warm{font-size:0.8rem;color:var(--text-light);}
.price-deposit{font-size:0.8rem;color:var(--text-mid);margin-left:auto;}
.tags-row{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.85rem;}
.tag{background:rgba(27,67,50,0.07);color:var(--primary-mid);padding:0.25rem 0.6rem;border-radius:8px;font-size:0.75rem;font-weight:500;}
.pcard-desc{font-size:0.85rem;color:var(--text-mid);line-height:1.55;margin-bottom:0.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-actions{display:flex;gap:0.5rem;align-items:center;}
.btn-contact{flex:1;padding:0.6rem;border-radius:10px;background:var(--primary);color:#fff;font-weight:600;font-size:0.85rem;transition:all .2s;text-align:center;border:none;}
.btn-contact:hover{background:var(--primary-mid);}
.btn-details{flex:1;padding:0.6rem;border-radius:10px;background:transparent;color:var(--primary);border:1.5px solid var(--primary);font-weight:600;font-size:0.85rem;transition:all .2s;text-align:center;}
.btn-details:hover{background:var(--primary);color:#fff;}
.btn-edit-post{padding:0.6rem 0.9rem;border-radius:10px;background:var(--warn);color:var(--text);font-weight:600;font-size:0.85rem;transition:all .2s;display:flex;align-items:center;gap:0.3rem;border:none;}
.btn-report-subtle{padding:0.5rem;border-radius:8px;background:transparent;color:var(--text-light);font-size:0.8rem;transition:all .2s;border:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:0.2rem;}
.btn-report-subtle:hover{color:var(--danger);border-color:var(--danger);}
.admin-actions{display:flex;gap:0.4rem;margin-top:0.6rem;padding-top:0.6rem;border-top:2px dashed rgba(193,18,31,0.3);}
.btn-admin{flex:1;padding:0.5rem;border-radius:8px;font-weight:600;font-size:0.78rem;transition:all .2s;}
.btn-admin.edit{background:var(--warn);color:var(--text);}
.btn-admin.del{background:var(--danger);color:#fff;}

/* skeleton */
.sk-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);animation:pulse 1.5s infinite;}
.sk-img{height:220px;background:linear-gradient(135deg,#e8e4dc,#d4cfc5);}
.sk-body{padding:1rem;}
.sk-line{height:12px;background:#e8e4dc;border-radius:6px;margin-bottom:10px;}
.sk-line.w80{width:80%;}
.sk-line.w60{width:60%;}
.sk-line.w40{width:40%;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}

/* ═══ PROFILE PAGE ═══ */
.profile-hero{background:linear-gradient(135deg,var(--primary),var(--primary-mid));padding:2rem 1.25rem 1rem;text-align:center;position:relative;}
.profile-ava-wrap{position:relative;display:inline-block;}
.profile-ava{width:100px;height:100px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-family:'DM Serif Display',serif;border:4px solid rgba(255,255,255,0.3);margin:0 auto 0.75rem;overflow:hidden;cursor:pointer;}
.profile-ava img{width:100%;height:100%;object-fit:cover;}
.profile-name{font-size:1.4rem;color:#fff;margin-bottom:0.2rem;}
.profile-username{font-size:0.85rem;color:rgba(255,255,255,0.6);margin-bottom:0.5rem;}
.profile-bio{font-size:0.88rem;color:rgba(255,255,255,0.8);margin:0.5rem auto;max-width:400px;font-style:italic;}
.profile-stats-row{display:flex;justify-content:center;gap:2rem;margin:1rem 0;}
.pstat{text-align:center;color:#fff;}
.pstat-val{font-size:1.3rem;font-weight:700;}
.pstat-lbl{font-size:0.7rem;opacity:.65;text-transform:uppercase;letter-spacing:.5px;}
.profile-actions{display:flex;gap:0.5rem;justify-content:center;flex-wrap:wrap;padding-bottom:1rem;}
.btn-follow{padding:0.55rem 1.4rem;border-radius:20px;background:var(--accent);color:#fff;font-weight:700;font-size:0.88rem;border:none;transition:all .2s;}
.btn-follow.following{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.5);}
.btn-edit-profile{padding:0.55rem 1.2rem;border-radius:20px;background:rgba(255,255,255,0.15);color:#fff;border:1.5px solid rgba(255,255,255,0.35);font-weight:600;font-size:0.88rem;transition:all .2s;}
.btn-edit-profile:hover{background:rgba(255,255,255,0.25);}
.btn-admin-portal{padding:0.55rem 1.2rem;border-radius:20px;background:rgba(193,18,31,0.18);color:#fff;border:1.5px solid rgba(193,18,31,0.6);font-weight:700;font-size:0.88rem;transition:all .2s;letter-spacing:.3px;}
.btn-admin-portal:hover{background:var(--danger);border-color:var(--danger);}
.profile-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--card);}
.ptab{flex:1;padding:0.9rem;text-align:center;font-weight:600;font-size:0.88rem;color:var(--text-light);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none;}
.ptab.active{color:var(--primary);border-bottom-color:var(--primary);}
.ptab-content{display:none;}
.ptab-content.active{display:block;}
.photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;}
.photo-item{aspect-ratio:1;overflow:hidden;cursor:pointer;}
.photo-item img{width:100%;height:100%;object-fit:cover;transition:opacity .2s;}
.photo-item:hover img{opacity:0.85;}
.personal-photos-upload-area{border:2px dashed var(--border);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;margin:1rem 1.25rem;}
.personal-photos-upload-area:hover{border-color:var(--primary);background:rgba(27,67,50,0.03);}
.follow-list{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:0.75rem;}
.follow-item{display:flex;align-items:center;gap:0.75rem;padding:0.75rem;background:var(--card);border-radius:12px;border:1px solid var(--border);cursor:pointer;}
.follow-ava{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ═══ MESSAGES PAGE ═══ */
.msgs-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--card);position:sticky;top:var(--nav-h);z-index:100;}
.msgs-tabs{display:flex;gap:0.5rem;}
.msgs-tab{padding:0.4rem 0.9rem;border-radius:20px;font-size:0.85rem;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:var(--text-light);border:1.5px solid var(--border);}
.msgs-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.btn-new-group{padding:0.4rem 0.8rem;border-radius:20px;background:var(--accent);color:#fff;font-size:0.82rem;font-weight:600;border:none;cursor:pointer;}
.conv-item{display:flex;align-items:center;gap:0.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;}
.conv-item:hover{background:rgba(27,67,50,0.03);}
.conv-ava{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0;}
.conv-info{flex:1;min-width:0;}
.conv-name{font-weight:700;font-size:0.95rem;margin-bottom:0.2rem;}
.conv-preview{font-size:0.82rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.conv-time{font-size:0.75rem;color:var(--text-light);flex-shrink:0;}
.chat-view{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);}
.chat-view.open{transform:none;}
.chat-header{display:flex;align-items:center;gap:0.75rem;padding:0.9rem 1.25rem;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;}
.chat-back{background:none;border:none;font-size:1.4rem;color:var(--primary);cursor:pointer;padding:0.2rem;}
.chat-hdr-ava{width:38px;height:38px;border-radius:50%;background:var(--primary);color:#fff;font-size:0.95rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.chat-hdr-info{flex:1;}
.chat-hdr-identity{flex:1;min-width:0;background:none;border:none;padding:0;text-align:left;color:inherit;}
.chat-hdr-identity.profile-link{cursor:pointer;}
.chat-hdr-name{font-weight:700;font-size:0.95rem;}
.chat-hdr-sub{font-size:0.75rem;color:var(--text-light);}
.chat-msgs{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:0.6rem;}
.msg-row{display:flex;}
.msg-row.mine{justify-content:flex-end;}
.msg-bubble{max-width:75%;padding:0.65rem 0.9rem;border-radius:18px;font-size:0.9rem;line-height:1.45;}
.msg-bubble.sent{background:var(--primary);color:#fff;border-radius:18px 18px 4px 18px;}
.msg-bubble.recv{background:var(--card);border:1px solid var(--border);border-radius:18px 18px 18px 4px;}
.msg-sender{font-size:0.7rem;font-weight:700;opacity:.7;margin-bottom:0.2rem;}
.msg-time{font-size:0.68rem;opacity:.6;margin-top:0.2rem;text-align:right;}
.chat-input-area{display:flex;gap:0.5rem;padding:0.85rem 1.25rem;background:var(--card);border-top:1px solid var(--border);padding-bottom:calc(0.85rem + env(safe-area-inset-bottom));}
.chat-input{flex:1;border:1.5px solid var(--border);border-radius:22px;padding:0.55rem 1rem;resize:none;font-size:0.92rem;max-height:100px;background:var(--bg);}
.chat-input:focus{border-color:var(--primary-light);outline:none;}
.chat-send{background:var(--primary);color:#fff;border:none;border-radius:50%;width:42px;height:42px;font-size:1.1rem;flex-shrink:0;cursor:pointer;}
.chat-img-btn{background:none;border:none;font-size:1.3rem;color:var(--text-light);cursor:pointer;}

/* ═══ ADMIN ═══ */
.admin-topbar{display:flex;align-items:center;gap:0.75rem;padding:1.25rem;border-bottom:2px solid var(--border);}
.admin-back-btn{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:0.4rem 0.8rem;font-size:0.82rem;color:var(--text-mid);cursor:pointer;}
.admin-title{font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--primary);}
.admin-badge{background:var(--danger);color:#fff;font-size:0.65rem;font-weight:700;border-radius:20px;padding:2px 8px;margin-left:auto;}
.admin-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem;padding:1.25rem;}
.astat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem;text-align:center;box-shadow:var(--shadow);}
.astat-val{font-family:'DM Serif Display',serif;font-size:1.8rem;color:var(--primary);}
.astat-lbl{font-size:0.68rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;}
.admin-section-head{display:flex;align-items:center;padding:0.75rem 1.25rem;border-bottom:1px solid var(--border);}
.admin-section-head h3{font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--primary);}
.admin-search{width:calc(100% - 2.5rem);margin:0.75rem 1.25rem;padding:0.55rem 0.8rem;border:1.5px solid var(--border);border-radius:10px;font-size:0.85rem;background:var(--card);}
.admin-search:focus{border-color:var(--primary-light);outline:none;}
.admin-user-card{display:flex;align-items:center;gap:0.75rem;padding:0.85rem 1.25rem;border-bottom:1px solid var(--border);background:var(--card);}
.auc-ava{width:38px;height:38px;border-radius:50%;background:var(--primary);color:#fff;font-size:0.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.auc-ava img{width:100%;height:100%;object-fit:cover;}
.auc-info{flex:1;min-width:0;}
.auc-name{font-weight:700;font-size:0.85rem;display:flex;align-items:center;flex-wrap:wrap;gap:3px;margin-bottom:2px;}
.auc-meta{font-size:0.72rem;color:var(--text-light);}
.auc-actions{display:flex;gap:0.4rem;flex-shrink:0;}
.btn-admin-action{border:none;border-radius:8px;padding:0.3rem 0.55rem;font-size:0.72rem;font-weight:600;cursor:pointer;}
.ba-warn{background:#FEF3C7;color:#92400E;}
.ba-ban{background:#FEE2E2;color:#991B1B;}
.ba-dismiss{background:#D1FAE5;color:#065F46;}
.ba-del{background:#FEE2E2;color:#991B1B;}
.report-card{margin:0.5rem 1.25rem;background:rgba(27,67,50,0.03);border:1px solid var(--border);border-radius:12px;padding:0.85rem;}
.report-card.done{opacity:.5;}
.report-card-actions{display:flex;gap:0.4rem;flex-wrap:wrap;margin-top:0.6rem;}
.admin-post-card{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--card);}
.apc-info{flex:1;min-width:0;}
.apc-title{font-weight:600;font-size:0.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.apc-meta{font-size:0.7rem;color:var(--text-light);margin-top:2px;}
.apc-actions{display:flex;gap:0.4rem;flex-shrink:0;}

/* ═══ MODALS ═══ */
.modal{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,0.5);display:none;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom);}
.modal.open{display:flex;}
.modal-box{background:var(--card);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:92vh;overflow-y:auto;padding:1.5rem;max-width:520px;position:relative;}
@media(min-width:600px){.modal{align-items:center;}.modal-box{border-radius:var(--radius);max-height:88vh;}}
.modal-box h2{font-family:'DM Serif Display',serif;font-size:1.5rem;color:var(--primary);margin-bottom:0.25rem;}
.modal-box>p{font-size:0.85rem;color:var(--text-light);margin-bottom:1rem;}
.mclose{position:absolute;top:1rem;right:1rem;background:var(--bg);border:none;width:32px;height:32px;border-radius:50%;font-size:1rem;color:var(--text-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:0.82rem;font-weight:600;color:var(--text-mid);margin-bottom:0.35rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.65rem 0.8rem;border:1.5px solid var(--border);border-radius:10px;background:var(--card);font-size:0.9rem;color:var(--text);transition:border .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-light);outline:none;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.username-hint{font-size:0.75rem;margin-top:0.25rem;min-height:1rem;}
.username-hint.ok{color:var(--success);}
.username-hint.bad{color:var(--danger);}
.user-sugg{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 6px;cursor:pointer;margin-left:3px;font-size:0.72rem;}
.user-sugg:hover{background:rgba(27,67,50,0.08);}
.email-hint{font-size:0.78rem;margin-top:0.3rem;min-height:1.1rem;}
.email-hint.ok{color:var(--success);}
.email-hint.bad{color:var(--danger);}
.pass-wrap{position:relative;display:flex;}
.pass-wrap input{flex:1;padding-right:2.8rem;}
.pass-eye{position:absolute;right:0.6rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;color:var(--text-light);padding:0.2rem;line-height:1;cursor:pointer;}
.terms-scroll{max-height:120px;overflow-y:auto;background:var(--bg);border-radius:10px;padding:0.75rem;font-size:0.78rem;color:var(--text-mid);line-height:1.5;margin-bottom:0.75rem;border:1px solid var(--border);}
.terms-scroll p{margin-bottom:0.4rem;}
.checkbox-line{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;}
.checkbox-line input{width:16px;height:16px;accent-color:var(--primary);}
.checkbox-line label{font-size:0.82rem;color:var(--text-mid);}
.divider-or{text-align:center;margin:0.75rem 0;font-size:0.8rem;color:var(--text-light);position:relative;}
.divider-or::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);}
.divider-or span{background:var(--card);padding:0 0.75rem;position:relative;}
.form-link{text-align:center;font-size:0.82rem;color:var(--text-light);margin-top:1rem;}
.form-link a{color:var(--primary-mid);font-weight:600;cursor:pointer;}
.rent-hint{font-size:0.78rem;color:var(--danger);display:none;margin-top:0.3rem;}
.btn-full{width:100%;padding:0.8rem;border-radius:12px;background:var(--primary);color:#fff;border:none;font-size:1rem;font-weight:600;margin-top:0.5rem;cursor:pointer;}
.btn-full:hover{background:var(--primary-mid);}
.btn-google{width:100%;padding:0.7rem;border-radius:12px;background:var(--card);border:1.5px solid var(--border);color:var(--text-mid);font-weight:600;font-size:0.9rem;display:flex;align-items:center;justify-content:center;gap:0.5rem;transition:all .2s;margin-bottom:0.5rem;cursor:pointer;}
.btn-google:hover{border-color:var(--primary);background:rgba(27,67,50,0.03);}
.pfac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.4rem;}
.pfac-item{display:flex;align-items:center;gap:0.3rem;font-size:0.78rem;color:var(--text-mid);}
.pfac-item input{accent-color:var(--primary);}
.img-prev-wrap{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.5rem;}
.img-prev{position:relative;display:inline-block;}
.img-prev img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border);}
.img-prev-del{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;width:18px;height:18px;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;border:none;}
.post-detail-price{background:rgba(27,67,50,0.05);border-radius:12px;padding:1rem;margin-bottom:1rem;}
.pdp-main{font-family:'DM Serif Display',serif;font-size:1.8rem;color:var(--primary);}
.pdp-sub{font-size:0.78rem;color:var(--text-light);margin-bottom:0.75rem;}
.pdp-breakdown{display:flex;gap:1.5rem;flex-wrap:wrap;}
.pdp-val{font-size:1rem;font-weight:700;color:var(--primary);}
.pdp-lbl{font-size:0.65rem;color:var(--text-light);}
.post-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-bottom:1rem;}
.pdg-item{background:var(--bg);border-radius:10px;padding:0.5rem;text-align:center;}
.pdg-item .icon{font-size:1rem;margin-bottom:0.2rem;}
.pdg-item .val{font-size:0.78rem;font-weight:700;}
.pdg-item .lbl{font-size:0.62rem;color:var(--text-light);}
.pdg-scroll{display:flex;gap:0.5rem;overflow-x:auto;scrollbar-width:none;margin-bottom:1rem;}
.pdg-scroll::-webkit-scrollbar{display:none;}
.pdg-scroll img{height:200px;border-radius:12px;flex-shrink:0;}
.map-link{display:flex;align-items:center;gap:0.4rem;color:var(--primary-mid);font-size:0.85rem;font-weight:500;padding:0.6rem;background:var(--bg);border-radius:10px;margin-bottom:0.75rem;}
.section-label{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);margin-bottom:0.5rem;}
.personal-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-top:0.75rem;padding:0 1.25rem 1.25rem;}
.pgal-item{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1;}
.pgal-item img{width:100%;height:100%;object-fit:cover;cursor:pointer;}
.pgal-del{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.6);color:#fff;width:22px;height:22px;border-radius:50%;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;border:none;}
.photo-upload-area{border:2px dashed var(--border);border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;color:var(--text-light);margin:0 1.25rem 0.75rem;}
.photo-upload-area:hover{border-color:var(--primary);color:var(--primary);}


.group-selected-members{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem;}
.group-member-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .65rem;border-radius:999px;background:rgba(27,67,50,0.08);color:var(--primary);font-size:.8rem;font-weight:600;}
.group-member-chip button{background:none;border:none;color:var(--primary);font-size:1rem;line-height:1;padding:0;cursor:pointer;}
.group-member-results{margin-top:.65rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);max-height:220px;overflow-y:auto;display:none;}
.group-member-row{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border-bottom:1px solid rgba(232,228,220,0.75);cursor:pointer;}
.group-member-row:last-child{border-bottom:none;}
.group-member-row:hover{background:rgba(27,67,50,0.05);}
.group-member-row .gm-ava{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex-shrink:0;}
.group-member-row .gm-ava img{width:100%;height:100%;object-fit:cover;}
.group-member-row .gm-meta{flex:1;min-width:0;}
.group-member-row .gm-name{font-size:.88rem;font-weight:600;color:var(--text);}
.group-member-row .gm-user{font-size:.76rem;color:var(--text-light);}
.group-member-row .gm-add{font-size:.76rem;font-weight:700;color:var(--primary);}
.text-post-card{border:1px solid rgba(27,67,50,0.08);}
.text-post-card .pcard-images{display:none;}
.text-post-shell{padding:1rem 1.1rem 1.05rem;background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%);}
.text-post-top{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;}
.text-post-avatar{width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex-shrink:0;cursor:pointer;}
.text-post-avatar img{width:100%;height:100%;object-fit:cover;}
.text-post-meta{flex:1;min-width:0;}
.text-post-name{font-size:.92rem;font-weight:700;color:var(--text);cursor:pointer;}
.text-post-sub{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.76rem;color:var(--text-light);margin-top:.14rem;}
.text-post-badge{display:inline-flex;align-items:center;padding:.22rem .52rem;border-radius:999px;background:rgba(37,99,235,0.08);color:#1d4ed8;font-size:.68rem;font-weight:700;letter-spacing:.2px;}
.text-post-body{background:#efeae2;border-radius:18px 18px 18px 8px;padding:.95rem 1rem;margin:.25rem 0 .9rem;position:relative;}
.text-post-body::before{content:'';position:absolute;left:-8px;top:14px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #efeae2;}
.text-post-title{font-size:.9rem;font-weight:700;color:var(--primary);margin-bottom:.42rem;line-height:1.35;}
.text-post-desc{font-size:.92rem;line-height:1.58;color:var(--text);white-space:pre-wrap;word-break:break-word;}
.text-post-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap;}
.text-post-loc{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.78rem;color:var(--text-light);}
.text-post-actions{display:flex;gap:.5rem;align-items:center;}

/* ═══ TOAST ═══ */
#toast{position:fixed;bottom:calc(var(--bottom-h) + 14px);left:50%;transform:translateX(-50%) translateY(10px);background:var(--text);color:#fff;padding:0.55rem 1.2rem;border-radius:20px;font-size:0.82rem;font-weight:500;opacity:0;transition:all .3s;pointer-events:none;white-space:nowrap;z-index:2000;}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media(min-width:768px){.posts-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));}}

/* Loading skeleton */
.sk-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.sk-img{height:180px;background:linear-gradient(90deg,#e8e4dc 25%,#f4f2ee 50%,#e8e4dc 75%);background-size:200% 100%;animation:skshimmer 1.4s infinite;}
.sk-body{padding:1rem;}
.sk-line{height:12px;border-radius:6px;background:#e8e4dc;margin-bottom:.6rem;}
.sk-line.w80{width:80%;}
.sk-line.w60{width:60%;}
.sk-line.w40{width:40%;}
@keyframes skshimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* ═══ MAP ═══ */
.bn-map-tooltip{background:var(--primary)!important;color:#fff!important;border:none!important;border-radius:8px!important;font-family:'DM Sans',sans-serif!important;font-weight:600!important;font-size:0.78rem!important;padding:4px 10px!important;box-shadow:0 2px 10px rgba(27,67,50,0.3)!important;}
.bn-map-tooltip::before{border-top-color:var(--primary)!important;}
#mapEl .leaflet-control-zoom a{font-family:'DM Sans',sans-serif;font-weight:700;}



/* ===== MODAL POLISH PATCH ===== */
.modal{position:fixed;inset:0;z-index:1100;background:rgba(17,24,39,0.52);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center;padding:clamp(10px,2vw,20px);padding-bottom:max(env(safe-area-inset-bottom),10px);overflow:hidden;}
.modal.open{display:flex;}
.modal-box{background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%);border-radius:22px 22px 0 0;width:min(100%,640px);max-height:min(88vh,900px);overflow-x:hidden;overflow-y:auto;padding:1.2rem 1rem 1.1rem;max-width:640px;position:relative;box-shadow:0 24px 80px rgba(15,23,42,.22);border:1px solid rgba(232,228,220,.9);scrollbar-gutter:stable both-edges;}
@media(min-width:700px){.modal{align-items:center;}.modal-box{border-radius:24px;padding:1.4rem 1.4rem 1.25rem;max-height:min(86vh,920px);}}
.modal-box h2{padding-right:2.25rem;line-height:1.2;margin-bottom:.3rem;}
.modal-box>p{line-height:1.55;max-width:58ch;}
.mclose{position:sticky;top:0;float:right;margin:-.2rem -.15rem .35rem auto;width:40px;height:40px;border-radius:999px;border:1px solid rgba(27,67,50,0.08);background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(15,23,42,.08);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--primary);z-index:2;}
.mclose:hover{background:#fff;border-color:rgba(27,67,50,0.18);}
.form-row{gap:.85rem;}
.form-group{min-width:0;}
.form-group input,.form-group textarea,.form-group select,.fmodal-search{border-radius:14px;border:1.5px solid rgba(27,67,50,.12);background:#fff;box-shadow:inset 0 1px 2px rgba(15,23,42,.03);}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.fmodal-search:focus{border-color:var(--primary-light);box-shadow:0 0 0 4px rgba(82,183,136,.12);}
.btn-full,.btn-google,.btn-contact,.btn-details,.btn-edit-post,.btn-edit-profile,.btn-follow,.fmodal-apply,.fmodal-clear{min-height:44px;}
.pfac-item{padding:.5rem .6rem;border:1px solid rgba(27,67,50,.08);border-radius:12px;background:rgba(255,255,255,.7);}
.pfac-item:has(input:checked){border-color:rgba(82,183,136,.45);background:rgba(82,183,136,.09);}
.post-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.apartment-modal-box{max-width:760px;}
.seeker-grid-2,.seeker-grid-3,.seeker-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;}
.seeker-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.seeker-fac-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.apartment-post-card{border:1px solid rgba(27,67,50,0.08);background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%);}
.apartment-post-card .pcard-images{display:none;}
.apartment-seeker-shell{padding:1rem 1.05rem 1.05rem;display:flex;flex-direction:column;gap:.9rem;}
.apartment-seeker-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;}
.apartment-seeker-kicker{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .6rem;border-radius:999px;background:rgba(27,67,50,.08);color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.2px;}
.apartment-seeker-title{font-size:1.02rem;font-weight:800;color:var(--primary);line-height:1.3;}
.apartment-seeker-sub{font-size:.82rem;color:var(--text-light);display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.3rem;}
.apartment-seeker-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;}
.apartment-seeker-chip{display:flex;align-items:flex-start;gap:.45rem;padding:.68rem .72rem;border-radius:14px;background:#fff;border:1px solid rgba(27,67,50,.08);font-size:.82rem;color:var(--text-mid);min-width:0;}
.apartment-seeker-chip strong{display:block;color:var(--text);font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.15rem;}
.apartment-seeker-desc{font-size:.9rem;line-height:1.65;color:var(--text-mid);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.apartment-seeker-facs{display:flex;flex-wrap:wrap;gap:.45rem;}
.apartment-seeker-facs .tag{background:rgba(82,183,136,.08);border-color:rgba(82,183,136,.2);}
.apartment-seeker-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;}
.apartment-seeker-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.79rem;color:var(--text-light);}
.post-detail-shell.apartment-seeker-detail{display:flex;flex-direction:column;gap:1rem;}
.post-detail-card{background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%);border:1px solid rgba(27,67,50,.08);border-radius:18px;padding:1rem;box-shadow:var(--shadow);}
.post-detail-card .section-label{margin-bottom:.65rem;}
.detail-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
.detail-list-item{padding:.8rem .85rem;border-radius:14px;background:#fff;border:1px solid rgba(27,67,50,.08);font-size:.88rem;color:var(--text-mid);}
.detail-list-item strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-bottom:.25rem;}
.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-mid) 70%,var(--accent) 100%);color:#fff;font-size:.95rem;box-shadow:0 8px 18px rgba(27,67,50,.16);}
.logo-text{display:inline-flex;align-items:baseline;gap:.02rem;}
@media(max-width:767px){
  .modal-box{width:100%;max-width:none;padding:1rem .9rem .95rem;}
  .post-detail-grid,.detail-list-grid,.seeker-grid-2,.seeker-grid-3,.seeker-date-row,.apartment-seeker-summary,.seeker-fac-grid,.pfac-grid{grid-template-columns:1fr;}
  .text-post-actions,.apartment-seeker-actions{flex-direction:column;align-items:stretch;}
  .text-post-actions > *,.apartment-seeker-actions > *{width:100%;}
  .pdg-scroll img{height:180px;}
}


.chat-call-btn{background:var(--bg);border:1px solid var(--border);color:var(--primary);border-radius:999px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;flex-shrink:0;}
.chat-call-btn[disabled]{opacity:.45;cursor:not-allowed;}
.conv-presence{font-size:.72rem;color:var(--text-light);margin-top:0.18rem;}
.conv-presence.online,.chat-hdr-sub.online{color:var(--success);font-weight:600;}
.msg-meta{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-top:.25rem;}
.msg-status{font-size:.68rem;opacity:.8;white-space:nowrap;}
.call-modal-box{text-align:center;}
.call-status-card{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:1rem 0 1.25rem;}
.call-ava{width:72px;height:72px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto;}
.call-name{font-size:1.05rem;font-weight:700;color:var(--primary);}
.call-state{font-size:.96rem;color:var(--text-light);font-weight:700;}
.call-permission-note{font-size:.88rem;color:var(--primary);background:rgba(44,98,245,.08);border:1px solid rgba(44,98,245,.18);padding:.7rem .8rem;border-radius:14px;line-height:1.35;max-width:320px;}
.call-browser-tip{font-size:.78rem;color:var(--text-light);line-height:1.35;max-width:320px;}
.call-actions{display:flex;flex-direction:column;gap:.7rem;}
.post-owner-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.75rem;}
.btn-delete-post{background:var(--danger);color:#fff;border:none;border-radius:10px;padding:.68rem 1rem;font-weight:700;cursor:pointer;}
@media (max-width: 700px){
  .form-row{grid-template-columns:1fr;}
  .msgs-header{padding:.8rem .85rem;gap:.6rem;align-items:flex-start;flex-direction:column;}
  .msgs-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr;}
  .msgs-tab,.btn-new-group{width:100%;justify-content:center;text-align:center;}
  .conv-item{padding:.85rem .85rem;align-items:flex-start;}
  .conv-time{font-size:.7rem;}
  .chat-header{padding:.75rem .85rem;gap:.55rem;}
  .chat-msgs{padding:.9rem .75rem;}
  .msg-bubble{max-width:88%;font-size:.88rem;}
  .chat-input-area{padding:.7rem .75rem;padding-bottom:calc(.7rem + env(safe-area-inset-bottom));}
  .chat-input{font-size:16px;}
  .chat-call-btn{width:38px;height:38px;}
  .profile-actions{flex-wrap:wrap;}
  .profile-actions > *{flex:1 1 calc(50% - .4rem);}
}
