/* LINE schedule guide: warm, readable blocks in normal flow. */
.cecil-schedule-guide-v151 {background:#faf7f0;color:#4a433a;padding:calc(var(--cecil-header,88px) + clamp(28px,4vw,48px) + env(safe-area-inset-top,0px)) 20px clamp(56px,7vw,100px)}
.cecil-schedule-guide-v151__shell {max-width:1040px;margin:0 auto}
.cecil-schedule-guide-v151__breadcrumb {font-size:.875rem;margin-bottom:36px;color:#6a6358;display:flex;flex-wrap:wrap;gap:10px}
.cecil-schedule-guide-v151__breadcrumb a {text-decoration:underline;text-underline-offset:4px}
.cecil-schedule-guide-v151__heading {text-align:center;margin-bottom:38px}
.cecil-schedule-guide-v151__eyebrow {font-size:.75rem;letter-spacing:.18em;color:#61704b;margin:0 0 14px}
.cecil-schedule-guide-v151 h1 {font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.55;margin:0 0 22px;font-weight:500}
.cecil-schedule-guide-v151 p {line-height:1.95;overflow-wrap:anywhere}
.cecil-schedule-guide-v151__card {padding:clamp(26px,5vw,56px);text-align:center;background:#fffdf8;border:1px solid #dfdfcc;border-radius:24px 64px 24px 24px;box-shadow:0 12px 35px rgba(74,67,58,.04)}
.cecil-schedule-guide-v151__icon {display:grid;place-items:center;width:80px;height:80px;margin:0 auto 18px;background:#edf0de;border-radius:50%;color:#66754c}
.cecil-schedule-guide-v151__icon svg {width:52px;height:42px}
.cecil-schedule-guide-v151 h2 {font-size:clamp(1.25rem,2.5vw,1.7rem);line-height:1.75;word-break:normal;overflow-wrap:anywhere;font-weight:500;margin:0 0 18px}
.cecil-schedule-guide-v151__button {display:inline-flex;align-items:center;justify-content:center;gap:18px;max-width:100%;padding:17px 28px;margin:15px 0 6px;border:1px solid #9cac76;border-radius:100px;background:#d4dfb6;color:#3f4832;font-size:1rem;font-weight:700;line-height:1.6;text-align:left}
.cecil-schedule-guide-v151__button:hover {background:#c8d7a4}
.cecil-schedule-guide-v151__button:focus-visible,.cecil-schedule-entry-v151 a:focus-visible {outline:3px solid #746a5a;outline-offset:4px}
.cecil-schedule-guide-v151 .cecil-schedule-guide-v151__small {font-size:.85rem;color:#6a6358;margin:12px 0 0}
.cecil-schedule-guide-v151__how {margin:54px 0}
.cecil-schedule-guide-v151__how>h2 {text-align:center}
.cecil-schedule-guide-v151__how ol {list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cecil-schedule-guide-v151__how li {padding:24px 0;border-top:1px solid #d5d7c1;display:flex;gap:14px}
.cecil-schedule-guide-v151__how li>span {color:#748356;font-size:1.1rem;flex:none}
.cecil-schedule-guide-v151__how h3 {font-size:1.05rem;font-weight:600;line-height:1.7;margin:0 0 12px}
.cecil-schedule-guide-v151__how p {font-size:.925rem;margin:0}
.cecil-schedule-guide-v151__note {padding:24px 28px;border-left:3px solid #a3b485;background:#f0efe5;border-radius:0 12px 12px 0}
.cecil-schedule-guide-v151__note p {font-size:.925rem;margin:10px 0}
.cecil-schedule-entry-v151 {max-width:1120px;margin:36px auto;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f1f0e5;border:1px solid #d6d8c2;border-radius:16px;color:#4a433a}
.cecil-schedule-entry-v151 p {margin:0;font-size:.9rem;line-height:1.8}
.cecil-schedule-entry-v151 .cecil-schedule-entry-v151__title {font-size:1.1rem;font-weight:600;margin-bottom:6px}
.cecil-schedule-entry-v151 a {display:inline-flex;gap:12px;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #acb68b;border-radius:100px;padding:12px 20px;background:#e0e7ca;color:#465038;font-size:.925rem;line-height:1.65;font-weight:600}
/* Popup image keeps its natural aspect ratio; text no longer fits a fixed 4:3 box. */
#cecil-line-promo {aspect-ratio:auto;max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px)}
#cecil-line-promo .cecil-line-promo__link {height:auto;max-height:inherit;overflow-x:hidden;overflow-y:auto;background:#fffaf0}
#cecil-line-promo .cecil-line-promo__link picture,#cecil-line-promo .cecil-line-promo__image {height:auto;aspect-ratio:auto}
#cecil-line-promo .cecil-line-promo__image {object-fit:contain}
#cecil-line-promo .cecil-line-promo__schedule-v151 {padding:14px 18px 18px;color:#4a433a;background:#fffaf0}
#cecil-line-promo .cecil-line-promo__schedule-v151 p {margin:0;font-size:.85rem;line-height:1.75;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;color:#4a433a}
#cecil-line-promo .cecil-line-promo__schedule-v151 .cecil-line-promo__schedule-title-v151 {font-weight:700;margin-bottom:6px;font-size:1rem}
#cecil-line-promo .cecil-line-promo__schedule-v151 .cecil-line-promo__schedule-cta-v151 {margin-top:12px;padding:9px 12px;border-radius:50px;background:#d4dfb6;text-align:center;font-weight:700;color:#3f4832}
@media(max-width:760px){
 .cecil-schedule-guide-v151 {padding-inline:18px}
 .cecil-schedule-guide-v151__heading p br,.cecil-schedule-guide-v151__card p br {display:none}
 .cecil-schedule-guide-v151__card {border-radius:18px 40px 18px 18px;padding:28px 20px}
 .cecil-schedule-guide-v151__button {width:100%;padding:15px 18px;font-size:.95rem}
 .cecil-schedule-guide-v151__how ol {grid-template-columns:1fr;gap:0}
 .cecil-schedule-guide-v151__how li {padding:20px 0}
 .cecil-schedule-guide-v151__note {padding:22px 20px}
 .cecil-schedule-entry-v151 {margin:26px 18px;padding:24px;flex-direction:column;align-items:stretch;gap:18px}
 .cecil-schedule-entry-v151 a {align-self:flex-start}
 #cecil-line-promo {width:min(80vw,300px);max-height:calc(100vh - 120px - env(safe-area-inset-bottom));max-height:calc(100dvh - 120px - env(safe-area-inset-bottom))}
 body.cecil-line-promo-visible .back-to-top {visibility:hidden;pointer-events:none}
}
