/* Lifeline Blue Bus Schedule — styles for the [lifeline_schedule] shortcode (v1.1) */
.ll-sched { max-width: 860px; margin: 0 auto; }
.ll-sched-intro { text-align: center; color: #555; font-size: 15px; margin: 0 0 8px; }
.ll-sched-empty { text-align: center; color: #666; font-style: italic; padding: 20px 0; }

/* month headings: red serif + rule running to the right */
.ll-sched h3.ll-sched-month { display: flex; align-items: center; gap: 14px; font-family: 'Vidaloka', Georgia, serif; color: #a42830; font-size: 26px; line-height: 1.2; margin: 36px 0 14px; padding: 0; border: 0; }
.ll-sched h3.ll-sched-month::after { content: ""; flex: 1 1 auto; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #a42830 0, #a42830 36px, #ead9da 36px, #ead9da 100%); }

/* row card */
.ll-sched-row { display: flex; align-items: stretch; margin-bottom: 12px; background: #fff; border: 1px solid #e3e3e3; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: transform .15s ease, box-shadow .15s ease; }
.ll-sched-row:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.09); }
.ll-sched-row.is-closed { background: #fcf7f7; border-color: #ecd8da; }

/* calendar-style date tile */
.ll-sched-date { flex: 0 0 76px; display: flex; flex-direction: column; text-align: center; border-right: 1px solid #ececec; background: #fff; }
.is-closed .ll-sched-date { border-right-color: #ecd8da; }
.ll-sched-date .m { display: block; background: #2e7d32; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; padding: 4px 0 3px; }
.is-closed .ll-sched-date .m { background: #a42830; }
.ll-sched-date .d { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; font-family: 'Vidaloka', Georgia, serif; font-size: 30px; line-height: 1; color: #1f1f1f; padding: 8px 0; }
.is-closed .ll-sched-date .d { color: #8a8a8a; }

/* status pill with dot */
.ll-sched-status { align-self: center; flex: 0 0 auto; margin: 0 16px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px 5px 10px; border-radius: 999px; font-weight: 700; font-size: 12px; letter-spacing: .8px; text-transform: uppercase; color: #2e7d32; background: #eaf4eb; border: 1px solid #cfe5d1; white-space: nowrap; }
.ll-sched-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2e7d32; box-shadow: 0 0 0 3px rgba(46,125,50,.18); }
.is-closed .ll-sched-status { color: #a42830; background: #f8ebec; border-color: #ecd0d3; }
.is-closed .ll-sched-status::before { background: #a42830; box-shadow: 0 0 0 3px rgba(164,40,48,.15); }

/* location with pin */
.ll-sched-loc { align-self: center; flex: 1 1 auto; display: flex; align-items: center; gap: 8px; padding: 12px 0; font-size: 19px; font-weight: 700; color: #1f1f1f; letter-spacing: .1px; }
.ll-sched-loc::before { content: ""; flex: 0 0 auto; width: 16px; height: 16px; background: #a42830; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.is-closed .ll-sched-loc { color: #8a8a8a; font-weight: 400; font-size: 16px; font-style: italic; }
.is-closed .ll-sched-loc::before { display: none; }

/* notes: event badge (gold, with cutlery) or holiday note (grey) */
.ll-sched-note { align-self: center; flex: 0 1 auto; margin: 0 16px 0 8px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: 999px; font-size: 13px; white-space: nowrap; }
.ll-sched-note.is-event { background: #fff3d3; color: #7a4b00; font-weight: 700; border: 1px solid #f1dca6; }
.ll-sched-note.is-event::before { content: ""; flex: 0 0 auto; width: 13px; height: 13px; background: #b07a1c; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2v7.5A2.5 2.5 0 0 1 8 12v10H6V12a2.5 2.5 0 0 1-2-2.5V2h2v7h1V2h2v7h1V2h0zM17 2c-1.7 0-3 2.5-3 5.5 0 2.2.8 4 2 4.6V22h2V12.1c1.2-.6 2-2.4 2-4.6C20 4.5 18.7 2 17 2z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2v7.5A2.5 2.5 0 0 1 8 12v10H6V12a2.5 2.5 0 0 1-2-2.5V2h2v7h1V2h2v7h1V2h0zM17 2c-1.7 0-3 2.5-3 5.5 0 2.2.8 4 2 4.6V22h2V12.1c1.2-.6 2-2.4 2-4.6C20 4.5 18.7 2 17 2z'/%3E%3C/svg%3E") center / contain no-repeat; }
.ll-sched-note.is-holiday { color: #666; font-style: italic; background: #f4f4f4; border: 1px solid #e4e4e4; }
.is-closed .ll-sched-note.is-holiday { background: #fff; border-color: #ecd8da; }

/* info box under the list */
.ll-sched-info { max-width: 860px; margin: 34px auto 0; padding: 18px 22px; background: #f6f6f6; border: 1px solid #e6e6e6; border-radius: 12px; text-align: center; }
.ll-sched-info p { padding-bottom: 0.6em; }
.ll-sched-info p:last-child { padding-bottom: 0; }

@media (max-width: 640px) {
.ll-sched h3.ll-sched-month { font-size: 23px; margin-top: 28px; }
.ll-sched-row { flex-wrap: wrap; }
.ll-sched-row:hover { transform: none; }
.ll-sched-date { flex-basis: 62px; }
.ll-sched-date .d { font-size: 26px; }
.ll-sched-status { margin: 0 12px; padding: 4px 10px 4px 8px; font-size: 11px; }
.ll-sched-loc { font-size: 17px; padding: 12px 12px 12px 0; }
.ll-sched-note { flex-basis: 100%; justify-content: center; margin: 0; border-radius: 0; border-left: 0; border-right: 0; border-bottom: 0; white-space: normal; padding: 7px 12px; }
}
