/* BCPL Location */
.bcpl-loc-wrap{max-width:1200px;margin:0 auto;padding:16px 12px}
.bcpl-loc-hero{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}
.bcpl-loc-title{margin:0;font-size:28px;line-height:1.15}
.bcpl-loc-subtitle{margin-top:6px;opacity:.75}
.bcpl-loc-dates{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.bcpl-loc-label span{display:block;font-size:12px;opacity:.75;margin-bottom:6px}
.bcpl-loc-input,.bcpl-loc-select{height:42px;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:0 12px;background:#fff;outline:none;min-width:170px}
.bcpl-loc-input:focus,.bcpl-loc-select:focus{border-color:rgba(0,0,0,.25)}
.bcpl-loc-panel{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:14px;box-shadow:0 8px 30px rgba(0,0,0,.04)}
.bcpl-loc-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.bcpl-loc-filter{min-width:220px}
.bcpl-loc-filter-grow{flex:1;min-width:260px}
.bcpl-loc-filter-title{font-size:12px;opacity:.75;margin-bottom:6px}
.bcpl-loc-btn{height:42px;border-radius:12px;border:1px solid rgba(0,0,0,.12);padding:0 14px;background:#fff;cursor:pointer;font-weight:700}
.bcpl-loc-btn:hover{border-color:rgba(0,0,0,.25)}
.bcpl-loc-btn-primary{background:#111;color:#fff;border-color:#111}
.bcpl-loc-btn-primary:hover{filter:brightness(1.05)}
.bcpl-loc-status{min-height:22px;font-size:13px;opacity:.85;margin:8px 2px 12px}
.bcpl-loc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width: 860px){.bcpl-loc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bcpl-loc-input,.bcpl-loc-select{min-width:0;width:100%}.bcpl-loc-filter{min-width:0;flex:1}}
@media (max-width: 520px){.bcpl-loc-grid{grid-template-columns:1fr}}
.bcpl-card{border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.04);display:flex;flex-direction:column}
.bcpl-card-img{aspect-ratio:4/3;background:linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,.02))}
.bcpl-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.bcpl-card-body{padding:12px 12px 12px;display:flex;flex-direction:column;gap:10px;flex:1}
.bcpl-card-title{margin:0;font-size:15px;line-height:1.25}
.bcpl-card-meta{font-size:12px;opacity:.8;display:flex;gap:8px;flex-wrap:wrap}
.bcpl-badge{font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.06)}
.bcpl-card-actions{display:flex;gap:8px;margin-top:auto}
.bcpl-card-actions .bcpl-loc-btn{flex:1}

/* Modal */
.bcpl-loc-modal{position:fixed;inset:0;z-index:99999}
.bcpl-loc-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.bcpl-loc-modal-card{position:relative;max-width:980px;margin:5vh auto;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.bcpl-loc-modal-close{position:absolute;top:10px;right:10px;width:42px;height:42px;border-radius:14px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;font-size:20px;line-height:1}
.bcpl-loc-modal-content{display:grid;grid-template-columns:1.05fr 1fr}
@media(max-width:860px){.bcpl-loc-modal-content{grid-template-columns:1fr}}
.bcpl-loc-modal-img{background:linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,.02));min-height:320px}
.bcpl-loc-modal-img img{width:100%;height:100%;object-fit:cover;display:block}
.bcpl-loc-modal-body{padding:16px}
.bcpl-loc-modal-title{margin:0 0 6px;font-size:20px}
.bcpl-loc-modal-meta{font-size:13px;opacity:.75;margin-bottom:10px}
.bcpl-loc-modal-estimate{font-weight:900;margin:10px 0 12px}
.bcpl-loc-modal-options{border-top:1px solid rgba(0,0,0,.08);padding-top:10px;margin-top:10px}
.bcpl-opt-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed rgba(0,0,0,.08)}
.bcpl-opt-line input{margin-right:10px}
.bcpl-opt-line em{font-style:normal;opacity:.75;font-weight:700}
.bcpl-opt-line-col{flex-direction:column;align-items:flex-start}
.bcpl-opt-label{font-weight:800;margin-bottom:6px}
.bcpl-opt-select{width:100%}
.bcpl-loc-modal-qty{display:flex;gap:10px;align-items:center;margin-top:12px}
.bcpl-loc-modal-qty input{width:90px;height:42px;border-radius:10px;border:1px solid rgba(0,0,0,.12);padding:0 10px}
.bcpl-loc-modal-qtyhint{opacity:.7;font-size:12px}
.bcpl-loc-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.bcpl-loc-note{margin-top:10px;font-size:12px;opacity:.7}
.bcpl-loc-modal-msg{margin-top:10px;font-weight:800}
.bcpl-cart-sub{font-size:12px;opacity:.75;margin-top:4px}
