/* Shared heading charter: preserve wording and existing editorial hierarchy. */
#lebouard-design main :is(h1,h2,h3,h4,h5,h6){font-family:var(--sans,'Geist',Arial,sans-serif);color:var(--paper,#f5f3ee);font-weight:500;text-wrap:pretty}
#lebouard-design main :is(h1,h2,h3,h4,h5,h6) :is(strong,b){font-weight:inherit}
#lebouard-design main :is(h1,h2,h3,h4,h5,h6) .gold{color:var(--gold,#dbc28b)}
#lebouard-design .s26-reading h4{font-size:20px;line-height:1.4;margin:28px 0 12px;letter-spacing:-.02em}
#lebouard-design .s26-reading :is(h5,h6){font-size:18px;line-height:1.45;margin:24px 0 12px;letter-spacing:-.015em}
#lebouard-design .s26-reading .s27-article-figure{display:block;width:100%;margin:32px 0;background:#141618;border:1px solid var(--line);border-radius:8px;overflow:hidden}
#lebouard-design .s26-reading img.s27-article-image{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;margin:28px 0;border-radius:8px}
#lebouard-design .s26-reading .s27-article-figure img{margin:0}
#lebouard-design .s27-calendar-hero{padding:32px 0}
#lebouard-design .s27-calendar-hero h1{font-size:clamp(32px,4vw,50px)}
#lebouard-design .s27-back{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);font-size:14px;margin-bottom:16px}
#lebouard-design .s27-calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:28px;align-items:start}
#lebouard-design .s27-calendar-card,#lebouard-design .s27-calendar-summary{padding:32px;border:1px solid var(--line);background:linear-gradient(145deg,#1b1d20,#111214);border-radius:12px;min-width:0}
#lebouard-design .s27-calendar-card h2{font-size:30px;line-height:1.2;margin:8px 0 28px}
#lebouard-design .s27-calendar-summary{position:sticky;top:115px}
#lebouard-design .s27-month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}
#lebouard-design .s27-month-nav button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--paper);font-size:22px}
#lebouard-design .s27-month-nav button:disabled{opacity:.3;cursor:default}
#lebouard-design .s27-month-nav strong{text-transform:capitalize;font-size:20px;font-weight:500}
#lebouard-design .s27-weekdays,#lebouard-design .s27-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
#lebouard-design .s27-weekdays{font-size:12px;color:var(--muted);padding-bottom:12px}
#lebouard-design .s27-calendar-days button{min-height:48px;border:1px solid transparent;border-radius:6px;color:var(--paper);background:#ffffff05;font:inherit}
#lebouard-design .s27-calendar-days button:hover{border-color:var(--gold)}
#lebouard-design .s27-calendar-days button[aria-pressed=true]{background:var(--gold);color:var(--ink);font-weight:600}
#lebouard-design .s27-calendar-days button:disabled{opacity:.25;cursor:default;background:transparent}
#lebouard-design .s27-slot-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
#lebouard-design .s27-slot-panel h3{font-size:22px}
#lebouard-design #calendar-status{color:var(--muted);font-size:15px;line-height:1.6}
#lebouard-design .s27-calendar-summary h2{font-size:32px;line-height:1.2;margin:10px 0}
#lebouard-design .s27-calendar-summary dl{margin:24px 0;font-size:15px}
#lebouard-design .s27-calendar-summary dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:14px 0}
#lebouard-design .s27-calendar-summary dt{color:var(--muted)}
#lebouard-design .s27-calendar-summary dd{text-align:right;margin:0}
#lebouard-design .s27-calendar-summary .s26-primary{width:100%;font-family:inherit;font-size:16px}
#lebouard-design .s27-calendar-summary .s26-primary:disabled{opacity:.45;cursor:default}
#lebouard-design .s27-calendar-summary .s26-secondary{display:block;margin:18px 0}
#lebouard-design .s27-calendar-summary>a:last-child{display:block;color:var(--gold);font-size:14px;margin-top:18px}
#lebouard-design .s27-booking-fallback{font-size:14px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}
#lebouard-design .s27-booking-fallback summary{cursor:pointer;min-height:44px}
#lebouard-design .s27-booking-fallback a{color:var(--gold);text-decoration:underline}
#lebouard-design .s27-progress [aria-current=step]{color:var(--gold)}
@media(max-width:760px){#lebouard-design .s27-calendar-layout{grid-template-columns:1fr;gap:20px}#lebouard-design .s27-calendar-card,#lebouard-design .s27-calendar-summary{padding:22px 16px}#lebouard-design .s27-calendar-summary{position:static}#lebouard-design .s27-calendar-card h2{font-size:26px}#lebouard-design .s27-calendar-days,#lebouard-design .s27-weekdays{gap:3px}#lebouard-design .s27-calendar-days button{min-height:44px;font-size:14px}#lebouard-design .s27-calendar-hero h1{font-size:34px}#lebouard-design .s26-reading img.s27-article-image{max-height:450px}#lebouard-design .s27-progress{display:grid;grid-template-columns:1fr;gap:8px}}
#lebouard-design .s26-reading figure{width:100%;max-width:100%;margin:28px 0;padding:0}
#lebouard-design .s26-reading figure figure{margin:0}
