
:root{--cream:#f6f2e8;--paper:#fffdf9;--ink:#16241f;--muted:#68736d;--green:#214c3e;--green2:#2f6b56;--gold:#d0a243;--yellow:#e8bd54;--rust:#9a4934;--line:#d9d5cc;--day:#b8bbb7;--soft:#ebe5d9;--shadow:0 12px 30px rgba(22,36,31,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button{color:inherit}a{color:inherit}.shell{max-width:1160px;margin:auto;padding:0 20px}
.review{background:#183128;color:#fff;text-align:center;padding:7px 18px;font-size:12px}.review b{color:#f1cc76}
header{position:sticky;top:0;z-index:40;background:rgba(246,242,232,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.top{min-height:70px;display:flex;align-items:center;gap:14px}.logo{display:flex;align-items:center;gap:9px;font-weight:900;font-size:21px;cursor:pointer;white-space:nowrap}.loop{width:32px;height:32px;border:5px solid var(--gold);border-right-color:var(--green);border-radius:50%;transform:rotate(-25deg)}
nav{display:flex;gap:3px;margin-left:auto}.nav{border:0;background:none;padding:9px 11px;border-radius:999px;font-weight:750;color:#56625c;cursor:pointer;white-space:nowrap}.nav.active,.nav:hover{background:#e8e0d3;color:var(--green)}.search{width:190px;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 13px}.planbtn{border:1px solid var(--green);background:var(--paper);color:var(--green);padding:9px 12px;border-radius:999px;font-weight:900;cursor:pointer;white-space:nowrap}.countbubble{background:var(--green);color:#fff;padding:2px 6px;border-radius:999px;font-size:11px}
main{padding-bottom:88px}.page{display:none}.page.active{display:block}.hero,.pagebanner{padding:43px 0 24px;border-bottom:1px solid var(--line)}.hero{max-width:900px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}h1{font-size:clamp(45px,6vw,72px);line-height:.95;letter-spacing:-.05em;margin:11px 0 4px}.hero .tagline{font-size:16px;line-height:1.45;color:var(--muted);margin:0}.pagebanner h2{font-size:clamp(38px,5vw,56px);line-height:1;letter-spacing:-.045em;margin:9px 0 7px}.pagebanner p{margin:0;color:var(--muted);max-width:700px;line-height:1.5}
.section{padding:25px 0}.sectionhead{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:13px}.sectionhead h2{font-size:28px;letter-spacing:-.03em;margin:0}.sectionhead p{margin:4px 0 0;color:var(--muted);font-size:14px}.link{border:0;background:none;color:var(--green);font-weight:900;cursor:pointer;white-space:nowrap}.divider-title{display:flex;align-items:center;gap:11px;margin:20px 0 11px;color:#555f5a}.divider-title:before,.divider-title:after{content:"";height:1px;background:var(--day);flex:1}.divider-title b{font-size:13px;letter-spacing:.02em;white-space:nowrap}
.signalgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:0 2px 10px rgba(22,36,31,.035);cursor:pointer}.card:hover{box-shadow:var(--shadow)}.card h3{font-size:18px;line-height:1.2;margin:8px 0 6px}.card p{font-size:14px;line-height:1.45;color:var(--muted);margin:5px 0}.meta{font-size:12px;font-weight:850;color:#526059}.flag,.status-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.04em}.flag{background:var(--rust);color:#fff}.signal{background:var(--green);color:#fff;min-height:170px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.signal p{color:#dce8e2}.signal .flag{background:var(--gold);color:#392900}.signal h3{font-size:22px;margin-top:12px}
.save{position:absolute;right:11px;top:11px;border:1px solid var(--line);background:rgba(255,253,249,.96);height:32px;min-width:32px;border-radius:999px;font-weight:900;cursor:pointer;color:#59655f;z-index:2}.save.saved{background:var(--green);color:#fff;border-color:var(--green)}
.panel{background:#efe9dd;border:1px solid #d8d1c4;border-radius:22px;padding:18px}.time-controls{background:#e4ddd0;border:1px solid #d1c8b9;border-radius:17px;padding:13px}.filter-controls{padding:13px 0 3px}.control-label{display:block;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.09em;color:#5f6964;margin-bottom:8px}.chips,.filters,.option-switch{display:flex;gap:7px;overflow:auto;scrollbar-width:none;flex-wrap:wrap}.chip,.filter,.option{border:1px solid var(--line);background:var(--paper);padding:9px 12px;border-radius:999px;font-weight:850;font-size:12px;white-space:nowrap;cursor:pointer}.chip.on{background:var(--green);color:#fff;border-color:var(--green)}.filter.on{background:#dccda9;color:#2e2a20;border-color:#c8b47e}.option.on{background:#21352d;color:#fff;border-color:#21352d}.filter small,.chip small{opacity:.72;margin-left:4px}
.daygroup{margin:12px 0 19px}.dayhead{display:flex;align-items:center;gap:11px;margin:18px 0 10px;color:#555f5a}.dayhead:before,.dayhead:after{content:"";height:1px;background:var(--day);flex:1}.dayhead b{font-size:13px;letter-spacing:.02em;white-space:nowrap}.daycards,.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.eventcard .flag{margin-bottom:4px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}.tag{font-size:10px;font-weight:850;padding:5px 7px;border-radius:999px;background:#ede8de}.tag.drive{background:#e6d5af;color:#5c4315}.tag.near{background:#dfe9e4;color:var(--green)}.venue-link{border:0;background:none;padding:0;text-decoration:underline;text-decoration-color:#a6b2ac;text-underline-offset:2px;color:var(--green);font-weight:750;cursor:pointer;text-align:left}
.happening-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.happening-card+.happening-card{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-pill.open,.status-pill.happening{background:#d9eadf;color:#184d38}.status-pill.soon,.status-pill.ending{background:#f2df9e;color:#6d4f00}.status-pill.opening,.status-pill.starting{background:#e7e7e4;color:#525b56}.status-pill.closed,.status-pill.unknown{background:#ece9e3;color:#737975}.status-text{font-size:12px;color:var(--muted);font-weight:750}.open-list{border-top:1px solid var(--line)}.open-item{display:grid;grid-template-columns:130px minmax(170px,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}.open-category{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.open-name{font-weight:900}
.events-search{width:min(430px,100%);border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:12px 14px;margin:18px 0 12px}.further-panel{margin-top:16px}.calendar-month{margin:17px 0 24px}.calendar-month h3{margin:0 0 9px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-dow{text-align:center;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.cal-day{min-height:70px;border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:7px;text-align:left;cursor:pointer}.cal-day.empty{visibility:hidden}.cal-day strong{display:block}.cal-day span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.cal-day.d1{background:#eff3ef}.cal-day.d2{background:#dfeade}.cal-day.d3{background:#c6ddca}.cal-day.selected{outline:3px solid var(--green)}.week-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.week-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:15px;text-align:left;cursor:pointer}.week-card b{display:block;font-size:18px}.week-card span{font-size:12px;color:var(--muted)}
.kidtabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:18px}.kidtab{border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:15px;text-align:left;cursor:pointer}.kidtab.on{border:2px solid var(--green)}.kidtab b{display:block;font-size:16px;margin:5px 0}.kidtab span{font-size:12px;color:var(--muted)}.kidtab small{display:inline-block;margin-top:7px;background:#e9e4d9;padding:3px 6px;border-radius:999px;font-weight:850}.activity-card{cursor:default}
.place-category{margin:24px 0}.place-category>.dayhead{margin-bottom:11px}.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.place-card{display:flex;flex-direction:column;min-height:205px}.place-card .tags{margin-top:auto;padding-top:10px}.place-actions{display:flex;gap:7px;align-items:center;margin-top:12px}.hours-btn{border:1px solid var(--green);background:transparent;color:var(--green);border-radius:9px;padding:7px 9px;font-size:11px;font-weight:900;cursor:pointer}.badge-row{display:flex;gap:5px;flex-wrap:wrap;margin:5px 42px 5px 0}.update-badge{background:#e8e0d3;color:#5b4422;font-size:10px;font-weight:900;padding:5px 7px;border-radius:999px}
.search-groups{display:grid;gap:26px;margin:24px 0}.search-group h2{font-size:22px;margin:0 0 10px}.empty{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:17px;color:var(--muted)}
.drawerback{position:fixed;inset:0;background:rgba(12,23,18,.45);z-index:70;display:none}.drawerback.show{display:block}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(520px,96vw);background:var(--paper);padding:24px;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.2)}.drawtop{display:flex;justify-content:space-between;align-items:center}.close{border:0;background:#eee8dc;width:35px;height:35px;border-radius:50%;font-weight:900;cursor:pointer}.plansection{margin:22px 0}.plansection-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px}.plansection-head h3{margin:0}.planitem{border-bottom:1px solid var(--line);padding:13px 0;cursor:pointer}.plantype{font-size:10px;letter-spacing:.08em;font-weight:900;color:var(--rust)}.plan-actions{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.mini{border:1px solid var(--line);background:#f1ece2;border-radius:9px;padding:6px 8px;font-size:11px;font-weight:800;cursor:pointer}
.modalback{position:fixed;inset:0;background:rgba(12,23,18,.55);z-index:80;display:none;align-items:flex-end;justify-content:center;padding:20px}.modalback.show{display:flex}.modal{width:min(760px,100%);max-height:88vh;overflow:auto;background:var(--paper);border-radius:23px 23px 14px 14px;padding:23px}.modal h2{font-size:31px;line-height:1.08;margin:12px 0}.modal h3{margin-top:24px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.action{border:0;text-decoration:none;background:var(--green);color:#fff;border-radius:11px;padding:10px 12px;font-weight:850;cursor:pointer}.action.alt{background:#eee8dc;color:var(--ink)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.detail{background:#f2eee5;border-radius:11px;padding:10px}.detail small{display:block;color:var(--muted);font-weight:800;margin-bottom:3px}.hours-table{width:100%;border-collapse:collapse;margin-top:10px}.hours-table td{padding:8px;border-bottom:1px solid var(--line);font-size:13px}.hours-table td:first-child{font-weight:850;width:120px}.modal-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.modal-event{border:1px solid var(--line);background:#f4efe7;border-radius:12px;padding:12px;cursor:pointer}.modal-event b{display:block;margin-top:4px}
.about{max-width:850px;padding:40px 0}.about .intro{font-size:19px;line-height:1.55}.source{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.source small,.subtle{color:var(--muted);font-size:12px}.callouts{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.bottom{display:none}
@media(max-width:940px){nav{display:none}.top{flex-wrap:wrap;padding:10px 0}.search{margin-left:auto}.signalgrid,.daycards,.grid,.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kidtabs{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(255,253,249,.98);border-top:1px solid var(--line);padding:7px}.bottom button{border:0;background:none;padding:7px 2px;font-size:11px;font-weight:850}.bottom button.active{color:var(--green)}}
@media(max-width:620px){.shell{padding:0 14px}.top{gap:8px}.logo{font-size:18px}.loop{width:27px;height:27px;border-width:4px}.search{order:5;width:100%;margin:0}.planbtn{margin-left:auto}.signalgrid,.daycards,.grid,.place-grid,.week-stack,.modal-events{grid-template-columns:1fr}.kidtabs{grid-template-columns:1fr 1fr}.section{padding:20px 0}h1{font-size:46px}.hero,.pagebanner{padding-top:30px}.panel{padding:13px}.open-item{grid-template-columns:1fr}.open-item .status-line{justify-content:flex-start}.calendar-grid{gap:3px}.cal-day{min-height:55px;padding:5px}.cal-day span{font-size:9px}.detail-grid{grid-template-columns:1fr}}
/* V14 confirmed adjustments */
.happening-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,360px));gap:11px;justify-content:start}.happening-grid .happening-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;min-height:150px}.happening-grid .status-line{margin-top:auto;padding-top:11px}
.registration-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:9px 40px 0 0}.registration-pill{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:950;letter-spacing:.03em;background:#e6e0d4;color:#5d5140}.registration-pill.required{background:#e8dfbd;color:#674d0d}.registration-pill.sold{background:#efd8d1;color:#7a2f22}.registration-pill.waitlist{background:#e4dff0;color:#4d3d75}.registration-note{font-size:11px;color:var(--muted);font-weight:750}
#kidTabs{position:sticky;top:70px;z-index:25;background:rgba(246,242,232,.97);backdrop-filter:blur(12px);padding:10px 0;border-bottom:1px solid var(--line)}
.place-category>.dayhead{justify-content:flex-start}.place-category>.dayhead:before{display:none}.place-category>.dayhead:after{max-width:100%}.place-category>.dayhead b{font-size:14px}.pagebanner.no-subtitle{padding-bottom:19px}
@media(max-width:940px){#kidTabs{top:82px}}
@media(max-width:620px){#kidTabs{top:116px;margin-left:-14px;margin-right:-14px;padding:9px 14px}.happening-grid{grid-template-columns:minmax(0,360px)}.kids-top{right:14px}}
/* V15: compact sticky controls, inset dividers, status-forward cards */
.submitbtn{border:0;background:var(--gold);color:#2f2818;padding:9px 12px;border-radius:999px;font-weight:900;cursor:pointer;white-space:nowrap}.submitbtn:hover{filter:brightness(.96)}
.home-sticky{position:sticky;top:70px;z-index:18;background:rgba(246,242,232,.96);backdrop-filter:blur(12px);padding:10px 0 8px;margin-top:-10px}
.dayhead{position:sticky;z-index:14;background:rgba(246,242,232,.97);backdrop-filter:blur(10px);padding:8px 0;margin:10px 0!important}.dayhead:before{flex:0 0 7px!important}.dayhead:after{flex:1!important}.dayhead b{text-align:left}.daygroup>.dayhead{top:119px}
.events-tools,.places-tools{position:sticky;top:70px;z-index:24;background:rgba(246,242,232,.97);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin:6px 0 16px;box-shadow:0 8px 22px rgba(25,49,38,.06)}
.events-tools .tool-row{display:flex;align-items:flex-start;gap:10px;margin:5px 0}.events-tools .control-label,.places-tools .control-label{flex:0 0 48px;padding-top:8px}.events-tools .events-search{width:180px;margin:0;border-radius:999px;padding:9px 12px;flex:0 0 auto}.events-tools .chips,.events-tools .filters,.places-tools .filters{margin:0;flex:1}.events-tools .search-wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1}.events-tools .search-hint{font-size:11px;color:var(--muted)}
#events .daygroup>.dayhead{top:202px}#kids .daygroup>.dayhead,#kids .place-category>.dayhead,#kids .kids-divider{top:204px}#places .place-category>.dayhead{top:139px}
.open-rail{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity}.open-rail::-webkit-scrollbar{height:7px}.open-rail::-webkit-scrollbar-thumb{background:#c9c0b1;border-radius:999px}.open-tile{position:relative;flex:0 0 245px;scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:14px;cursor:pointer;min-height:108px}.open-tile:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.open-tile .open-category{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.open-tile .open-name{display:block;font-weight:900;font-size:16px;margin:8px 0 11px}.open-tile .status-line{justify-content:flex-start}.tomorrow-note{font-size:12px;color:var(--muted);margin:-2px 0 10px}
.status-pill.tomorrow{background:#dce9df;color:#20543a}.status-pill.unknown{background:#ece8df;color:#70695e}.status-pill.closed{background:#ece8df;color:#5f5a51}
.place-card{position:relative;padding-bottom:48px}.place-card .place-status{position:absolute;right:14px;top:14px;max-width:145px;text-align:right}.place-card .place-status .status-line{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.place-card .place-status .status-text{font-size:10px}.place-card .save{top:auto;right:14px;bottom:13px}.place-card h3{padding-right:118px}.place-card>.meta{padding-right:120px}.place-card .tags{padding-right:42px}.place-actions,.hours-btn{display:none!important}
.activity-card{cursor:pointer;position:relative}.activity-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.program-facts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.program-fact{font-size:11px;background:#f0ece3;border-radius:7px;padding:5px 7px}.program-note{font-size:11px;color:var(--muted);margin-top:9px}.registration-pill.rolling{background:#dce9df;color:#21523a}.registration-pill.monitor{background:#ece8df;color:#625d54}
.kids-divider{display:flex;align-items:center;gap:10px;position:sticky;z-index:14;background:rgba(246,242,232,.97);backdrop-filter:blur(10px);padding:8px 0;margin:16px 0 10px;color:#555f5a}.kids-divider:before{content:"";height:1px;background:var(--day);flex:0 0 7px}.kids-divider:after{content:"";height:1px;background:var(--day);flex:1}.kids-divider b{font-size:13px;white-space:nowrap}
.destination-card{cursor:pointer;min-height:180px}.destination-card .distance{font-size:11px;color:var(--muted);font-weight:800}.destination-card .access-note{font-size:11px;color:#6b5930;background:#f2ead5;border-radius:8px;padding:7px;margin-top:9px}
.submit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.submit-choice{border:1px solid var(--line);border-radius:14px;padding:16px;background:#f7f3ea;text-align:left;cursor:pointer}.submit-choice b{display:block;font-size:17px;margin-bottom:5px}.submit-choice span{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.events-tools{position:sticky}.events-tools .tool-row{flex-wrap:wrap}.events-tools .control-label{flex:0 0 100%}#events .daygroup>.dayhead{top:252px}}
@media(max-width:940px){.submitbtn{margin-left:auto}.home-sticky,.events-tools,.places-tools{top:82px}#events .daygroup>.dayhead{top:270px}#places .place-category>.dayhead{top:151px}#kids .daygroup>.dayhead,#kids .place-category>.dayhead,#kids .kids-divider{top:216px}}
@media(max-width:620px){.submitbtn{font-size:0;padding:9px 11px}.submitbtn:after{content:"＋";font-size:17px}.home-sticky{top:116px;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.events-tools,.places-tools{top:116px;margin-left:-8px;margin-right:-8px;border-radius:12px;padding:9px}.events-tools .events-search{width:100%;flex:1}.events-tools .search-wrap{width:100%}.events-tools .chips,.events-tools .filters,.places-tools .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.events-tools .chip,.events-tools .filter,.places-tools .filter{white-space:nowrap}#events .daygroup>.dayhead{top:317px}#places .place-category>.dayhead{top:190px}#kids .daygroup>.dayhead,#kids .place-category>.dayhead,#kids .kids-divider{top:268px}.open-tile{flex-basis:215px}.place-card h3,.place-card>.meta{padding-right:105px}.submit-grid{grid-template-columns:1fr}}
/* V16: selected brand, multi-row status rail, cleaner cards and admin preview */
.brand-mark{width:36px;height:36px;display:block;flex:0 0 36px}.brand-mark .mark-disc{fill:var(--green)}.brand-mark .mark-arc{fill:none;stroke:var(--gold);stroke-width:7;stroke-linecap:round}.brand-mark .mark-h{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round}.brand-mark .mark-dot{fill:var(--gold)}
#home .hero .eyebrow{text-transform:none;letter-spacing:.06em}
.home-next-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.home-next-filters .filter{padding:8px 11px}
.open-rail{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;overflow:visible!important;padding:4px 2px 10px;scroll-snap-type:none!important}.open-tile{min-width:0!important;min-height:112px;display:flex;flex-direction:column}.open-tile .status-line{margin-top:auto}
.status-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.place-status .status-stack{align-items:flex-end}.status-stack .status-text{display:block}
.event-source{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;color:var(--muted);font-weight:750}.source-tag{display:inline-flex;padding:4px 7px;border-radius:999px;background:#e8e3d8;color:#5d5548;font-size:10px;font-weight:900}.source-tag.community{background:#d9eadf;color:#174b36}
.program-flag{display:inline-flex;width:max-content;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:950;letter-spacing:.04em;margin-bottom:2px}.program-flag.register{background:#d9eadf;color:#174b36}.program-flag.opens{background:#e8e5df;color:#5f5a51}.registration-pill.required{background:#d9eadf;color:#174b36}
#places .pagebanner{border-bottom:0}.places-tools{margin-top:0}.update-badge.upcoming{background:#dce9df;color:#174b36}.place-card .badge-row{padding-right:96px}
.place-back{border:0;background:#eee8dc;color:var(--green);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;cursor:pointer}.modal-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-topline .left-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.description-block{font-size:16px;line-height:1.55}.description-missing{background:#f2eee5;border-radius:11px;padding:11px;color:var(--muted);font-size:13px}.planning-grid{margin-top:16px}.planning-note{border-left:3px solid var(--gold);padding:9px 11px;background:#f5efe2;border-radius:0 9px 9px 0;color:#554c3c;font-size:13px}
.modalback.submission{align-items:center}.modalback.submission .modal{border-radius:23px;max-height:90vh}.submit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.submit-choice{min-height:78px;display:flex;align-items:center;justify-content:center;text-align:center}.submit-choice b{margin:0}.submission-form{display:grid;gap:12px;margin-top:18px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-field{display:grid;gap:5px}.form-field.full{grid-column:1/-1}.form-field label{font-size:11px;font-weight:900;letter-spacing:.04em;color:#56625c}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 11px;font:inherit}.form-field textarea{min-height:96px;resize:vertical}.submission-thanks{background:#edf3ef;border-radius:15px;padding:18px}
.admin-page{padding-bottom:55px}.admin-intro{display:flex;justify-content:space-between;gap:18px;align-items:end}.owner-lock{display:inline-flex;align-items:center;gap:6px;background:#e7dfcf;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.admin-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;margin:20px 0}.admin-tabs{position:sticky;top:86px;align-self:start;display:grid;gap:7px}.admin-tab{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:12px;text-align:left;font-weight:850;cursor:pointer}.admin-tab.on{background:var(--green);color:#fff;border-color:var(--green)}.admin-panel{display:none}.admin-panel.on{display:block}.admin-queue{display:grid;gap:10px}.admin-row{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.admin-row h3{margin:4px 0}.admin-row p{margin:3px 0;color:var(--muted);font-size:13px}.admin-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.admin-mini{border:1px solid var(--line);background:#f2ede3;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:850;cursor:pointer}.admin-mini.approve{background:#d9eadf;color:#174b36}.admin-mini.reject{background:#efd8d1;color:#792f22}.admin-editor{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:17px}.admin-editor h3{margin-top:0}.admin-tag-list{display:flex;gap:6px;flex-wrap:wrap}.admin-banner-preview{background:var(--green);color:white;border-radius:16px;padding:17px;margin-top:14px}.admin-banner-preview p{color:#dce8e2}.admin-status{font-size:11px;color:var(--muted);margin-top:8px}
.admin-nav{border:1px solid #cdbb8d!important;color:#5a4520!important}
@media(max-width:940px){.admin-nav{display:none}.open-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.admin-tabs{position:static;display:flex;overflow:auto}.admin-tab{white-space:nowrap}.submit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.brand-mark{width:31px;height:31px;flex-basis:31px}.open-rail{grid-template-columns:1fr}.home-next-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.form-row{grid-template-columns:1fr}.submit-grid{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr}.admin-actions{justify-content:flex-start}.modalback.submission{padding:10px}}

/* V17 interaction and compactness pass */
nav{margin-left:auto;justify-content:flex-end}.logo{flex:0 0 auto}.brand-mark .mark-arc{stroke-linecap:round}.home-next-sticky{position:sticky;top:70px;z-index:20;background:rgba(246,242,232,.97);backdrop-filter:blur(12px);padding:10px 0 9px;margin-top:-10px}.home-next-sticky .sectionhead{margin-bottom:8px}.home-next-section>.home-next-sticky+.home-next-filters{margin-top:0}#home .home-next-section .daygroup>.dayhead{top:176px}.happening-grid{grid-template-columns:repeat(auto-fill,minmax(245px,320px))}.happening-grid .happening-card{min-height:116px;padding:12px}.happening-card h3{font-size:16px!important}.open-rail{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))!important}.open-tile{min-height:86px!important;padding:11px!important}.open-tile .open-name{font-size:14px;margin:5px 0 8px}.status-stack{display:inline-flex}.status-pill.tomorrow{background:#e8e7e2;color:#5d625f}.status-pill.closed{white-space:normal;text-align:left}.place-card{min-height:190px}.place-card .place-status{max-width:160px}.place-card .tags{margin-top:auto!important;padding:12px 46px 0 0!important;align-content:flex-start}.place-card .badge-row{margin-bottom:7px}.kidtab{padding:12px 13px}.kid-label{display:flex!important;align-items:center;gap:7px;color:var(--ink)!important}.kid-label b{display:inline!important;margin:0!important}.kid-icon{font-size:17px}.kidtab small{margin-top:12px}.kidtab .kid-sub{display:block;margin-top:6px}.activity-card,.destination-card{min-height:0!important;padding:14px!important}.activity-card h3,.destination-card h3{margin-top:5px}.eventcard .tags{margin-top:auto}.eventcard{display:flex;flex-direction:column}.admin-record-toolbar{display:flex;gap:10px;flex-wrap:wrap;background:#eee8dc;border-radius:13px;padding:11px;margin-bottom:10px}.admin-record-toolbar label{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:850}.admin-record-toolbar input,.admin-record-toolbar select{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:8px}.admin-record-list,.admin-banner-list{display:grid;gap:9px}.admin-record-row,.admin-banner-row{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.admin-record-row h3,.admin-banner-row h3{margin:0 0 4px}.admin-record-row p,.admin-banner-row p{margin:0;color:var(--muted);font-size:12px}.admin-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-compare pre{white-space:pre-wrap;word-break:break-word;background:#efebe3;border-radius:12px;padding:12px;font-size:11px;line-height:1.45;margin:0}.admin-compare textarea{min-height:280px}.admin-editor.inline{margin-top:12px}.admin-editor .danger{background:#8f3c2d;color:#fff}.admin-deleted{opacity:.5;text-decoration:line-through}.record-kind-switch{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.record-kind-switch button{border:1px solid var(--line);background:#f1ece2;border-radius:999px;padding:8px 11px;font-weight:850}.record-kind-switch button.on{background:var(--green);color:#fff}.form-field.checkbox{display:flex;align-items:center;gap:8px}.form-field.checkbox label{display:flex;gap:8px;align-items:center}.form-field.checkbox input{width:auto}.field-note{font-size:11px;color:var(--muted);margin-top:4px}.status-line .status-pill{max-width:100%}
@media(max-width:940px){#home .home-next-section .daygroup>.dayhead{top:188px}.admin-compare{grid-template-columns:1fr}}
@media(max-width:620px){.home-next-sticky{top:116px;margin-left:-14px;margin-right:-14px;padding:9px 14px}#home .home-next-section .daygroup>.dayhead{top:224px}.admin-record-row,.admin-banner-row{grid-template-columns:1fr}.open-rail{grid-template-columns:1fr!important}.open-tile{min-height:78px!important}}


/* V18 card placement and compact control rules */
.card{padding-bottom:52px}.card .save,.eventcard .save,.signal .save,.activity-card .save,.destination-card .save,.place-card .save,.happening-card .save{top:auto!important;right:12px!important;bottom:12px!important}.open-tile .save{display:none!important}.eventcard>.flag,.signal>.flag,.activity-card>.program-flag{position:absolute;right:12px;top:12px;margin:0;z-index:3}.eventcard>.meta{padding-right:92px}.eventcard h3{padding-right:48px}.eventcard .tags,.card>.tags{margin-top:auto;padding:12px 42px 0 0}.signal{padding-top:18px;padding-bottom:52px}.signal h3{padding-right:88px;margin-top:8px}.signal p{padding-right:34px}.happening-card{position:relative!important;padding-bottom:50px!important}.happening-card .status-line{padding-right:38px}.activity-card{padding-bottom:52px!important}.activity-card h3{padding-right:105px}.destination-card{padding-bottom:52px!important}.place-card .badge-row{position:absolute;right:14px;top:52px;margin:0!important;padding:0!important;display:flex;flex-direction:column;align-items:flex-end;max-width:145px;z-index:2}.place-card .update-badge{text-align:right}.place-card h3{padding-right:145px}.place-card>.meta{padding-right:155px}.place-card .tags{align-self:flex-start}.kid-subrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}.kid-subrow .kid-sub{margin:0;min-width:0}.kid-subrow small{margin:0;flex:0 0 auto}.kidtab{padding:11px 12px}.places-tools .filters{width:100%}.modal .tags{display:none!important}
@media(max-width:620px){.eventcard>.flag,.signal>.flag,.activity-card>.program-flag{right:10px;top:10px}.place-card .badge-row{right:12px}.kidtab{padding:10px}.kid-subrow{gap:5px}}


/* V19: equal-height happening cards, compact event footers and structured submission controls */
.happening-grid{align-items:stretch!important;grid-auto-rows:1fr}.happening-grid .happening-card{height:100%!important;min-height:108px!important;padding:12px 12px 44px!important;position:relative!important}.happening-copy{padding-right:118px}.happening-card .status-line{position:absolute;right:12px;top:12px;margin:0!important;padding:0!important;align-items:flex-end!important;max-width:116px;text-align:right}.happening-card .status-stack{align-items:flex-end!important}.happening-card .status-text{font-size:10px;line-height:1.2}.happening-card .save{bottom:10px!important}
.daycards{align-items:stretch}.eventcard{display:flex!important;flex-direction:column;height:100%;min-height:0!important;padding:13px!important}.eventcard .card-top-pills{position:absolute;right:11px;top:11px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:135px}.eventcard .card-top-pills .flag{position:static!important;margin:0!important;text-align:right}.time-pill{display:inline-flex;width:max-content;border-radius:999px;padding:5px 8px;background:#e8e5df;color:#4e5853;font-size:10px;font-weight:950;letter-spacing:.02em}.eventcard h3{margin:2px 0 5px!important;padding-right:130px!important}.eventcard>p{margin:3px 0!important;line-height:1.3!important}.eventcard .registration-row{margin:7px 0 0!important}.event-footer{display:flex;align-items:flex-end;min-height:32px;margin-top:auto;padding-top:8px}.event-footer .tags{margin:0!important;padding:0 40px 0 0!important}.event-footer .save{bottom:11px!important}.eventcard>.meta{display:none!important}
.open-tile{padding-top:12px!important;min-height:80px!important}.open-tile .status-line{position:absolute;right:10px;top:10px;margin:0!important;max-width:122px;justify-content:flex-end!important}.open-tile .status-stack{align-items:flex-end;text-align:right}.open-tile .open-category,.open-tile .open-name{padding-right:126px}.open-tile .open-name{margin-bottom:0!important}
.record-kind-switch{margin:10px 0 14px}.multi-select{position:relative;border:1px solid var(--line);background:#fff;border-radius:10px}.multi-select summary{list-style:none;padding:10px 38px 10px 11px;cursor:pointer;min-height:42px;color:#5d665f;position:relative}.multi-select summary::-webkit-details-marker{display:none}.multi-select summary:after{content:'▾';position:absolute;right:12px;top:9px;color:var(--green);font-weight:900}.multi-select[open] summary:after{content:'▴'}.multi-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px 9px 10px;border-top:1px solid var(--line);max-height:220px;overflow:auto}.multi-menu label{display:flex!important;align-items:center;gap:7px;padding:7px;border-radius:8px;cursor:pointer;font-size:12px!important;letter-spacing:0!important}.multi-menu label:hover{background:#f2eee5}.multi-menu input{width:auto!important;margin:0}.multi-select.invalid{border-color:#9a4934}.multi-error{display:none;color:#8a3828;font-size:11px;padding:0 10px 9px}.multi-select.invalid .multi-error{display:block}
.hours-editor{border:1px solid var(--line);background:#f6f2e9;border-radius:13px;padding:12px}.hours-editor h3{font-size:15px;margin:0 0 4px}.hours-editor>p{font-size:11px;color:var(--muted);margin:0 0 10px}.hours-grid{display:grid;gap:6px}.hours-row{display:grid;grid-template-columns:42px 1fr auto 1fr auto;gap:7px;align-items:center;background:#fff;border-radius:9px;padding:7px}.hours-row.invalid{outline:1px solid #9a4934;background:#fff8f5}.hours-row>b{font-size:11px}.hours-row input[type=time]{padding:7px 8px}.hours-row .to{font-size:10px;color:var(--muted)}.hours-closed{display:flex!important;align-items:center;gap:5px;font-size:10px!important;letter-spacing:0!important;white-space:nowrap}.hours-closed input{width:auto!important}.hours-error{display:none;color:#8a3828;font-size:11px;margin-top:8px}.hours-editor.invalid .hours-error{display:block}.other-place-field[hidden]{display:none!important}
.submission-preview-shell{display:grid;gap:12px}.preview-instructions{font-size:12px;color:var(--muted);margin:0}.submission-preview-card{max-width:420px;min-height:150px!important;cursor:pointer}.submission-preview-card .preview-heart.saved{background:var(--green);color:#fff}.submission-preview-details{background:#f4efe6;border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.submission-preview-details[hidden]{display:none}.preview-detail{background:#fff;border-radius:9px;padding:9px}.preview-detail small{display:block;color:var(--muted);font-size:10px;font-weight:850;margin-bottom:3px}.preview-detail.full{grid-column:1/-1}.submission-preview-card.place-preview .preview-status{position:absolute;right:11px;top:11px}.submission-preview-card.activity-card{padding-bottom:48px!important}
@media(max-width:620px){.happening-copy{padding-right:105px}.eventcard h3{padding-right:112px!important}.open-tile .open-category,.open-tile .open-name{padding-right:112px}.multi-menu{grid-template-columns:1fr}.hours-row{grid-template-columns:36px 1fr auto 1fr}.hours-closed{grid-column:2/-1}.submission-preview-details{grid-template-columns:1fr}.preview-detail.full{grid-column:auto}}


/* V20 selected event treatment A and Open now treatment E */
.eventcard .event-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px;min-height:24px}.eventcard h3{padding-right:0!important;font-size:17px}.event-timing,.event-attention{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;line-height:1.3}.event-timing.happening{background:#d9eadc;color:#24573c}.event-timing.ending{background:#f3e3ae;color:#6d5316}.event-timing.starting{background:#e8e7e2;color:#59615b}.event-attention{background:#eee5d4;color:#756647;font-size:10px;font-weight:650;text-align:right;margin-left:auto;max-width:48%}.event-plain-time{font-size:13px;font-weight:750;padding-top:4px}.event-footer{display:flex;justify-content:space-between;gap:8px;align-items:flex-end}.event-footer .tags{padding:0!important;flex:1}.event-footer .save{position:static!important;flex:0 0 32px;margin:0!important}.happening-grid{grid-auto-rows:auto!important}.happening-grid .eventcard{width:100%;height:100%}.open-status-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.open-status-group{padding:12px;background:#eee9df;border-radius:13px}.open-status-group h4{display:flex;gap:8px;align-items:center;margin:0 0 10px;font-size:12px}.open-status-group h4 small{font-weight:500;color:var(--muted)}.open-name-list{display:flex;flex-wrap:wrap;gap:6px}.open-name-chip{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:8px 9px;text-align:left;font-size:12px;line-height:1.3;font-weight:650;min-height:40px;max-width:100%;cursor:pointer}.open-name-chip small{display:block;font-size:10px;color:var(--muted);margin-top:3px;font-weight:500}.open-name-chip:hover{border-color:var(--green)}.open-status-group .status-pill.open{background:#d9eadc;color:#24573c}.open-status-group .status-pill.soon{background:#f3e3ae;color:#6d5316}.open-status-group .status-pill.opening,.open-status-group .status-pill.tomorrow{background:#e8e7e2;color:#59615b}
:root{--loop-header:70px;--loop-tools:160px;--loop-home-tools:110px;--loop-kid-tools:140px;--loop-place-tools:100px}.events-tools,.places-tools,.home-next-sticky,.home-sticky,.kidtabs{top:var(--loop-header)!important}#events .daygroup>.dayhead{top:calc(var(--loop-header) + var(--loop-tools))!important}#home .home-next-section .daygroup>.dayhead{top:calc(var(--loop-header) + var(--loop-home-tools))!important}#kids .daygroup>.dayhead,#kids .place-category>.dayhead,#kids .kids-divider{top:calc(var(--loop-header) + var(--loop-kid-tools))!important}#places .place-category>.dayhead{top:calc(var(--loop-header) + var(--loop-place-tools))!important}.events-tools{overflow:visible;z-index:25}.events-tools .control-label{width:45px;flex:0 0 45px}.events-tools .tool-row{align-items:center}.events-tools .chips,.events-tools .filters{margin:0}.events-tools .chip small,.events-tools .filter small{margin-left:5px}#eventResultSummary{margin:13px 0;font-size:12px;display:flex;gap:12px;align-items:center}.loop-calendar{position:absolute;right:12px;top:55px;width:316px;max-width:calc(100vw - 38px);padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:var(--shadow);z-index:40}.loop-calendar[hidden]{display:none}.loop-cal-head{display:flex;gap:6px;align-items:center;margin-bottom:9px;font-size:12px}.loop-cal-head b{flex:1;text-align:center}.loop-cal-head button{border:0;background:var(--soft);border-radius:8px;width:28px;height:28px;cursor:pointer}.loop-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;touch-action:none;user-select:none}.loop-dow{text-align:center;font-size:10px;color:var(--muted)}.loop-cal-day{border:1px solid transparent;border-radius:7px;min-height:35px;background:#f2eee5;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}.loop-cal-day b{font-size:11px}.loop-cal-day small{font-size:9px}.loop-cal-day.intensity-1{background:#e0eddf}.loop-cal-day.intensity-2{background:#b6d4bb}.loop-cal-day.intensity-3{background:#7fae8e}.loop-cal-day.selected{background:var(--green);color:#fff;border-color:var(--gold)}.loop-cal-help{font-size:10px;color:var(--muted);margin:9px 0}.loop-cal-inputs{display:flex;gap:5px;align-items:end}.loop-cal-inputs label{font-size:10px;min-width:0;flex:1}.loop-cal-inputs input{width:100%;font-size:11px;border:1px solid var(--line);padding:5px 2px;border-radius:6px}.loop-cal-inputs button{background:var(--green);color:#fff;border:0;border-radius:6px;padding:7px;font-size:11px}button:focus-visible,[role=button]:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(max-width:620px){.open-status-groups{grid-template-columns:1fr}.events-tools .tool-row{display:flex;flex-wrap:nowrap}.events-tools .chips,.events-tools .filters{flex:1;min-width:0}.loop-calendar{top:48px;right:7px;max-height:calc(100dvh - var(--loop-header) - 70px);overflow-y:auto}.eventcard h3{padding-right:0!important}}


/* V22 form and administration refinements */
.place-grid{align-items:stretch}.card.place-card{display:flex;flex-direction:column;height:100%;padding-bottom:14px}.place-card>.tags{margin-top:auto!important;padding-top:14px!important;min-height:35px;align-items:flex-end}.place-card>.save{bottom:14px!important}.place-card>h3{min-height:44px}.place-card>p{margin-bottom:14px}.calendar-scale{display:flex;gap:8px;align-items:center;font-size:10px;margin:7px 0 12px}.calendar-scale i{flex:1;height:9px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(to right,#fff,#214c3e)}.loop-cal-day.selected{outline:2px solid var(--gold);outline-offset:-2px;border-color:var(--gold)}.form-field[hidden],.conditional-field[hidden]{display:none!important}.cost-choices,.social-fields{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0}.cost-choices>label{display:inline-flex!important;align-items:center;gap:6px;margin:4px 22px 8px 0}.cost-choices input[type=radio],.check-label input{width:auto!important}.cost-choices legend,.social-fields legend{font-size:12px;font-weight:800}.conditional-field{margin-top:8px}.original-fields textarea{background:#eeebe3!important;color:#68736d}.admin-compare .form-field{grid-column:1/-1;min-width:0}.admin-compare textarea{min-height:40px!important;height:auto;resize:vertical}.admin-compare fieldset{border:1px solid var(--line);border-radius:10px}.admin-compare input,.admin-compare select,.admin-compare textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit}.admin-compare select[multiple]{height:120px}.admin-compare{align-items:start}.banner-link{white-space:normal;text-align:left;padding:6px 0}.signal .banner-read{font-size:11px;margin-top:auto;padding-top:12px;color:#e1e9df}.admin-record-row p{overflow-wrap:anywhere}#adminBannerForm{margin-top:16px}select,textarea{font:inherit}@media(max-width:620px){.admin-compare{grid-template-columns:1fr}.admin-nav{display:inline-block!important}.admin-tabs{flex-wrap:wrap}.top #submitButton{font-size:11px!important;padding:8px 10px}.top #submitButton:after{content:none}.social-fields .form-row{grid-template-columns:1fr}.form-field input,.form-field select,.form-field textarea{min-width:0;max-width:100%}.place-card>h3{min-height:0}}


.address-link{color:inherit;text-decoration:underline;text-decoration-color:#aeb9b0;text-underline-offset:3px}.address-link:hover{color:#214c3e}.contact-links{margin:16px 0}.description-block{white-space:pre-line}

.signal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:auto;padding-top:8px}.signal-footer .banner-read{margin:0;padding:0}.signal-footer .save{position:static!important;inset:auto!important;flex:0 0 auto}
.activity-card,.destination-card{display:flex;flex-direction:column}.kids-card-footer{margin-top:auto;padding-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-height:34px}.kids-card-footer .save{position:static!important;inset:auto!important;flex:0 0 auto}.kids-card-footer .program-flag,.kids-card-footer .distance{position:static;margin:0}
.colgate-section{margin-top:38px;padding-top:4px}.colgate-divider{display:flex;align-items:center;gap:14px;color:#727875;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:4px 0 16px}.colgate-divider:before,.colgate-divider:after{content:"";height:1px;background:#c9cdca;flex:1}.colgate-divider span{white-space:nowrap}

/* V27 compact cards, mobile filters, category consistency */
.signal{min-height:0!important;padding:15px 16px!important}.signal h3{margin:7px 0 4px!important;padding-right:72px!important}.signal p{margin:3px 0!important;padding-right:0!important}.signal-footer{margin-top:8px!important;padding-top:0!important;justify-content:flex-end!important;min-height:32px}.signal-footer .save{position:static!important;inset:auto!important}.colgate-section{margin-top:22px!important;padding-top:0!important}.colgate-divider{display:none!important}.destination-card{min-height:0!important;padding-bottom:14px!important}.destination-card .event-topline{min-height:22px;margin-bottom:6px}.destination-card .outdoor-card-copy{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.destination-card .kids-card-footer{padding-top:8px}.outdoor-modal-copy{margin:10px 0 18px;line-height:1.6}.outdoor-detail-grid{margin:8px 0 18px}.outdoor-access-block{background:#f3eee4;border-radius:12px;padding:13px 14px;margin:14px 0}.outdoor-access-block p{margin:5px 0 0;line-height:1.55}.outdoor-actions{margin-top:18px}.mobile-filter-toggle{display:none;border:1px solid var(--line);background:var(--paper);color:var(--green);border-radius:999px;padding:8px 12px;font-weight:850;cursor:pointer}
@media(max-width:620px){
  .mobile-filter-toggle{display:inline-flex;align-items:center;justify-content:center;margin:0 0 2px}
  #eventsTools:not(.mobile-open) .tool-row,#eventsTools:not(.mobile-open) #eventCalendar{display:none!important}
  .places-tools:not(.mobile-open) #placeFilters{display:none!important}
  #eventsTools,.places-tools{padding:7px 9px!important}
  #eventsTools.mobile-open .tool-row{display:flex!important;flex-wrap:wrap!important}
  .places-tools.mobile-open #placeFilters{display:flex!important}
  .kidtabs{display:flex!important;grid-template-columns:none!important;overflow-x:auto;gap:7px;padding-bottom:4px;scrollbar-width:none}
  .kidtabs::-webkit-scrollbar{display:none}.kidtab{flex:0 0 auto;min-width:118px;padding:8px 10px!important}.kidtab .kid-sub{display:none!important}.kid-subrow{margin-top:4px!important;justify-content:flex-end!important}.kidtab small{margin:0!important}.kid-icon{font-size:15px!important}.kid-label b{font-size:13px!important}
}



.correction-search-field{position:relative}.correction-results{position:absolute;z-index:30;left:0;right:0;top:100%;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.12);max-height:300px;overflow:auto;margin-top:5px;padding:5px}.correction-results[hidden]{display:none}.correction-choice{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 11px;border-radius:8px;color:var(--ink);cursor:pointer;font:inherit}.correction-choice:hover,.correction-choice:focus{background:var(--soft)}.correction-empty{padding:11px;color:var(--muted)}
.seasonal-count{justify-content:space-between;color:var(--muted);font-size:13px;font-weight:800}.seasonal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.seasonal-place-card{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:16px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.seasonal-place-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.07)}.seasonal-place-card h3{margin:7px 0 7px}.seasonal-place-card p{margin:0 0 13px;line-height:1.45}.seasonal-place-card .tags{display:flex;gap:6px;flex-wrap:wrap}.seasonal-place-card .tags span,.seasonal-detail-tags span{font-size:11px;font-weight:800;background:var(--soft);border-radius:999px;padding:5px 8px}.seasonal-detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.seasonal-intro{max-width:760px}
@media(max-width:620px){.seasonal-grid{grid-template-columns:1fr}.seasonal-place-card{padding:14px}.correction-results{position:relative;top:auto;box-shadow:none;margin-top:7px}}



@media(max-width:620px){
  /* Home filters: keep every control inside the viewport. */
  .home-next-filters{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    width:100%!important;
    max-width:100%!important;
    gap:6px!important;
  }
  .home-next-filters .filter{
    flex:0 1 auto!important;
    max-width:100%!important;
  }

  /* Events: the panel is collapsible; once opened, its controls wrap rather than
     creating a second horizontal-scrolling interface. */
  #eventsTools.mobile-open .tool-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:7px!important;
  }
  #eventsTools.mobile-open .control-label{
    width:auto!important;
    flex:none!important;
    padding:2px 0 0!important;
    margin:0!important;
  }
  #eventsTools.mobile-open .chips,
  #eventsTools.mobile-open .filters{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:6px!important;
    padding-bottom:0!important;
  }
  #eventsTools.mobile-open .chip,
  #eventsTools.mobile-open .filter{
    flex:0 1 auto!important;
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
  }
  #eventsTools .search-wrap,
  #eventsTools .events-search{
    min-width:0!important;
    max-width:100%!important;
  }

  /* Places uses the same no-overflow behavior when filters are expanded. */
  .places-tools.mobile-open #placeFilters{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    width:100%!important;
    max-width:100%!important;
    gap:6px!important;
  }
  .places-tools.mobile-open #placeFilters .filter{
    flex:0 1 auto!important;
    max-width:100%!important;
    white-space:normal!important;
  }

  /* One card at a time on phone widths across every content surface. */
  .signalgrid,
  .daycards,
  .grid,
  .place-grid,
  .week-stack,
  .happening-grid,
  .open-status-groups,
  .modal-events,
  .seasonal-grid,
  .search-group .daycards,
  .search-group .place-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Defensive overflow guards for long labels/content. */
  .card,
  .eventcard,
  .place-card,
  .happening-card,
  .week-card,
  .seasonal-place-card,
  .panel,
  .events-tools,
  .places-tools{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  button,.chip,.filter,.option{
    max-width:100%;
  }
}



.seasonal-place-card{position:relative;padding-bottom:52px!important}
.seasonal-place-card>.save{top:auto!important;bottom:12px!important;right:12px!important}
.seasonal-place-card>.tags{padding-right:42px}
.seasonal-place-top{padding-right:38px}
.modal-topline .left-actions .save{position:static!important;inset:auto!important;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:620px){
  .home-mobile-filter-toggle{display:inline-flex!important}
  .home-next-sticky:not(.mobile-open) #homeEventFilters{display:none!important}
  .home-next-sticky.mobile-open #homeEventFilters{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    width:100%!important;
    max-width:100%!important;
    gap:6px!important;
    margin-top:7px!important;
  }
  .home-next-sticky.mobile-open #homeEventFilters .filter{
    flex:0 1 auto!important;
    max-width:100%!important;
    white-space:normal!important;
  }
}



:root{
  --tiny-group:#f1ede4;
  --tiny-group-strong:#ece6da;
  --tiny-divider:rgba(78,91,84,.15);
  --tiny-icon-bg:#ebe3d4;
  --tiny-icon-line:#d8ccba;
}

/* One calm surface per date/category/section. */
#home .daycards,#events .daycards,#kids .daycards,
#home .happening-grid,#home .signalgrid,
#kids .grid,#kids .place-grid,#places .place-grid{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  background:var(--tiny-group);
  border:1px solid #ddd5c8;
  border-radius:16px;
  overflow:hidden;
}

/* Tiny Grouped event row */
.tiny-event-row{
  display:grid!important;
  grid-template-columns:52px 88px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
  min-height:72px!important;width:100%!important;
  margin:0!important;padding:11px 13px!important;
  border:0!important;border-bottom:1px solid var(--tiny-divider)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.tiny-event-row:last-child{border-bottom:0!important}
.tiny-icon,.tiny-place-icon,.tiny-outdoor-icon,.tiny-activity-icon{
  width:44px;height:44px;display:grid;place-items:center;
  background:var(--tiny-icon-bg);border:1px solid var(--tiny-icon-line);
  border-radius:48% 52% 45% 55% / 55% 44% 56% 45%;
  font-size:21px;line-height:1;
}
.tiny-event-time{min-width:0}
.tiny-event-row .event-plain-time{
  font-size:12px!important;font-weight:900!important;color:var(--green)!important;
  padding:0!important;white-space:nowrap;
}
.tiny-event-row .event-timing{
  margin:0!important;font-size:10px!important;white-space:normal;
}
.tiny-event-copy{min-width:0}
.tiny-event-copy h3{margin:0 0 3px!important;padding:0!important;font-size:16px!important;line-height:1.18!important}
.tiny-event-copy .tiny-venue{margin:0!important;font-size:11px!important;color:var(--muted)!important}
.tiny-event-facts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:5px}
.tiny-cost{font-size:10px;font-weight:850;color:#5c513e;background:#e7dfd0;border-radius:999px;padding:4px 7px}
.tiny-event-row .registration-row{margin:0!important}
.tiny-event-row .registration-pill,.tiny-event-row .registration-note{font-size:9px!important}
.tiny-event-row .tags{margin:6px 0 0!important;padding:0!important;gap:4px!important}
.tiny-event-row .tag{font-size:9px!important;padding:4px 6px!important}
.tiny-event-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:38px}
.tiny-event-actions .event-attention{margin:0!important;max-width:120px!important;font-size:9px!important;padding:4px 7px!important;text-align:right}
.tiny-event-row .save{position:static!important;inset:auto!important;margin:0!important;flex:0 0 32px!important}

/* Home: today's events, Worth Knowing, Open Now */
#home .signalgrid .signal{
  min-height:0!important;margin:0!important;padding:13px 14px!important;
  border:0!important;border-bottom:1px solid var(--tiny-divider)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
#home .signalgrid .signal:last-child{border-bottom:0!important}
#home .signalgrid .signal h3{margin:4px 86px 4px 0!important;font-size:16px!important}
#home .signalgrid .signal p{margin:0 40px 0 0!important;font-size:12px!important;line-height:1.45}
#home .signalgrid .signal>.flag{top:12px!important;right:13px!important}
#home .signalgrid .signal .save{bottom:11px!important;right:12px!important}

#home .open-status-groups{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:10px!important;
}
#home .open-status-group{
  background:var(--tiny-group)!important;border:1px solid #ddd5c8;
  border-radius:15px!important;padding:10px 12px!important;
}
#home .open-name-list{display:block!important}
#home .open-name-chip{
  display:block!important;width:100%!important;min-height:0!important;max-width:none!important;
  border:0!important;border-bottom:1px solid var(--tiny-divider)!important;
  border-radius:0!important;background:transparent!important;padding:9px 2px!important;
}
#home .open-name-chip:last-child{border-bottom:0!important}
#home .open-name-chip:hover{background:rgba(255,255,255,.35)!important}

/* Kids programs */
#kids .grid .activity-card{
  display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;
  gap:11px!important;align-items:center!important;
  min-height:72px!important;margin:0!important;padding:11px 13px!important;
  border:0!important;border-bottom:1px solid var(--tiny-divider)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
#kids .grid .activity-card:last-child{border-bottom:0!important}
.tiny-activity-copy h3{margin:0 0 3px!important;padding:0!important;font-size:16px!important}
.tiny-activity-copy p{margin:0!important;font-size:11px!important;color:var(--muted)!important;line-height:1.4}
#kids .activity-card .program-facts{margin:6px 0 0!important}
#kids .activity-card .kids-card-footer{margin:5px 0 0!important}
#kids .activity-card .save{position:static!important;inset:auto!important}
.tiny-activity-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}

/* Places and kid destinations */
.tiny-place-row,.tiny-outdoor-row{
  display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;
  gap:11px!important;align-items:center!important;
  min-height:76px!important;width:100%!important;margin:0!important;padding:11px 13px!important;
  border:0!important;border-bottom:1px solid var(--tiny-divider)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.tiny-place-row:last-child,.tiny-outdoor-row:last-child{border-bottom:0!important}
.tiny-place-copy,.tiny-outdoor-copy{min-width:0}
.tiny-place-topline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 3px}
.tiny-place-row .meta{padding:0!important;font-size:9px!important;letter-spacing:.04em}
.tiny-place-row h3,.tiny-outdoor-row h3{margin:0 0 3px!important;padding:0!important;font-size:16px!important;line-height:1.2!important}
.tiny-place-row p,.tiny-outdoor-row p{margin:0!important;font-size:11px!important;color:var(--muted)!important;line-height:1.35}
.tiny-place-row .badge-row{
  position:static!important;display:flex!important;flex-direction:row!important;
  justify-content:flex-start!important;align-items:center!important;
  max-width:none!important;margin:6px 0 0!important;padding:0!important;gap:4px!important;
}
.tiny-place-row .update-badge{font-size:9px!important;text-align:left!important}
.tiny-place-row .tags{margin:6px 0 0!important;padding:0!important;gap:4px!important}
.tiny-place-row .tag{font-size:9px!important;padding:4px 6px!important}
.tiny-place-actions,.tiny-outdoor-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.tiny-place-row .save,.tiny-outdoor-row .save{position:static!important;inset:auto!important;margin:0!important}
.tiny-outdoor-row .kids-card-footer{margin:6px 0 0!important}
.tiny-outdoor-row .event-topline{display:none!important}

/* Preserve sticky headers/controls and existing interaction layers. */
#events .daygroup,#home .daygroup,#kids .daygroup{margin:10px 0 18px!important}
#places .place-category,#kids .place-category{margin:18px 0!important}
#places .place-category>.dayhead,#kids .place-category>.dayhead{margin-bottom:6px!important}
.events-tools,.places-tools,.home-next-sticky,.kidtabs{z-index:25}
.loop-calendar{z-index:45}

@media(max-width:620px){
  .tiny-event-row{
    grid-template-columns:42px 66px minmax(0,1fr) auto!important;
    gap:7px!important;padding:9px 10px!important;min-height:62px!important;
  }
  .tiny-icon,.tiny-place-icon,.tiny-outdoor-icon,.tiny-activity-icon{width:36px;height:36px;font-size:18px}
  .tiny-event-copy h3,.tiny-place-row h3,.tiny-outdoor-row h3,.tiny-activity-copy h3{font-size:14px!important}
  .tiny-event-row .tags{display:none!important}
  .tiny-event-actions .event-attention{max-width:82px!important}
  #kids .grid .activity-card,.tiny-place-row,.tiny-outdoor-row{
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:8px!important;padding:9px 10px!important;
  }
  #home .open-status-groups{grid-template-columns:1fr!important}
}
@media(min-width:1000px){
  #events .daycards,#home .daycards,#kids .daycards{max-width:900px}
  #places .place-grid,#kids .place-grid{max-width:920px}
}



/* ==========================================================
   Tiny Grouped simplification pass
   ========================================================== */

/* Event cards: browse first, details on click. */
.tiny-event-row .tags{display:none!important}
.tiny-event-row h3 a,.tiny-event-row .event-title a{
  color:inherit!important;text-decoration:none!important;pointer-events:none!important;
}
.tiny-event-copy h3{text-decoration:none!important}

/* Event detail: tags live here now. */
.event-detail-tags{
  display:flex;gap:6px;flex-wrap:wrap;margin:13px 0 15px;
}
.event-detail-tag{
  display:inline-flex;padding:6px 8px;border-radius:999px;
  background:#ede8de;color:var(--ink);font-size:10px;font-weight:850;
}
.event-detail-tag.near{background:#dfe9e4;color:var(--green)}
.event-detail-tag.drive{background:#e6d5af;color:#5c4315}
.event-title-source{
  color:inherit;text-decoration:none;
  text-decoration-color:#a6b2ac;text-underline-offset:4px;
}
.event-title-source:hover{text-decoration:underline}

/* Restore the top Home event cards to the dark-green treatment. */
#home .happening-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(270px,360px))!important;
  gap:11px!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  overflow:visible!important;
}
#home .happening-grid .tiny-event-row{
  grid-template-columns:46px 72px minmax(0,1fr) auto!important;
  background:var(--green)!important;color:#fff!important;
  border:0!important;border-radius:16px!important;
  min-height:124px!important;padding:13px!important;
  box-shadow:0 8px 18px rgba(20,48,39,.10)!important;
}
#home .happening-grid .tiny-event-row .tiny-icon{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.18)!important;
}
#home .happening-grid .tiny-event-row .event-plain-time{color:#fff!important}
#home .happening-grid .tiny-event-row .tiny-venue,
#home .happening-grid .tiny-event-row .venue-link{
  color:rgba(255,255,255,.82)!important;
  text-decoration-color:rgba(255,255,255,.35)!important;
}
#home .happening-grid .tiny-event-row .event-timing{
  background:rgba(255,255,255,.14)!important;color:#fff!important;
}
#home .happening-grid .tiny-event-row .tiny-cost{
  background:rgba(255,255,255,.14)!important;color:#fff!important;
}
#home .happening-grid .tiny-event-row .registration-pill{
  background:#e8dfbd!important;color:#674d0d!important;
}
#home .happening-grid .tiny-event-row .heart,
#home .happening-grid .tiny-event-row .save{
  background:#fff!important;color:var(--green)!important;border-color:#fff!important;
}
#home .happening-grid .tiny-event-row .heart.saved,
#home .happening-grid .tiny-event-row .save.saved{
  background:var(--gold)!important;color:#2f2818!important;border-color:var(--gold)!important;
}

/* Open / Closing soon / Opening soon: native, independently collapsible groups. */
.open-status-group{
  padding:0!important;overflow:hidden;
}
.open-status-group>summary{
  list-style:none;display:flex;align-items:center;gap:8px;
  padding:11px 12px;cursor:pointer;user-select:none;
}
.open-status-group>summary::-webkit-details-marker{display:none}
.open-status-group>summary .open-group-chevron{
  margin-left:auto;color:var(--green);font-weight:950;font-size:14px;
}
.open-status-group[open]>summary .open-group-chevron{transform:rotate(180deg)}
.open-status-group .open-name-list{padding:0 12px 10px}
.open-status-group:not([open]) .open-name-list{display:none!important}

/* On a real phone, the top green cards are still one-column and status groups start closed. */
@media(max-width:620px){
  #home .happening-grid{grid-template-columns:1fr!important}
  #home .happening-grid .tiny-event-row{
    grid-template-columns:38px 62px minmax(0,1fr) auto!important;
    min-height:90px!important;padding:10px!important;
  }
}



/* Event location is deliberately secondary on browsing cards. */
.tiny-event-row .tiny-venue{color:#7c827f!important;font-weight:500!important}
.tiny-event-row .venue-link{
  color:#7c827f!important;
  text-decoration:none!important;
  border:0!important;background:none!important;
  font-weight:500!important;
  cursor:pointer!important;
}
.tiny-event-row .venue-link:hover{color:#646b67!important;text-decoration:none!important}

/* Current-day events use the shared Tiny Grouped card surface. */
#home .happening-grid{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  background:var(--tiny-group)!important;
  border:1px solid #ddd5c8!important;
  border-radius:16px!important;
  overflow:hidden!important;
  max-width:900px;
}
#home .happening-grid .tiny-event-row{
  display:grid!important;
  grid-template-columns:52px 88px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
  min-height:72px!important;
  color:var(--ink)!important;
  background:transparent!important;
  border:0!important;border-bottom:1px solid var(--tiny-divider)!important;
  border-radius:0!important;box-shadow:none!important;padding:11px 13px!important;
}
#home .happening-grid .tiny-event-row:last-child{border-bottom:0!important}
#home .happening-grid .tiny-event-row .tiny-icon{
  background:var(--tiny-icon-bg)!important;border-color:var(--tiny-icon-line)!important;
}
#home .happening-grid .tiny-event-row .event-plain-time{color:var(--green)!important}
#home .happening-grid .tiny-event-row .tiny-venue,
#home .happening-grid .tiny-event-row .venue-link{color:#7c827f!important}
#home .happening-grid .tiny-event-row .save{
  background:var(--paper)!important;color:var(--green)!important;border-color:var(--line)!important;
}

/* Worth Knowing returns to three independent green cards. */
#home .signalgrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:11px!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  overflow:visible!important;
}
#home .signalgrid .signal{
  display:flex!important;flex-direction:column!important;
  min-height:154px!important;
  margin:0!important;padding:15px 16px 48px!important;
  border:0!important;border-radius:17px!important;
  background:var(--green)!important;color:#fff!important;
  box-shadow:0 8px 18px rgba(20,48,39,.10)!important;
}
#home .signalgrid .signal h3{color:#fff!important;margin:8px 72px 6px 0!important}
#home .signalgrid .signal p{color:rgba(255,255,255,.82)!important;margin:0!important}
#home .signalgrid .signal .flag{background:#e7dcc0!important;color:#55451c!important}
#home .signalgrid .signal .save{
  background:#fff!important;color:var(--green)!important;border-color:#fff!important;
}
#home .signalgrid .signal .save.saved{background:var(--gold)!important;color:#2f2818!important;border-color:var(--gold)!important}

/* Hide Free / donation cost chips on cards only; full cost remains in event detail. */
.tiny-cost.card-hidden-cost{display:none!important}

/* Reusable place icons in Open now status groups. */
.open-name-chip{display:flex!important;align-items:center!important;gap:9px!important}
.open-place-icon{
  width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;
  border-radius:9px;background:var(--tiny-icon-bg);border:1px solid var(--tiny-icon-line);
  font-size:16px;
}
.open-place-copy{min-width:0;display:block}
.open-place-copy small{display:block}

/* Places: icon + name + hours status; no tag/badge/favorite clutter. */
.tiny-place-row{
  grid-template-columns:52px minmax(0,1fr)!important;
}
.tiny-place-copy .place-name-line{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 3px;
}
.tiny-place-copy .place-name-line h3{margin:0!important}
.tiny-place-copy .place-status{display:inline-flex!important}
.tiny-place-row .badge-row,.tiny-place-row .tags,.tiny-place-actions{display:none!important}
.tiny-place-row .place-address{color:#7c827f!important;font-size:11px!important}

/* Seasonal is a dedicated Places section immediately above Colgate. */
.seasonal-section{margin-top:28px!important}
.seasonal-section>.dayhead b{color:#6b5523}

/* Kids: remove indoor/outdoor pills. */
#kids .place-status,#kids .tiny-place-row .tags,#kids .tiny-place-row .badge-row{display:none!important}
#kids .tiny-outdoor-row .kids-card-footer{display:none!important}

/* Event filters: collapsible at every viewport; desktop expanded, mobile collapsed. */
#eventsTools>.mobile-filter-toggle{display:inline-flex!important;align-items:center;justify-content:center}
#eventsTools.filters-collapsed .tool-row,
#eventsTools.filters-collapsed #eventCalendar{display:none!important}

/* Sources disclosure */
.sources-disclosure{
  margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.sources-disclosure>summary{
  list-style:none;cursor:pointer;padding:15px 0;font-size:20px;font-weight:900;
  display:flex;align-items:center;justify-content:space-between;
}
.sources-disclosure>summary::-webkit-details-marker{display:none}
.sources-disclosure>summary:after{content:'＋';font-size:18px;color:var(--green)}
.sources-disclosure[open]>summary:after{content:'−'}
.sources-disclosure #sources{padding:0 0 16px}

/* Submission simplification gets a little more breathing room. */
.submission .form-row,.modal.submission .form-row{gap:11px}

@media(max-width:760px){
  #home .signalgrid{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  #home .happening-grid .tiny-event-row{
    grid-template-columns:42px 66px minmax(0,1fr) auto!important;
    min-height:62px!important;padding:9px 10px!important;gap:7px!important;
  }
}



/* One disclosure controls the full open/closing/opening cluster. */
.open-status-master{
  background:var(--tiny-group);border:1px solid #ddd5c8;border-radius:15px;overflow:hidden;
}
.open-status-master>summary{
  list-style:none;display:flex;align-items:center;gap:9px;padding:12px 13px;cursor:pointer;
  font-size:12px;font-weight:900;color:var(--ink);user-select:none;
}
.open-status-master>summary::-webkit-details-marker{display:none}
.open-status-master>summary .open-master-chevron{margin-left:auto;color:var(--green);font-size:15px;font-weight:950}
.open-status-master[open]>summary .open-master-chevron{transform:rotate(180deg)}
.open-status-master .open-status-groups{padding:0 12px 11px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.open-status-master .open-status-group{background:rgba(255,255,255,.28)!important;border:0!important;border-radius:11px!important;padding:9px 10px!important}
.open-status-master .open-status-group h4{margin:0 0 5px!important;display:flex;align-items:center;gap:6px;font-size:11px}
.open-status-master .open-name-list{padding:0!important}
.open-name-chip{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;align-items:center!important;column-gap:9px!important;text-align:left!important}
.open-place-icon{grid-column:1!important}
.open-place-copy{grid-column:2!important;display:block!important;min-width:0!important;text-align:left!important}

/* Suggest-a-change is a visible action without competing with the title. */
.suggest-change-btn{
  border:1px solid #b89543;background:#f1e3b9;color:#584719;border-radius:9px;
  padding:6px 8px;font-size:9px;font-weight:900;line-height:1.15;cursor:pointer;white-space:nowrap;
}
.suggest-change-btn:hover{background:#ead79d}
.tiny-event-actions,.tiny-activity-actions,.tiny-place-actions{min-width:92px!important}
.tiny-place-row{grid-template-columns:52px minmax(0,1fr) auto!important}
.tiny-place-actions{display:flex!important;align-items:flex-end!important;justify-content:center!important}
.tiny-place-actions .suggest-change-btn{display:inline-flex!important}

/* What's happening uses the exact same row measurements as every other event stream. */
#home .happening-grid .tiny-event-row{
  grid-template-columns:52px 88px minmax(0,1fr) auto!important;
  min-height:72px!important;padding:11px 13px!important;gap:11px!important;
}

/* My Plan named sections. */
.plansection-head h3{margin:0}
.plansection.places-plan{margin-top:24px;padding-top:17px;border-top:2px solid var(--day)}

@media(max-width:800px){
  .open-status-master .open-status-groups{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  #home .happening-grid .tiny-event-row,.tiny-event-row{
    grid-template-columns:42px 66px minmax(0,1fr) auto!important;gap:7px!important;padding:9px 10px!important;
  }
  .suggest-change-btn{white-space:normal;max-width:76px;padding:5px 6px}
  .tiny-event-actions,.tiny-activity-actions,.tiny-place-actions{min-width:72px!important}
  .tiny-place-row{grid-template-columns:42px minmax(0,1fr) auto!important}
}



/* Home event feed should be visually identical to regular Tiny Grouped events. */
#home .happening-grid,
#home .daycards{
  display:block!important;
  max-width:900px!important;
  background:var(--tiny-group)!important;
  border:1px solid #ddd5c8!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
#home .happening-grid .tiny-event-row{
  color:var(--ink)!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--tiny-divider)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#home .happening-grid .tiny-event-row:last-child{border-bottom:0!important}
#home .happening-grid .tiny-event-row h3,
#home .happening-grid .tiny-event-row .event-title,
#home .happening-grid .tiny-event-copy,
#home .happening-grid .tiny-event-time{color:var(--ink)!important}
#home .happening-grid .tiny-event-row .event-plain-time{color:var(--green)!important}
#home .happening-grid .tiny-event-row .tiny-venue,
#home .happening-grid .tiny-event-row .venue-link{color:#7c827f!important}
#home .happening-grid .tiny-event-row .tiny-icon{
  background:var(--tiny-icon-bg)!important;
  border-color:var(--tiny-icon-line)!important;
}
#home .happening-grid .tiny-event-row .save{
  background:var(--paper)!important;color:var(--green)!important;border-color:var(--line)!important;
}

/* One disclosure, with gentle internal status groupings. */
.open-status-master{
  background:var(--tiny-group);border:1px solid #ddd5c8;border-radius:16px;overflow:hidden;
}
.open-status-master>summary{
  list-style:none;display:flex;align-items:center;gap:9px;padding:11px 13px;
  cursor:pointer;font-weight:850;
}
.open-status-master>summary::-webkit-details-marker{display:none}
.open-status-master>summary small{color:var(--muted);font-weight:650}
.open-master-chevron{margin-left:auto;color:var(--green);font-weight:950}
.open-status-master[open] .open-master-chevron{transform:rotate(180deg)}
.open-status-groups{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;padding:0 10px 10px!important;
}
.open-status-group{
  border:1px solid rgba(73,87,80,.12)!important;
  border-radius:12px!important;padding:8px 9px!important;background:rgba(255,255,255,.34)!important;
}
.open-status-group[data-status="open"]{background:rgba(222,238,226,.55)!important}
.open-status-group[data-status="soon"]{background:rgba(244,233,200,.52)!important}
.open-status-group[data-status="opening"]{background:rgba(231,234,232,.62)!important}
.open-status-group h4{margin:0 0 5px!important;padding:0!important}
.open-name-list{display:grid!important;gap:0!important}
.open-name-chip{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:8px!important;
  width:100%!important;
  padding:8px 2px!important;
  text-align:left!important;
}
.open-place-icon{grid-column:1!important;grid-row:1!important}
.open-place-copy{
  grid-column:2!important;grid-row:1!important;
  min-width:0!important;display:block!important;text-align:left!important;
}
.open-place-copy small{display:block!important;margin-top:2px!important}
@media(max-width:800px){
  .open-status-groups{grid-template-columns:1fr!important}
}

/* Correction is a detail action only, with normal-size type. */
.suggest-change-btn{font-size:12px!important;line-height:1!important;white-space:nowrap!important}
.modal .actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.modal .actions .detail-correction{margin-left:auto!important}

/* Front-card copy is descriptive, never an address. */
.place-card-description,.kids-place-description{
  color:#858b88!important;font-size:11px!important;line-height:1.35!important;margin:2px 0 0!important;
}

/* About secondary actions need a little more contrast. */
#about .callouts .action.alt{
  background:#e1e8e2!important;
  border-color:#9db2a4!important;
  color:#234537!important;
  font-weight:850!important;
}
#about .callouts .action.alt:hover{background:#d5e0d7!important}



/* Open / closing / opening rows: explicit horizontal layout. */
.open-name-list{display:block!important}
.open-name-chip{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  padding:8px 2px!important;
  text-align:left!important;
  border:0!important;
  border-bottom:1px solid rgba(73,87,80,.10)!important;
  background:transparent!important;
}
.open-name-chip:last-child{border-bottom:0!important}
.open-name-chip>.open-place-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
}
.open-name-chip>.open-place-copy{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  text-align:left!important;
  line-height:1.2!important;
}
.open-name-chip>.open-place-copy small{
  display:block!important;
  margin-top:3px!important;
  color:var(--muted)!important;
  font-size:10px!important;
}

/* My Plan uses the same calm grouped visual grammar as event lists. */
#planItems{display:grid;gap:14px}
.plansection{
  margin:0!important;
  padding:0!important;
  background:var(--tiny-group)!important;
  border:1px solid #ddd5c8!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.plansection-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px 13px!important;
  background:rgba(255,255,255,.28)!important;
  border-bottom:1px solid var(--tiny-divider)!important;
}
.plansection-head h3{
  margin:0!important;
  font-size:15px!important;
  color:var(--ink)!important;
}
.plansection-head .mini{
  background:transparent!important;
  border:0!important;
  color:var(--green)!important;
  font-weight:800!important;
}

/* Event / program plan rows */
.planitem.plan-event,
.planitem.plan-program{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:11px!important;
  padding:11px 13px!important;
  border:0!important;
  border-bottom:1px solid var(--tiny-divider)!important;
  background:transparent!important;
  border-radius:0!important;
}
.planitem.plan-event:last-child,
.planitem.plan-program:last-child{border-bottom:0!important}
.plan-time{
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:var(--green)!important;
  white-space:nowrap!important;
}
.plan-copy{min-width:0!important}
.plan-title{
  display:block!important;
  margin:0 0 3px!important;
  font-size:14px!important;
  line-height:1.22!important;
  color:var(--ink)!important;
}
.plan-date{
  color:#8a8f8c!important;
  font-size:10px!important;
  line-height:1.25!important;
}
.plan-row-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.plan-directions{
  white-space:nowrap!important;
  background:#e6ece7!important;
  color:#244637!important;
  border:1px solid #b4c3b8!important;
  border-radius:8px!important;
  padding:7px 9px!important;
  font-size:11px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.plan-row-actions .mini{
  white-space:nowrap!important;
}

/* Dedicated places section, still calm/grouped but no time column. */
.plansection.places-plan .planitem.plan-place{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:11px 13px!important;
  border:0!important;
  border-bottom:1px solid var(--tiny-divider)!important;
  background:transparent!important;
}
.plansection.places-plan .planitem.plan-place:last-child{border-bottom:0!important}
.plan-place-icon{
  width:34px;height:34px;display:grid;place-items:center;
  border:1px solid var(--tiny-icon-line);background:var(--tiny-icon-bg);
  border-radius:10px;font-size:18px;
}
.plan-place-copy b{display:block;font-size:14px;line-height:1.2}
.plan-place-copy small{display:block;margin-top:3px;color:#8a8f8c;font-size:10px}

/* The old type pill is gone entirely. */
.plantype{display:none!important}

@media(max-width:620px){
  .planitem.plan-event,.planitem.plan-program{
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .plan-row-actions{
    grid-column:1 / -1!important;
    justify-content:flex-end!important;
    padding-top:2px!important;
  }
  .plansection.places-plan .planitem.plan-place{
    grid-template-columns:36px minmax(0,1fr)!important;
  }
  .plansection.places-plan .plan-row-actions{
    grid-column:1 / -1!important;
  }
}



/* Final specificity fix: icon and place name must stay on one horizontal row. */
#home .open-status-master .open-name-chip{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  text-align:left!important;
}
#home .open-status-master .open-name-chip > .open-place-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
}
#home .open-status-master .open-name-chip > .open-place-copy{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  text-align:left!important;
}
#home .open-status-master .open-name-chip > .open-place-copy > b{
  display:block!important;
  margin:0!important;
  line-height:1.2!important;
}
#home .open-status-master .open-name-chip > .open-place-copy > small{
  display:block!important;
  margin:3px 0 0!important;
}

/* Undo the old Home-only white status-pill treatment. */
#home .happening-grid .tiny-event-row .event-timing,
#home .happening-grid .tiny-event-row .event-timing.happening{
  color:var(--ink)!important;
}
#home .happening-grid .tiny-event-row .event-timing.happening{
  background:#d9eadc!important;
}
#home .happening-grid .tiny-event-row .event-timing.ending{
  background:#f3e3ae!important;
  color:#6d5316!important;
}
#home .happening-grid .tiny-event-row .event-timing.starting{
  background:#e8e7e2!important;
  color:#59615b!important;
}



/* HOME STATUS PANE ------------------------------------------------ */
#home .open-status-master,
#home .open-status-mobile{
  width:100%!important;
  max-width:900px!important;
  margin:0!important;
}
#home .open-status-master>summary{
  min-height:46px!important;
  padding:9px 12px!important;
}
.status-summary-pills{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
.status-summary-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  border-radius:999px!important;
  padding:5px 8px!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
}
.status-summary-pill.open{background:#d9eadc!important;color:#24573c!important}
.status-summary-pill.soon{background:#f3e3ae!important;color:#6d5316!important}
.status-summary-pill.opening{background:#e8e7e2!important;color:#59615b!important}
#home .open-status-master[open] .status-summary-pills{opacity:.72}

#home .open-status-master .open-status-groups{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
}
#home .open-status-master .open-name-chip{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
}
#home .open-status-master .open-name-chip > .open-place-icon{
  flex:0 0 30px!important;
}
#home .open-status-master .open-name-chip > .open-place-copy{
  flex:1 1 auto!important;
  min-width:0!important;
}

/* Desktop uses one master disclosure; mobile gets independent disclosures. */
.open-status-desktop{display:block!important}
.open-status-mobile{display:none!important}
.mobile-status-group{
  margin:0 0 7px!important;
  border:1px solid #ddd5c8!important;
  border-radius:12px!important;
  background:var(--tiny-group)!important;
  overflow:hidden!important;
}
.mobile-status-group>summary{
  list-style:none!important;
  cursor:pointer!important;
  padding:9px 11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.mobile-status-group>summary::-webkit-details-marker{display:none!important}
.mobile-status-group .open-name-list{padding:0 10px 7px!important}

@media(max-width:620px){
  .open-status-desktop{display:none!important}
  .open-status-mobile{display:block!important}
}

/* PLACES FILTERS -------------------------------------------------- */
#placeFilters{
  display:grid!important;
  gap:7px!important;
  width:100%!important;
}
.place-filter-row{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
}
.place-filter-row .control-label{
  padding-top:7px!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:var(--muted)!important;
  font-weight:900!important;
}
.place-filter-row .filters{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.tiny-place-row{
  grid-template-columns:52px minmax(0,1fr) auto!important;
}
.tiny-place-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:36px!important;
}
.tiny-place-row .save{
  display:grid!important;
  position:static!important;
  inset:auto!important;
}
.tiny-place-copy .place-name-line{
  justify-content:flex-start!important;
  gap:6px!important;
}
.tiny-place-copy .place-status{
  margin:0!important;
}
.tiny-place-copy .status-stack{display:inline-flex!important}

/* KIDS ------------------------------------------------------------ */
.drive-time-pill{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  padding:4px 7px!important;
  background:#ece8de!important;
  border:1px solid #ddd5c8!important;
  color:#69706c!important;
  font-size:9px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.kids-place-meta,
.outdoor-place-meta{
  display:flex!important;
  justify-content:flex-start!important;
  gap:6px!important;
  align-items:center!important;
  margin-top:6px!important;
}
#kids .activity-card{
  align-items:start!important;
}
#kids .tiny-activity-copy{
  text-align:left!important;
}
#kids .tiny-activity-copy h3,
#kids .tiny-activity-copy p,
#kids .program-facts,
#kids .kids-card-footer{
  text-align:left!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
}
#kids .program-facts{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:8px!important;
}
#kids .program-fact{
  margin:0!important;
  white-space:nowrap!important;
}
#kids .kids-card-footer{
  display:flex!important;
  margin-top:7px!important;
}

