
/* Messaging, multi-photo profile gallery, neighborhood map */
.messenger-layout{display:grid;grid-template-columns:minmax(265px,340px) minmax(0,1fr);height:min(77vh,740px);min-height:520px;background:#fff;border:1px solid #e1e7eb;border-radius:20px;overflow:hidden;box-shadow:0 16px 38px rgba(14,51,60,.08)}
.messenger-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid #e6eaf0}
.messenger-sidebar header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid #ebeff2}
.messenger-sidebar header h2{font-size:20px;margin:0}
.chat-search{padding:12px;border-bottom:1px solid #f0f2f4}
.chat-search input{width:100%;border:1px solid #d7e0e5;border-radius:12px;padding:12px 14px}
.chat-thread-list{overflow-y:auto;flex:1}
.chat-thread-link{display:flex;gap:11px;align-items:center;padding:13px 12px;text-decoration:none;color:#173d47;border-bottom:1px solid #f0f2f3}
.chat-thread-link:hover,.chat-thread-link.selected{background:#edf7f3}
.chat-thread-link[hidden]{display:none}
.chat-avatar{display:grid;place-items:center;width:48px;height:48px;min-width:48px;border-radius:50%;object-fit:cover;background:#dcebe8;color:#34515b;font-size:21px;font-weight:750}
.chat-thread-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.chat-thread-content strong,.chat-thread-content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-thread-content strong{font-size:14px}
.chat-thread-content small{color:#647684;font-size:12px}
.chat-thread-meta{display:flex;flex-direction:column;gap:7px;align-items:flex-end;flex-shrink:0;font-size:11px;color:#70828a}
.chat-thread-meta em{font-style:normal;background:#237a5a;color:white;border-radius:100px;padding:3px 7px;font-weight:700}
.chat-empty{text-align:center;color:#617b88;padding:24px 17px}
.messenger-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f7faf9}
.messenger-placeholder{align-items:center;justify-content:center;text-align:center;padding:30px}
.chat-hello-icon{font-size:48px}
.messenger-top{min-height:82px;background:white;border-bottom:1px solid #e5edef;display:flex;gap:11px;align-items:center;padding:12px 20px}
.messenger-top h1{font-size:19px;margin:0}
.messenger-top span{font-size:12px;color:#677d87}
.chat-profile-link{margin-left:auto;font-size:12px}
.chat-back{display:none;font-size:28px;text-decoration:none}
.messenger-safety{text-align:center;font-size:11px;color:#737b7e;padding:9px 16px;background:#fffbee}
.messenger-messages{flex:1;overflow:auto;padding:19px 20px;display:flex;flex-direction:column;gap:11px;scroll-behavior:smooth}
.chat-bubble{max-width:77%;align-self:flex-start;border-radius:16px 16px 16px 4px;background:white;border:1px solid #e8eff0;padding:10px 13px;box-shadow:0 2px 5px #142f3c0a}
.chat-bubble.mine{align-self:flex-end;background:#dcf5e9;border-color:#c2ead9;border-radius:16px 16px 4px 16px}
.chat-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.48;font-size:14px}
.chat-bubble time{display:block;text-align:right;margin-top:7px;font-size:10px;color:#677e82}
.messenger-compose{display:flex;align-items:flex-end;gap:9px;padding:12px 16px;background:white;border-top:1px solid #e5edef}
.messenger-compose textarea{min-height:42px;max-height:150px;flex:1;padding:10px 13px;border:1px solid #d9e1e5;border-radius:18px;resize:none}
.messenger-compose .btn{min-height:43px;border-radius:18px}
.messenger-options{background:#fff;padding:9px 17px;border-top:1px solid #e9edef;font-size:12px;max-height:160px;overflow:auto}
.messenger-options summary{cursor:pointer;font-weight:700}
.messenger-options form{display:inline-block;margin:7px 8px 3px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.sitter-image-carousel{position:relative;width:100%;overflow:hidden;border-radius:20px;background:#e7eded}
.sitter-image-carousel img{display:block;width:100%;max-height:470px;object-fit:cover;aspect-ratio:6/7}
.sitter-image-carousel img[hidden]{display:none}
.sitter-photo-arrow{position:absolute;top:45%;z-index:1;border:0;width:37px;height:46px;border-radius:12px;background:rgba(0,0,0,.55);color:white;font-size:25px}
.sitter-photo-arrow.prev{left:8px}
.sitter-photo-arrow.next{right:8px}
.sitter-image-count{position:absolute;bottom:12px;right:14px;background:#1d3135a6;color:#fff;border-radius:99px;padding:5px 11px;font-size:12px}
.profile-left-weekly{background:white;margin-top:16px;padding:12px;border:1px solid #e0e8e7;border-radius:16px}
.profile-left-weekly h2{font-size:17px;margin:4px 0 12px}
.profile-left-weekly .weekly-grid{grid-template-columns:minmax(43px,.7fr) repeat(4,minmax(39px,1fr));gap:3px;margin:0}
.profile-left-weekly .weekly-cell{min-height:30px}
.profile-left-weekly .weekly-head{font-size:10px}
.profile-left-weekly .weekly-day{font-size:10px}
.nearby-sitter-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}
.nearby-sitter-card{display:flex;flex-direction:column;gap:7px;text-decoration:none;background:white;border:1px solid #e4e9ea;border-radius:12px;padding:9px}
.nearby-sitter-card img,.nearby-sitter-card .nearby-initial{width:100%;height:125px;object-fit:cover;border-radius:9px}
.nearby-initial{display:grid;place-items:center;background:#e4f0ed;color:#285c55;font-size:40px}
.nearby-sitter-card strong{font-size:14px}
.nearby-sitter-card small{font-size:12px;color:#526f76}
.gallery-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}
.gallery-review-card{border:1px solid #dce6e7;border-radius:12px;padding:12px;background:white}
.gallery-review-card img{width:100%;height:150px;object-fit:cover;border-radius:10px}
.gallery-review-card form{margin-top:8px}
.baba-map{height:min(70vh,660px);min-height:450px;width:100%;border-radius:17px;overflow:hidden;border:1px solid #dae4e9}
.baba-map-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.baba-map-link{display:flex;align-items:center;gap:9px;text-decoration:none;background:white;border:1px solid #d9e5e9;border-radius:12px;padding:7px 12px}
.baba-map-link img{width:38px;height:38px;object-fit:cover;border-radius:50%}
.map-popup-person{display:flex;gap:9px;align-items:center;margin:7px 0}
.map-popup-person img{width:41px;height:41px;object-fit:cover;border-radius:50%}
.map-popup-person a{font-size:14px;font-weight:700}
@media(max-width:800px){
 .messenger-layout{grid-template-columns:1fr;min-height:calc(100dvh - 145px);height:calc(100dvh - 145px)}
 .messenger-layout:has([data-conversation]) .messenger-sidebar{display:none}
 .messenger-layout:not(:has([data-conversation])) .messenger-main{display:none}
 .messenger-sidebar{border:0}
 .chat-back{display:block}
 .chat-profile-link{font-size:11px}
 .messenger-top{padding:10px 12px}
 .messenger-messages{padding:15px 10px}
 .chat-bubble{max-width:86%}
 .messenger-compose{padding:9px}
}
