/* camps pages refine (2026-11-03): gated by tools/refine-1103.ENABLED / BB_REFINE=1 */
.bb-sdate{margin:14px 0 0}
.bb-sdate[hidden]{display:none!important}
.bb-sdate .bb-drow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 0}
.bb-sdate .bb-dl{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;text-align:left;align-items:stretch;display:flex;flex-direction:column;gap:3px;min-width:0;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-s,#4a5a76)}
.bb-sdate input[type=date]{min-height:46px;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line,#cdd9e8);border-radius:14px;background:var(--cream,#fffdf6);font:inherit;font-size:1rem;font-weight:500;color:inherit;text-transform:none;letter-spacing:0}
.bb-sdate .bb-drule{margin:10px 0 0;display:flex;flex-direction:column;gap:2px}
.bb-sdate .bb-dr{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 2px;font-size:.95rem;cursor:pointer;background:none!important;border:0!important;box-shadow:none!important;width:auto!important}
.bb-sdate .bb-dr input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--blue,#2b6cb0)}
.bb-cc-hit{display:inline-block;margin:6px 0 2px;padding:3px 10px;border-radius:999px;background:#e8f1e4;color:#2f5a2f;font-size:.82rem;font-weight:700;line-height:1.35}
.bb-cc-hit i{font-style:normal;margin-right:3px}
.bb-sr-det{list-style:none;grid-column:1/-1;margin:22px 0 0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.bb-sr-det>details{border:1px solid var(--line,#cdd9e8);border-radius:16px;background:var(--cream,#fffdf6)}
.bb-sr-det>details>summary{cursor:pointer;padding:14px 16px;font-size:1rem;list-style:none;min-height:44px;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.bb-sr-det>details>summary::-webkit-details-marker{display:none}
.bb-sr-det>details>summary::before{content:"\25B8";font-size:.9rem}
.bb-sr-det>details[open]>summary::before{content:"\25BE"}
.bb-sr-det>details>summary span{font-weight:500;opacity:.75;font-size:.9rem}
.bb-sr-det .bb-sr-det-s{padding:0 16px;margin:0 0 6px}
.bb-sr-detl{list-style:none;margin:0;padding:0 12px 12px;display:contents}
.bb-sr-det>details[open]>.bb-sr-detl{display:block}
.bb-sr-detl>li.bb-sr{margin-top:12px}
.bb-sr-grp-chk{margin-top:12px!important}
.bb-sr-grp-main b{font-size:1.05rem}
.bb-sform .bb-sdate .bb-dclr{display:inline-block;width:auto!important;min-height:0!important;margin:2px 0 0!important;padding:6px 2px!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;font:inherit;font-size:.9rem;font-weight:600;text-transform:none!important;letter-spacing:0!important;text-decoration:underline;color:var(--brand,#3b5b8f)!important;cursor:pointer}
.bb-sdate .bb-sday-n{margin:8px 0 0}
.bb-sr-grp{list-style:none;margin:18px 0 6px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;grid-column:1/-1}
.bb-sr-grp p{margin:0;font-size:1rem}
.bb-sr-grp span{font-weight:500;opacity:.75;margin-left:6px}
.bb-sr-grp .bb-sr-grp-s{font-size:.9rem;opacity:.8;margin-top:2px}
.bb-sr-grp-np{margin-top:22px!important;padding:0 4px!important}
/* sticky "View N camps" bar must never cover a filter control (phones / tablets: the bar is fixed above the tab bar) */
@media(max-width:860px){
  .bb-cform{padding-bottom:14px!important}.bb-cform button,.bb-cform input,.bb-cform select,.bb-cform a{scroll-margin-bottom:calc(64px + var(--bb-tab-h,62px) + env(safe-area-inset-bottom,0px))}
}

.bb-cc-chk{display:block;margin:6px 0 2px;font-size:.82rem;line-height:1.4;color:#4a5b6e}
/* 2026-11-03 (e): the days actually searched, shown when the range has weekend days and weekends are off */
.bb-sdate .bb-sdays{margin:10px 0 0;padding:9px 12px;border-radius:12px;background:#eaf2fb;border:1px solid var(--line,#cdd9e8);color:#1f3b5c;font-size:.98rem;font-weight:700;line-height:1.35}
.bb-sdate .bb-sdays[hidden]{display:none!important}
/* 1104f: date-search result cards show only matching dates, hours, area and price; the rest is on View details */
html.bb-dsearch #bb-cl li.bb-sr-camp .bb-cc-d,
html.bb-dsearch #bb-cl li.bb-sr-camp .bb-cc-s,
html.bb-dsearch #bb-cl li.bb-sr-camp .bb-pl-r[data-k="ages"],
html.bb-dsearch #bb-cl li.bb-sr-camp .bb-pl-r[data-k="dates"],
html.bb-dsearch #bb-cl li.bb-sr-camp .bb-pl-r[data-k="extended-care"]{display:none}
html.bb-dsearch #bb-cl li.bb-sr-camp .bb-pl-v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bb-fit .bb-fit-same{color:#1f5a3a;font-weight:600}
.bb-fit .bb-fit-diff b{font-weight:600;margin-right:.3em}
.badge.bb-sn27{background:#f3efe6;color:#5b5446}
