/* Boekelermeer Bedrijvengids — plugin styles */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

.bmr-app, .bmr-detail { --bmr-brand:#05718D; --bmr-brand-dark:#045d74; --bmr-fg:#0f172a; --bmr-muted:#64748b; --bmr-border:#e2e8f0; --bmr-card:#ffffff; font-family:'Plus Jakarta Sans', system-ui, sans-serif; color: var(--bmr-fg); }
.bmr-app h2, .bmr-app h3, .bmr-detail h1, .bmr-detail h2, .bmr-detail h3 { font-family:'Outfit', sans-serif; letter-spacing:-0.01em; }

.bmr-notice { padding:16px 20px; border:1px dashed var(--bmr-border); border-radius:12px; color:var(--bmr-muted); margin-bottom:20px; }

.bmr-map-wrap { width:100%; margin-bottom:32px; }
.bmr-map { width:100%; height:100%; border-radius:14px; overflow:hidden; border:1px solid var(--bmr-border); box-shadow:0 4px 12px rgba(15,23,42,0.06); }

.bmr-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.bmr-h2 { font-size:1.6rem; font-weight:700; margin:0; }
.bmr-sub { color:var(--bmr-muted); margin:2px 0 0; font-size:.9rem; }
html body .bmr-app input.bmr-search,
html body input.bmr-search,
.bmr-app input[type="text"].bmr-search,
.bmr-app input[type="search"].bmr-search {
  appearance:none !important; -webkit-appearance:none !important;
  display:inline-block !important;
  padding:10px 14px !important;
  margin:0 !important;
  border:1px solid var(--bmr-border) !important;
  border-radius:10px !important;
  min-width:240px !important; width:100% !important; max-width:288px !important;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size:0.9rem !important;
  font-weight:400 !important;
  line-height:1.4 !important;
  color:var(--bmr-fg) !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  outline:none !important;
  height:auto !important;
  text-transform:none !important;
  letter-spacing:normal !important;
}
html body .bmr-app input.bmr-search:focus,
html body input.bmr-search:focus {
  border-color:var(--bmr-brand) !important;
  box-shadow:0 0 0 3px rgba(5,113,141,0.15) !important;
  outline:none !important;
}
html body .bmr-app input.bmr-search::placeholder,
html body input.bmr-search::placeholder {
  color:#94a3b8 !important; opacity:1 !important;
}
/* neutralise WP theme search decorations */
.bmr-app input.bmr-search::-webkit-search-decoration,
.bmr-app input.bmr-search::-webkit-search-cancel-button,
.bmr-app input.bmr-search::-webkit-search-results-button,
.bmr-app input.bmr-search::-webkit-search-results-decoration { display:none !important; }

/* v1.3.3 — search shell: visual styling lives on a div so WP input themes cannot change it */
html body .bmr-app .bmr-toolbar .bmr-search-shell {
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:min(100%, 320px) !important;
  min-height:46px !important;
  padding:0 14px !important;
  border:1px solid var(--bmr-border) !important;
  border-radius:12px !important;
  background:#ffffff !important;
  box-shadow:0 8px 20px rgba(15,23,42,0.06) !important;
  box-sizing:border-box !important;
}
html body .bmr-app .bmr-toolbar .bmr-search-shell:focus-within {
  border-color:var(--bmr-brand) !important;
  box-shadow:0 0 0 3px rgba(5,113,141,0.15), 0 8px 20px rgba(15,23,42,0.06) !important;
}
html body .bmr-app .bmr-toolbar .bmr-search-icon {
  display:inline-flex !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  color:var(--bmr-brand) !important;
}
html body .bmr-app .bmr-toolbar .bmr-search-shell input.bmr-search {
  appearance:none !important;
  -webkit-appearance:none !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  outline:none !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:44px !important;
}

.bmr-grid { display:grid; gap:20px; grid-template-columns:repeat(1, 1fr); }
@media (min-width:640px) { .bmr-grid { grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1024px) { .bmr-grid { grid-template-columns:repeat(3, 1fr); } }
@media (min-width:1280px) { .bmr-grid { grid-template-columns:repeat(4, 1fr); } }

.bmr-tile { display:flex; flex-direction:column; border-radius:14px; overflow:hidden; border:1px solid var(--bmr-border); background:#fff; transition:all .25s ease; }
.bmr-tile:hover { transform:translateY(-2px); box-shadow:0 10px 25px -10px rgba(15,23,42,0.15); }
.bmr-tile.bmr-dark { background:var(--bmr-brand); color:#fff; border-color:var(--bmr-brand); }
.bmr-tile-img { display:block; position:relative; aspect-ratio: 4/3; overflow:hidden; background:#f1f5f9; }
.bmr-tile-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.bmr-tile:hover .bmr-tile-img img { transform:scale(1.05); }
.bmr-tile-body { padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.bmr-tile-title { font-size:1.1rem; font-weight:600; margin:0; line-height:1.2; }
.bmr-tile-addr { font-size:.78rem; margin:0; opacity:.7; }
.bmr-tile.bmr-dark .bmr-tile-addr { color:rgba(255,255,255,.8); }
.bmr-tile-quote { font-size:.9rem; line-height:1.55; margin:0; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.bmr-tile.bmr-dark .bmr-tile-quote { color:rgba(255,255,255,.92); }

.bmr-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border-radius:8px; font-weight:600; text-decoration:none; font-size:.9rem; margin-top:auto; transition:all .25s ease; }
.bmr-btn-light { background:var(--bmr-brand); color:#fff; }
.bmr-btn-light:hover { background:var(--bmr-brand-dark); color:#fff; transform:translateY(-1px); box-shadow:0 8px 18px -8px rgba(5,113,141,0.5); }
.bmr-btn-dark { background:#fff; color:var(--bmr-brand); }
.bmr-btn-dark:hover { background:rgba(255,255,255,.9); color:var(--bmr-brand); transform:translateY(-1px); box-shadow:0 8px 18px -6px rgba(0,0,0,0.25); }
.bmr-btn-block { display:flex; width:100%; margin-top:20px; }

/* Detail page */
.bmr-detail { max-width:100%; }
.bmr-hero { position:relative; min-height:340px; background:#0f172a center/cover no-repeat; color:#fff; }
.bmr-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.15) 60%, transparent); }
.bmr-hero-inner { position:relative; z-index:1; max-width:1120px; margin:0 auto; padding:40px 24px; min-height:340px; display:flex; flex-direction:column; justify-content:flex-end; }
@media (min-width:768px) { .bmr-hero { min-height:460px; } .bmr-hero-inner { min-height:460px; } }
.bmr-crumbs { display:inline-flex; align-items:center; gap:8px; background:rgba(0,0,0,.28); padding:6px 14px; border-radius:999px; font-size:.85rem; margin-bottom:18px; align-self:flex-start; }
.bmr-crumbs a { color:rgba(255,255,255,.9); text-decoration:none; }
.bmr-crumbs a:hover { color:#fff; }
.bmr-crumbs span { color:rgba(255,255,255,.5); }
.bmr-crumbs .bmr-current { color:#fff; font-weight:600; }
.bmr-hero-head { display:flex; align-items:flex-end; gap:20px; }
.bmr-hero-logo { flex:0 0 80px; width:80px; height:80px; border-radius:16px; background:#fff; padding:10px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(0,0,0,.2); }
.bmr-hero-logo img { max-width:100%; max-height:100%; object-fit:contain; }
.bmr-title { font-size:2.4rem; font-weight:700; margin:0; line-height:1.1; }
@media (min-width:768px) { .bmr-title { font-size:3rem; } }
.bmr-addr { margin:8px 0 0; font-size:.95rem; color:rgba(255,255,255,.85); }

.bmr-content { max-width:1120px; margin:0 auto; padding:48px 24px; display:grid; gap:48px; grid-template-columns:1fr; }
@media (min-width:1024px) { .bmr-content { grid-template-columns: minmax(0,1fr) 320px; } }
.bmr-article { min-width:0; }
.bmr-headline { color:var(--bmr-brand); font-size:1.6rem; font-weight:600; margin:0 0 18px; line-height:1.25; }
.bmr-lead { font-size:1.1rem; line-height:1.7; font-weight:500; margin:0 0 20px; }
.bmr-p { font-size:1.05rem; line-height:1.75; color:rgba(15,23,42,.85); margin:0 0 20px; }
.bmr-subhead { font-family:'Outfit', sans-serif; color:var(--bmr-brand); font-size:1.35rem; font-weight:600; margin:32px 0 8px; line-height:1.25; }
.bmr-quote { margin:32px 0; border-left:4px solid var(--bmr-brand); background:rgba(5,113,141,.06); padding:20px 24px; border-radius:0 10px 10px 0; }
.bmr-quote p { font-family:'Outfit', sans-serif; font-style:italic; font-size:1.2rem; line-height:1.4; margin:0; color:rgba(15,23,42,.9); }
.bmr-quote footer { margin-top:10px; font-size:.85rem; color:var(--bmr-muted); font-style:normal; }
.bmr-article a { color:var(--bmr-brand); text-decoration:underline; text-underline-offset:2px; }

.bmr-aside { display:flex; flex-direction:column; gap:20px; }
@media (min-width:1024px) { .bmr-aside { position:sticky; top:24px; align-self:flex-start; } }
.bmr-card { background:#fff; border:1px solid var(--bmr-border); border-radius:16px; padding:22px; box-shadow:0 2px 8px rgba(15,23,42,.04); }
.bmr-eyebrow { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--bmr-muted); font-weight:700; margin:0; }
.bmr-contact-name { font-family:'Outfit', sans-serif; font-size:1.1rem; font-weight:600; margin:6px 0 0; }
.bmr-contact-role { font-size:.9rem; color:var(--bmr-muted); margin:2px 0 0; }
.bmr-mini-map { height:420px; border-radius:16px; overflow:hidden; border:1px solid var(--bmr-border); }
.bmr-mini-map .bmr-map { border-radius:0; border:0; box-shadow:none; }

.bmr-pop { width:300px; font-family:'Plus Jakarta Sans', system-ui, sans-serif; }
.bmr-pop-head { display:flex; gap:14px; padding:18px 18px 14px; align-items:flex-start; }
.bmr-pop-logo { flex:0 0 56px; width:56px; height:56px; border-radius:14px; background:#f8fafc; border:1px solid #f1f5f9; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.bmr-pop-logo img { width:100%; height:100%; object-fit:contain; padding:8px; box-sizing:border-box; }
.bmr-pop-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#05718D; color:#fff; font-family:'Outfit', sans-serif; font-weight:700; font-size:22px; }
.bmr-pop-title { font-family:'Outfit', sans-serif; font-weight:600; font-size:18px; color:#05718D; line-height:1.15; }
.bmr-pop-addr { font-size:13px; color:#64748b; margin-top:4px; line-height:1.45; }
.bmr-pop-cta { display:flex; margin:0 18px 18px; padding:12px 16px; border-radius:12px; background:#05718D; color:#fff !important; font-size:14px; font-weight:600; text-decoration:none; justify-content:center; align-items:center; gap:8px; transition:all .2s ease; }
.bmr-pop-cta:hover { background:#045d74; transform:translateY(-1px); }

/* Leaflet pin — remove default marker chrome */
.bmr-pin { background: none !important; border: 0 !important; }
.leaflet-popup.bmr-leaflet-popup .leaflet-popup-content-wrapper { padding: 0; border-radius: 14px; box-shadow: 0 12px 40px rgba(5,113,141,.18); overflow: hidden; }
.leaflet-popup.bmr-leaflet-popup .leaflet-popup-content { margin: 0; }
.leaflet-popup.bmr-leaflet-popup .leaflet-popup-tip { background: #ffffff; }

/* v1.2.1 — WordPress theme overrides */
.bmr-app .bmr-tile.bmr-dark .bmr-tile-title,
.bmr-app .bmr-tile.bmr-dark .bmr-tile-title a,
.bmr-app .bmr-tile.bmr-dark h1,
.bmr-app .bmr-tile.bmr-dark h2,
.bmr-app .bmr-tile.bmr-dark h3,
.bmr-app .bmr-tile.bmr-dark h4 { color:#ffffff !important; }
.bmr-app .bmr-tile.bmr-light .bmr-tile-title { color: var(--bmr-fg) !important; }

/* Buttons: prevent WP themes from stretching them full width */
.bmr-app .bmr-btn,
.bmr-detail .bmr-btn {
  display:inline-flex !important;
  width:auto !important;
  max-width:max-content !important;
  align-self:flex-start !important;
  box-sizing:border-box !important;
  line-height:1.2 !important;
  text-align:center;
}
.bmr-app .bmr-btn.bmr-btn-block,
.bmr-detail .bmr-btn.bmr-btn-block {
  display:flex !important;
  width:100% !important;
  max-width:100% !important;
  align-self:stretch !important;
}

/* v1.2.2 — force hero text white against theme overrides */
.bmr-detail .bmr-hero,
.bmr-detail .bmr-hero *,
.bmr-detail .bmr-hero h1,
.bmr-detail .bmr-hero h2,
.bmr-detail .bmr-hero .bmr-title,
.bmr-detail .bmr-hero .bmr-addr,
.bmr-detail .bmr-crumbs,
.bmr-detail .bmr-crumbs a,
.bmr-detail .bmr-crumbs .bmr-current { color:#ffffff !important; }
.bmr-detail .bmr-crumbs a { opacity:.9; }
.bmr-detail .bmr-crumbs span { color:rgba(255,255,255,.55) !important; }
.bmr-detail .bmr-hero .bmr-addr { color:rgba(255,255,255,.9) !important; }

/* Containment: keep plugin output inside its Gutenberg block/row */
.bmr-app, .bmr-detail { max-width:100%; box-sizing:border-box; }
.bmr-app *, .bmr-detail * { box-sizing:border-box; }
.bmr-app img { max-width:100%; height:auto; }
