/* The Bluebird List - listing detail rows, camp-day filters, Save for later (2026-11-03, round 2). Warm style kept: same cream/powder/navy palette. */
/* --- compact detail rows on camp cards: Ages · Area · Dates · Hours · Price · Extended care (always this order) --- */
.bb-cres .bb-sr-camp .bb-pl{display:grid;grid-template-columns:1fr;gap:2px;margin:4px 0 0;padding:0;font-size:.84rem;line-height:1.35;color:var(--ink2,#2f4b43)}
.bb-pl .bb-pl-r{display:grid;grid-template-columns:7.3rem 1fr;gap:8px;align-items:baseline;min-width:0}
.bb-pl .bb-pl-k{font:800 .68rem "Nunito Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--navy,#24518a);opacity:.85;white-space:nowrap}
.bb-pl .bb-pl-v{min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.bb-pl .bb-pl-v.is-np{color:var(--muted,#5a625c);font-style:italic}
@media(min-width:861px){.bb-cres .bb-sr-camp .bb-pl{grid-template-columns:1fr 1fr;column-gap:20px}}
/* --- camp day filter chips (same chip look as Season) --- */
.bb-sday{margin:10px 0 0}
.bb-sday-n{margin:6px 0 0;font-size:.8rem;color:var(--muted,#5a625c)}
.bb-sform .bb-dchips{display:flex;flex-wrap:wrap;gap:6px}
.bb-sform .bb-dchip{appearance:none;background:#fffdf7;border:1.5px solid rgba(169,196,224,.85);color:var(--navy,#24518a);border-radius:999px;padding:8px 12px;font:700 .82rem "Nunito Sans",system-ui,sans-serif;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;gap:6px}
.bb-sform .bb-dchip:hover{border-color:var(--brand,#5f83b3);background:var(--powder-l,#eaf1f8)}
.bb-sform .bb-dchip[aria-pressed="true"]{background:var(--powder-l,#eaf1f8);border-color:var(--brand,#5f83b3)}
.bb-sform .bb-dchip .bb-dn{font-weight:600;opacity:.7}
#bb-cc-wrap.bb-pl-hide{display:none!important}
.bb-saved-link{display:inline-flex;gap:6px;align-items:center;margin:0 0 0 4px;font:800 .86rem "Nunito Sans",system-ui,sans-serif;color:var(--navy,#24518a);text-decoration:none;border-bottom:1.5px solid rgba(169,196,224,.85)}
.bb-saved-link:hover{border-color:var(--brand,#5f83b3)}
/* --- Save button: styled text heart, no image icon --- */
.bb-save{appearance:none;display:inline-flex;align-items:center;gap:6px;background:#fffdf7;border:1.5px solid rgba(169,196,224,.95);color:var(--navy,#24518a);border-radius:999px;padding:6px 12px;min-height:36px;font:800 .8rem "Nunito Sans",system-ui,sans-serif;cursor:pointer;line-height:1;z-index:2}
.bb-save:hover{border-color:var(--brand,#5f83b3);background:var(--coral-l,#e5eef8)}
.bb-save:focus-visible{outline:3px solid var(--brand,#5f83b3);outline-offset:2px}
.bb-save.is-on{background:var(--coral-l,#e5eef8);border-color:var(--brand,#5f83b3);color:var(--brand-d,#3f6193)}
@media(max-width:560px){.bb-save{min-height:40px;padding:8px 14px}}
.bb-cres .bb-sr-camp{position:relative}
.bb-cres .bb-sr-camp .bb-save{position:absolute;right:12px;bottom:10px}
.bb-cres .bb-sr-camp a{padding-bottom:14px}
.bb-cres .bb-sr-camp .bb-cc-go{padding-right:96px;min-height:30px;display:flex;align-items:center}
.card.lcard>.bb-save,.bb-wk-card-b>.bb-save{margin-top:6px;align-self:flex-start}
.card.lcard>.bb-save{position:absolute;top:12px;right:12px}
.bb-wk-card-b>.bb-save{margin-top:10px}
.bb-save-row{margin:8px 0 0}
.bb-save-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(10px);background:var(--navy,#1d3a32);color:#fff;border-radius:999px;padding:9px 16px;font:700 .86rem "Nunito Sans",system-ui,sans-serif;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:60;max-width:90vw}
.bb-save-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
/* --- Saved page --- */
.bb-saved-wrap{padding:8px 0 64px}
.bb-saved-h{font-family:var(--sc,serif);font-size:1.5rem;color:var(--navy,#24518a);margin:28px 0 4px}
.bb-saved-t{font:800 .72rem "Nunito Sans",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--teal,#2c6e63);margin:14px 0 8px}
.bb-saved-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bb-saved-empty{background:var(--card,#fff);border:1px solid var(--line,#efe3d2);border-radius:var(--radius,20px);padding:28px 24px;max-width:40rem}
.bb-saved-big{font-family:var(--sc,serif);font-size:1.4rem;color:var(--navy,#24518a);margin:0 0 8px}

/* --- heart: plain outline that fills Bluebird blue when saved (inline SVG, no image) --- */
.bb-heart{flex:0 0 auto;width:18px;height:18px;display:inline-block;vertical-align:-3px;color:var(--brand-d,#3f6193)}
.bb-heart path{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;transition:fill .15s}
.bb-save.is-on .bb-heart path,.bb-sv-heart .bb-heart path{fill:var(--brand-d,#3f6193);stroke:var(--brand-d,#3f6193)}
.bb-saved-link{gap:6px}
/* --- Saved in the main menu --- */
.bb-nav-saved .bb-nav-n{font-weight:700;letter-spacing:.04em;color:var(--brand-d,#3f6193)}
.bb-nav-saved .bb-nav-n:empty{display:none}
.bb-nav-saved[aria-current="page"]{border-bottom:2px solid var(--brand,#5f83b3)}
@media(max-width:860px){nav.top .bb-nav-saved{display:none!important}}
.bb-nav-saved .bb-nav-heart{display:none}
/* narrow desktop/tablet (861-1040px): keep the header on one line - heart + count, word kept for screen readers */
@media(min-width:861px) and (max-width:1040px){
  .bb-nav-saved{display:inline-flex;align-items:center;gap:4px}
  .bb-nav-saved .bb-nav-heart{display:inline-block;vertical-align:0}
  .bb-nav-saved .bb-nav-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(min-width:861px) and (max-width:960px){nav.top.bb-nav .bb-nav-a{letter-spacing:.05em;padding-left:5px;padding-right:5px}}
.tabbar.bb-tabbar a.bb-tab-saved{min-width:0}
.tabbar.bb-tabbar a.bb-tab-saved .bb-heart{width:22px;height:22px;color:var(--brand,#5f83b3)}
.tabbar.bb-tabbar a.bb-tab-saved span{white-space:nowrap}
.browse-menu .bm-saved .bb-heart{width:18px;height:18px}
@media(max-width:860px){.tabbar.bb-tabbar{grid-template-columns:repeat(6,1fr)}.tabbar.bb-tabbar a{padding-left:0;padding-right:0}}
.browse-menu .bm-saved span{font-size:1em;opacity:1}
/* --- Saved page --- */
.bb-saved-hero .bb-saved-sub{margin:8px 0 0;font-size:.95rem;color:var(--muted,#5a625c);max-width:36rem}
.bb-saved-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.bb-sv-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 48px 10px 16px;background:var(--card,#fff);border:1px solid var(--line,#e3e8ef);border-radius:var(--radius-s,12px)}
.bb-sv-main{min-width:0}
.bb-sv-n{margin:0 0 4px;font:700 1.04rem/1.25 var(--display,system-ui);color:var(--navy,#1f2f4d);overflow-wrap:anywhere}
.bb-sv-i{margin:2px 0 0;font-size:.88rem;line-height:1.35;color:var(--ink2,#3b4a63);overflow-wrap:anywhere}
.bb-sv-when{font-weight:800;color:var(--navy,#1f2f4d)}
.bb-sv-gone{margin:6px 0 0;font-size:.8rem;color:var(--muted,#5a625c);font-style:italic}
.bb-sv-heart{appearance:none;position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.bb-sv-heart:hover{background:var(--powder-l,#eaf1f8)}
.bb-sv-heart:focus-visible,.bb-saved-rm:focus-visible,.bb-sv-l:focus-visible{outline:3px solid var(--brand,#5f83b3);outline-offset:2px}
.bb-sv-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:auto;padding-top:6px}
.bb-sv-l{font:800 .8rem "Nunito Sans",system-ui,sans-serif;color:var(--brand-d,#3f6193);text-decoration:none;border-bottom:1.5px solid rgba(169,196,224,.85)}
.bb-sv-l:hover{border-color:var(--brand-d,#3f6193)}
.bb-saved-rm{appearance:none;margin-left:auto;background:none;border:0;padding:6px 2px;min-height:32px;font:700 .78rem "Nunito Sans",system-ui,sans-serif;color:var(--muted,#5a625c);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.bb-saved-rm:hover{color:var(--navy,#1f2f4d)}
.bb-saved-big{font-family:var(--sc,serif);font-size:1.4rem;color:var(--navy,#1f2f4d);margin:0 0 8px}
.bb-brkchip{white-space:nowrap}
@media(max-width:560px){.bb-saved-list{grid-template-columns:1fr}}

/* --- Parents' Night Out page (Austin) + menu moon --- */
.cat-pno{position:relative}
.pno-grp{margin:26px 0 0}
.pno-grp[hidden],.pno-filters [hidden]{display:none!important}
.pno-gh{font-family:var(--sc,serif);font-size:1.3rem;color:var(--navy,#24518a);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.pno-gh .pno-gn{font:800 .74rem "Nunito Sans",system-ui,sans-serif;letter-spacing:.06em;color:var(--brand-d,#3f6193);background:var(--powder-l,#eaf1f8);border:1px solid rgba(169,196,224,.85);border-radius:999px;padding:3px 10px}
.pno-filters{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}
.pno-filters .pa-tog{align-self:end}
@media(max-width:900px){.pno-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pno-filters label:last-child{grid-column:1/-1}}
.pno-facts .pno-v.is-np{color:var(--muted,#5a625c);font-style:italic}
.pno-d{display:inline;white-space:normal;overflow-wrap:break-word}
.pno-d+.pno-d::before,.pno-d+.pno-dnote::before{content:" \00b7  ";white-space:pre;color:var(--muted,#5a625c)}
.pno-d.pno-next{font-weight:800;color:var(--navy,#24518a)}
.pno-dnote{color:var(--muted,#5a625c);font-style:italic;white-space:normal;overflow-wrap:break-word}
.pno-dnone{color:var(--muted,#5a625c);font-style:italic}
.pno-dnone[hidden]{display:none}
.pno-more{margin:0;font-size:.84rem}
.pno-more summary{cursor:pointer;font-weight:800;color:var(--navy,#24518a);min-height:32px;display:flex;align-items:center;gap:6px;list-style:none}
.pno-more summary::-webkit-details-marker{display:none}
.pno-more summary::after{content:"\203A";display:inline-block;transform:rotate(90deg);font-size:1.1rem;line-height:1;transition:transform .15s}
.pno-more[open] summary::after{transform:rotate(-90deg)}
.pno-more ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:3px;color:var(--ink2,#2f4b43)}
.pno-src{margin:0}
.cat-pno .bb-reg-btn{margin-top:4px;align-self:flex-start}
.bb-pno-ic{width:18px;height:18px;flex:0 0 auto;display:inline-block;object-fit:contain}

/* 2026-11-03 Claire: PNO cards lead with Ages / Pickup / Dinner included / Open to non-students; nothing may run past the card edge */
.cat-pno{min-width:0;max-width:100%}
.cat-pno h3,.cat-pno .eyebrow{overflow-wrap:break-word;min-width:0}
.pno-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 8px}
.pno-k{min-width:0;display:flex;flex-direction:column;gap:2px;background:var(--powder-l,#eaf1f8);border:1px solid rgba(169,196,224,.7);border-radius:12px;padding:8px 10px}
.pno-kl{font:800 .68rem "Nunito Sans",system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-d,#3f6193);overflow-wrap:break-word}
.pno-kv{font:800 1.04rem/1.25 "Nunito Sans",system-ui,sans-serif;color:var(--navy,#24518a);overflow-wrap:break-word;min-width:0}
.pno-kv.is-np{font-weight:700;font-size:.92rem;color:var(--muted,#5a625c);font-style:italic}
.pno-ks{font-size:.74rem;line-height:1.3;color:var(--muted,#5a625c);overflow-wrap:break-word;min-width:0}
.pno-facts li{min-width:0}
.pno-facts li>span,.pno-facts .pno-dv,.pno-facts .pno-v{min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word}
.pno-more li{min-width:0;overflow-wrap:break-word}
@media(max-width:360px){.pno-key{gap:6px}.pno-k{padding:7px 8px}.pno-kv{font-size:.98rem}}

/* saves off: belt and braces */
.bb-save,.bb-save-row,.bb-save-toast,.bb-saved-link,.bb-nav-saved,.bm-saved,.bb-tab-saved,[data-bb-saved-link]{display:none!important}
