.ccr{--ccr-primary:#FB7917;--ccr-dark:#0a0c14;--ccr-text:#151824;--ccr-muted:#6b7280;--ccr-line:#e7e9ee;--ccr-soft:#f7f8fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;color:var(--ccr-text)!important;max-width:1160px!important;margin:0 auto!important;padding:18px!important;box-sizing:border-box!important}.ccr *{box-sizing:border-box!important}.ccr-hero{background:linear-gradient(135deg,var(--ccr-dark),#151923)!important;color:#fff!important;border-radius:24px!important;padding:30px!important;margin-bottom:18px!important;overflow:hidden!important}.ccr-kicker{margin:0 0 6px!important;color:rgba(255,255,255,.62)!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-weight:800!important}.ccr-hero h2{margin:0 0 10px!important;color:#fff!important;font-size:clamp(28px,4vw,44px)!important;line-height:1.02!important;font-weight:900!important;letter-spacing:-.045em!important}.ccr-hero p{margin:0 0 16px!important;color:rgba(255,255,255,.82)!important;font-size:16px!important;max-width:780px!important}.ccr-offer{display:inline-flex!important;background:rgba(251,121,23,.16)!important;border:1px solid rgba(251,121,23,.38)!important;color:#fff!important;padding:10px 14px!important;border-radius:999px!important;font-weight:800!important;font-size:14px!important}.ccr-calendar-panel,.ccr-validation-panel,.ccr-form{background:#fff!important;border:1px solid var(--ccr-line)!important;border-radius:24px!important;box-shadow:0 16px 45px rgba(10,12,20,.08)!important;color:var(--ccr-text)!important}.ccr-calendar-panel{padding:22px!important}.ccr-cal-head{display:grid!important;grid-template-columns:46px 1fr 46px!important;align-items:center!important;margin-bottom:14px!important;gap:12px!important}.ccr-cal-head button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;border:0!important;border-radius:14px!important;background:var(--ccr-dark)!important;color:#fff!important;font-size:0!important;cursor:pointer!important;padding:0!important;box-shadow:none!important}.ccr-cal-head button:before{font-size:29px!important;line-height:1!important;font-weight:700!important;color:#fff!important}.ccr-prev:before{content:"‹"!important}.ccr-next:before{content:"›"!important}.ccr-month-label{text-transform:capitalize!important;font-size:24px!important;font-weight:850!important;color:var(--ccr-text)!important;text-align:center!important;letter-spacing:-.02em!important}.ccr-legend{display:flex!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 14px!important;font-size:12px!important;color:var(--ccr-muted)!important;font-weight:650!important}.ccr-legend span{display:inline-flex!important;align-items:center!important}.ccr-legend i{display:inline-block!important;width:10px!important;height:10px!important;border-radius:3px!important;margin-right:6px!important}.ccr-legend .ok{background:#e7f6ee!important}.ccr-legend .maybe{background:#ffecc1!important}.ccr-legend .no{background:#f3dddd!important}.ccr-legend .sel{background:var(--ccr-primary)!important}.ccr-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;align-content:start!important}.ccr-day-name{height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--ccr-muted)!important;font-size:13px!important;font-weight:850!important}.ccr-day{appearance:none!important;border:1px solid var(--ccr-line)!important;background:#fff!important;color:var(--ccr-text)!important;border-radius:15px!important;min-height:78px!important;padding:10px!important;text-align:left!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;cursor:pointer!important;box-shadow:none!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;overflow:hidden!important}.ccr-day:hover{transform:translateY(-2px)!important;box-shadow:0 10px 22px rgba(10,12,20,.08)!important;border-color:rgba(251,121,23,.34)!important}.ccr-day strong{display:block!important;font-size:21px!important;line-height:1!important;font-weight:850!important;color:inherit!important}.ccr-day small{display:block!important;font-size:10px!important;line-height:1!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:inherit!important;white-space:nowrap!important}.ccr-day.available small{color:#27824f!important}.ccr-day.pending{background:#fff8e8!important;border-color:#f4d891!important;color:#6c4a0c!important}.ccr-day.busy{background:#f7e9e9!important;border-color:#efcece!important;color:#a25d5d!important;cursor:not-allowed!important}.ccr-day.busy:hover{transform:none!important;box-shadow:none!important}.ccr-day.range{background:#fff2e8!important;border-color:rgba(251,121,23,.34)!important}.ccr-day.start,.ccr-day.end{background:var(--ccr-primary)!important;color:#fff!important;border-color:var(--ccr-primary)!important;box-shadow:0 12px 24px rgba(251,121,23,.22)!important}.ccr-day.start small,.ccr-day.end small{color:#fff!important}.ccr-day.blank{background:transparent!important;border:0!important;box-shadow:none!important;cursor:default!important;pointer-events:none!important}.ccr-loading,.ccr-error{grid-column:1/-1!important;padding:34px!important;text-align:center!important;color:var(--ccr-muted)!important;background:#f6f7fb!important;border-radius:18px!important}.ccr-error{color:#8c3333!important;background:#f7e3e3!important}.ccr-validation-panel{margin:16px 0!important;padding:16px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:14px!important;align-items:center!important}.ccr-booking-bar{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.ccr-booking-bar>div{background:var(--ccr-soft)!important;border:1px solid var(--ccr-line)!important;border-radius:16px!important;padding:13px 15px!important;color:var(--ccr-text)!important}.ccr-booking-bar span{display:block!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:var(--ccr-muted)!important;font-weight:850!important;margin-bottom:5px!important}.ccr-booking-bar strong{display:block!important;color:var(--ccr-text)!important;font-size:15px!important;font-weight:800!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ccr-actions{display:flex!important;gap:10px!important;align-items:center!important}.ccr-validate,.ccr-clear,.ccr-submit{border:0!important;border-radius:15px!important;padding:14px 18px!important;font-size:14px!important;font-weight:850!important;cursor:pointer!important;text-transform:uppercase!important;letter-spacing:.03em!important;box-shadow:none!important;white-space:nowrap!important}.ccr-validate,.ccr-submit{background:var(--ccr-primary)!important;color:#fff!important}.ccr-clear{background:#10131b!important;color:#fff!important}.ccr-validate:disabled{opacity:.45!important;cursor:not-allowed!important}.ccr-date-response{grid-column:1/-1!important;margin:0!important}.ccr-form{display:none!important;padding:24px!important;margin-top:16px!important}.ccr-ready .ccr-form{display:block!important}.ccr-form-head{border-bottom:1px solid var(--ccr-line)!important;padding-bottom:16px!important;margin-bottom:16px!important}.ccr-step{margin:0 0 4px!important;color:var(--ccr-primary)!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-size:11px!important;font-weight:900!important}.ccr-form h3{margin:0 0 6px!important;font-size:28px!important;line-height:1.08!important;color:var(--ccr-text)!important;font-weight:850!important;letter-spacing:-.035em!important}.ccr-help{font-size:14px!important;line-height:1.55!important;color:var(--ccr-muted)!important;margin:0!important;font-weight:500!important}.ccr-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}.ccr-form label{display:block!important;margin:12px 0 0!important;font-weight:800!important;color:var(--ccr-text)!important;font-size:13px!important;line-height:1.15!important}.ccr-form input,.ccr-form select,.ccr-form textarea{width:100%!important;max-width:100%!important;border:1px solid rgba(10,12,20,.16)!important;border-radius:13px!important;padding:11px 12px!important;background:#fff!important;color:var(--ccr-text)!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;min-height:44px!important;margin:6px 0 0!important;box-shadow:none!important;outline:none!important}.ccr-form input:focus,.ccr-form select:focus,.ccr-form textarea:focus{border-color:var(--ccr-primary)!important;box-shadow:0 0 0 3px rgba(251,121,23,.13)!important}.ccr-form textarea{min-height:105px!important;resize:vertical!important}.ccr-submit{width:100%!important;margin-top:16px!important}.ccr-submit:disabled{opacity:.62!important;cursor:wait!important}.ccr-response{display:none!important;margin-top:12px!important;border-radius:14px!important;padding:12px!important;font-weight:750!important;font-size:14px!important}.ccr-response.success,.ccr-response.error{display:block!important}.ccr-response.success{background:#e8f7ed!important;color:#175d2a!important}.ccr-response.error{background:#f7e3e3!important;color:#8c3333!important}@media(max-width:900px){.ccr-validation-panel{grid-template-columns:1fr!important}.ccr-actions{justify-content:stretch!important}.ccr-actions button{flex:1!important}.ccr-row{grid-template-columns:1fr!important}.ccr-booking-bar{grid-template-columns:1fr!important}}@media(max-width:760px){.ccr{padding:10px!important}.ccr-hero{border-radius:20px!important;padding:22px!important}.ccr-calendar-panel,.ccr-validation-panel,.ccr-form{padding:15px!important;border-radius:20px!important}.ccr-grid{gap:5px!important}.ccr-day{min-height:58px!important;padding:8px!important;border-radius:12px!important}.ccr-day strong{font-size:18px!important}.ccr-day small{display:none!important}.ccr-month-label{font-size:20px!important}.ccr-cal-head{grid-template-columns:42px 1fr 42px!important}.ccr-cal-head button{width:42px!important;height:42px!important}.ccr-legend{font-size:11px!important;gap:8px!important}}
.ccr-legend .partial{background:#e9f0ff!important}.ccr-day.partial{background:#f5f8ff!important;border-color:#cfdcff!important;color:#29406e!important}.ccr-day.partial small{color:#29406e!important}.ccr-day.partial:hover{border-color:rgba(251,121,23,.34)!important}.ccr-day.partial.range{background:#fff2e8!important;border-color:rgba(251,121,23,.34)!important}

/* V7 partial-day UX */
.ccr-day.partial{background:linear-gradient(135deg,#ffffff 0 49%,#f7e3e3 50% 100%)!important;border-color:#efcece!important;color:#7a2f2f!important;position:relative!important}.ccr-day.partial small{color:#8c3333!important}.ccr-day.partial:after{content:""!important;position:absolute!important;inset:0!important;border-radius:inherit!important;background:linear-gradient(135deg,transparent calc(50% - 1px),rgba(140,51,51,.22) 50%,transparent calc(50% + 1px))!important;pointer-events:none!important}.ccr-day.partial.range{background:linear-gradient(135deg,#fff2e8 0 49%,#f7e3e3 50% 100%)!important}.ccr-day.partial.start,.ccr-day.partial.end{background:var(--ccr-primary)!important;color:#fff!important}.ccr-slot-modal{position:fixed!important;inset:0!important;z-index:999999!important;display:none!important;align-items:center!important;justify-content:center!important;padding:18px!important}.ccr-slot-modal.is-open{display:flex!important}.ccr-slot-modal-backdrop{position:absolute!important;inset:0!important;background:rgba(10,12,20,.48)!important;backdrop-filter:blur(5px)!important}.ccr-slot-modal-card{position:relative!important;width:min(440px,100%)!important;background:#fff!important;color:#151824!important;border-radius:24px!important;padding:24px!important;box-shadow:0 30px 90px rgba(0,0,0,.24)!important;border:1px solid #eceef3!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.ccr-slot-modal-x{position:absolute!important;top:12px!important;right:12px!important;width:36px!important;height:36px!important;border:0!important;border-radius:999px!important;background:#f3f4f6!important;color:#151824!important;font-size:22px!important;line-height:1!important;cursor:pointer!important}.ccr-slot-modal-kicker{display:inline-flex!important;color:#FB7917!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:11px!important;font-weight:900!important;margin-bottom:8px!important}.ccr-slot-modal-card h3{margin:0 28px 8px 0!important;font-size:24px!important;line-height:1.1!important;font-weight:850!important;color:#151824!important}.ccr-slot-modal-card p{margin:0 0 12px!important;color:#555f6d!important;line-height:1.5!important}.ccr-slot-modal-card ul{margin:0 0 18px!important;padding:0!important;list-style:none!important;display:grid!important;gap:8px!important}.ccr-slot-modal-card li{background:#fff4f4!important;border:1px solid #efcece!important;color:#8c3333!important;border-radius:14px!important;padding:10px 12px!important;font-weight:800!important}.ccr-slot-modal-ok{width:100%!important;border:0!important;border-radius:15px!important;background:#FB7917!important;color:#fff!important;padding:13px 16px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.03em!important;cursor:pointer!important}@media(max-width:760px){.ccr-slot-modal-card{border-radius:20px!important;padding:20px!important}.ccr-slot-modal-card h3{font-size:21px!important}}

/* V11 — vraie refonte téléphone : calme, lisible, touch friendly */
@media (max-width: 640px){
  html{scroll-behavior:smooth!important}
  .ccr{
    width:100%!important;
    max-width:100%!important;
    padding:0 10px 20px!important;
    overflow-x:hidden!important;
  }
  .ccr-hero{
    border-radius:0 0 22px 22px!important;
    padding:20px 16px 18px!important;
    margin:0 -10px 12px!important;
    box-shadow:none!important;
  }
  .ccr-kicker{
    font-size:10px!important;
    letter-spacing:.12em!important;
    margin-bottom:7px!important;
  }
  .ccr-hero h2{
    font-size:25px!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
    margin-bottom:8px!important;
  }
  .ccr-hero p{
    font-size:14px!important;
    line-height:1.45!important;
    margin-bottom:12px!important;
  }
  .ccr-offer{
    display:block!important;
    width:100%!important;
    border-radius:15px!important;
    padding:11px 12px!important;
    font-size:12px!important;
    line-height:1.35!important;
  }
  .ccr-calendar-panel{
    padding:12px!important;
    border-radius:18px!important;
    box-shadow:0 8px 24px rgba(10,12,20,.07)!important;
  }
  .ccr-cal-head{
    grid-template-columns:40px 1fr 40px!important;
    gap:8px!important;
    margin-bottom:10px!important;
  }
  .ccr-cal-head button{
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
    touch-action:manipulation!important;
  }
  .ccr-cal-head button:before{font-size:25px!important}
  .ccr-month-label{
    font-size:18px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ccr-legend{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:2px 0 9px!important;
    margin-bottom:7px!important;
    scrollbar-width:none!important;
  }
  .ccr-legend::-webkit-scrollbar{display:none!important}
  .ccr-legend span{
    flex:0 0 auto!important;
    background:#f7f8fb!important;
    border:1px solid #e7e9ee!important;
    border-radius:999px!important;
    padding:6px 9px!important;
    font-size:10px!important;
    line-height:1!important;
  }
  .ccr-legend i{width:8px!important;height:8px!important;margin-right:5px!important;border-radius:50%!important}
  .ccr-grid{
    grid-template-columns:repeat(7, minmax(0, 1fr))!important;
    gap:4px!important;
    width:100%!important;
  }
  .ccr-day-name{
    height:22px!important;
    font-size:10px!important;
    font-weight:850!important;
  }
  .ccr-day{
    min-height:47px!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    border-radius:11px!important;
    padding:6px 4px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:2px!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .ccr-day:hover{transform:none!important;box-shadow:none!important}
  .ccr-day strong{
    font-size:16px!important;
    line-height:1!important;
  }
  .ccr-day small{
    font-size:8px!important;
    letter-spacing:.02em!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ccr-day.available small{font-size:0!important}
  .ccr-day.available small:after{content:"OK"!important;font-size:8px!important;color:#27824f!important}
  .ccr-day.partial small{font-size:0!important}
  .ccr-day.partial small:after{content:"Pris"!important;font-size:8px!important;color:#8c3333!important}
  .ccr-day.busy small{font-size:0!important}
  .ccr-day.busy small:after{content:"Stop"!important;font-size:8px!important;color:#8c3333!important}
  .ccr-day.pending small{font-size:0!important}
  .ccr-day.pending small:after{content:"Attente"!important;font-size:8px!important;color:#6c4a0c!important}
  .ccr-day.start,.ccr-day.end{
    box-shadow:0 8px 18px rgba(251,121,23,.22)!important;
  }
  .ccr-day.range:not(.start):not(.end){
    background:#fff6ef!important;
    border-color:#ffd0ae!important;
  }
  .ccr-validation-panel{
    margin:12px 0!important;
    padding:12px!important;
    border-radius:18px!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    box-shadow:0 8px 24px rgba(10,12,20,.06)!important;
  }
  .ccr-booking-bar{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .ccr-booking-bar>div{
    border-radius:13px!important;
    padding:10px 11px!important;
    display:grid!important;
    grid-template-columns:80px 1fr!important;
    align-items:center!important;
    gap:8px!important;
  }
  .ccr-booking-bar span{
    margin:0!important;
    font-size:9px!important;
  }
  .ccr-booking-bar strong{
    font-size:13px!important;
    text-align:right!important;
  }
  .ccr-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .ccr-actions button,
  .ccr-submit{
    width:100%!important;
    min-height:48px!important;
    border-radius:14px!important;
    font-size:13px!important;
    padding:13px 14px!important;
    touch-action:manipulation!important;
  }
  .ccr-clear{background:#f2f3f6!important;color:#151824!important}
  .ccr-date-response,
  .ccr-response{
    font-size:13px!important;
    line-height:1.35!important;
    border-radius:13px!important;
    padding:10px 11px!important;
  }
  .ccr-form{
    padding:15px!important;
    border-radius:18px!important;
    margin-top:12px!important;
    box-shadow:0 8px 24px rgba(10,12,20,.06)!important;
  }
  .ccr-form-head{
    padding-bottom:12px!important;
    margin-bottom:10px!important;
  }
  .ccr-step{font-size:10px!important;margin-bottom:4px!important}
  .ccr-form h3{
    font-size:22px!important;
    line-height:1.1!important;
  }
  .ccr-help{
    font-size:13px!important;
    line-height:1.45!important;
  }
  .ccr-row{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .ccr-form label{
    margin-top:11px!important;
    font-size:12px!important;
  }
  .ccr-form input,
  .ccr-form select,
  .ccr-form textarea{
    min-height:48px!important;
    border-radius:13px!important;
    font-size:16px!important;
    padding:12px!important;
  }
  .ccr-form textarea{min-height:118px!important}
  .ccr-slot-modal{
    align-items:flex-end!important;
    padding:0!important;
  }
  .ccr-slot-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:82vh!important;
    overflow:auto!important;
    border-radius:22px 22px 0 0!important;
    padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important;
    transform:translateY(100%)!important;
    transition:transform .22s ease!important;
  }
  .ccr-slot-modal.is-open .ccr-slot-modal-card{transform:translateY(0)!important}
  .ccr-slot-modal-kicker{font-size:10px!important}
  .ccr-slot-modal-card h3{font-size:20px!important;margin-right:36px!important}
  .ccr-slot-modal-card p{font-size:13px!important}
  .ccr-slot-modal-card li{font-size:13px!important;border-radius:12px!important;padding:10px!important}
  .ccr-slot-modal-ok{min-height:48px!important;border-radius:14px!important}
}

@media (max-width: 380px){
  .ccr-day{min-height:42px!important;border-radius:9px!important;padding:5px 2px!important}
  .ccr-day strong{font-size:14px!important}
  .ccr-day small:after{font-size:7px!important}
  .ccr-month-label{font-size:16px!important}
  .ccr-booking-bar>div{grid-template-columns:70px 1fr!important}
}