/* MY PLAN --------------------------------------------------------- */
#planItems{display:grid!important;gap:14px!important}
.plansection{
  background:var(--tiny-group)!important;
  border:1px solid #ddd5c8!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.plansection-head{
  padding:10px 13px!important;
}
.plan-daygroup + .plan-daygroup{
  border-top:1px solid #d7d3ca!important;
}
.plan-dayhead{
  padding:8px 13px 7px!important;
  border-bottom:1px solid #ded9cf!important;
  color:#8a8f8c!important;
  font-size:10px!important;
  font-weight:800!important;
  background:rgba(255,255,255,.20)!important;
}
.planitem.plan-event,
.planitem.plan-program{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  padding:11px 13px!important;
  border:0!important;
  border-bottom:1px solid var(--tiny-divider)!important;
}
.planitem.plan-event:last-child,
.planitem.plan-program:last-child{border-bottom:0!important}
.plan-time{
  grid-column:1!important;
  grid-row:1!important;
  padding-top:2px!important;
}
.plan-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
}
.plan-copy .plan-title{
  width:100%!important;
  max-width:none!important;
  white-space:normal!important;
  overflow:visible!important;
}
.plan-date{
  color:#8a8f8c!important;
}
.plan-row-actions{
  grid-column:2!important;
  grid-row:2!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  padding-top:5px!important;
}
.plansection.places-plan .planitem.plan-place{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  padding:11px 13px!important;
}
.plansection.places-plan .plan-row-actions{
  grid-column:2!important;
  grid-row:2!important;
  justify-content:flex-start!important;
}
@media(max-width:620px){
  .planitem.plan-event,.planitem.plan-program{
    grid-template-columns:62px minmax(0,1fr)!important;
  }
  .plan-row-actions{
    grid-column:2!important;
  }
}



