
.bm-bs{
  --bm-dark:#102a24;
  --bm-dark-2:#17352e;
  --bm-cream:#f5f2ea;
  --bm-muted:rgba(245,242,234,.82);
  --bm-line:rgba(245,242,234,.18);
  --bm-green:#4fd07a;
  --bm-orange:#f0a640;
  --bm-red:#df5d57;
  position:fixed;
  left:22px;
  bottom:22px;
  z-index:99990;
  font-family:inherit;
  color:var(--bm-cream);
}
.bm-bs,.bm-bs *{box-sizing:border-box}

/* Floating trigger — deliberately hard reset against Elementor/theme button styles */
.bm-bs .bm-bs-trigger{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:grid!important;
  grid-template-columns:10px 1fr 18px!important;
  align-items:center!important;
  gap:10px!important;
  width:auto!important;
  min-width:172px!important;
  min-height:0!important;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:12px!important;
  background:rgba(16,42,36,.96)!important;
  background-color:rgba(16,42,36,.96)!important;
  color:#fff!important;
  box-shadow:0 10px 30px rgba(0,0,0,.22)!important;
  text-align:left!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transform:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.bm-bs .bm-bs-trigger:hover,
.bm-bs .bm-bs-trigger:focus,
.bm-bs .bm-bs-trigger:active{
  background:rgba(16,42,36,.99)!important;
  background-color:rgba(16,42,36,.99)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.26)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.bm-bs-pulse,.bm-bs-dot,.bm-bs-light{display:block;border-radius:50%;flex:0 0 auto}
.bm-bs-pulse{width:9px;height:9px}
.bm-bs-green .bm-bs-pulse,.bm-bs-green .bm-bs-dot{background:var(--bm-green)}
.bm-bs-orange .bm-bs-pulse,.bm-bs-orange .bm-bs-dot{background:var(--bm-orange)}
.bm-bs-red .bm-bs-pulse,.bm-bs-red .bm-bs-dot{background:var(--bm-red)}
.bm-bs-green .bm-bs-pulse{box-shadow:0 0 0 4px rgba(79,208,122,.12)}
.bm-bs-orange .bm-bs-pulse{box-shadow:0 0 0 4px rgba(240,166,64,.12)}
.bm-bs-red .bm-bs-pulse{box-shadow:0 0 0 4px rgba(223,93,87,.12)}
.bm-bs-trigger-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.bm-bs-trigger-copy small{font-size:11px;letter-spacing:.13em;text-transform:uppercase;opacity:.82;margin:0 0 3px!important;color:#fff!important}
.bm-bs-trigger-copy strong{font-size:16px;font-weight:700;line-height:1.2;color:#fff!important;white-space:nowrap}
.bm-bs-arrow{font-size:16px;line-height:1;color:rgba(255,255,255,.90);transition:transform .2s ease}
.bm-bs.is-open .bm-bs-arrow{transform:rotate(180deg)}

/* Panel */
.bm-bs-panel{
  position:absolute;
  left:0;
  bottom:58px;
  width:min(380px,calc(100vw - 30px));
  max-height:min(650px,calc(100vh - 94px));
  overflow:auto;
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(16,42,36,.985);
  box-shadow:0 24px 65px rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px) scale(.99);
  transform-origin:left bottom;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.bm-bs.is-open .bm-bs-panel{opacity:1;visibility:visible;transform:none}
.bm-bs-panel::-webkit-scrollbar{width:5px}.bm-bs-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:20px}

.bm-bs-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}
.bm-bs-eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.72);margin-bottom:3px}
.bm-bs-head h3{color:#fff!important;font-size:27px!important;line-height:1.05!important;margin:0!important;font-weight:650!important;letter-spacing:-.02em!important}
.bm-bs .bm-bs-close{
  -webkit-appearance:none!important;appearance:none!important;width:28px!important;height:28px!important;min-height:0!important;padding:0!important;margin:0!important;
  border:1px solid rgba(255,255,255,.10)!important;border-radius:9px!important;background:transparent!important;background-color:transparent!important;color:rgba(255,255,255,.86)!important;
  font-size:18px!important;font-weight:300!important;line-height:24px!important;cursor:pointer!important;box-shadow:none!important
}
.bm-bs .bm-bs-close:hover,.bm-bs .bm-bs-close:focus{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}

/* Overall status becomes a slim status line instead of a large card */
.bm-bs-summary{display:grid;grid-template-columns:11px 1fr;align-items:center;gap:11px;padding:12px 0 14px;margin:0;border:0;border-bottom:1px solid var(--bm-line);background:none;border-radius:0}
.bm-bs-dot{width:11px;height:11px}
.bm-bs-summary div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.bm-bs-summary strong{font-size:16px;line-height:1.25;color:#fff;font-weight:700}
.bm-bs-summary span{font-size:14px;line-height:1.4;color:rgba(255,255,255,.88);margin:0;text-align:right}

/* Complete status — compact editorial rows */
.bm-bs-details{display:flex;flex-direction:column;padding-top:4px}
.bm-bs-detail{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:16px;line-height:1.5}
.bm-bs-detail>span{color:rgba(255,255,255,.90)}
.bm-bs-detail strong{font-weight:650;color:#fff}
.bm-bs-notice{margin-top:9px;padding:9px 10px;border-left:2px solid var(--bm-orange);border-radius:0 8px 8px 0;background:rgba(240,166,64,.06);display:grid;gap:2px;font-size:14px}
.bm-bs-notice strong{color:#fff}.bm-bs-notice span{color:rgba(255,255,255,.86)}

.bm-bs-divider{height:1px;background:rgba(255,255,255,.09);margin:13px 0 11px}
.bm-bs-mini-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.bm-bs-mini-title span{font-size:16px;font-weight:700;color:#fff}
.bm-bs-mini-title small{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.66)}

/* Three traffic light statuses: one clean compact block */
.bm-bs-cards{display:grid;gap:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.025)}
.bm-bs-card{display:grid;grid-template-columns:11px 1fr;align-items:center;gap:11px;padding:11px 12px;border:0;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0;background:transparent}
.bm-bs-card:last-child{border-bottom:0}
.bm-bs-light{width:11px;height:11px;box-shadow:none}
.bm-bs-light-green{background:var(--bm-green)}
.bm-bs-light-orange{background:var(--bm-orange)}
.bm-bs-light-red{background:var(--bm-red)}
.bm-bs-card div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.bm-bs-card strong{font-size:16px;color:#fff;font-weight:700}
.bm-bs-card span:not(.bm-bs-light){font-size:14px;color:rgba(255,255,255,.88);margin:0;text-align:right}
.bm-bs-updated{font-size:12px;color:rgba(255,255,255,.76);margin-top:9px;text-align:right}

@media(max-width:767px){
  .bm-bs{left:12px;bottom:12px}
  .bm-bs .bm-bs-trigger{min-width:160px!important;padding:10px 12px!important;border-radius:11px!important}
  .bm-bs-panel{bottom:54px;width:calc(100vw - 24px);max-height:calc(100vh - 78px);padding:16px;border-radius:16px}
  .bm-bs-detail{grid-template-columns:105px 1fr;gap:10px}
  .bm-bs-head h3{font-size:21px!important}
  .bm-bs-summary div,.bm-bs-card div{display:block}
  .bm-bs-summary span,.bm-bs-card span:not(.bm-bs-light){display:block;text-align:left;margin-top:2px}
}
@media(prefers-reduced-motion:reduce){.bm-bs-trigger,.bm-bs-panel,.bm-bs-arrow{transition:none!important}}

/* IntoGolf API blocks */
.bm-bs-api-warning{margin:10px 0 2px;padding:9px 10px;border:1px solid rgba(240,166,64,.28);border-radius:9px;background:rgba(240,166,64,.08);color:#fff;font-size:14px;line-height:1.4}
.bm-bs-course-list{display:grid;gap:12px;margin-top:10px}
.bm-bs-course{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025)}
.bm-bs-course-head{display:grid;grid-template-columns:30px 1fr 12px;gap:10px;align-items:center;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.13)}
.bm-bs-course-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.07);color:#fff}
.bm-bs-course-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bm-bs-course-head>div{min-width:0;display:flex;flex-direction:column}
.bm-bs-course-head strong{font-size:17px;color:#fff;line-height:1.2}
.bm-bs-course-head small{margin-top:2px;font-size:11px;color:rgba(255,255,255,.72);line-height:1.2}
.bm-bs-course-updated{margin-top:7px;font-size:11px;color:rgba(255,255,255,.72);text-align:right}
.bm-bs-panel-inner{display:block}

/* Inline shortcode: [baanstatus] */
.bm-bs-inline{
  --bm-dark:#102a24;
  --bm-dark-2:#17352e;
  --bm-cream:#f5f2ea;
  --bm-muted:rgba(245,242,234,.82);
  --bm-line:rgba(245,242,234,.18);
  --bm-green:#4fd07a;
  --bm-orange:#f0a640;
  --bm-red:#df5d57;
  width:100%;
  color:var(--bm-cream);
  font-family:inherit;
}
.bm-bs-inline,.bm-bs-inline *{box-sizing:border-box}
.bm-bs-inline-inner{
  width:100%;
  padding:22px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:#102a24;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
}
.bm-bs-inline .bm-bs-head{margin-bottom:14px}
.bm-bs-inline .bm-bs-head h3{color:#fff!important;font-size:30px!important;line-height:1.08!important;margin:0!important;font-weight:650!important;letter-spacing:-.02em!important}
.bm-bs-inline .bm-bs-eyebrow{font-size:12px;color:rgba(255,255,255,.78)}
.bm-bs-inline .bm-bs-summary strong,
.bm-bs-inline .bm-bs-detail strong,
.bm-bs-inline .bm-bs-card strong,
.bm-bs-inline .bm-bs-mini-title span,
.bm-bs-inline .bm-bs-course-head strong,
.bm-bs-inline .bm-bs-notice strong{color:#fff!important}
.bm-bs-inline .bm-bs-detail>span{color:rgba(255,255,255,.92)}
.bm-bs-inline .bm-bs-summary span,
.bm-bs-inline .bm-bs-card span:not(.bm-bs-light),
.bm-bs-inline .bm-bs-notice span{color:rgba(255,255,255,.90)}
.bm-bs-inline .bm-bs-course-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bm-bs-inline .bm-bs-course{padding:16px}
.bm-bs-inline .bm-bs-detail{grid-template-columns:minmax(150px, .75fr) 1fr;font-size:17px;padding:8px 0}
.bm-bs-inline .bm-bs-card{padding:13px 14px}
.bm-bs-inline .bm-bs-card strong{font-size:17px}
.bm-bs-inline .bm-bs-card span:not(.bm-bs-light){font-size:15px}
.bm-bs-inline .bm-bs-updated{font-size:13px}

@media(max-width:767px){
  .bm-bs-inline-inner{padding:17px;border-radius:15px}
  .bm-bs-inline .bm-bs-course-list{grid-template-columns:1fr}
  .bm-bs-inline .bm-bs-head h3{font-size:25px!important}
  .bm-bs-inline .bm-bs-detail{grid-template-columns:125px 1fr;font-size:16px;gap:10px}
}

/* v1.0.5 — modernere statuskaarten, driving range en baanbezetting vandaag */
.bm-bs-course-list{grid-template-columns:1fr;gap:10px}
.bm-bs-course{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));border-color:rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.bm-bs-range-status{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:12px 0 2px;font-size:16px}
.bm-bs-range-status span{color:rgba(255,255,255,.78)}.bm-bs-range-status strong{color:#fff}
.bm-bs-cards{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:14px}
.bm-bs-card{border-bottom:0;border-right:1px solid rgba(255,255,255,.11);min-width:0}
.bm-bs-card:last-child{border-right:0}
.bm-bs-card div{display:block}.bm-bs-card span:not(.bm-bs-light){display:block;text-align:left;margin-top:2px;font-size:12px}
.bm-bs-occupancy{border:1px solid rgba(255,255,255,.09);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}
.bm-bs-occupancy-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.10)}
.bm-bs-occupancy-row:last-child{border-bottom:0}.bm-bs-occupancy-row time{font-size:13px;color:rgba(255,255,255,.82);white-space:nowrap}
.bm-bs-occupancy-row div{min-width:0}.bm-bs-occupancy-row strong{display:block;color:#fff;font-size:14px}.bm-bs-occupancy-row small{display:block;margin-top:2px;color:rgba(255,255,255,.65);font-size:11px}
.bm-bs-occupancy-row>span{font-size:12px;color:rgba(255,255,255,.65);text-align:right}.bm-bs-occupancy-empty{padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;color:rgba(255,255,255,.72);font-size:13px}
.bm-bs-occupancy-title{margin-bottom:8px}
.bm-bs-inline .bm-bs-course-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bm-bs-inline .bm-bs-course{padding:15px}.bm-bs-inline .bm-bs-course-head{grid-template-columns:36px minmax(0,1fr) 11px}.bm-bs-inline .bm-bs-course-icon{width:36px;height:36px}
.bm-bs-inline .bm-bs-detail{grid-template-columns:minmax(105px,.8fr) 1fr;font-size:15px;padding:7px 0}.bm-bs-inline .bm-bs-range-status{grid-template-columns:minmax(105px,.8fr) 1fr;font-size:15px}
.bm-bs-inline .bm-bs-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.bm-bs-inline .bm-bs-course-list{grid-template-columns:1fr}.bm-bs-inline .bm-bs-cards{grid-template-columns:1fr}.bm-bs-inline .bm-bs-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}.bm-bs-inline .bm-bs-card:last-child{border-bottom:0}}
@media(max-width:767px){.bm-bs-cards{grid-template-columns:1fr}.bm-bs-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}.bm-bs-card:last-child{border-bottom:0}.bm-bs-occupancy-row{grid-template-columns:78px minmax(0,1fr)}.bm-bs-occupancy-row>span{grid-column:2;text-align:left}.bm-bs-range-status{grid-template-columns:105px 1fr}}


/* v1.0.6 — compacte stoplichtstatus in smallere shortcode/popup containers */
.bm-bs-inline-inner{
  container-type:inline-size;
  container-name:baanstatus;
}

/* Stoplichtkaarten mogen nooit de titel in een te smalle kolom persen. */
.bm-bs-card strong{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.bm-bs-card div{
  min-width:0;
}

/* Binnen een smallere shortcodecontainer: drie compacte regels i.p.v. 3 smalle kolommen. */
@container baanstatus (max-width: 820px){
  .bm-bs-inline .bm-bs-cards{
    grid-template-columns:1fr;
  }
  .bm-bs-inline .bm-bs-card{
    grid-template-columns:11px minmax(0,1fr);
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.11);
    padding:12px 14px;
  }
  .bm-bs-inline .bm-bs-card:last-child{
    border-bottom:0;
  }
  .bm-bs-inline .bm-bs-card div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
  }
  .bm-bs-inline .bm-bs-card strong{
    font-size:15px;
    line-height:1.3;
  }
  .bm-bs-inline .bm-bs-card span:not(.bm-bs-light){
    margin:0;
    font-size:13px;
    line-height:1.3;
    text-align:right;
  }
}

/* Fallback voor browsers zonder container queries en voor de floating popup. */
@media(max-width:900px){
  .bm-bs-inline .bm-bs-cards{
    grid-template-columns:1fr;
  }
  .bm-bs-inline .bm-bs-card{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.11);
  }
  .bm-bs-inline .bm-bs-card:last-child{
    border-bottom:0;
  }
}

.bm-bs-panel .bm-bs-cards{
  grid-template-columns:1fr;
}
.bm-bs-panel .bm-bs-card{
  border-right:0;
  border-bottom:1px solid rgba(255,255,255,.11);
}
.bm-bs-panel .bm-bs-card:last-child{
  border-bottom:0;
}
