/* DagTrippers – Tochten. Gebruikt de themakleuren als die bestaan, anders de merkkleuren. */
.bbt-route,.bbt-map{
  --bbt-ink:var(--ink,#1F3A33);--bbt-accent:var(--accent,#C8481F);--bbt-ground:var(--ground,#F4F1EA);
  --bbt-tint:var(--tint,#E4E7DA);--bbt-muted:var(--muted,#4A5A53);--bbt-line:var(--line,#DAD6CB);
  font-family:var(--sans,'DM Sans',Arial,sans-serif);color:var(--bbt-ink);box-sizing:border-box}
.bbt-route *,.bbt-map *{box-sizing:border-box}

/* Route */
.bbt-route{margin:0 0 32px}
.bbt-stats{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0 0 20px;padding:0;list-style:none}
.bbt-stats strong{display:block;font:700 26px var(--serif,Georgia,serif)}
.bbt-stats span{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--bbt-muted)}
.bbt-route__map{height:420px;border-radius:16px;overflow:hidden;background:var(--bbt-tint);border:1px solid var(--bbt-line);z-index:0}
.bbt-route__locked{margin:12px 0 0;padding:12px 16px;background:var(--bbt-tint);border-radius:10px;font-size:15px}
.bbt-route__locked a{color:var(--bbt-accent);font-weight:700;margin-left:6px}
.bbt-route__profile{margin-top:20px;background:#fff;border:1px solid var(--bbt-line);border-radius:14px;padding:14px 16px 8px}
.bbt-route__readout{margin:0 0 4px;font-weight:700;font-size:15px;min-height:1.5em;color:var(--bbt-muted)}
.bbt-route__svg svg{display:block;width:100%;height:auto;touch-action:pan-y;cursor:crosshair;overflow:visible}
.bbt-route__svg svg:focus-visible{outline:3px solid var(--bbt-accent);outline-offset:4px;border-radius:6px}
.bbt-area{fill:var(--bbt-ink);fill-opacity:.12}.bbt-line{fill:none;stroke:var(--bbt-ink);stroke-width:2.5;stroke-linejoin:round}
.bbt-grid{stroke:var(--bbt-line);stroke-width:1}.bbt-tick{font:12px var(--sans,Arial,sans-serif);fill:var(--bbt-muted)}
.bbt-cursor{stroke:var(--bbt-accent);stroke-width:2}.bbt-cursor-dot{fill:var(--bbt-accent);stroke:#fff;stroke-width:2}
.bbt-surface{margin-top:20px}
.bbt-surface__title{font:700 18px var(--serif,Georgia,serif);margin:0 0 8px}
.bbt-surface__bar{display:flex;height:30px;border-radius:8px;overflow:hidden;background:var(--bbt-tint);font:700 12px var(--sans,Arial,sans-serif);color:#fff}
.bbt-surface__seg{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
.bbt-surface__seg--verhard{background:var(--bbt-ink)}
.bbt-surface__seg--half{background:#8FA39A;color:var(--bbt-ink)}
.bbt-surface__seg--onverhard{background:var(--bbt-accent)}
.bbt-surface__legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:8px 0 0;padding:0;font-size:14px;color:var(--bbt-muted)}
.bbt-surface__legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* Kaartpagina */
.bbt-map{display:grid;grid-template-columns:380px 1fr;height:var(--bbt-h,min(82vh,840px));min-height:520px;border:1px solid var(--bbt-line);border-radius:16px;overflow:hidden;background:#fff}
.bbt-map__panel{overflow:auto;padding:18px;border-right:1px solid var(--bbt-line);background:var(--bbt-ground)}
.bbt-map__canvas{min-height:420px;z-index:0}
.bbt-filters{display:grid;gap:14px}
.bbt-field{display:grid;gap:6px;font-weight:700;font-size:14px}
.bbt-field span{display:flex;justify-content:space-between;gap:8px}
.bbt-field output{font-weight:500;color:var(--bbt-muted)}
.bbt-field input[type=search],.bbt-field select{width:100%;padding:11px 12px;border:1px solid var(--bbt-line);border-radius:10px;background:#fff;font:500 16px var(--sans,Arial,sans-serif);color:var(--bbt-ink)}
.bbt-field input[type=range]{width:100%;accent-color:var(--bbt-accent)}
.bbt-chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bbt-chips legend{float:left;margin-right:4px;padding:0;font-weight:700;font-size:14px;width:100%}
.bbt-chip input{position:absolute;opacity:0;width:1px;height:1px}
.bbt-chip span{display:inline-block;padding:8px 14px;border:1px solid var(--bbt-line);border-radius:99px;background:#fff;font:700 14px var(--sans,Arial,sans-serif);cursor:pointer}
.bbt-chip input:checked+span{background:var(--bbt-ink);border-color:var(--bbt-ink);color:var(--bbt-ground)}
.bbt-chip input:focus-visible+span{outline:3px solid var(--bbt-accent);outline-offset:2px}
.bbt-check{display:flex;gap:8px;align-items:center;font-size:15px}
.bbt-reset{justify-self:start;background:none;border:0;padding:0;font:700 14px var(--sans,Arial,sans-serif);color:var(--bbt-accent);text-decoration:none;cursor:pointer}
.bbt-count{margin:18px 0 10px;font-weight:700}
.bbt-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bbt-item{display:flex;gap:12px;background:#fff;border:1px solid var(--bbt-line);border-radius:12px;padding:10px}
.bbt-item__img{width:78px;height:78px;object-fit:cover;border-radius:8px;flex:none}
.bbt-item__body{min-width:0}
.bbt-item__title{font:700 18px/1.2 var(--serif,Georgia,serif);margin:0 0 4px}
.bbt-item__title a{color:inherit;text-decoration:none}.bbt-item__title a:hover{color:var(--bbt-accent)}
.bbt-item__stats{margin:0 0 6px;font-size:14px;color:var(--bbt-muted)}
.bbt-item__chips{margin:0 0 6px;display:flex;flex-wrap:wrap;gap:6px}
.bbt-tag{display:inline-block;font:700 11px/1 var(--sans,Arial,sans-serif);letter-spacing:1px;text-transform:uppercase;padding:5px 9px;border-radius:99px;background:var(--bbt-tint)}
.bbt-tag--free{background:var(--bbt-ink);color:var(--bbt-ground)}.bbt-tag--premium{background:var(--bbt-accent);color:#fff}.bbt-tag--plain{background:transparent;border:1px solid var(--bbt-line);text-transform:none;letter-spacing:0;font-weight:500}
.bbt-item__go{background:none;border:0;padding:0;font:700 14px var(--sans,Arial,sans-serif);color:var(--bbt-accent);cursor:pointer}
.bbt-legend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:16px 0 0;padding:0;font-size:13px;color:var(--bbt-muted)}
.bbt-legend li{display:flex;align-items:center;gap:6px}
.bbt-legend .bbt-pin{position:static;width:14px;height:14px;border-width:2px}
.bbt-legend .bbt-pin--premium::after{font-size:8px}

/* Pinnen */
.bbt-pin-wrap{background:none;border:0}
.bbt-pin{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:2px;border-radius:50%;border:3px solid #fff;background:#55655E;box-shadow:0 1px 5px rgba(0,0,0,.45);color:#fff;font-size:11px;line-height:1}
.bbt-pin--wandelen{background:#1F3A33}.bbt-pin--fietsen{background:#C8481F}
.bbt-pin--premium::after{content:"★"}
.bbt-pop{min-width:180px}.bbt-pop img{display:block;width:100%;height:100px;object-fit:cover;border-radius:6px;margin-bottom:8px}
.bbt-pop strong{display:block;font-size:15px;margin-bottom:2px}.bbt-pop a{color:#C8481F}
.bbt-pop__meta{font-size:13px;color:#4A5A53}

/* Clusters in huiskleuren */
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background-color:rgba(31,58,51,.28)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background-color:#1F3A33;color:#fff;font-weight:700}

@media(max-width:900px){
  .bbt-map{grid-template-columns:1fr;height:auto;min-height:0}
  .bbt-map__canvas{order:-1;height:58vh;min-height:360px}
  .bbt-map__panel{border-right:0;border-top:1px solid var(--bbt-line);max-height:none}
  .bbt-route__map{height:320px}
}

/* Thema-links in lopende tekst mogen de kaartlijst niet opmaken */
.bbt-map .bbt-item__title a{color:inherit!important;text-decoration:none!important}
.bbt-map .bbt-item__title a:hover{color:var(--bbt-accent)!important}
.bbt-map .bbt-pop a{text-decoration:none!important}

/* Einde van een route op de overzichtskaart */
.bbt-legend__label{font-weight:700;color:var(--bbt-ink)}
.bbt-legend .bbt-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #1F3A33}
.bbt-item.is-hot{border-color:var(--bbt-accent);box-shadow:0 0 0 2px rgba(200,72,31,.25)}

/* Meerdaagse tochten */
.bbt-daytabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.bbt-daytab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px 8px 12px;border:2px solid var(--bbt-line);border-left:6px solid var(--c,var(--bbt-ink));border-radius:12px;background:#fff;color:var(--bbt-ink);font:700 14px/1.2 var(--sans,Arial,sans-serif);cursor:pointer;text-align:left}
.bbt-daytab__m{font-weight:500;font-size:12px;color:var(--bbt-muted)}
.bbt-daytab:hover{border-color:var(--bbt-ink);border-left-color:var(--c,var(--bbt-ink))}
.bbt-daytab[aria-pressed=true]{background:var(--bbt-ink);border-color:var(--bbt-ink);border-left-color:var(--c,var(--bbt-ground));color:var(--bbt-ground)}
.bbt-daytab[aria-pressed=true] .bbt-daytab__m{color:#C9D3CD}
.bbt-daytab:focus-visible{outline:3px solid var(--bbt-accent);outline-offset:2px}
.bbt-days{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
.bbt-day{background:#fff;border:1px solid var(--bbt-line);border-left:6px solid var(--c,var(--bbt-ink));border-radius:12px;padding:16px 18px;margin:0}
.bbt-day[hidden]{display:none}
.bbt-day__title{display:flex;align-items:center;gap:10px;margin:0 0 6px;font:700 20px/1.2 var(--serif,Georgia,serif)}
.bbt-day__badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--c,var(--bbt-ink));color:#fff;font:700 13px var(--sans,Arial,sans-serif)}
.bbt-day__stats{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0 0 8px;padding:0;color:var(--bbt-muted);font-size:15px}
.bbt-day__over{margin:0 0 8px;font-size:15px}
.bbt-day__text p{margin:0 0 .7em;font-size:16px}
.bbt-day__dl,.bbt-alldl{margin:10px 0 0}
.bbt-route .bbt-btn{display:inline-block;padding:10px 18px;border-radius:10px;border:2px solid var(--bbt-accent);background:var(--bbt-accent);color:#fff!important;font:700 15px var(--sans,Arial,sans-serif);text-decoration:none!important}
.bbt-route .bbt-btn:hover{filter:brightness(1.08)}
.bbt-route .bbt-btn--line{background:transparent;border-color:var(--bbt-ink);color:var(--bbt-ink)!important}
.bbt-mark{stroke:var(--bbt-muted);stroke-width:1;stroke-dasharray:4 4}
.bbt-marktext{font:700 11px var(--sans,Arial,sans-serif);fill:var(--bbt-muted)}
.bbt-daymark{background:none;border:0}
.bbt-daymark span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--c,#1F3A33);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.5);color:#fff;font:700 13px Arial,sans-serif}
.bbt-line{fill:none;stroke-width:2.5;stroke-linejoin:round}
.bbt-area{fill-opacity:.12}

/* Bereik met twee schuifknoppen (minimum en maximum) */
.bbt-range{position:relative;height:30px}
.bbt-range::before,.bbt-range::after{content:"";position:absolute;top:50%;height:6px;margin-top:-3px;border-radius:3px}
.bbt-range::before{left:11px;right:11px;background:var(--bbt-line)}
.bbt-range::after{left:calc(11px + (100% - 22px) * var(--a,0));right:calc(11px + (100% - 22px) * (1 - var(--b,1)));background:var(--bbt-accent)}
.bbt-map .bbt-range input[type=range]{position:absolute;left:0;top:0;width:100%;height:30px;margin:0;padding:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none;z-index:2}
.bbt-range input[type=range]::-webkit-slider-runnable-track{height:30px;background:transparent;border:0}
.bbt-range input[type=range]::-moz-range-track{height:30px;background:transparent;border:0}
.bbt-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:4px;border-radius:50%;background:#fff;border:3px solid var(--bbt-accent);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:grab}
.bbt-range input[type=range]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--bbt-accent);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:grab}
.bbt-range input[type=range]:focus{outline:none}
.bbt-range input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid var(--bbt-ink);outline-offset:2px}
.bbt-range input[type=range]:focus-visible::-moz-range-thumb{outline:3px solid var(--bbt-ink);outline-offset:2px}

/* Filter en lijst: soorten hoogtepunten */
.bbt-chips--poi .bbt-chip span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 10px}
.bbt-chips--poi .bbt-chip svg{flex:none;width:16px;height:16px}
.bbt-item__pois{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px}
.bbt-item__poi{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--bbt-tint);color:var(--bbt-ink)}
.bbt-item__poi svg{width:14px;height:14px}
