/* 4 columns responsive grid */
.bp-photo-wrap{max-width:1100px;margin:0 auto;padding:10px;}
#bp-photo-upload-form{display:flex;gap:10px;align-items:center;margin-bottom:16px;}
.bp-photo-btn{background:#2271b1;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;}
.bp-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.bp-photo-grid-controls{display:flex;justify-content:center;margin-top:10px;}
.bp-photo-load-more-grid{border:1px solid #ddd;background:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;}
.bp-photo-item{position:relative;overflow:hidden;border-radius:12px;background:#f5f5f5;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
.bp-photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.bp-photo-item:hover img{transform:scale(1.03);}
.bp-photo-overlay{position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));color:#fff;}
.bp-photo-like{background:transparent;border:1px solid rgba(255,255,255,.6);padding:4px 8px;border-radius:999px;color:#fff;display:flex;align-items:center;gap:6px;cursor:pointer;}
.bp-photo-like .heart{font-size:14px;line-height:1;}
.bp-photo-like.liked{background:#e91e63;border-color:#e91e63;}
.bp-photo-comment-open{background:transparent;border:1px solid rgba(255,255,255,.6);padding:4px 8px;border-radius:8px;color:#fff;cursor:pointer;}

/* Views badge */
.bp-photo-views{position:absolute;top:6px;left:6px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;padding:3px 6px;border-radius:999px;display:flex;align-items:center;gap:4px;z-index:2;}

@media (max-width: 900px){
  .bp-photo-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width: 640px){
  .bp-photo-grid{grid-template-columns:repeat(2,1fr);}
}

/* Modal */
.bp-photo-modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999;}
.bp-photo-modal.open{display:flex;}
.bp-photo-no-scroll{overflow:hidden;}
.bp-photo-modal-content{background:#fff;display:grid;grid-template-columns:2fr 1fr;gap:0;max-width:1100px;width:100%;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2);}
.bp-photo-modal-image{background:#000;display:flex;align-items:center;justify-content:center;min-height:300px;}
.bp-photo-modal-image img{max-width:100%;max-height:80vh;height:auto;width:auto;display:block;}
.bp-photo-modal-meta{padding:12px;display:flex;flex-direction:column;gap:12px;}
.bp-photo-modal-close{position:absolute;top:12px;right:16px;background:#fff;border:none;border-radius:999px;width:36px;height:36px;font-size:22px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.bp-photo-modal-actions{display:flex;gap:12px;align-items:center;}
.bp-photo-comments-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow:auto;border:1px solid #eee;padding:8px;border-radius:8px;background:#fafafa;}
.bp-photo-comment{background:#fff;border-radius:8px;padding:8px;border:1px solid #eee;}
.bp-photo-comment-meta{font-size:12px;color:#666;margin-bottom:4px;}
.bp-photo-comment-form{display:flex;gap:8px;}
.bp-photo-comment-form input{flex:1;border:1px solid #ddd;border-radius:8px;padding:8px;}
.bp-photo-comment-form button{border:none;background:#2271b1;color:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;}
.bp-photo-load-more{border:1px solid #ddd;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;margin-top:8px;}

@media (max-width: 900px){
  .bp-photo-modal-content{grid-template-columns:1fr;}
}