/* HOME: summary pills are useful only while the status pane is closed. */
#home .open-status-master[open] .status-summary-pills{display:none!important}
#home .open-status-desktop,
#home .open-status-mobile{margin-top:12px!important}

/* My Plan day dividers should match Events day dividers. */
.plan-dayhead{
  position:static!important;
  top:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:0!important;
  padding:8px 13px!important;
  color:#555f5a!important;
  background:transparent!important;
  border:0!important;
  font-size:inherit!important;
  font-weight:inherit!important;
}
.plan-dayhead:before,.plan-dayhead:after{
  content:""!important;
  height:1px!important;
  background:var(--day)!important;
  flex:1!important;
}
.plan-dayhead:before{flex:0 0 7px!important}
.plan-dayhead b{
  font-size:13px!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
  color:#6f7773!important;
}
.plan-row-actions .mini{
  background:#eadb9f!important;
  border-color:#c9ad57!important;
  color:#3f3518!important;
}
.plan-row-actions .mini:hover{background:#e2cd7f!important}
.plan-directions{
  background:#e0e8e2!important;
  border-color:#9eb3a4!important;
  color:#234537!important;
}

/* Places status pill must sit beside the name, never absolutely at far right. */
.tiny-place-row .place-status{
  position:static!important;
  inset:auto!important;
  right:auto!important;
  top:auto!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}
.tiny-place-row .place-status .status-stack{
  display:inline-flex!important;
  align-items:flex-start!important;
}
.tiny-place-row .place-name-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}

