.page-home .home-resources #home-schedule {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: stretch;
    gap: clamp(20px, 3vw, 42px);
    padding: clamp(20px, 2.8vw, 38px);
    background: #edf2e9;
    border: 1px solid #c5d2bf;
    border-top: 3px solid #bba052;
    border-radius: 18px;
}

.page-home #home-schedule .home-schedule-copy,
.page-home #home-schedule .home-schedule-preview { min-width: 0; }
.page-home #home-schedule .home-schedule-copy { display: flex; flex-direction: column; }
.page-home #home-schedule .storefront-kicker { color: #927322; font-size: .94rem; font-weight: 700; letter-spacing: .06em; }
.page-home #home-schedule .home-schedule-copy h2 { color: #123d2d; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.22; margin: 16px 0 10px; overflow-wrap: anywhere; }
.page-home #home-schedule .home-schedule-copy > p { color: #46564b; font-size: 1rem; line-height: 1.65; }
.page-home #home-schedule .home-schedule-search { margin-top: clamp(24px, 3vw, 38px); }
.page-home #home-schedule .home-schedule-search label { color: #354c3e; font-size: .98rem; font-weight: 700; }
.page-home #home-schedule .home-schedule-search > div { gap: 9px; }
.page-home #home-schedule .home-schedule-search input { background: #fff; border-color: #87a085; border-radius: 7px; font-size: 1rem; min-height: 52px; }
.page-home #home-schedule .home-schedule-search button { border-radius: 7px; font-size: 1rem; font-weight: 700; min-height: 52px; padding-inline: 24px; }
.page-home #home-schedule .storefront-actions { margin: 22px 0 0; flex-wrap: wrap; }
.page-home #home-schedule .storefront-actions .storefront-button { border-color: #8fa68b; color: #16432f; font-size: .9rem; min-height: 44px; }
.page-home #home-schedule .schedule-freshness { border-left: 0; border-top: 1px solid #adbea9; margin-top: auto; padding: 18px 0 0; }
.page-home #home-schedule .schedule-freshness p { color: #4f5d52; font-size: .84rem; line-height: 1.55; }
.page-home #home-schedule .schedule-freshness a { color: #174932; }
.page-home #home-schedule .home-schedule-preview { background: #fffcf5; border: 1px solid #bad0bb; border-radius: 10px; gap: 12px; padding: 16px; }
.page-home #home-schedule .home-schedule-preview-head { align-items: center; background: #edf3e9; border: 0; border-radius: 7px; padding: 9px 12px; }
.page-home #home-schedule .home-schedule-preview-head strong { color: #123d2d; font-size: clamp(1.24rem, 2vw, 1.75rem); }
.page-home #home-schedule .home-schedule-heading > span { color: #536b55; font-size: .72rem; }
.page-home #home-schedule .home-schedule-playback { border-radius: 6px; font-size: .83rem; min-height: 40px; white-space: nowrap; }
.page-home #home-schedule .home-schedule-preview .home-schedule-list { background: #fffdf8; border: 1px solid #d2d6c8; border-radius: 8px; gap: 0; max-height: 345px; padding: 0; }
.page-home #home-schedule .home-schedule-list > article + article { border-top: 1px solid #cad5ca; }
.page-home #home-schedule .home-schedule-row { align-items: center; background: transparent; border: 0; border-radius: 0; gap: 16px; grid-template-columns: minmax(100px, .38fr) minmax(0, 1fr); min-height: 108px; padding: 12px 15px; }
.page-home #home-schedule .home-schedule-row:hover,
.page-home #home-schedule .home-schedule-row:focus-visible { background: #f1f5ed; }
.page-home #home-schedule .home-schedule-row:focus-visible { outline: 2px solid #1a6548; outline-offset: -3px; }
.page-home #home-schedule .home-schedule-date { border: 0; border-right: 1px solid #adc1ad; padding-right: 14px; }
.page-home #home-schedule .home-schedule-date strong { color: #17432f; font-size: .95rem; white-space: normal; }
.page-home #home-schedule .home-schedule-row > div:last-child strong { color: #123d2d; font-size: 1.06rem; }
.page-home #home-schedule .home-schedule-row span { color: #4e5a50; }
.page-home #home-schedule .home-schedule-event { background: #f7edcd; border-radius: 5px; color: #755516 !important; display: inline-block; font-weight: 700; padding: 2px 7px; width: fit-content; }
.page-home #home-schedule .home-schedule-full-link { border-radius: 7px; display: flex; justify-content: center; margin-top: auto; min-height: 50px; width: 100%; }
.page-home #home-schedule .home-schedule-preview-note { color: #56695a; }

@media (max-width: 760px) {
    .page-home .home-resources #home-schedule { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 20px; }
    .page-home #home-schedule .schedule-freshness { margin-top: 24px; }
}

@media (max-width: 390px) {
    .page-home .home-resources #home-schedule { padding: 15px; }
    .page-home #home-schedule .home-schedule-copy h2 { font-size: 1.55rem; }
    .page-home #home-schedule .home-schedule-search button { padding-inline: 14px; }
    .page-home #home-schedule .storefront-actions { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-home #home-schedule .storefront-actions .storefront-button { font-size: .78rem; padding-inline: 5px; }
    .page-home #home-schedule .home-schedule-preview { padding: 10px; }
    .page-home #home-schedule .home-schedule-preview-head { padding: 8px; }
    .page-home #home-schedule .home-schedule-preview-head strong { font-size: 1.1rem; }
    .page-home #home-schedule .home-schedule-row { grid-template-columns: minmax(76px, .36fr) minmax(0, 1fr); gap: 9px; padding: 10px; }
    .page-home #home-schedule .home-schedule-date { padding-right: 8px; }
}
/* Mobile cards are grouped, never an inner vertical scrolling region. */
@media(max-width:760px){
.page-home #home-schedule .home-schedule-list{max-height:none!important;height:auto;overflow:visible!important;touch-action:pan-y pinch-zoom}
.page-home #home-schedule .home-schedule-playback{display:none!important}
.page-home #home-schedule .home-schedule-row{min-width:0;height:auto;align-items:start}
.page-home #home-schedule .home-schedule-row :is(strong,span){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;max-height:none;-webkit-line-clamp:unset}
.page-home #home-schedule .home-schedule-row>div{min-width:0}
.page-home #home-schedule .home-schedule-group-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.page-home #home-schedule .home-schedule-group-controls button{flex:1 1 0;min-width:0;white-space:normal;padding:8px;font:inherit;font-size:.9rem}
.page-home #home-schedule .home-schedule-group-controls>span{flex-basis:100%;justify-content:center;font-size:.85rem}
}
