/* Self-contained block styling, including protection from the legacy Sweet Pea theme selectors. */
:is(.spy-schedule, #package .spy-schedule) { font: 16px/1.5 Arial,sans-serif; color: #173d52; max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
:is(.spy-schedule, #package .spy-schedule) * { box-sizing: border-box; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-heading { font-size: 1.5em; color: #20599b; margin: 0 0 1em; line-height: 1.25; padding: 0; background: none; width: auto; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-group { margin: 0 0 1.5em; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-group-title { font-size: 1.25em; color: #20599b; margin: 0 0 .65em; line-height: 1.3; padding: 0; background: none; text-transform: none; width: auto; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-card { display: flex; flex-wrap: wrap; gap: 16px; background: #fff; border: 1px solid #c6ddc0; border-radius: 6px; padding: 16px; margin: 0 0 12px; min-width: 0; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-details { flex: 1 1 22rem; min-width: 0; font-size: 1em; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-name { font-size: 1.125em; color: #20599b; margin: 0 0 .75em; line-height: 1.35; padding: 0; background: none; text-transform: none; width: auto; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-meta { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap: 12px 16px; margin: 0; padding: 0; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-meta > div { min-width: 0; font-size: 1em; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-meta dt { font-size: .875em; font-weight: bold; color: #395e55; margin: 0 0 2px; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-meta dd { margin: 0; font-size: 1em; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-registration { flex: 1 1 11rem; min-width: 0; align-self: center; font-size: 1em; }
:is(.spy-schedule, #package .spy-schedule) .spy-registration-form { margin: 0; padding: 0; max-width: 100%; }
:is(.spy-schedule, #package .spy-schedule) .spy-registration-form :is(div,p,span,label) { font-size: 16px; line-height: 1.5; }
:is(.spy-schedule, #package .spy-schedule) .spy-registration-form :is(table,tbody,tr,td,th) { display: block; width: auto; margin: 0; padding: 0; background: none; border: 0; font-size: 1em; }
:is(.spy-schedule, #package .spy-schedule) .spy-registration-control { font: inherit; font-size: 16px; max-width: 100%; min-height: 44px; width: 100%; margin: 4px 0 12px; padding: 8px; border: 1px solid #707070; border-radius: 3px; background: #fff; color: #173d52; }
:is(.spy-schedule, #package .spy-schedule) .spy-registration-control:is([type=checkbox],[type=radio]) { width: auto; min-height: auto; margin-right: 8px; }
:is(.spy-schedule, #package .spy-schedule) :is(.spy-registration-button,.spy-registration-link) { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid #31542b; border-radius: 4px; background: #315f29; color: #fff; font: bold 16px/1.4 Arial,sans-serif; text-decoration: none; cursor: pointer; margin: 4px 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
:is(.spy-schedule, #package .spy-schedule) :is(.spy-registration-button,.spy-registration-link):hover { background: #24471e; color: #fff; text-decoration: underline; }
:is(.spy-schedule, #package .spy-schedule) :is(a,button,input,select,textarea):focus-visible { outline: 3px solid #20599b; outline-offset: 3px; }
:is(.spy-schedule, #package .spy-schedule) .spy-registration-note { display: block; color: #43595c; font-size: .9375em; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-empty { margin: 0; padding: 14px; background: #f3f8f0; border-left: 4px solid #769b67; color: #173d52; font-size: 1em; line-height: 1.5; }
:is(.spy-schedule, #package .spy-schedule) .spy-schedule-meta a { color: #11447f; text-decoration: underline; }