/* Places filters match Events: visible toggle at every size. */
.places-tools>.mobile-filter-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.places-tools.filters-collapsed #placeFilters{display:none!important}

/* Drive-time treatment shared everywhere. */
.worth-drive-time{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  padding:4px 7px!important;
  background:#ece8de!important;
  border:1px solid #ddd5c8!important;
  color:#69706c!important;
  font-size:9px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.tiny-event-facts .worth-drive-time{margin:0!important}
.place-card-description-row{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.plan-meta-row{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}

@media(max-width:620px){
  .places-tools.filters-collapsed #placeFilters{display:none!important}
}



/* Home open/closing/opening pane: no blank header space while expanded. */
#home .open-status-master{position:relative!important}
#home .open-status-master[open]>summary{
  position:absolute!important;
  top:6px!important;
  right:7px!important;
  z-index:4!important;
  width:28px!important;
  height:28px!important;
  min-height:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(246,242,232,.88)!important;
  border:1px solid #ddd5c8!important;
  border-radius:999px!important;
}
#home .open-status-master[open]>summary .status-summary-pills{display:none!important}
#home .open-status-master[open]>summary .open-master-chevron{
  margin:0!important;
  font-size:15px!important;
}
#home .open-status-master[open] .open-status-groups{
  padding-top:10px!important;
}
#home .open-status-desktop,
#home .open-status-mobile{margin-top:9px!important}

