/* Betsara Points de vente — reprend les variables du thème wooden-betsara quand elles existent */
.bpdv {
  --bpdv-green: var(--color-green, #2f5d3a);
  --bpdv-ink: #1f2420;
  --bpdv-muted: #5f6b62;
  --bpdv-line: #e3e6e1;
  --bpdv-bg: #ffffff;
  --bpdv-soft: #f4f6f2;
  --bpdv-amber: #9a6a12;
  margin: 0 0 14px;
}
.bpdv-overlay { --bpdv-green: var(--color-green, #2f5d3a); --bpdv-ink: #1f2420; --bpdv-muted: #5f6b62; --bpdv-line: #e3e6e1; --bpdv-bg: #fff; --bpdv-soft: #f4f6f2; --bpdv-amber: #9a6a12; }

.bpdv-open {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border: 0; border-radius: 4px; cursor: pointer;
  background: var(--bpdv-green); color: #fff; font: inherit; font-weight: 600; line-height: 1.2;
}
.bpdv-open:hover { opacity: .9; }
.bpdv-open:focus-visible, .bpdv-btn:focus-visible, .bpdv-close:focus-visible { outline: 2px solid var(--bpdv-ink); outline-offset: 2px; }
.bpdv-count { font-weight: 400; opacity: .85; font-size: .9em; }
.bpdv-count::before { content: "·"; margin: 0 6px 0 2px; }

/* Modale */
html.bpdv-lock, html.bpdv-lock body { overflow: hidden; }
.bpdv-overlay {
  position: fixed; inset: 0; z-index: 99999; background: rgba(20, 24, 21, .55);
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.bpdv-dialog {
  background: var(--bpdv-bg); color: var(--bpdv-ink); width: min(980px, 100%); max-height: calc(100vh - 32px);
  border-radius: 8px; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.bpdv-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--bpdv-line); }
.bpdv-head h2 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.bpdv-close { background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: var(--bpdv-muted); padding: 0 4px; }

.bpdv-body { display: grid; grid-template-columns: minmax(280px, 380px) 1fr; min-height: 0; flex: 1; }
.bpdv-inline .bpdv-body { border: 1px solid var(--bpdv-line); border-radius: 8px; overflow: hidden; height: 620px; }
.bpdv-side { display: flex; flex-direction: column; min-height: 0; padding: 14px; gap: 10px; border-right: 1px solid var(--bpdv-line); }
.bpdv-map { min-height: 420px; height: 100%; background: var(--bpdv-soft); }

.bpdv-search { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.bpdv-search input { flex: 1 1 140px; min-width: 0; padding: 9px 10px; border: 1px solid var(--bpdv-line); border-radius: 4px; font: inherit; }
.bpdv-btn { padding: 9px 12px; border-radius: 4px; border: 1px solid var(--bpdv-green); background: var(--bpdv-green); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.bpdv-btn-ghost { background: transparent; color: var(--bpdv-green); }
.bpdv-status { margin: 0; color: var(--bpdv-muted); font-size: .92rem; }

.bpdv-list { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; min-height: 0; }
.bpdv-list li { border-bottom: 1px solid var(--bpdv-line); }
.bpdv-list li:last-child { border-bottom: 0; }
.bpdv-card { padding: 10px 2px; font-size: .93rem; line-height: 1.4; }
.bpdv-card-head { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.bpdv-dist { color: var(--bpdv-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bpdv-addr { color: var(--bpdv-muted); }
.bpdv-approx { color: var(--bpdv-muted); font-size: .82rem; font-style: italic; }
.bpdv-tier { display: inline-block; margin: 3px 0; font-size: .8rem; font-weight: 600; }
.bpdv-tier::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; }
.bpdv-tier.is-shelf { color: var(--bpdv-green); }
.bpdv-tier.is-shelf::before { background: var(--bpdv-green); }
.bpdv-tier.is-listed { color: var(--bpdv-amber); }
.bpdv-tier.is-listed::before { background: var(--bpdv-amber); }
.bpdv-actions { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 4px; }
.bpdv-actions a { color: var(--bpdv-green); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.bpdv-carries { margin-top: 4px; color: var(--bpdv-muted); font-size: .85rem; }
.bpdv-carries ul { margin: 4px 0 0 18px; padding: 0; }

.bpdv-online { margin: 0; padding-top: 10px; border-top: 1px solid var(--bpdv-line); font-size: .9rem; color: var(--bpdv-muted); }
.bpdv-link { background: none; border: 0; padding: 0; font: inherit; color: var(--bpdv-green); font-weight: 600; text-decoration: underline; cursor: pointer; }

/* Marqueurs */
.bpdv-pin span {
  display: block; width: 18px; height: 18px; margin: 2px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
  border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.35);
}
.bpdv-pin.is-shelf span { background: var(--bpdv-green, #2f5d3a); }
.bpdv-pin.is-listed span { background: var(--bpdv-amber, #9a6a12); }
.leaflet-popup-content .bpdv-card { padding: 0; min-width: 200px; }

@media (max-width: 760px) {
  .bpdv-overlay { padding: 0; align-items: stretch; }
  .bpdv-dialog { max-height: 100vh; height: 100%; border-radius: 0; }
  .bpdv-body { grid-template-columns: 1fr; grid-template-rows: 240px 1fr; }
  .bpdv-map { order: -1; min-height: 240px; }
  .bpdv-side { border-right: 0; }
  .bpdv-inline .bpdv-body { height: auto; grid-template-rows: 260px auto; }
  .bpdv-inline .bpdv-list { max-height: 420px; }
}

/* Filet de sécurité si le script Okeanys est injecté hors gabarit panier */
.okeanys--widget, .okeanys--button, .okeanys--modal { display: none !important; }
