/* CECIL Reservation 1.0.9 — scoped to the form, paired with Official. */
#cecil-reservation-app {
  --cr-paper:var(--cecil-offwhite,#FAF7EF);
  --cr-ivory:var(--cecil-ivory,#F7F3EA);
  --cr-beige:var(--cecil-warm-beige,#EAE2D3);
  --cr-ink:var(--cecil-text,#4B4238);
  --cr-muted:var(--cecil-muted,#736C62);
  --cr-taupe:var(--cecil-brand-dark,#665D52);
  --cr-sage:var(--cecil-accent,#C9D8A6);
  --cr-sage-light:var(--cecil-accent-light,#E3EBCF);
  --cr-sage-border:var(--cecil-accent-dark,#A7B77D);
  --cr-accent-ink:var(--cecil-accent-ink,#66734C);
  --cr-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  width:100%; max-width:100%; min-width:0; margin:0;
  color:var(--cr-ink); background:var(--cr-paper);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:16px; line-height:1.8; letter-spacing:.025em;
  line-break:strict; word-break:normal; overflow-wrap:anywhere;
  text-align:left; color-scheme:light;
}
#cecil-reservation-app *,#cecil-reservation-app *::before,#cecil-reservation-app *::after { box-sizing:border-box; }
#cecil-reservation-app [hidden] { display:none!important; }
#cecil-reservation-app :is(button,input,textarea,select) { font:inherit; letter-spacing:inherit; }
#cecil-reservation-app :is(h2,h3,p,fieldset) { margin:0; padding:0; }
#cecil-reservation-app :is(h2,h3) { border:0; background:none; text-shadow:none; }
#cecil-reservation-app :is(h2,h3)::before,#cecil-reservation-app :is(h2,h3)::after { display:none; }
#cecil-reservation-app :is(button,a,input,textarea):focus-visible { outline:3px solid var(--cr-taupe)!important; outline-offset:3px; }
#cecil-reservation-app button { appearance:none; cursor:pointer; margin:0; min-width:0; box-shadow:none; text-indent:0; transition:background .18s,border-color .18s,box-shadow .18s; }
#cecil-reservation-app button:hover { transform:none; }
#cecil-reservation-app button:disabled { cursor:not-allowed; }
#cecil-reservation-app .cr-hero { text-align:center; padding:36px 20px; background:var(--cr-ivory); border-radius:8px; }
#cecil-reservation-app .cr-hero h2 { font:500 clamp(25px,4vw,34px)/1.5 var(--cr-serif); color:var(--cr-ink); margin:10px 0 14px; }
#cecil-reservation-app .cr-hero p { color:var(--cr-muted); font-size:14px; max-width:46em; margin:auto; }
#cecil-reservation-app .cr-kicker { display:block; font:500 11px/1.5 Georgia,serif; letter-spacing:.16em; color:var(--cr-accent-ink); }
#cecil-reservation-app .cr-gold-line { width:44px; height:2px; background:var(--cr-sage); margin:18px auto; }
#cecil-reservation-app .cr-hero-notes { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:18px; }
#cecil-reservation-app .cr-hero-notes span { padding:4px 11px; border:1px solid var(--cr-beige); border-radius:99px; font-size:12px; }
/* The theme supplies the page title and outer card. */
.reservation-form-shell > #cecil-reservation-app .cr-hero { display:none; }
.reservation-form-shell:has(> #cecil-reservation-app)::before { display:none; }
#cecil-reservation-app .cr-shell { width:100%; max-width:920px; min-width:0; margin:0 auto; padding:0; scroll-margin-top:120px; }
#cecil-reservation-app .cr-hero + .cr-shell { padding-top:24px; }
.reservation-form-shell > #cecil-reservation-app .cr-shell { padding-top:0; }
#cecil-reservation-app .cr-same-day-notice { padding:22px 24px; margin:0 0 30px; border:1px solid var(--cr-beige); border-radius:8px; background:var(--cr-ivory); text-align:center; }
#cecil-reservation-app .cr-same-day-notice > span { display:block; font-size:12px; color:var(--cr-muted); }
#cecil-reservation-app .cr-same-day-notice > strong { display:block; margin:4px 0 8px; color:var(--cr-ink); font:600 clamp(18px,3vw,22px)/1.65 var(--cr-serif); }
#cecil-reservation-app .cr-same-day-notice p { max-width:48em; margin:0 auto 16px; font-size:13px; color:var(--cr-muted); }
#cecil-reservation-app .cr-same-day-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
#cecil-reservation-app :is(.cr-same-day-actions a,.cr-success-line-link) { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:10px 22px; border:1px solid var(--cr-taupe); border-radius:999px; background:var(--cr-paper)!important; color:var(--cr-taupe)!important; font-size:14px; font-weight:700; text-decoration:none!important; line-height:1.6; }
#cecil-reservation-app .cr-same-day-actions .cr-same-day-call { background:var(--cr-taupe)!important; color:var(--cr-paper)!important; }
#cecil-reservation-app .cr-progress { display:flex; align-items:flex-start; justify-content:center; gap:8px; max-width:690px; margin:0 auto 12px; padding:0 0 22px; }
#cecil-reservation-app .cr-progress > span { display:flex; flex-direction:column; align-items:center; gap:7px; color:var(--cr-muted); min-width:50px; font-size:12px; font-weight:600; }
#cecil-reservation-app .cr-progress b { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--cr-beige); border-radius:50%; background:var(--cr-ivory); font:500 16px/1 Georgia,serif; }
#cecil-reservation-app .cr-progress .is-active b { background:var(--cr-sage-light); border-color:var(--cr-sage-border); color:var(--cr-ink); }
#cecil-reservation-app .cr-progress [aria-current="step"] b { background:var(--cr-taupe); border-color:var(--cr-taupe); color:var(--cr-paper); }
#cecil-reservation-app .cr-progress > i { height:1px; flex:1; max-width:80px; min-width:0; margin-top:16px; background:var(--cr-beige); }
#cecil-reservation-app .cr-step { min-width:0; padding:32px 0; border:0; border-top:1px solid var(--cr-beige); background:transparent; box-shadow:none; scroll-margin-top:115px; }
#cecil-reservation-app .cr-step.is-locked { pointer-events:none; }
#cecil-reservation-app .cr-step.is-locked .cr-step-title > span { color:var(--cr-muted); }
#cecil-reservation-app .cr-step.is-locked :is(.cr-service-card,.cr-course-card,.cr-calendar-card,.cr-time-grid,.cr-form-grid) { background:var(--cr-ivory); }
#cecil-reservation-app .cr-step-title { margin:0 0 22px; text-align:left; }
#cecil-reservation-app .cr-step-title > span { display:block; color:var(--cr-accent-ink); font:500 11px/1.5 Georgia,serif; letter-spacing:.15em; margin-bottom:7px; }
#cecil-reservation-app .cr-step-title h3 { color:var(--cr-ink)!important; font:600 clamp(20px,3.4vw,26px)/1.6 var(--cr-serif)!important; letter-spacing:.04em; margin:0 0 7px!important; text-wrap:balance; }
#cecil-reservation-app .cr-step-title p { color:var(--cr-muted); font-size:14px; line-height:1.9; }
#cecil-reservation-app .cr-late-note { display:block; color:var(--cr-muted); font-size:13px; margin-top:8px; }
#cecil-reservation-app :is(.cr-service-grid,.cr-course-grid,.cr-time-grid,.cr-form-grid,.cr-radio-row) { display:grid; gap:12px; min-width:0; }
#cecil-reservation-app .cr-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#cecil-reservation-app :is(.cr-service-card,.cr-course-card) { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:148px; padding:24px 14px; border:1px solid var(--cr-beige); border-radius:8px; color:var(--cr-ink)!important; background:var(--cr-paper)!important; border-color:var(--cr-beige)!important; text-align:center; line-height:1.5; }
#cecil-reservation-app :is(.cr-service-card,.cr-course-card):hover { border-color:var(--cr-taupe)!important; }
#cecil-reservation-app :is(.cr-service-card,.cr-course-card).is-selected { background:var(--cr-sage-light)!important; border-color:var(--cr-accent-ink)!important; box-shadow:inset 0 0 0 1px var(--cr-accent-ink); }
#cecil-reservation-app :is(.cr-service-card,.cr-course-card).is-selected::after { content:"✓"; position:absolute; top:8px; right:8px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--cr-taupe); color:var(--cr-paper); font:700 12px/1 sans-serif; }
#cecil-reservation-app :is(.cr-service-card,.cr-course-card) small { display:block; color:var(--cr-accent-ink); font:500 10px/1.5 Georgia,serif; letter-spacing:.08em; margin-bottom:12px; }
#cecil-reservation-app .cr-service-card strong { font:600 clamp(18px,2.8vw,23px)/1.5 var(--cr-serif); color:var(--cr-ink); }
#cecil-reservation-app .cr-service-card > span { font-size:12px; color:var(--cr-muted); margin-top:7px; }
#cecil-reservation-app .cr-course-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
#cecil-reservation-app .cr-course-card { min-height:152px; padding:24px 8px 18px; }
#cecil-reservation-app .cr-course-card strong { display:block; font:500 34px/1.2 Georgia,serif; color:var(--cr-ink); }
#cecil-reservation-app .cr-course-card strong span { font:500 13px/1.4 var(--cr-serif); margin-left:3px; }
#cecil-reservation-app .cr-course-card b { display:block; color:var(--cr-ink); font:500 18px/1.5 Georgia,serif; margin-top:9px; }
#cecil-reservation-app .cr-course-card b span { font:500 12px/1.5 var(--cr-serif); margin-left:3px; }
#cecil-reservation-app .cr-calendar-card { width:100%; min-width:0; max-width:690px; padding:20px; margin:auto; border:1px solid var(--cr-beige); border-radius:8px; background:var(--cr-paper); }
#cecil-reservation-app .cr-calendar-head { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:8px; margin-bottom:18px; }
#cecil-reservation-app .cr-calendar-head strong { text-align:center; font-size:18px; color:var(--cr-ink); }
#cecil-reservation-app .cr-month-nav { display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; border:1px solid var(--cr-beige); border-radius:50%; background:var(--cr-paper)!important; color:var(--cr-ink)!important; border-color:var(--cr-beige)!important; font-size:25px; line-height:1; }
#cecil-reservation-app .cr-month-nav:hover { background:var(--cr-sage-light)!important; }
#cecil-reservation-app :is(.cr-week,.cr-calendar) { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); width:100%; min-width:0; gap:5px; }
#cecil-reservation-app .cr-week { margin-bottom:8px; text-align:center; font-size:12px; color:var(--cr-muted); }
#cecil-reservation-app .cr-calendar { min-height:260px; }
#cecil-reservation-app .cr-day { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; width:100%; max-width:100%; min-width:0; min-height:60px; padding:5px 0; border:1px solid var(--cr-beige); border-radius:6px; background:var(--cr-paper)!important; color:var(--cr-ink)!important; border-color:var(--cr-beige)!important; line-height:1.3; }
#cecil-reservation-app .cr-day strong { font:500 19px/1.2 Georgia,serif; color:inherit; }
#cecil-reservation-app .cr-day small { font-size:11px; color:inherit; }
#cecil-reservation-app .cr-day.is-available { background:var(--cr-sage-light)!important; border-color:var(--cr-sage-border)!important; }
#cecil-reservation-app .cr-day.is-same-day { background:var(--cr-ivory)!important; border-style:dashed; border-color:var(--cr-taupe)!important; }
#cecil-reservation-app :is(.cr-day,.cr-time).is-selected { background:var(--cr-taupe)!important; color:var(--cr-paper)!important; border-color:var(--cr-taupe)!important; box-shadow:inset 0 0 0 1px var(--cr-paper); }
#cecil-reservation-app :is(.cr-day,.cr-time).is-selected > * { color:var(--cr-paper)!important; }
#cecil-reservation-app :is(.cr-day,.cr-time):disabled { background:var(--cr-ivory)!important; color:var(--cr-muted)!important; border-color:var(--cr-beige)!important; opacity:1; }
#cecil-reservation-app .cr-day-blank { visibility:hidden; }
#cecil-reservation-app .cr-calendar-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 16px; margin-top:18px; color:var(--cr-muted); font-size:11px; }
#cecil-reservation-app .cr-calendar-legend span { display:flex; align-items:center; gap:5px; }
#cecil-reservation-app .cr-calendar-legend i { width:9px; height:9px; border-radius:50%; border:1px solid var(--cr-beige); background:var(--cr-beige); }
#cecil-reservation-app .cr-calendar-legend .is-open { background:var(--cr-sage); border-color:var(--cr-sage-border); }
#cecil-reservation-app .cr-calendar-legend .is-same-day { border:1px dashed var(--cr-taupe); background:var(--cr-ivory); }
#cecil-reservation-app .cr-calendar-legend .is-holiday { background:var(--cr-taupe); }
#cecil-reservation-app .cr-time-grid { grid-template-columns:repeat(4,minmax(0,1fr)); max-width:690px; margin:auto; }
#cecil-reservation-app .cr-time { min-height:76px; padding:12px 6px; border:1px solid var(--cr-sage-border); border-radius:8px; background:var(--cr-sage-light)!important; color:var(--cr-ink)!important; border-color:var(--cr-sage-border)!important; text-align:center; line-height:1.5; }
#cecil-reservation-app .cr-time span { display:block; color:inherit; font:500 23px/1.35 Georgia,serif; }
#cecil-reservation-app .cr-time small { display:block; color:inherit; font-size:12px; margin-top:3px; }
#cecil-reservation-app :is(.cr-calendar,.cr-time-grid) > .cr-placeholder { grid-column:1/-1; align-self:center; }
#cecil-reservation-app .cr-placeholder { padding:24px 10px; text-align:center; color:var(--cr-muted); font-size:14px; }
#cecil-reservation-app .cr-loading::after { content:""; display:inline-block; width:14px; height:14px; margin-left:8px; border:2px solid var(--cr-beige); border-top-color:var(--cr-taupe); border-radius:50%; vertical-align:-2px; animation:cr-spin .8s linear infinite; }
@keyframes cr-spin { to { transform:rotate(360deg); } }
#cecil-reservation-app #cr-booking-form { width:100%; max-width:820px; margin:auto!important; }
#cecil-reservation-app .cr-summary { display:grid; gap:5px; margin:0 0 28px; padding:20px 24px; border:1px solid var(--cr-sage-border); border-left:4px solid var(--cr-accent-ink); border-radius:6px; color:var(--cr-ink); background:var(--cr-sage-light); }
#cecil-reservation-app .cr-summary:empty { display:none; }
#cecil-reservation-app .cr-summary span { font-size:12px; color:var(--cr-accent-ink); }
#cecil-reservation-app .cr-summary strong { font-size:18px; font-weight:600; }
#cecil-reservation-app .cr-summary b { font-size:15px; font-weight:500; }
#cecil-reservation-app .cr-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
#cecil-reservation-app .cr-field { display:block; min-width:0; margin:0; border:0; padding:0; color:var(--cr-ink); }
#cecil-reservation-app .cr-field-wide { grid-column:1/-1; }
#cecil-reservation-app :is(.cr-field > span,.cr-field legend) { display:block; padding:0; margin:0 0 9px; color:var(--cr-ink); font-size:14px; font-weight:600; line-height:1.7; }
#cecil-reservation-app :is(.cr-field > span b,.cr-field legend b) { display:inline-block; padding:1px 6px; margin-left:7px; border-radius:3px; background:var(--cr-beige); color:var(--cr-ink); font-size:10px; font-weight:500; vertical-align:1px; }
#cecil-reservation-app .cr-field > span small { display:block; margin-top:4px; color:var(--cr-muted); font-size:12px; font-weight:400; }
#cecil-reservation-app .cr-field :is(input:not([type="radio"]):not([type="checkbox"]),textarea) { width:100%; min-width:0; min-height:54px; padding:13px 14px; border:1px solid #B9B0A3; border-radius:6px; background:var(--cr-paper); color:var(--cr-ink); font-size:16px; line-height:1.6; box-shadow:none; outline:none; }
#cecil-reservation-app .cr-field textarea { min-height:140px; resize:vertical; }
#cecil-reservation-app .cr-field :is(input,textarea)::placeholder { color:var(--cr-muted); opacity:1; }
#cecil-reservation-app .cr-field :is(input,textarea):focus { border-color:var(--cr-taupe); box-shadow:0 0 0 3px var(--cr-sage-light); }
#cecil-reservation-app .cr-radio-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#cecil-reservation-app .cr-radio-row label { display:flex; align-items:center; gap:9px; min-width:0; min-height:54px; padding:12px 14px; border:1px solid #B9B0A3; border-radius:6px; background:var(--cr-paper); color:var(--cr-ink); font-size:14px; font-weight:500; cursor:pointer; }
#cecil-reservation-app .cr-radio-row label:has(input:checked) { background:var(--cr-sage-light); border-color:var(--cr-accent-ink); box-shadow:inset 0 0 0 1px var(--cr-accent-ink); }
#cecil-reservation-app .cr-radio-row :is(input,span) { margin:0; padding:0; color:inherit; }
#cecil-reservation-app input:is([type="radio"],[type="checkbox"]) { appearance:auto; position:static; opacity:1; pointer-events:auto; flex:0 0 18px; width:18px; height:18px; min-height:0; margin:0; accent-color:var(--cr-taupe); }
#cecil-reservation-app :is(.cr-dispatch-fields,.cr-contact-method) { padding:20px; border:1px solid var(--cr-beige); border-radius:8px; background:var(--cr-ivory); }
#cecil-reservation-app .cr-contact-method legend { padding:0 6px; }
#cecil-reservation-app .cr-dispatch-fields fieldset { border:0; margin:0 0 20px; }
#cecil-reservation-app :is(.cr-dispatch-note,.cr-contact-help) { margin-top:12px; font-size:13px; color:var(--cr-muted); line-height:1.9; }
#cecil-reservation-app .cr-contact-help strong { color:var(--cr-ink); }
#cecil-reservation-app .cr-consent { display:flex; align-items:flex-start; justify-content:center; gap:10px; margin:30px 0 20px; color:var(--cr-ink); font-size:14px; font-weight:400; }
#cecil-reservation-app .cr-consent input { margin-top:4px; }
#cecil-reservation-app .cr-consent a { color:var(--cr-taupe); text-decoration:underline; text-underline-offset:3px; }
#cecil-reservation-app .cr-submit { display:flex; align-items:center; justify-content:center; gap:16px; width:100%; max-width:440px; min-height:60px; padding:16px 22px; margin:0 auto; border:1px solid var(--cr-sage-border); border-radius:999px; background:linear-gradient(135deg,var(--cr-sage-light),var(--cr-sage))!important; color:var(--cr-ink)!important; border-color:var(--cr-sage-border)!important; font-size:16px; font-weight:700; line-height:1.5; }
#cecil-reservation-app .cr-submit:hover { box-shadow:0 5px 16px rgba(102,93,82,.12); }
#cecil-reservation-app .cr-submit:disabled { cursor:wait; background:var(--cr-beige)!important; color:var(--cr-ink)!important; border-color:var(--cr-beige)!important; }
#cecil-reservation-app .cr-submit-note { max-width:44em; text-align:center; color:var(--cr-muted); font-size:13px; line-height:1.9; margin:16px auto 0; }
#cecil-reservation-app .cr-form-message:empty { display:none; }
#cecil-reservation-app :is(.cr-form-message.is-error,.cr-error,.cr-noscript) { margin:14px 0; padding:14px 16px; border:1px solid var(--cr-taupe); border-left-width:4px; border-radius:4px; background:var(--cr-ivory); color:var(--cr-ink); font-size:14px; }
#cecil-reservation-app .cr-hp { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; margin:0!important; padding:0!important; clip-path:inset(50%); overflow:hidden; border:0!important; }
#cecil-reservation-app .cr-success { width:100%; max-width:720px; margin:0 auto; padding:40px 24px; border:1px solid var(--cr-sage-border); border-radius:8px; background:var(--cr-ivory); text-align:center; }
#cecil-reservation-app .cr-success > span { color:var(--cr-accent-ink); font:500 11px/1.5 Georgia,serif; letter-spacing:.15em; }
#cecil-reservation-app .cr-success h3 { margin:14px 0 18px!important; color:var(--cr-ink)!important; font:600 clamp(21px,3.5vw,28px)/1.6 var(--cr-serif)!important; }
#cecil-reservation-app .cr-phrase { display:inline-block; word-break:keep-all; overflow-wrap:normal; }
#cecil-reservation-app .cr-success p { font-size:14px; color:var(--cr-muted); }
#cecil-reservation-app :is(.cr-success-contact,#cr-success-summary) { margin:22px auto 0; padding:18px; border:1px solid var(--cr-beige); border-radius:6px; background:var(--cr-paper); text-align:left; }
#cecil-reservation-app .cr-success-contact:empty { display:none; }
#cecil-reservation-app :is(.cr-success-contact,#cr-success-summary) strong { display:block; font-size:15px; color:var(--cr-ink); margin-bottom:7px; }
#cecil-reservation-app .cr-success-line-link { margin-top:22px; background:var(--cr-sage-light)!important; }
@media(max-width:760px) {
  #cecil-reservation-app .cr-course-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #cecil-reservation-app .cr-course-card small { font-size:9px; }
  #cecil-reservation-app .cr-form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:540px) {
  #cecil-reservation-app { letter-spacing:.015em; }
  #cecil-reservation-app .cr-same-day-notice { padding:18px 12px; margin-bottom:26px; }
  #cecil-reservation-app .cr-same-day-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  #cecil-reservation-app .cr-same-day-actions a { padding:11px 8px; font-size:13px; }
  #cecil-reservation-app .cr-progress { gap:4px; margin-bottom:2px; }
  #cecil-reservation-app .cr-progress > span { min-width:36px; font-size:10px; gap:6px; white-space:nowrap; }
  #cecil-reservation-app .cr-progress b { width:29px; height:29px; font-size:14px; }
  #cecil-reservation-app .cr-progress > i { margin-top:14px; }
  #cecil-reservation-app .cr-step { padding:26px 0; scroll-margin-top:90px; }
  #cecil-reservation-app .cr-step-title { margin-bottom:18px; }
  #cecil-reservation-app .cr-step-title p { font-size:13px; }
  #cecil-reservation-app .cr-service-grid { gap:8px; }
  #cecil-reservation-app .cr-service-card { min-height:142px; padding:27px 9px 17px; }
  #cecil-reservation-app .cr-service-card small { font-size:9px; letter-spacing:.04em; }
  #cecil-reservation-app .cr-service-card > span { font-size:11px; line-height:1.7; }
  #cecil-reservation-app .cr-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #cecil-reservation-app .cr-course-card { min-height:137px; padding:26px 8px 16px; }
  #cecil-reservation-app .cr-course-card:last-child:nth-child(odd) { grid-column:1/-1; min-height:120px; }
  #cecil-reservation-app .cr-course-card strong { font-size:30px; }
  #cecil-reservation-app .cr-course-card small { margin-bottom:8px; }
  #cecil-reservation-app .cr-calendar-card { padding:14px 5px; }
  #cecil-reservation-app :is(.cr-week,.cr-calendar) { gap:3px; }
  #cecil-reservation-app .cr-calendar-head { padding:0 3px; margin-bottom:14px; }
  #cecil-reservation-app .cr-calendar-head strong { font-size:16px; }
  #cecil-reservation-app .cr-day { min-height:52px; padding:4px 0; border-radius:4px; }
  #cecil-reservation-app .cr-day strong { font-size:17px; }
  #cecil-reservation-app .cr-day small { font-size:10px; }
  #cecil-reservation-app .cr-calendar-legend { justify-content:flex-start; gap:7px 10px; font-size:10px; padding:0 4px; }
  #cecil-reservation-app .cr-time-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #cecil-reservation-app .cr-summary { padding:16px; }
  #cecil-reservation-app .cr-form-grid { gap:22px; }
  #cecil-reservation-app :is(.cr-dispatch-fields,.cr-contact-method) { padding:16px 12px; }
  #cecil-reservation-app .cr-contact-method .cr-radio-row { grid-template-columns:minmax(0,1fr); }
  #cecil-reservation-app .cr-radio-row label { padding:12px 10px; font-size:14px; }
  #cecil-reservation-app .cr-consent { justify-content:flex-start; font-size:13px; }
  #cecil-reservation-app .cr-submit { min-height:58px; padding:15px 12px; font-size:14px; gap:10px; }
  #cecil-reservation-app .cr-submit-note { text-align:left; font-size:12px; }
  #cecil-reservation-app .cr-success { padding:30px 15px; }
}
@media(prefers-reduced-motion:reduce) {
  #cecil-reservation-app *,#cecil-reservation-app *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