/* Shared filter toolbar: clear, prominent and aligned. */
.events-tools,.places-tools{
  padding:10px 12px!important;
}
.filter-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 9px!important;
  width:100%!important;
}
.filter-toolbar .mobile-filter-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:8px 14px!important;
  border:1px solid var(--green)!important;
  border-radius:999px!important;
  background:var(--green)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
}
.filter-toolbar .mobile-filter-toggle:hover{
  background:#173c30!important;
  border-color:#173c30!important;
}
.filter-search-wrap{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  height:36px!important;
  min-width:170px!important;
  max-width:310px!important;
  flex:1 1 250px!important;
  padding:0 10px!important;
  background:#fffdf8!important;
  border:1px solid #d8d1c4!important;
  border-radius:999px!important;
  color:#777f7b!important;
}
.filter-search{
  width:100%!important;
  min-width:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font:inherit!important;
  font-size:12px!important;
}
.filter-search::placeholder{color:#8b918e!important}

/* Polished When / What / Where alignment. */
#eventsTools .tool-row,
.place-filter-row{
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  width:100%!important;
  margin:0 0 7px!important;
}
#eventsTools .control-label,
.place-filter-row .control-label{
  display:block!important;
  width:auto!important;
  padding:7px 0 0!important;
  margin:0!important;
  text-align:left!important;
  color:#6c7570!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
#eventsTools .chips,#eventsTools .filters,
.place-filter-row .filters{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:6px!important;
}
.events-tools .filter.on,.events-tools .chip.on,
.places-tools .filter.on{
  background:#e1ebe4!important;
  border-color:#88a392!important;
  color:#173f31!important;
  box-shadow:0 0 0 1px rgba(55,91,72,.08)!important;
}

/* Places: status and upcoming-event indicators stay beside the name. */
.tiny-place-row .place-name-line{
  gap:5px!important;
}
.tiny-place-row .place-status{
  position:static!important;
  margin-left:2px!important;
}
.upcoming-events-pill{
  display:inline-flex!important;
  align-items:center!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#dcebdd!important;
  color:#24573c!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Modal action consistency: Correction matches other detail actions. */
.modal .actions .action,
.modal .actions .suggest-change-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border-radius:9px!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}

/* Taxonomy label normalization. */
.place-category .dayhead b{line-height:1.2!important}

@media(max-width:620px){
  .filter-toolbar{
    gap:7px!important;
  }
  .filter-toolbar .mobile-filter-toggle{
    flex:0 0 auto!important;
  }
  .filter-search-wrap{
    min-width:0!important;
    max-width:none!important;
    flex:1 1 auto!important;
  }
  #eventsTools.mobile-open .tool-row,
  .places-tools.mobile-open .place-filter-row{
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  #eventsTools.mobile-open .control-label,
  .places-tools.mobile-open .control-label{
    padding-top:2px!important;
  }
}



/* Larger final Loop mark. */
.brand-mark{
  width:72px!important;
  height:72px!important;
  flex:0 0 72px!important;
  display:block!important;
}
.top{min-height:88px!important}
.logo{gap:11px!important}
.brand-mark .mark-disc{fill:var(--green)!important}
.brand-mark .mark-arc{
  fill:none!important;
  stroke:var(--gold)!important;
  stroke-width:7!important;
  stroke-linecap:round!important;
}
.brand-mark .mark-h{
  fill:none!important;
  stroke:#fffdf9!important;
  stroke-width:8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.brand-mark .mark-dot{fill:var(--gold)!important}

/* Search results use the same calm full-width grouped language as Events. */
#searchResults .search-groups{
  display:grid!important;
  gap:28px!important;
}
#searchResults .search-group{
  margin:0!important;
}
#searchResults .search-group>h2{
  margin:0 0 10px!important;
  font-size:20px!important;
}
#searchResults .search-group .daygroup,
#searchResults .search-result-cards{
  max-width:900px!important;
}
#searchResults .search-result-cards{
  display:block!important;
  background:var(--tiny-group)!important;
  border:1px solid #ddd5c8!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
