.weekly-timetable{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:start}.weekly-timetable.is-filtered{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.weekly-day{min-width:0;background:#fffdf8;border:1px solid #ded9cb;border-radius:14px;overflow:hidden}.weekly-day>header{padding:12px;background:#eaf0fb;border-bottom:1px solid #d9e0ed}.weekly-day h4{font-size:15px;margin:0;color:#2448a5}.weekly-day header span{font-size:11px;color:#586378}.weekly-school{padding:10px}.weekly-school+.weekly-school{border-top:1px solid #e1ded6}.weekly-school h5{font-size:12px;line-height:1.4;margin:0 0 8px;color:#156b60;overflow-wrap:anywhere}.weekly-class{border-top:1px solid #ece8df;padding:6px 0}.weekly-class summary{cursor:pointer;display:grid;gap:2px;list-style:none}.weekly-class summary::-webkit-details-marker{display:none}.weekly-class summary strong{font-size:12px;color:#2448a5}.weekly-class-title{font-size:13px;font-weight:650;line-height:1.3;color:#2448a5;text-decoration:underline;text-underline-offset:2px}.weekly-class-details{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.weekly-class-details p{margin:8px 0}.weekly-class-details a{font-weight:700;color:#2448a5}.weekly-none{padding:12px;font-size:12px;color:#68717d}.weekly-mobile-days{display:none}.class-calendar.is-weekly .calendar-weekdays{display:none}.class-calendar.is-weekly #class-calendar-agenda{display:block}.weekly-class summary:focus-visible,.weekly-mobile-days button:focus-visible{outline:2px solid #2855bd;outline-offset:3px}@media(max-width:1050px) and (min-width:701px){.weekly-timetable{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.weekly-mobile-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px}.weekly-mobile-days button{min-height:48px;border:1px solid #d4dbea;border-radius:9px;background:#fff;color:#2448a5;font:inherit;font-size:12px;padding:6px 0}.weekly-mobile-days button[aria-pressed=true]{background:#2448a5;color:white}.weekly-mobile-days small{display:block;font-size:10px}.weekly-timetable{display:block}.weekly-day{display:none}.weekly-day.is-selected{display:block}.weekly-class summary{grid-template-columns:100px minmax(0,1fr);gap:2px 10px}.weekly-class summary strong{grid-row:1/3}.weekly-school h5{font-size:14px}.weekly-class-title{font-size:14px}}

.class-calendar.is-weekly .calendar-organizer-chips button.is-active,.class-calendar.is-weekly .calendar-organizer-chips button.is-active small{color:#fff}

.weekly-series{font-size:11px;color:#6b4f19;line-height:1.5}.events-display-switch{display:flex;gap:6px;margin:12px 0}.events-display-switch button{border:1px solid #cbd3e1;background:#fffdf8;color:#254ba7;border-radius:20px;padding:9px 18px;font:inherit;font-size:13px;cursor:pointer}.events-display-switch button[aria-pressed=true]{background:#254ba7;color:#fff}#event-calendar:not([hidden]){display:block}#week-event-layout[hidden]{display:none!important}@media(max-width:700px){.weekly-series{grid-column:2}}

#week-view-toggle[hidden]{display:none!important}

/* Keep the events month calendar on phones; class views retain their own layout. */
@media(max-width:700px){
  #event-calendar .calendar-weekdays,#event-calendar .calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
  #event-calendar .calendar-agenda{display:none}
  #event-calendar .calendar-weekdays span{padding:9px 0;text-align:center;font-size:9px;letter-spacing:0}
  #event-calendar .calendar-day{min-height:86px;padding:4px 2px}
  #event-calendar .calendar-day-number{min-height:23px;justify-content:center}
  #event-calendar .calendar-day-number time{font-family:inherit;font-size:12px;line-height:20px}
  #event-calendar .calendar-day-number>span{display:none}
  #event-calendar .is-today .calendar-day-number time{background:var(--acid);border-radius:50%;min-width:22px;text-align:center;font-weight:800}
  #event-calendar .calendar-day-events{gap:3px}
  #event-calendar .calendar-event{padding:5px 2px;border-left-width:2px;border-radius:4px;min-height:38px;align-content:center}
  #event-calendar .calendar-event>span,#event-calendar .calendar-event>em,#event-calendar .calendar-event>b{display:none}
  #event-calendar .calendar-event>strong{font-size:10px;line-height:1.25;-webkit-line-clamp:2;overflow-wrap:anywhere}
  #event-calendar .calendar-event:focus-visible{outline:2px solid #254ba7;outline-offset:1px}
}

.weekly-school h5{display:flex;align-items:center;gap:6px;color:#414a49;font-weight:600}
.weekly-studio-logo{width:30px;height:30px;object-fit:contain;flex:0 0 30px;background:white;border-radius:5px}
.weekly-class summary{grid-template-columns:auto minmax(0,1fr);column-gap:6px;align-items:baseline}
.weekly-class summary .weekly-start-time{grid-row:1;white-space:nowrap;font-size:10px;font-weight:500;color:#69716e;font-variant-numeric:tabular-nums}
.weekly-class-title{color:#303936;font-weight:500;font-size:12px;text-decoration:none;overflow-wrap:anywhere}
.weekly-class summary:hover .weekly-class-title{text-decoration:underline}
.weekly-series{grid-column:1/-1;color:#7a786e;font-size:10px;line-height:1.35}
@media(max-width:700px){.weekly-class summary{grid-template-columns:64px minmax(0,1fr)}.weekly-class-title{font-size:14px}.weekly-class summary .weekly-start-time{font-size:12px}.weekly-series{grid-column:2}.weekly-studio-logo{width:32px;height:32px;flex-basis:32px}}

.weekly-time-group{padding:8px}
.weekly-time-group+.weekly-time-group{border-top:1px solid #deded5}
.weekly-time-group h5{margin:0 0 5px;color:#303936;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.weekly-time-group .weekly-class summary{grid-template-columns:minmax(0,1fr);gap:3px}
.weekly-class-school{display:flex;align-items:center;gap:5px;min-width:0;font-size:10px;line-height:1.25;color:#777d77}
.weekly-class-school .weekly-studio-logo{width:22px;height:22px;flex-basis:22px}
.weekly-time-group .weekly-series{grid-column:1}
@media(max-width:700px){.weekly-time-group{padding:10px}.weekly-class-school{font-size:12px}.weekly-time-group h5{font-size:13px}}

#class-explorer-filters[hidden]{display:none!important}
.class-type-row #class-filter-style-options{display:flex;flex-wrap:wrap;gap:6px}
.class-type-row #class-filter-style-options button.is-active{background:#2448a5;color:white}

.mobile-class-filter{display:none}
@media(max-width:700px){
 #class-calendar-school-legend .calendar-organizer-chips,.class-type-row #class-filter-style-options>button{display:none}
 .mobile-class-filter{display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d5d9d2;border-radius:10px;background:#fffdf8;color:#303936;font:inherit;font-size:16px}
 #class-calendar-school-legend,.class-type-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 16px}
 #class-calendar-school-legend>div:first-child>span{display:none}
}
.calendar-detail-popover{background:#fffaf0;color:#303936;border-color:#ded9ca;box-shadow:0 8px 26px rgba(48,57,54,.16)}
.calendar-detail-popover small{color:#397668}
.calendar-detail-popover span{color:#59645f}
.calendar-detail-popover::after{background:#fffaf0}

.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fffaf0;color:#303936}

@media(max-width:700px){.weekly-mobile-days{display:none}.weekly-timetable{display:grid;grid-template-columns:repeat(7,180px);gap:8px;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:10px}.weekly-day{display:block;scroll-snap-align:start}}

@media(max-width:700px){
 .offer-board-heading{align-items:stretch;text-align:left}
 .offer-board-heading>div{width:100%;min-width:0}
 .offer-board-heading p:last-child{color:#59645f}
 .offer-board-heading .micro-label{color:#397668}
}

.community-form .community-review-note{color:#176b53;font-weight:700}

@media(max-width:700px){.class-calendar.is-weekly #class-calendar-agenda{min-width:0;padding-inline:10px}.weekly-timetable:focus-visible{outline:2px solid #397668;outline-offset:-2px}}

.offer-studio-heading{display:flex;align-items:center;gap:12px;min-width:0}
.offer-studio-heading>div{min-width:0}
.offer-studio-logo{width:76px;height:76px;flex:0 0 76px;object-fit:contain;border-radius:10px;background:#fff}
@media(max-width:700px){.offer-studio-logo{width:60px;height:60px;flex-basis:60px}.offer-studio-heading{gap:10px}.offer-studio-heading h5{white-space:normal;overflow-wrap:anywhere}}

/* Offer artwork stays live text so every published discount remains readable. */
.offer-card-main{position:relative;isolation:isolate;padding:20px;gap:20px;background:radial-gradient(circle at 92% 0%,rgba(248,187,98,.3),transparent 46%),linear-gradient(120deg,#fffdf7,#edf6ef)}
.offer-card-main .offer-value{position:relative;min-width:150px;max-width:260px;padding:24px 22px;margin:0;text-align:center;white-space:normal;overflow-wrap:anywhere;color:#244b3e;background:linear-gradient(135deg,#fae5a8,#f5be70);border:1px solid #e5bd79;border-radius:18px;font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:38px;line-height:1.05;font-weight:800;letter-spacing:-1px;box-shadow:0 5px 0 #e8b86d,0 10px 22px rgba(113,77,21,.12);transform:rotate(-2deg)}
.offer-card-main .offer-value::before,.offer-card-main .offer-value::after{content:"";position:absolute;inset:7px;border:1px dashed rgba(94,72,28,.3);border-radius:12px;pointer-events:none}
.offer-card-main .offer-value::after{inset:auto 12px 10px auto;width:7px;height:7px;border:0;background:#397668;border-radius:1px;transform:rotate(45deg)}
.offer-card-main>a{font-size:12px;color:#245e4c}
@media(max-width:700px){
 .offer-card-main{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}
 .offer-card-main .offer-value{grid-column:1;justify-self:stretch;min-width:0;max-width:none;padding:22px 18px;font-size:36px;transform:rotate(-1deg)}
 .offer-card-main>a{font-size:12px;padding-top:3px}
}

.offer-card-main{padding:26px;gap:24px;background:radial-gradient(ellipse at 70% 100%,rgba(108,176,143,.22),transparent 48%),radial-gradient(circle at 95% 0%,rgba(248,187,98,.4),transparent 50%),linear-gradient(115deg,#fffdf7,#edf6ef)}
.offer-card-main::before{content:"";position:absolute;z-index:-1;right:24%;top:-75px;width:230px;height:230px;border:24px solid rgba(236,182,92,.12);border-radius:50%;pointer-events:none}
.offer-card-main::after{content:"";position:absolute;z-index:-1;right:31%;bottom:-70px;width:145px;height:145px;border:2px solid rgba(57,118,104,.12);border-radius:50%;pointer-events:none}
.offer-studio-heading{gap:20px}
.offer-studio-logo{width:100px;height:100px;flex-basis:100px}
.offer-studio-heading h5{font-size:28px;line-height:1.15;white-space:normal;margin:6px 0}
.offer-card-main .offer-studio-heading span{font-size:10px;letter-spacing:.09em;color:#397668}
.offer-summary-preview{max-width:540px;margin:8px 0 0;color:#59645f;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:700px){.offer-card-main{padding:16px;gap:16px}.offer-studio-heading{gap:12px}.offer-studio-logo{width:60px;height:60px;flex-basis:60px}.offer-studio-heading h5{font-size:22px}.offer-summary-preview{font-size:12px}.offer-card-main::before{right:-70px}}

.offer-card-main{overflow:hidden}.offer-board-heading p:last-child{color:#59645f}.offer-board-heading .micro-label{color:#397668}

.footer-main>div:first-child{display:flex;align-items:center;gap:16px;min-width:0}.footer-main>div:first-child>.brand{flex:0 0 auto}.footer-main>div:first-child>p{margin:0;min-width:0}

/* Offer terms stay visible beneath the deal. */
.offer-terms{padding:12px 18px;border-top:1px solid #e0e7e3;background:#fffdf8;color:#59645f}
.offer-availability{font-size:11px;font-weight:600;color:#397668}
.offer-terms .offer-code{display:inline-flex;justify-content:flex-start;gap:10px;margin:8px 0 0;padding:5px 9px;border-color:#cbd9d0;background:#f2f6ef}
.offer-terms .offer-code span{color:#59645f}
.offer-terms .offer-code strong{color:#245e4c;font-size:12px}
.offer-disclaimer{margin:8px 0 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}

.site-footer .footer-main>div:first-child{gap:22px}
.site-footer .footer-main .brand-logo{width:72px;height:86px}
.site-footer .footer-main>div:first-child>p{font-size:18px;line-height:1.5;color:#c0cbd2}
@media(max-width:700px){.site-footer .footer-main>div:first-child{gap:16px}.site-footer .footer-main .brand-logo{width:60px;height:72px}.site-footer .footer-main>div:first-child>p{font-size:16px}}

.class-future-toggle{display:inline-flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #cdd8d1;border-radius:10px;background:#fffdf8;color:#244b3e;font-size:13px;font-weight:600;cursor:pointer}.class-future-toggle[hidden]{display:none}.class-future-toggle input{width:18px;height:18px;margin:0;accent-color:#245e4c}

.class-month-controls{padding:12px 22px;border-bottom:1px solid #ded9cb}@media(max-width:700px){.class-month-controls{padding:10px}}

.week-map-marker.has-organizer-logo{border-radius:50%;background:#fffdf8;color:#244b3e;border:2px solid #397668;box-shadow:0 2px 7px #0003}.week-marker-content{position:relative;width:100%;height:100%;display:grid;place-items:center}.week-marker-logos{position:absolute;inset:2px;display:flex;overflow:hidden;border-radius:50%;pointer-events:none}.week-marker-logos img{flex:1;min-width:0;width:100%;height:100%;object-fit:contain;background:#fff}

.event-map-popup .leaflet-popup-content-wrapper{border:1px solid #d7dfd7;border-radius:16px;background:#fffdf8;box-shadow:0 8px 25px #17252b26}
.event-map-popup .leaflet-popup-content{margin:16px;width:260px!important;max-width:calc(100vw - 88px);font-family:"Source Sans 3",Arial,sans-serif}
.event-map-preview+.event-map-preview{border-top:1px solid #dbe2d8;margin-top:16px;padding-top:16px}
.event-map-preview-heading{display:flex;align-items:center;gap:9px;color:#397668;font-size:11px;font-weight:700;line-height:1.3}
.event-map-preview-heading img{width:34px;height:34px;object-fit:contain;background:white;border-radius:8px}
.event-map-preview h3{font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:18px;line-height:1.2;color:#1c292e;margin:10px 0 8px;overflow-wrap:anywhere}
.event-map-preview p{margin:4px 0;font-size:12px;line-height:1.4;color:#59645f}.event-map-preview .event-map-date{color:#244b3e;font-weight:700}.event-map-price{font-weight:600}
.event-map-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.event-map-actions a{display:inline-block;border-radius:8px;padding:9px 12px;background:#245e4c;color:#fff!important;text-decoration:none;font-weight:700;font-size:12px}
.event-map-popup .event-map-actions button{margin:0;padding:9px 10px;border:1px solid #cdd8d1;border-radius:8px;background:transparent;color:#244b3e;font-size:12px}
.event-map-actions a:focus-visible,.event-map-actions button:focus-visible{outline:2px solid #2448a5;outline-offset:3px}

.week-marker-logos .week-organizer-initials{display:grid;place-items:center;flex:1;min-width:0;width:100%;height:100%;margin:0;border:0;border-radius:0;background:var(--organizer-tint,#e4ede5);color:var(--organizer-accent,#245e4c);font-size:14px;font-weight:800}.event-map-preview-heading .week-organizer-initials{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;font-size:12px}

.event-map-popup .leaflet-popup-content{margin:10px 12px;width:226px!important}
.event-map-preview h3{font-size:15px;line-height:1.2;margin:0 12px 5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.event-map-preview:has(details[open]) h3{display:block}
.event-map-preview .event-map-date{font-size:11px;margin:0}
.event-map-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;margin-top:7px}
.event-map-actions a{padding:6px 9px;font-size:11px}
.event-map-more{font-size:11px;color:#245e4c;min-width:0}
.event-map-more>summary{cursor:pointer;padding:6px 0;font-weight:600;white-space:nowrap}
.event-map-more[open]{grid-column:1/-1;border-top:1px solid #e0e5dc;padding-top:5px}
.event-map-more .event-map-preview-heading{margin:6px 0}
.event-map-more button{width:auto}
.event-map-preview+.event-map-preview{margin-top:10px;padding-top:10px}

.event-map-popup .leaflet-popup-content{width:206px!important;margin:8px 10px}
.event-map-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center}
.event-map-preview h3{grid-column:1/-1;font-size:14px;line-height:1.2;margin:0 12px 5px 0}
.event-map-preview .event-map-date{font-size:10px;line-height:1.3}
.event-map-actions{display:block;justify-self:end;margin:0}
.event-map-actions a{padding:5px 7px;font-size:10px;white-space:nowrap}

#event-grid .event-card.is-today{border-color:#dca329;background:radial-gradient(ellipse at 95% 0%,rgba(255,210,93,.48),transparent 62%),linear-gradient(115deg,#fff9e9,#fff0c6 65%,#ffedb5);box-shadow:0 0 0 3px rgba(239,181,48,.58),0 0 30px 8px rgba(245,185,52,.38),0 6px 18px rgba(86,63,20,.13)}

.week-map-marker.has-organizer-logo.is-today{border-color:#dca329;background:#fff0c6;box-shadow:0 0 0 4px rgba(239,181,48,.65),0 0 26px 9px rgba(245,185,52,.55),0 3px 9px rgba(86,63,20,.2)}

.week-marker-today-label{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:3px 7px;border:1px solid #dca329;border-radius:6px;background:#fff0b8;color:#523800;box-shadow:0 2px 6px #563f2033;font-family:"Source Sans 3",Arial,sans-serif;font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.6px;white-space:nowrap;pointer-events:none}

.event-cancelled-badge{display:inline-block;padding:5px 8px;border-radius:6px;background:#b4232c;color:#fff;font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.5px}.event-card.is-cancelled h4{padding-right:60px}

.event-free-sticker{position:relative;display:flex;align-items:center;justify-content:center;gap:2px;min-width:50px;height:27px;padding:2px 4px;border:2px solid #176754;border-radius:9px;background:linear-gradient(135deg,#fff6bf,#d9f4af);color:#145442;box-shadow:2px 3px 0 #176754;transform:rotate(6deg);font-family:"Source Sans 3",Arial,sans-serif}
.event-free-sticker strong{font-size:15px;font-weight:900;line-height:1;letter-spacing:.5px}.event-free-sticker>span{font-size:9px}.event-card.has-free-sticker h4{padding-right:32px}.event-card.has-free-sticker .event-card-top-marks{gap:8px}

.event-free-mobile{display:none}
@media(max-width:700px){
  .event-card.has-free-sticker .event-card-top-marks>.event-free-sticker{display:none}
  .event-card.has-free-sticker h4{padding-right:0}
  .event-date .event-free-mobile{display:block;margin-bottom:12px}
  .event-date .event-free-mobile .event-free-sticker{min-width:0;width:44px;height:23px;padding:2px;gap:1px;border-radius:6px;box-shadow:1px 2px 0 #176754;transform:rotate(-5deg)}
  #event-grid .event-date .event-free-sticker strong{font-family:"Source Sans 3",Arial,sans-serif;font-size:11px;line-height:1;font-weight:900;letter-spacing:.2px}
  #event-grid .event-date .event-free-sticker>span{font-size:7px;line-height:1;margin:0}
}

.class-calendar.is-weekly #class-calendar-agenda{padding-inline:20px}@media(max-width:700px){.class-calendar.is-weekly #class-calendar-agenda{padding-inline:12px}}

.class-type-row{grid-template-columns:200px minmax(0,1fr) auto}.class-type-row .class-future-toggle{border:0;background:transparent;padding:4px 0;white-space:nowrap;font-size:12px;justify-self:end}@media(max-width:700px){.class-type-row{grid-template-columns:minmax(0,1fr)}.class-type-row .class-future-toggle{justify-self:start;min-height:32px}}

@media(min-width:701px){.event-card.has-free-sticker .event-card-top-marks{display:flex;align-items:center;gap:10px}.event-card.has-free-sticker h4{padding-right:76px}}

/* Compact dance admission ticket. */
.event-free-sticker{gap:4px;min-width:76px;height:34px;padding:3px 7px 3px 4px;border:1px solid #a02e3d;border-radius:8px;background:radial-gradient(circle at 95% 0%,#ffe6a1 0,transparent 52%),linear-gradient(125deg,#fff0ba,#ffc86e);color:#942b3d;box-shadow:2px 3px 0 #b83f4c,0 4px 9px #9e3e2526;transform:rotate(-4deg)}
.event-free-sticker::after{content:"";position:absolute;inset:3px;border:1px dashed #b8674159;border-radius:5px;pointer-events:none}
.free-dance-icon{display:block;width:18px;height:22px;flex:none;z-index:1}.event-free-sticker strong{position:relative;z-index:1;font-size:16px;font-weight:900;letter-spacing:.2px}
@media(min-width:701px){.event-card.has-free-sticker h4{padding-right:88px}}
@media(max-width:700px){
 .event-date .event-free-mobile .event-free-sticker{width:44px;height:45px;min-width:0;flex-direction:column;gap:0;padding:3px;border-color:#a02e3d;box-shadow:1px 2px 0 #b83f4c;transform:rotate(-4deg)}
 .event-free-mobile .free-dance-icon{width:16px;height:18px}
 #event-grid .event-date .event-free-sticker strong{font-size:11px;color:#942b3d;line-height:1}
 .event-date .event-free-mobile{margin-bottom:9px}
}

.weekly-mobile-nav{display:none}
@media(max-width:700px){.weekly-mobile-nav{display:block}.weekly-mobile-nav .weekly-mobile-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px}.weekly-swipe-hint{margin:0 0 7px;color:#276c63;font-size:13px;font-weight:600}.weekly-mobile-days button{min-height:44px;cursor:pointer}.weekly-mobile-days button:hover{background:#e5f2ed}}

@media(max-width:700px){.class-calendar.is-weekly #class-calendar-school-legend,.class-calendar.is-weekly .class-type-row{padding-inline:12px}.class-calendar.is-weekly .mobile-class-filter{text-align:left;text-align-last:left;margin-inline:0;box-sizing:border-box}}

.weekly-class-title .weekly-actual-time{font-weight:800;color:#17252e;white-space:nowrap;font-variant-numeric:tabular-nums}

.weekly-start-month{min-width:0}.weekly-start-month+.weekly-start-month{margin-top:28px}.weekly-start-month-title{margin:0 0 12px;padding:10px 12px;border-left:4px solid #397668;background:#edf5f1;color:#203e36;font-family:inherit;font-size:18px;font-weight:700;line-height:1.3}

/* Neutral backing keeps original transparent light and dark marks visible. */
.school-logo-surface{background:#747474;border-radius:4px}
.school-card-logo{display:flex;align-items:center;justify-content:center;flex:0 0 96px;width:96px;height:48px;padding:6px;box-sizing:border-box}
.school-card-logo img{display:block;width:100%;height:100%;object-fit:contain}
.calendar-detail-logo.school-logo-surface{padding:8px;box-sizing:border-box}
.weekly-studio-logo{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;box-sizing:border-box}
.class-card-summary-copy{min-width:0}
@media(max-width:700px){.school-card-logo{flex-basis:72px;width:72px;height:40px}}
.class-card-summary:has(.school-card-logo){grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px}
@media(max-width:700px){.class-card-summary:has(.school-card-logo){grid-template-columns:auto minmax(0,1fr);gap:12px}.class-card-summary:has(.school-card-logo) .class-card-summary-styles{grid-column:2}.class-card-summary:has(.school-card-logo) .class-card-summary-action{grid-column:2}}
