
:root{
  --bfrr-primary: #2b4b2f;
  --bfrr-accent: #d6a548;
  --bfrr-brown: #4b2e1f;
  --bfrr-chip: #d8ecff;
}

.bfrr-wrap{max-width:1100px;margin:0 auto;padding:18px;}
.bfrr-hero{background:linear-gradient(90deg,var(--bfrr-primary),#1f3723);color:#fff;border:1px solid var(--bfrr-brown);border-radius:10px;padding:16px 18px;margin-bottom:14px;}
.bfrr-hero h2{margin:0 0 6px 0;}
.bfrr-hero p{margin:0;opacity:.9}

.bfrr-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid var(--bfrr-brown);border-radius:10px;padding:12px;margin-bottom:14px;}
.bfrr-filter input[type=text]{flex:1;min-width:180px;}
.bfrr-check{display:flex;gap:6px;align-items:center;font-size:14px;}

.bfrr-form{background:#fff;border:1px solid var(--bfrr-brown);border-radius:10px;padding:14px;margin-top:12px;}
.bfrr-field{margin-bottom:12px;}
.bfrr-field label{display:block;font-weight:600;margin-bottom:6px;}
.bfrr-form input,.bfrr-form select,.bfrr-form textarea{width:100%;max-width:100%;box-sizing:border-box;border:1px solid var(--bfrr-brown);border-radius:8px;padding:10px;background:#fff;}
.bfrr-latlng-row{display:flex;gap:10px}
.bfrr-latlng-row input{width:100%;}
.bfrr-help{font-size:12px;opacity:.8;margin-top:6px}

.bfrr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.bfrr-card{background:#fff;border:1px solid var(--bfrr-brown);border-radius:12px;padding:12px;transition:transform .08s ease,border-color .08s ease;}
.bfrr-card:hover{transform:translateY(-1px);border-color:#3a2216}
.bfrr-card-top{display:flex;gap:12px;align-items:center;}
.bfrr-avatar{width:54px;height:54px;border-radius:10px;object-fit:cover;border:1px solid var(--bfrr-brown);}
.bfrr-name{font-weight:800;font-size:16px;}
.bfrr-loc{font-size:13px;opacity:.8;margin-top:2px;}
.bfrr-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;}
.bfrr-btn{display:inline-block;border:1px solid var(--bfrr-brown);background:var(--bfrr-accent);color:#2a1b10;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer;text-decoration:none;}
.bfrr-btn:hover{filter:brightness(.97)}
.bfrr-btn-ghost{background:#fff;}
.bfrr-btn-danger{background:#ffd0d0;}
.bfrr-status{background:#fff;border:1px solid var(--bfrr-brown);border-radius:10px;padding:10px;margin-bottom:12px;}

.bfrr-chip{display:inline-block;background:var(--bfrr-chip);border:1px solid var(--bfrr-brown);border-radius:999px;padding:5px 10px;font-size:12px;margin:6px 6px 0 0;}
.bfrr-chips{margin-top:8px}
.bfrr-verified{display:inline-block;background:#1f7a2f;color:#fff;border-radius:999px;padding:2px 8px;font-size:12px;margin-left:6px;}

.bfrr-badges{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}
.bfrr-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #999;border-radius:999px;padding:4px 10px;font-size:12px;background:#fff}
.bfrr-badge .dashicons{font-size:16px;line-height:1}

.bfrr-modal{position:fixed;inset:0;z-index:99999;}
.bfrr-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.bfrr-modal-box{position:relative;max-width:860px;margin:5vh auto;background:#fff;border:1px solid var(--bfrr-brown);border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:0;overflow:hidden;}

.bfrr-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--bfrr-brown);background:linear-gradient(180deg, rgba(34,66,42,.06), rgba(34,66,42,0));}
.bfrr-modal-title{font-weight:900;letter-spacing:.2px;}
.bfrr-modal-actions{display:flex;align-items:center;gap:10px;}

/* Close button should never overlap other actions */
.bfrr-modal-close{position:static;border:1px solid var(--bfrr-brown);background:#fff;border-radius:10px;width:36px;height:36px;font-size:22px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;}

.bfrr-modal-loading{padding:14px;color:#555;}
.bfrr-modal-content{max-height:72vh;overflow:auto;padding:16px;padding-right:14px;}

.bfrr-avatar-lg{width:88px;height:88px;border-radius:14px;object-fit:cover;border:1px solid var(--bfrr-brown);}
.bfrr-name-lg{font-weight:900;font-size:22px;}
.bfrr-mini-map{height:220px;border:1px solid var(--bfrr-brown);border-radius:12px;margin:12px 0;}

/* Profile location section */
.bfrr-location-box{margin:12px 0;padding:10px 12px;border:1px solid var(--bfrr-brown);border-radius:12px;background:#fff;}
.bfrr-location-box h3{margin:0 0 8px 0;font-size:15px;}
.bfrr-location-text{margin-top:8px;opacity:.85;}
.bfrr-location-empty{opacity:.7;font-style:italic;}
.bfrr-map{height:520px;border:1px solid var(--bfrr-brown);border-radius:12px;}

.bfrr-photo-preview img{width:120px;height:120px;border-radius:12px;object-fit:cover;border:1px solid var(--bfrr-brown);margin-top:10px;}
.bfrr-empty{padding:18px;background:#fff;border:1px solid var(--bfrr-brown);border-radius:10px;}

/* Map picker on user profile forms */
.bfrr-map-picker .bfrr-picker{height:240px;border:1px solid var(--bfrr-brown);border-radius:12px;overflow:hidden;background:#f3efe6;}
.bfrr-map-picker .bfrr-latlng-row{display:flex;gap:10px;margin-top:10px;}
.bfrr-map-picker .bfrr-latlng-row input{width:100%;}

/* Contact / messaging form inside profile modal */
.bfrr-contact{margin-top:16px;border:1px solid var(--bfrr-brown);border-radius:12px;background:#fff;overflow:hidden;}
.bfrr-contact h3{margin:0;padding:12px 14px;background:linear-gradient(90deg, rgba(43,75,47,.10), rgba(214,165,72,.10));border-bottom:1px solid var(--bfrr-brown);font-weight:900;}
.bfrr-contact-form{padding:14px;}
.bfrr-contact-form .bfrr-field{margin-bottom:12px;}
.bfrr-contact-form button[type=submit]{min-width:120px;}
.bfrr-contact-form button.is-loading{opacity:.8;cursor:wait;}
.bfrr-contact-result{margin-top:10px;font-weight:700;padding:10px 12px;border-radius:10px;border:1px solid var(--bfrr-brown);background:#fff;}
.bfrr-contact-result.is-success{background:rgba(31,122,47,.10);}
.bfrr-contact-form input[type=text],.bfrr-contact-form input[type=email]{padding:12px 12px;font-size:16px;}
.bfrr-contact-form textarea{padding:12px 12px;font-size:16px;min-height:140px;resize:vertical;}
.bfrr-contact-result.is-error{background:rgba(160,20,20,.10);}