#searchResults .search-result-cards>.tiny-place-row,
#searchResults .search-result-cards>.activity-card,
#searchResults .search-result-cards>.tiny-outdoor-row{
  width:100%!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid var(--tiny-divider)!important;
  background:transparent!important;
  box-shadow:none!important;
}
#searchResults .search-result-cards>*:last-child{
  border-bottom:0!important;
}

/* Sources-style plus/minus toggle for Home status pane. */
.open-master-toggle,
.mobile-status-toggle{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  color:var(--green)!important;
  font-size:18px!important;
  font-weight:950!important;
  line-height:1!important;
}
.open-master-toggle:before,
.mobile-status-toggle:before{content:'＋'!important}
.open-status-master[open] .open-master-toggle:before,
.mobile-status-group[open] .mobile-status-toggle:before{content:'−'!important}
#home .open-status-master[open]>summary .open-master-toggle{
  margin:0!important;
}

/* Neutralize old chevron rules. */
.open-master-chevron{display:none!important}

/* Mobile mark remains substantial without crowding the header. */
@media(max-width:620px){
  .brand-mark{
    width:52px!important;
    height:52px!important;
    flex-basis:52px!important;
  }
  .top{min-height:70px!important}
  .logo{font-size:18px!important}
  #searchResults .search-result-cards,
  #searchResults .search-group .daygroup{
    max-width:100%!important;
  }
}



/* Final attached logo: true vector, larger but geometrically stable. */
.brand-mark{
  width:76px!important;
  height:76px!important;
  flex:0 0 76px!important;
  display:block!important;
  overflow:visible!important;
}
.top{min-height:92px!important}

/* Closed: pills left, plus pinned to the far right. */
#home .open-status-master>summary{
  width:100%!important;
}
#home .open-status-master:not([open])>summary{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  height:auto!important;
  min-height:46px!important;
  padding:9px 12px!important;
  display:flex!important;
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
#home .open-status-master:not([open]) .open-master-toggle{
  margin-left:auto!important;
  flex:0 0 auto!important;
}

/* Expanded: the minus stays at the same right edge, without a white circle. */
#home .open-status-master[open]>summary{
  position:absolute!important;
  top:9px!important;
  right:12px!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#home .open-status-master[open] .open-master-toggle{
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
#home .open-status-master[open] .open-master-toggle:before{
  content:'−'!important;
  display:block!important;
  color:var(--green)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
#home .open-status-master:not([open]) .open-master-toggle:before{
  content:'＋'!important;
  display:block!important;
  color:var(--green)!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1!important;
}

/* Larger names on the three green Worth Knowing cards. */
#home .signalgrid .signal h3{
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:900!important;
}
@media(max-width:620px){
  .brand-mark{
    width:56px!important;
    height:56px!important;
    flex-basis:56px!important;
  }
  .top{min-height:74px!important}
  #home .signalgrid .signal h3{
    font-size:18px!important;
  }
}



/* Exact uploaded source logo; only display size changes, not its geometry. */
.brand-mark{
  width:76px!important;
  height:76px!important;
  flex:0 0 76px!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:620px){
  .brand-mark{
    width:56px!important;
    height:56px!important;
    flex-basis:56px!important;
  }
}



/* Exact attached logo source. Preserve its native aspect ratio; only scale display width. */
.brand-mark{
  width:72px!important;
  height:auto!important;
  flex:0 0 72px!important;
  display:block!important;
  object-fit:contain!important;
}

/* Attention pills (One night / One day / etc.) belong with the event title, never the right rail. */
.tiny-event-titleline{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
.tiny-event-titleline h3{
  margin:0!important;
}
.tiny-event-titleline .event-attention{
  margin:0!important;
  margin-left:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
  text-align:left!important;
  white-space:nowrap!important;
}
.tiny-event-actions .event-attention{display:none!important}

@media(max-width:620px){
  .brand-mark{
    width:54px!important;
    height:auto!important;
    flex-basis:54px!important;
  }
}

/* Shared image assets retain the original glyph slot dimensions. */
.loop-icon{width:1em;height:1em;object-fit:contain;display:inline-block;vertical-align:-.1em}

.place-detail-title{display:flex;align-items:center;gap:12px}.place-detail-title .loop-icon{width:1.4em;height:1.4em;flex-shrink:0}.seasonal-place-top{display:flex;align-items:center;gap:10px}.seasonal-place-top .loop-icon{width:34px;height:34px}


/* Approved 2026-10-06: approved artwork at 190% of original display size. */
.loop-icon{width:1.9em!important;height:1.9em!important;max-width:none!important;max-height:none!important}
.place-detail-title .loop-icon{width:2.66em!important;height:2.66em!important;flex-shrink:0}
.seasonal-place-top .loop-icon{width:64.6px!important;height:64.6px!important;flex-shrink:0}
.tiny-icon,.tiny-place-icon,.tiny-outdoor-icon,.tiny-activity-icon,
.open-place-icon,.plan-place-icon,
#home .happening-grid .tiny-event-row .tiny-icon{
  background:transparent!important;border-color:transparent!important;
  border-radius:0!important;box-shadow:none!important;
}
/* Reserve space for enlarged artwork in compact opening-status rows. */
.open-name-chip>.open-place-icon,
#home .open-status-master .open-name-chip>.open-place-icon{
  width:38px!important;height:38px!important;flex:0 0 38px!important;
}
.plan-place-icon{width:38px!important;height:38px!important}

/* Center all save hearts identically, including Places' grid override. */
.save{
  display:grid!important;place-items:center!important;
  align-items:center!important;justify-content:center!important;
  width:32px;height:32px;min-width:32px;
  padding:0!important;line-height:1!important;text-align:center;
}

