/* Shared lightweight kiosk/mobile calendar and heading filters. */
.content-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;min-width:0}
.content-heading #pageTitle{margin:0;min-width:0;overflow-wrap:anywhere}
#sectionFilters{flex:0 1 320px;min-width:0}#sectionFilters:empty{display:none}
.section-filter{display:grid;gap:5px;margin:0;color:#67594f;font-size:16px}
.section-filter select{width:100%;min-width:0;padding:14px 36px 14px 15px;border:1px solid #d8c6b8;border-radius:16px;background:#fff;color:#38291f;font:inherit;min-height:54px;text-overflow:ellipsis}
.calendar-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 24px}
.calendar-controls button,.calendar-month-heading button{min-height:56px;border:1px solid #ddc6b6;background:#fff;border-radius:16px;color:#713d25;padding:12px 20px;font:inherit}
.calendar-switch{display:flex;gap:6px;background:#ede2d8;border-radius:18px;padding:5px}
.calendar-switch button.active{background:#a95430;color:#fff;border-color:#a95430}
.calendar-month{padding:24px;background:#fff;border:1px solid #e5dcd5;border-radius:24px;margin-bottom:24px}
.calendar-month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.calendar-month-heading h2{margin:0;text-transform:capitalize;text-align:center}
.calendar-month-heading button{font-size:32px;min-width:60px;padding:4px 12px}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.calendar-weekday{text-align:center;color:#78695d;font-size:17px;padding-bottom:6px}
.calendar-day{display:flex;align-items:center;justify-content:space-between;gap:3px;min-height:80px;border-radius:14px;border:1px solid #eee2d9;background:#fbf8f5;padding:12px;font:inherit;color:#36281f}
.calendar-day b{display:grid;place-items:center;min-width:24px;min-height:24px;border-radius:50%;font-size:14px;background:#e87c4d;color:#fff}
.calendar-day.today{border:2px solid #b65d35}.calendar-day.selected{background:#854321;color:#fff;border-color:#854321}
.calendar-events{display:grid;gap:20px}.calendar-event{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;padding:24px;border:1px solid #e6ddd5;border-radius:22px;background:#fff}
.calendar-event h2{margin:0 0 12px}.calendar-photo{padding:0;border:0;border-radius:14px;overflow:hidden;background:#f8f3ee;align-self:start;width:100%}.calendar-photo img{display:block;width:100%;height:300px;object-fit:contain}
.event-meta{padding:14px 18px;background:#f8eee6;border-radius:16px;margin:0 0 18px;color:#613c27}.event-meta p{margin:4px 0;overflow-wrap:anywhere}.event-date{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:bold}.event-date svg{width:24px;height:24px;flex:none}
.event-status{display:inline-block;margin:8px 0;color:#a13227}.venue-button{padding:4px 8px;background:#fff;border:1px solid #dbc8b8;color:#733d25;border-radius:10px;font:inherit}
.calendar-undated{padding:20px;margin-top:24px;border:1px solid #e4d9cf;border-radius:18px;background:#fff}.calendar-undated summary{padding:8px;cursor:pointer}.calendar-undated[open] summary{margin-bottom:16px}
.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.social-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border:1px solid #e4d9cf;border-radius:22px;background:#fff}.social-copy{min-width:0}.social-copy h2{font-size:24px;overflow-wrap:anywhere;margin:10px 0}.social-platform{overflow-wrap:anywhere;color:#77695e}.social-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#f8eee6;color:#a95430;font:bold 30px Arial}.social-qr{flex:none;width:150px;height:150px;object-fit:contain;background:#fff}
.social-copy .primary{white-space:normal}
@media(max-width:600px){
 .content-heading{gap:10px;align-items:center;margin-bottom:16px}.content-heading #pageTitle{font-size:23px;line-height:1.15;flex:1}
 #sectionFilters{flex:0 1 145px}.section-filter{font-size:12px;gap:3px}.section-filter select{font-size:14px;min-height:44px;padding:10px 24px 10px 10px;border-radius:12px}
 .calendar-controls{gap:8px;margin-bottom:16px}.calendar-controls button{font-size:14px;min-height:44px;padding:9px 12px;border-radius:12px}.calendar-switch{padding:3px;gap:3px}
 .calendar-month{padding:12px;border-radius:16px}.calendar-month-heading h2{font-size:18px}.calendar-month-heading button{font-size:26px;min-width:44px;min-height:44px}.calendar-days{gap:4px}.calendar-weekday{font-size:11px}.calendar-day{min-height:48px;flex-direction:column;justify-content:center;border-radius:9px;padding:4px;font-size:15px}.calendar-day b{font-size:10px;min-width:17px;min-height:17px}
 .calendar-event{grid-template-columns:85px minmax(0,1fr);padding:14px;gap:12px;border-radius:16px}.calendar-event h2{font-size:19px}.calendar-photo img{height:125px}.calendar-event .event-meta{padding:8px;font-size:13px;margin-bottom:10px}.calendar-event .event-date{gap:5px}.calendar-event .event-date svg{width:18px;height:18px}.calendar-event .summary-rich,.calendar-event>div>p{font-size:14px}.calendar-event .primary{min-height:44px;font-size:14px;padding:10px 12px}
 .event-meta{padding:12px;font-size:14px}.social-grid{grid-template-columns:1fr;gap:12px}.social-card{padding:16px;gap:12px;border-radius:16px}.social-copy h2{font-size:18px}.social-qr{width:104px;height:104px}.social-symbol{width:36px;height:36px;font-size:25px}.social-platform{font-size:13px}.social-copy .primary{font-size:13px;padding:10px;min-height:44px}
}

.calendar-controls>button.active{background:#854321;color:#fff;border-color:#854321}
.mobile-route-line{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;font-size:14px;line-height:1.4}
.mobile-route-summary{flex:1;min-width:0;overflow-wrap:anywhere}.mobile-route-summary>svg{width:20px;height:20px;flex:none}
.mobile-route-apps{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.mobile-route-apps button{display:flex;align-items:center;gap:5px;min-height:44px;padding:8px 10px;border:1px solid #d8bda9;border-radius:12px;background:#fff;color:#823719;font:inherit;font-size:12px}
.mobile-route-apps svg{width:19px;height:19px;flex:none}
.mobile-route-note{display:block;margin-top:8px;color:#67594f;font-size:11px;line-height:1.45;font-weight:normal}
.mobile-app .mobile-map-shell .mobile-object-list{display:block;margin-top:16px;padding:12px;border:1px solid #e4d9cf;border-radius:16px;background:#fff}
.mobile-app .mobile-map-shell .mobile-object-list .map-sidebar{max-height:none;overflow:visible;border:0;padding:0}
.mobile-app .mobile-map-shell .mobile-object-list h2{display:block;font-size:17px;margin:8px 0 12px}
.mobile-app .mobile-map-shell .mobile-object-list .map-place{width:100%;white-space:normal;min-height:48px}
.mobile-app .mobile-map-shell .mobile-object-list .map-place>span:last-child{min-width:0;overflow-wrap:anywhere}