/* Mobile browser feedback: keep text readable and actions easy to reach. */
.suggestion-plus{display:none}
.home-mobile-filter-toggle{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
#home .tiny-event-row,#home .tiny-event-row h3,#home .tiny-event-row .tiny-venue,#home .tiny-event-row .tiny-venue button{color:var(--ink,#17251f)!important}
#home .tiny-event-row .tiny-event-time,#home .tiny-event-row .event-plain-time{color:var(--green)!important}
@media(max-width:940px){
  .bottom{padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important}
  .bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;font-size:12px!important;color:#526059}
  .bottom .nav-icon{font-size:30px;line-height:1;width:34px;height:32px}
  .bottom button.active{color:var(--green)!important}
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
}
@media(max-width:620px){
  .top .logo{font-size:16px!important;gap:6px!important;order:1}
  .top #submitButton{order:2!important;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0!important;border-radius:50%!important;background:var(--gold)!important;color:#392900!important;border:0!important;margin-left:auto}
  .top #submitButton .suggestion-label{display:none!important}
  .top #submitButton .suggestion-plus{display:block;font-size:29px;line-height:1;font-weight:500}
  .top #planButton{order:3!important;margin-left:0!important;font-size:12px!important;white-space:nowrap}
  .top #search{order:4}
  .kidtabs{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:8px!important}
  .kidtabs .kidtab{flex:1 1 calc(50% - 8px)!important;min-width:0!important;max-width:100%!important}
  .kidtabs .kid-label b{white-space:normal!important}
}

#home .happening-grid .tiny-event-row h3,
#home .happening-grid .tiny-event-row .tiny-venue,
#home .happening-grid .tiny-event-row .venue-link,
#home .happening-grid .tiny-event-row .event-plain-time,
#home .happening-grid .tiny-event-row .event-timing,
#home .happening-grid .tiny-event-row .tiny-cost{color:var(--ink,#17251f)!important}
#home .happening-grid .tiny-event-row .event-timing,
#home .happening-grid .tiny-event-row .tiny-cost{background:#e2e9e3!important}
#home #happeningNow .sectionhead h2{color:var(--ink,#17251f)!important}

/* Approved floating dock and message bubble: mobile navigation breakpoint only. */
.suggestion-message{display:none}
@media(max-width:940px){
  .bottom{left:50%!important;right:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;transform:translateX(-50%);width:calc(100% - 28px);max-width:450px;border-radius:24px;border:1px solid var(--line);box-shadow:0 8px 28px #17251f24;padding:6px!important}
  .bottom .nav-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px}
  .bottom .nav-icon svg{width:28px;height:28px;display:block}
  .bottom button{border-radius:16px;color:#69726d}
  .bottom button.active{background:#e6eee7!important;color:var(--green)!important}
  .top #submitButton{display:inline-flex!important;align-items:center;justify-content:center;background:transparent!important;border:0!important;border-radius:8px!important;padding:0!important;width:40px!important;height:40px!important;flex:0 0 40px}
  .top #submitButton:after{content:none!important}
  .top #submitButton .suggestion-label{display:none!important}
  .top #submitButton .suggestion-message{display:block;width:34px;height:34px}
  .top #submitButton .suggestion-message svg{display:block;width:34px;height:34px}
}

/* Submission refinements: natural form flow and phone-safe input text. */
.place-search-results{border:1px solid var(--line);border-radius:10px;max-height:240px;overflow:auto;background:var(--paper)}
.place-search-results[hidden],.submission-form [hidden]{display:none!important}
.additional-details{display:block;padding:12px;border:1px solid var(--line);border-radius:12px}
.additional-details>summary{cursor:pointer;font-weight:750;color:var(--green);min-height:44px;display:flex;align-items:center}
.additional-details[open]>.form-row{margin-top:12px}
@media(max-width:940px){
  body input[type=search],body .filter-search,body .submission-form input,body .submission-form select,body .submission-form textarea{font-size:16px!important}
  body #submitButton,body #planButton{height:44px!important;min-height:44px!important;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}
  .submit-grid .submit-choice{min-height:44px;height:auto;padding:10px 12px}
  .submit-choice b{font-size:15px}
}

/* Approved mobile card names and compact Kids filter counts. */
@media(max-width:940px){
  body .tiny-event-copy h3,body .tiny-event-titleline h3,
  body .tiny-place-row h3,body .tiny-place-copy h3,
  body .tiny-outdoor-row h3,body .tiny-outdoor-copy h3,
  body .tiny-activity-copy h3,body .seasonal-place-card h3{
    font-size:18px!important;line-height:1.28!important;
  }
  .kidtabs .kidtab{display:flex;align-items:center;gap:6px}
  .kidtabs .kid-label{flex:1;min-width:0}
  .kidtabs .kid-icon{flex-shrink:0}
  .kidtabs .kid-subrow{flex:0 0 auto;margin:0!important}
  .kidtabs .kid-sub{display:none!important}
  .kidtabs small{margin:0!important}
}

/* Consistent page heading, independent opening-hours section, mobile filter control. */
#home .hero h1{font-size:clamp(38px,5vw,56px);line-height:1;letter-spacing:-.045em;margin:9px 0 7px}
.kid-filter-toggle{display:none!important}
@media(max-width:940px){
  #kidTabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #kidTabs [data-kid="weekend"]{order:-1}
  #kidTabs .kid-filter-toggle{display:flex!important;order:-2;justify-content:center;background:var(--green)!important;color:#fff!important;border-color:var(--green)!important;font-size:13px;font-weight:850}
  #kidTabs.filters-hidden [data-kid]{display:none!important}
  #kidTabs.filters-hidden .kid-filter-toggle{grid-column:1}
  #home .mobile-status-group .status-summary-pill,#home .open-status-group h4 .status-pill,#home .status-summary-pills .status-summary-pill{font-size:16px!important}
  .tiny-event-actions,.tiny-activity-actions,.tiny-place-actions,.tiny-outdoor-actions{min-width:32px!important;width:32px!important}
  .tiny-event-row,.tiny-place-row,.tiny-outdoor-row,#kids .grid .activity-card,#home .happening-grid .tiny-event-row{column-gap:5px!important}
}

/* Keep navigation anchored without a transformed compositing layer. */
@media(max-width:940px){
  .bottom{position:fixed!important;inset:auto 14px calc(12px + env(safe-area-inset-bottom)) 14px!important;transform:none!important;width:auto!important;margin-inline:auto;transition:none!important;animation:none!important}
}
.home-next-anchor{display:flow-root}
.tiny-event-symbol-column{display:contents}
/* Approved time below artwork, for mobile cards only. */
@media(max-width:940px){
  .tiny-event-row,#home .happening-grid .tiny-event-row{grid-template-columns:64px minmax(0,1fr) 32px!important;column-gap:8px!important}
  .tiny-event-symbol-column{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-width:0}
  .tiny-event-symbol-column .tiny-event-time{text-align:center;max-width:64px}
}
.home-next-anchor .home-next-sticky{margin-top:0}
.home-next-sticky.home-next-pinned{position:fixed!important;z-index:30!important;transition:none;animation:none}

/* One compact treatment for informational badges, independent of time labels. */
html body main :is(#home,#events,#kids,#places,#searchResults,#plan).page .card :is(.tiny-cost,.registration-pill,.registration-note,.worth-drive-time,.drive-time-pill,.program-fact,.program-flag,.event-attention,.event-detail-tag,.tag,.tags>span,.distance,.streaming-pill,.upcoming-events-pill,.source-tag,.flag),
html body #modal :is(.registration-pill,.registration-note,.event-detail-tag,.tag,.tags>span,.program-flag,.worth-drive-time,.seasonal-detail-tags>span,.flag),
body .tiny-cost,body .registration-pill,body .registration-note,
body .worth-drive-time,body .drive-time-pill,body .program-fact,
body .program-flag,body .event-attention,body .event-detail-tag,
body .tag,body .tags>span,body .distance,body .seasonal-detail-tags>span,
body .upcoming-events-pill,body .source-tag,body .flag,body .streaming-pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;height:24px!important;min-height:24px!important;
  font-size:11px!important;line-height:1!important;font-weight:750!important;
  padding:0 8px!important;border:0!important;border-radius:999px!important;
  white-space:nowrap!important;vertical-align:middle;
  background:#e7dfd0!important;color:#5c513e!important;
}
body .registration-note{background:#eee8dd;color:var(--ink)}
body .registration-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
body .tiny-event-facts{gap:4px!important;align-items:center!important}
body .tiny-event-titleline .event-attention{max-width:none!important}
body #home .tiny-event-row .tiny-venue,
body #home .happening-grid .tiny-event-row .tiny-venue,
body #home .tiny-event-row .venue-link,
body #home .happening-grid .tiny-event-row .venue-link{
  color:#7c827f!important;
}
.tiny-stream-note{font-size:11px!important;line-height:1.35!important;color:var(--muted)!important;margin:5px 0 0!important}

/* What's Open always keeps artwork beside its place name. */
body #home .open-name-chip{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:flex-start!important;gap:10px!important;
}
body #home .open-name-chip>.open-place-icon{flex:0 0 38px!important;margin:0!important}
body #home .open-name-chip>.open-place-copy{flex:1 1 auto!important;min-width:0!important;margin:0!important}
body #home .open-place-copy>b{display:block;line-height:1.25}
body #home .open-place-copy>b{font-size:16px!important;font-weight:500!important}
@media(max-width:940px){body #home .open-place-copy>b{font-size:18px!important}}
.place-phone-value{display:flex;align-items:center;justify-content:space-between;width:100%;gap:6px;flex-wrap:nowrap}
.place-phone-value>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:940px){.place-phone-detail{grid-column:1/-1}}
.place-phone-call{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;color:var(--green);background:#e7dfd0;text-decoration:none}
.place-phone-call:hover{background:#ddd2bc}
.place-phone-call:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* Desktop clocks match event titles; reserve space even for live labels. */
@media(min-width:941px){
  body .tiny-event-row,body #home .happening-grid .tiny-event-row{
    grid-template-columns:52px 76px minmax(0,1fr) auto!important;
    column-gap:9px!important;
  }
  body .tiny-event-row .event-plain-time,
  body .tiny-event-row .event-timing,
  body #home .happening-grid .tiny-event-row .event-plain-time,
  body #home .happening-grid .tiny-event-row .event-timing{
    font-size:16px!important;line-height:1.18!important;font-weight:500!important;
    max-width:100%;box-sizing:border-box;
  }
  body .tiny-event-row .event-timing{white-space:normal!important;overflow-wrap:normal}
}

/* Owner-approved mobile review items 1, 2, 3, 4 and 9. */
.mobile-signal-detail,.mobile-event-criteria,#eventMobileToolbar{display:none}
.preview-date{font-size:14px;color:var(--muted);margin:12px 0}
.submission-preview-shell .preview-instructions{font-size:14px;line-height:1.45}
.submission-preview-shell .save:disabled{opacity:1;cursor:default}
@media(max-width:940px){
  .hero,.pagebanner{padding:14px 0 12px!important;margin:0 0 14px!important}
  .hero .eyebrow,.pagebanner .eyebrow{margin-bottom:4px!important}
  .hero h1,.pagebanner h2{margin:0!important}
  #signals .section{padding:10px 0!important}
  #signals .sectionhead{margin-bottom:10px!important}
  #signals .signal{height:auto!important;min-height:0!important;padding:15px!important}
  #signals .signal h3{padding-right:0!important;margin:0 0 7px!important}
  #signals .signal .flag{position:static!important;display:table;margin-bottom:7px!important}
  #signals .signal p{margin:0!important}
  .desktop-signal-detail,.desktop-event-clear{display:none}
  .mobile-signal-detail{display:inline}
  .mobile-event-criteria{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:11px 13px;margin:0 0 13px;background:#e6ede6;border-radius:12px;color:var(--green);font-size:13px;line-height:1.45}
  .mobile-event-criteria span{display:block;color:var(--muted);font-size:12px}
  .mobile-event-criteria button{flex-shrink:0;min-height:44px}
  #searchResults .pagebanner{padding:15px 0 12px!important;margin-bottom:14px!important}
  #searchResults .pagebanner p,#searchResults .pagebanner .eyebrow{display:none!important}
  #searchResults .pagebanner h2{font-size:26px!important;margin:0!important}
  .search-group-jumps{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
  .search-group-jumps a{display:inline-flex;padding:10px 12px;min-height:44px;box-sizing:border-box;align-items:center;border:1px solid var(--line);border-radius:22px;text-decoration:none;background:var(--paper);color:var(--green);font-size:13px;font-weight:850}
  #searchResults .dayhead{position:static!important}
  #searchResults .search-group,#search-past-results{scroll-margin-top:calc(var(--loop-header) + 16px)}
  .search-past-results{padding:12px;border:1px solid var(--line);border-radius:12px;margin-top:20px}
.search-past-results summary{cursor:pointer;font-weight:850;color:var(--green);min-height:44px;display:flex;align-items:center}
}
@media(max-width:620px){
  #eventMobileToolbar{display:block;position:sticky;top:var(--loop-header);z-index:30;background:var(--cream);padding:9px 0;border-bottom:1px solid var(--line)}
  #eventMobileToolbar .filter-toolbar{margin:0!important}
  #eventsTools{position:static!important;box-shadow:none!important;margin:8px 0 14px!important}
  #eventsTools:not(.mobile-open){display:none!important}
}

@media(max-width:940px){html body .top #submitButton,html body .top #planButton{height:44px!important;min-height:44px!important}html body .top #submitButton{width:44px!important;flex-basis:44px!important}.submit-grid{grid-template-columns:1fr!important}.submit-grid .submit-choice{height:44px!important;min-height:44px!important}}

/* Event clocks stay consistent; status moves with the device layout. */
.event-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;box-sizing:border-box;white-space:nowrap;font-weight:700}
.event-status-pill.happening{background:#d9eadc;color:#24573c}
.event-status-pill.starting{background:#dfe8ed;color:#355462}
.event-status-pill.ending{background:#f3e3ae;color:#6d5316}
.event-status-mobile{display:none}
@media(min-width:941px){
  .tiny-event-time{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}
  .event-status-desktop{font-size:10px;line-height:1.2;padding:3px 5px;max-width:100%}
}
@media(max-width:940px){
  .event-status-desktop{display:none}
  .event-status-mobile{display:inline-flex;height:24px;padding:0 8px;font-size:11px;line-height:1}
}

/* Shared navigation and filter controls, approved October 11. */
:root{--soon-blue:#dfe8ed;--soon-blue-text:#355462}
body .status-pill.opening,body .status-summary-pill.opening,body .event-status-pill.starting{background:var(--soon-blue)!important;color:var(--soon-blue-text)!important}
.audience-pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:#e7dfd0;color:#5c513e;font-size:11px;line-height:1;font-weight:700}
body .dayhead b{font-size:18px!important;line-height:1.3!important}
body .happening-section-heading{position:static!important;backdrop-filter:none}
body .whats-open-heading{position:sticky;top:var(--loop-header);z-index:18;background:var(--cream);padding:10px 0}
.full-calendar-pill{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:white;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}
.search-group-jumps{display:flex;justify-content:flex-start!important;align-items:flex-start;flex-wrap:wrap;gap:7px;margin:0 0 18px;text-align:left!important;width:100%}
.search-group-jumps a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:22px;text-decoration:none;color:var(--green);background:var(--paper);font-size:13px;font-weight:700}
body :is(#events,#places,#kids) .filter-toolbar{padding:0!important;margin:0!important;gap:8px!important}
body :is(#events,#places,#kids) .filter-toolbar .mobile-filter-toggle{height:40px!important;min-height:40px!important;font-size:13px!important;padding:0 14px!important}
body :is(#events,#places,#kids) .filter-search-wrap{height:40px!important;min-height:40px!important;box-sizing:border-box!important;min-width:0!important;flex:1!important;max-width:310px!important;padding:0 12px!important}
body :is(#events,#places,#kids) .filter-search{font-size:16px!important}
.install-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:44px;padding:0;border:0;background:transparent;color:var(--green);cursor:pointer}
.install-button svg{width:26px;height:26px}.install-button span{display:none}
.install-button[hidden]{display:none!important}
.home-filter-toolbar{justify-content:flex-start}
.home-next-sticky:not(.mobile-open) #homeEventFilters{display:none!important}
.home-next-sticky.mobile-open #homeEventFilters{display:flex!important}
.mobile-event-criteria{display:flex!important;gap:8px;align-items:center;justify-content:space-between;padding:11px 13px;margin:0 0 13px;background:#e6ede6;border-radius:12px;color:var(--green);font-size:13px;line-height:1.45}
.mobile-event-criteria span{display:block;color:var(--muted);font-size:12px}
.mobile-event-criteria button{flex-shrink:0;min-height:44px}
.desktop-event-clear{display:none!important}
@media(max-width:940px){
  body .top #search{display:none!important}
  body .top{gap:4px!important;flex-wrap:nowrap!important}
  body .top .logo{font-size:15px!important;gap:5px!important;min-width:0}
  body .top .brand-mark{width:40px!important;height:40px!important}
  body .top #submitButton{order:2!important;margin-left:auto!important}
  body .top #installButton{order:3!important}
  body .top #planButton{order:4!important;font-size:11px!important}
  body .bottom{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important}
  body .bottom button{min-width:0;padding:6px 2px!important;font-size:11px!important}
  body .home-filter-toolbar{display:flex!important}
  body .dayhead b{font-size:19px!important}
  body :is(#events,#places,#kids) .filter-toolbar .mobile-filter-toggle{height:44px!important;min-height:44px!important}
  body :is(#events,#places,#kids) .filter-search-wrap{height:44px!important;min-height:44px!important;max-width:none!important}
}
@media(max-width:360px){
  body .top .logo{font-size:12px!important;gap:3px!important}
  body .top .brand-mark{width:28px!important;height:28px!important}
  html body .top #submitButton{width:32px!important;flex-basis:32px!important}
  body .top #installButton{width:32px!important;flex-basis:32px!important}
  body .top #planButton{padding:8px!important;font-size:10px!important}
}

/* Approved mobile capsule, detached suggestion action and App circle. */
.install-button .download-circle{display:flex;align-items:center;justify-content:center}
@media(max-width:940px){
  html body .bottom{grid-template-columns:minmax(0,1fr) 56px!important;gap:7px!important;align-items:center!important;inset:auto 7px calc(10px + env(safe-area-inset-bottom)) 7px!important;max-width:470px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
  html body .bottom-main{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;align-items:center;background:var(--paper);border:1px solid #dedbd2;border-radius:34px;padding:7px 4px;box-shadow:0 4px 16px #16241f14}
  html body .bottom button{min-height:50px!important;gap:3px!important;border-radius:24px!important;padding:2px!important;font-size:11px!important;font-weight:500!important;color:var(--muted)!important;background:transparent!important}
  html body .bottom button.active{background:transparent!important;color:var(--green)!important;font-weight:750!important}
  html body .bottom .nav-icon{width:26px!important;height:26px!important}
  html body .bottom .nav-icon svg{width:25px!important;height:25px!important;stroke-width:1.8}
  html body .bottom button.active svg{stroke-width:2.4}
  html body .bottom button.active[data-nav="home"] svg{fill:currentColor;stroke:currentColor}
  html body .bottom button.active[data-nav="kids"] svg path{fill:currentColor}
  html body .bottom button.active[data-nav="places"] svg>path{fill:currentColor}
  html body .bottom button.active[data-nav="places"] svg>circle{fill:var(--paper);stroke:var(--paper)}
  html body .bottom button.active[data-nav="about"] svg>circle{fill:currentColor;stroke:currentColor}
  html body .bottom button.active[data-nav="about"] svg>path{stroke:var(--paper);stroke-width:2}
  html body .bottom button.active[data-nav="events"] svg>rect{fill:currentColor;stroke:currentColor}
  html body .bottom button.active[data-nav="events"] svg>path{stroke:var(--paper);stroke-width:1.8}
  html body .bottom .dock-suggestion{height:56px!important;min-height:56px!important;width:56px!important;border-radius:50%!important;background:#d4a436!important;color:#493610!important;gap:2px!important;font-size:11px!important;font-weight:650!important;box-shadow:0 4px 16px #16241f18}
  html body .bottom .dock-suggestion .nav-icon,html body .bottom .dock-suggestion svg{width:24px!important;height:24px!important}
  html body .top #submitButton{display:none!important}
  html body .top #installButton{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin-left:auto!important;padding:0!important;background:none!important}
  html body .top #installButton .download-circle{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:44px;height:44px;background:#d4a436;color:#493610;border-radius:50%;box-shadow:0 3px 10px #16241f14}
  html body .top #installButton svg{width:21px;height:21px}
  html body .top #installButton .download-label{display:block!important;font-size:11px;font-weight:650;line-height:1.2}
  html body .top #installButton[hidden]{display:none!important}
  html body .top #planButton{height:44px!important;min-height:44px!important}
  main{padding-bottom:100px!important}
}

/* Status headings stay below What's Open, within their own category bounds. */
#home .open-status-master,#home .open-status-group,#home .mobile-status-group{overflow:visible!important}
#home .open-status-group>h4,#home .mobile-status-group[open]>summary{position:sticky!important;top:calc(var(--loop-header,70px) + var(--loop-open-heading,54px))!important;z-index:17!important;background:var(--tiny-group)!important;border-radius:10px;padding:9px 11px!important}
#home .open-status-group>h4{margin:0 0 5px!important}

/* Final UI cleanup: shared rows, steady sticky offsets and mobile controls. */
body #home .signalgrid{display:block!important;border:1px solid var(--green)!important;border-radius:16px!important;overflow:hidden!important;background:var(--green)!important}
body #home .signalgrid .signal{min-height:0!important;height:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px 12px!important;padding:16px 18px!important;background:var(--green)!important;color:#fff!important;border-radius:0!important;box-shadow:none!important;border-bottom:1px solid #ffffff30!important}
body #home .signalgrid .signal:last-child{border-bottom:0!important}
body #home .signalgrid .signal h3{grid-column:1;margin:0!important;color:#fff!important;font-size:16px!important}
body #home .signalgrid .signal p{grid-column:1;color:#fff!important;margin:0!important}
body #home .signalgrid .signal .flag{position:static!important;grid-column:1;justify-self:start}
body #home .signalgrid .signal .signal-footer{grid-column:2;grid-row:1/4;align-self:center;position:static!important}
body #home .signalgrid .signal .save{position:static!important}
body #eventsTools,body #events .pagebanner{border-top:0!important}
body #events .pagebanner{border-bottom:0!important}
body #eventResultSummary{position:sticky;top:calc(var(--loop-header) + var(--loop-tools) - var(--loop-summary,0px) - var(--loop-filter-gap,42px));z-index:24;margin:0!important;background:var(--cream)}
body #eventResultSummary .mobile-event-criteria{margin:0!important;padding:5px 12px;min-height:44px;box-sizing:border-box;width:100%}
body #eventsList{padding-top:6px}
body #searchResults .daycards{display:block!important;max-width:none!important}
body #searchResults .dayhead{position:static!important}
body #searchResults .daygroup{display:block!important;margin:0!important;max-width:none!important}
body #searchResults .tiny-event-row{height:auto!important;min-height:0!important;width:100%!important;box-sizing:border-box}
body #home :is(.status-summary-pills,.open-status-group h4) .status-pill,body #home .status-summary-pill{font-size:16px!important}
body .submission-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-width:0}
body .submission-form .form-field,body .submission-form fieldset{min-width:0;box-sizing:border-box}
body .submission-form .form-field:has(textarea){grid-column:1/-1}
.open-place-row{display:flex;align-items:center;width:100%;min-width:0}
body #home .open-place-row .open-name-chip{flex:1;min-width:0;width:auto!important}
.open-place-row>.place-phone-call{display:none}
@media(max-width:940px){
  html body .top .brand-mark{width:46px!important;height:46px!important;flex:0 0 46px!important}
  html body .top #planButton{display:flex!important;align-items:center;gap:8px!important;padding:8px 10px!important;white-space:nowrap}
  html body .top #planCount{position:static!important;margin:0!important;flex-shrink:0}
  html body .bottom{grid-template-columns:minmax(0,1fr) 66px!important}
  html body .bottom .dock-suggestion{height:66px!important;min-height:66px!important;width:66px!important;background:var(--green)!important;color:#fff!important}
  body #eventMobileToolbar{display:block!important;position:sticky;top:var(--loop-header);z-index:30;background:var(--cream);padding:9px 0;border-bottom:0!important}
  body #eventsTools{position:fixed!important;top:calc(var(--loop-header) + 62px)!important;left:14px;right:14px;z-index:35;max-height:calc(100dvh - var(--loop-header) - 164px);overflow-y:auto!important;margin:0!important;background:var(--cream);box-shadow:var(--shadow)!important}
  body #eventsTools:not(.mobile-open){display:none!important}
  body .places-tools,body #kidTabs{position:sticky!important;top:var(--loop-header)!important;max-height:calc(100dvh - var(--loop-header) - 110px);overflow-y:auto!important;background:var(--cream);z-index:30}
  body .places-tools:not(.mobile-open) #placeFilters{display:none!important}
  body .places-tools.mobile-open #placeFilters{display:block!important}
  .open-place-row>.place-phone-call{display:inline-flex;margin-left:auto;margin-right:8px}
  body #home .signalgrid .signal h3{font-size:18px!important}
}

/* Approved compact Kids views and shared mobile search toolbar. */
.kids-filter-toolbar{display:flex!important}
@media(max-width:940px){
 html body #kidTabs.compact-capsule{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;padding:7px 4px!important;margin:12px 0!important;background:var(--paper)!important;border:1px solid #dedbd2!important;border-radius:34px!important;box-shadow:0 4px 16px #16241f14;}
 html body #kidTabs.compact-capsule .capsule-choice{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:50px;min-height:50px;min-width:0;border:0;border-radius:24px;background:none;padding:2px 0;color:var(--muted);font-size:11px;font-weight:500;}
 html body #kidTabs.compact-capsule .capsule-choice.on{color:var(--green);font-weight:750;}
 html body #kidTabs.compact-capsule .capsule-icon{display:flex;align-items:center;justify-content:center;position:relative;width:29px;height:28px;}
 html body #kidTabs.compact-capsule .capsule-icon svg{width:25px;height:25px;display:block;stroke-width:1.8;}
 html body #kidTabs.compact-capsule .capsule-count{position:absolute;top:-4px;right:-8px;min-width:15px;height:15px;padding:1px 3px;background:#e7dfd0;border:1px solid var(--paper);border-radius:10px;color:#5c513e;font-size:11px;font-weight:650;line-height:12px;}
 html body #kidTabs.compact-capsule .on .capsule-count{background:#e2ebe4;color:var(--green);}
 html body #kidTabs.compact-capsule .capsule-label{white-space:nowrap;font-size:11px;line-height:1.2;}
 html body #kidTabs.compact-capsule .on[data-kid="weekend"] rect,html body #kidTabs.compact-capsule .on[data-kid="registration"] rect{fill:currentColor;}
 html body #kidTabs.compact-capsule .on[data-kid="weekend"] path,html body #kidTabs.compact-capsule .on[data-kid="registration"] path{stroke:var(--paper);}
 html body #kidTabs.compact-capsule .on[data-kid="upcoming"] circle{fill:currentColor;}
 html body #kidTabs.compact-capsule .on[data-kid="upcoming"] path{stroke:var(--paper);}
 html body #kidTabs.compact-capsule .on[data-kid="indoor"] svg{fill:currentColor;}
 html body #kidTabs.compact-capsule .on[data-kid="outdoors"] .tree-crown{fill:currentColor;}
}

@media(max-width:940px){
  #kidsControls{position:sticky;top:var(--loop-header);z-index:31;background:var(--cream);padding:1px 0 8px;margin-bottom:8px}
  html body #kidsControls #kidTabs{position:static!important;top:auto!important;overflow:visible!important}
  body #kidsControls .kids-filter-toolbar{display:flex!important;margin:0!important}
  html body #kidTabs.compact-capsule .on[data-kid="indoor"] svg{fill:none}
  html body #kidTabs.compact-capsule .on[data-kid="indoor"] .umbrella-canopy{fill:currentColor}
}

/* Date/category lines stay opaque without painting over preceding text. */
@media(max-width:940px){
  body #eventsList{padding-top:6px}
  body :is(#events,#kids,#places) :is(.dayhead,.kids-divider){background:var(--cream)!important;backdrop-filter:none!important;box-shadow:none}
}

/* Shared controls and inline place titles across browser and phone layouts. */
body .tiny-place-row .place-name-line{display:block!important;line-height:1.35}
body .tiny-place-row .place-name-line h3{display:inline!important;padding:0!important}
body .tiny-place-row .place-name-line .place-status{min-width:0;max-width:100%}
body .tiny-place-row .place-name-line .status-stack{min-width:0;max-width:100%}
body .tiny-place-row .place-name-line .status-pill{max-width:100%;white-space:normal!important;text-align:left}
body .tiny-place-row .place-name-line .place-status,
body .tiny-place-row .place-name-line .upcoming-events-pill{vertical-align:middle;margin:0!important;max-width:100%}
body :is(.events-tools,.places-tools,#kidsControls){background:var(--cream)!important;backdrop-filter:none!important}
body :is(#kidsControls,.places-tools)::after{content:"";position:absolute;top:calc(100% + 1px);left:-12px;right:-12px;height:23px;background:var(--cream);pointer-events:none;z-index:-1}
@media(min-width:941px){
  body .places-tools{margin-bottom:6px!important}
  #kidsControls{position:sticky;top:var(--loop-header);z-index:31;padding:1px 0 8px;margin-bottom:8px}
  html body #kidsControls #kidTabs{position:static!important;top:auto!important;margin:12px 0!important;padding:10px 0!important;border:0!important}
  body #kidsControls .kids-filter-toolbar{margin:0!important}
  body :is(#events,#kids,#places) :is(.dayhead,.kids-divider){background:var(--cream)!important;backdrop-filter:none!important;box-shadow:none}
  html body .top #installButton{flex:0 0 44px;width:44px;height:44px}
  html body .top #installButton .download-circle{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:44px;height:44px;background:#d4a436;color:#493610;border-radius:50%;box-shadow:0 3px 10px #16241f14}
  html body .top #installButton svg{width:21px;height:21px}
  html body .top #installButton .download-label{display:block!important;font-size:11px;font-weight:650;line-height:1.2}
  html body .top #submitButton{background:var(--green)!important;color:#fff!important}
}

/* Keep complete panel borders and gap backing clear of headings and labels. */
html body :is(#eventsTools,#eventMobileToolbar,#kidsControls,.places-tools){
  border:1px solid #d9d5cc!important;border-radius:16px!important;
  background:var(--cream)!important;box-shadow:0 3px 12px #16241f08,0 0 0 12px var(--cream)!important;
  padding:10px 12px!important;box-sizing:border-box;
}
html body #kidsControls #kidTabs{margin:0 0 10px!important}
body #kids .pagebanner{border-bottom:0!important}
body #eventResultSummary::after{content:none}
body #eventResultSummary{z-index:26}
@media(min-width:941px){
  html body #kidsControls #kidTabs{padding:0!important}
  html body .top #installButton{display:none!important}
  body #eventsTools::after{content:"";position:absolute;top:calc(100% + 1px);left:-12px;right:-12px;height:calc(var(--loop-filter-gap) + var(--loop-summary,0px) + 7px);background:var(--cream);z-index:-1;pointer-events:none}
}
@media(max-width:940px){
  body #eventResultSummary{z-index:32}
  html body .places-tools{margin:0 0 8px!important;overflow:visible!important;max-height:none!important}
  body #placeFilters{max-height:calc(100dvh - var(--loop-header) - 190px);overflow-y:auto!important}
  body #eventMobileToolbar::after{content:"";position:absolute;top:calc(100% + 1px);left:-12px;right:-12px;height:calc(var(--loop-filter-gap) + var(--loop-summary,0px) + 7px);background:var(--cream);z-index:-1;pointer-events:none}
  html body #eventsTools{top:var(--loop-event-panel-top,144px)!important;max-height:calc(100dvh - var(--loop-event-panel-top,144px) - 104px)}
}

/* One complete list heading stays visible through date/category handoffs. */
.loop-sticky-ready body :is(#eventsList,#kidsList,#placesList) :is(.dayhead,.kids-divider){position:static!important}
html body>.loop-list-heading{
  position:fixed!important;top:var(--loop-list-heading-top)!important;z-index:34;
  margin:0!important;padding:8px 0!important;background:var(--cream)!important;
  backdrop-filter:none!important;box-shadow:none!important;pointer-events:none;
}
html body>.loop-list-heading[hidden]{display:none!important}
html body>.place-list-heading:before{display:none}
html body>.place-list-heading b{line-height:1.2!important}
/* Use the same breathing room above filters and between their groups. */
body :is(#eventsTools,#kidsControls,.places-tools){--filter-group-gap:12px}
html body :is(#eventsTools,#kidFilters,#placeFilters) :is(.tool-row,.place-filter-row){margin:0 0 var(--filter-group-gap)!important}
html body #eventsTools>.filter-toolbar+.tool-row,
html body #kidsControls #kidFilters,
html body .places-tools #placeFilters{margin-top:var(--filter-group-gap)!important}
html body #kidFilters[hidden]{display:none!important}
html body #kidFilters{max-height:calc(100dvh - var(--loop-header) - 290px);overflow-y:auto}
html body #kidFilters .filter.on{background:#e1ebe4!important;border-color:#88a392!important;color:#173f31!important}

/* Selected criteria share the Events card and sit above opaque sticky gaps. */
.mobile-event-criteria>div{min-width:0;overflow-wrap:anywhere}
body :is(#kidResultSummary,#placeResultSummary){position:sticky;z-index:32;margin:0!important;background:var(--cream)}
body #kidResultSummary{top:calc(var(--loop-header) + var(--loop-kid-tools) - var(--loop-kid-summary,0px) - 16px)}
body #placeResultSummary{top:calc(var(--loop-header) + var(--loop-place-tools) - var(--loop-place-summary,0px) - 16px)}
body :is(#kidResultSummary,#placeResultSummary) .mobile-event-criteria{margin:0!important;padding:5px 12px;min-height:44px;box-sizing:border-box;width:100%}
body #kidsControls::after{height:calc(23px + var(--loop-kid-summary,0px))}
body .places-tools::after{height:calc(23px + var(--loop-place-summary,0px))}
@media(max-width:940px){
  html body .bottom{
    position:fixed!important;top:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;transform:none!important;backdrop-filter:none!important;
  }
}
