.content-calendar-block.cal-moderne{--cm-accent:var(--jk-accent,#2563eb);--cm-accent-survol:var(--jk-accent-survol,var(--cm-accent));--cm-sur-accent:var(--jk-sur-accent,#fff);--cm-texte:var(--jk-texte,#111827);--cm-attenue:var(--jk-texte-attenue,#6b7280);--cm-fond:var(--jk-fond,#fff);--cm-bordure:var(--jk-bordure,#e5e7eb);--cm-teinte:color-mix(in srgb,var(--cm-accent) 8%,var(--cm-fond));--cm-ombre:0 1px 2px rgba(16,24,40,.05),0 12px 32px -12px rgba(16,24,40,.16);--cm-rayon:20px;width:100%;box-sizing:border-box;color:var(--cm-texte);background:var(--cm-fond);border:1px solid color-mix(in srgb,var(--cm-bordure) 70%,transparent);border-radius:28px;box-shadow:var(--cm-ombre);padding:clamp(18px,3vw,32px)}.content-calendar-block.cal-moderne .calendar-title{font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:700;letter-spacing:-.01em;line-height:1.2;margin:0 0 10px}.content-calendar-block.cal-moderne .calendar-type{display:inline-block;margin:0 0 18px;padding:6px 14px;border-radius:16px;line-height:1.45;background:var(--cm-teinte);color:var(--cm-texte);font-size:.9rem}.content-calendar-block.cal-moderne .cal-zone{color:var(--cm-attenue);font-size:.85rem;opacity:1;margin:0 0 16px}.content-calendar-block.cal-moderne .cal-actions{gap:12px;flex-wrap:wrap;margin-bottom:20px}.content-calendar-block.cal-moderne .cal-paging{gap:6px;padding:4px;border-radius:999px;background:var(--cm-teinte)}.content-calendar-block.cal-moderne .cal-paging{flex:1 1 auto;justify-content:space-between;max-width:460px}.content-calendar-block.cal-moderne .cal-range{font-weight:600;font-size:.95rem;padding:0 10px;text-align:center;font-variant-numeric:tabular-nums}.content-calendar-block.cal-moderne .btn{border-radius:999px;border:1px solid transparent;background:transparent;color:var(--cm-texte);padding:8px 14px;font:inherit;font-size:.9rem;line-height:1.2;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.content-calendar-block.cal-moderne .cal-paging .btn{flex:0 0 40px;width:40px;height:40px;padding:0;justify-content:center;font-size:1.35rem;background:var(--cm-fond);box-shadow:0 1px 2px rgba(16,24,40,.08)}.content-calendar-block.cal-moderne .btn:hover:not(:disabled){background:color-mix(in srgb,var(--cm-accent) 14%,var(--cm-fond))}.content-calendar-block.cal-moderne .btn:focus-visible,.content-calendar-block.cal-moderne .slot:focus-visible{outline:3px solid color-mix(in srgb,var(--cm-accent) 55%,transparent);outline-offset:2px}.content-calendar-block.cal-moderne .btn:disabled{opacity:.5;cursor:default}.content-calendar-block.cal-moderne .cal-actions>.btn{border-color:var(--cm-bordure);color:var(--cm-attenue)}.content-calendar-block.cal-moderne .day-grid{gap:14px}.content-calendar-block.cal-moderne .day-card{background:var(--cm-fond);border:1px solid color-mix(in srgb,var(--cm-bordure) 80%,transparent);border-radius:var(--cm-rayon);padding:16px}.content-calendar-block.cal-moderne .day-header{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num jour" "num mois";column-gap:12px;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--cm-bordure) 70%,transparent)}.content-calendar-block.cal-moderne .day-num{grid-area:num;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--cm-teinte);color:var(--cm-accent);font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.content-calendar-block.cal-moderne .day-title{grid-area:jour;font-weight:600;font-size:1rem;line-height:1.2}.content-calendar-block.cal-moderne .day-mois{grid-area:mois;color:var(--cm-attenue);font-size:.85rem;text-transform:capitalize}.content-calendar-block.cal-moderne .day-date{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.content-calendar-block.cal-moderne .slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.content-calendar-block.cal-moderne .slot{--slot-accent:var(--slot-color,var(--cm-accent));display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:10px 8px;border-radius:14px;border:1.5px solid color-mix(in srgb,var(--slot-accent) 35%,var(--cm-bordure));background:var(--cm-fond);color:var(--cm-texte);font:inherit;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.content-calendar-block.cal-moderne .slot:hover{background:var(--slot-accent);border-color:var(--slot-accent);color:var(--cm-sur-accent);transform:translateY(-1px);box-shadow:none}.content-calendar-block.cal-moderne .slot-time{font-weight:700;font-size:1.02rem;font-variant-numeric:tabular-nums}.content-calendar-block.cal-moderne .slot-time .sep{display:none}.content-calendar-block.cal-moderne .slot-time span:last-child{display:block;font-weight:500;font-size:.78rem;opacity:.75}.content-calendar-block.cal-moderne .slot-meta{display:block;margin:0;font-size:.75rem}.content-calendar-block.cal-moderne .slot .type{display:none}.content-calendar-block.cal-moderne .pill{padding:0;border:0;background:0;color:inherit;opacity:.75;gap:4px}.content-calendar-block.cal-moderne .pill .dot{display:none}.content-calendar-block.cal-moderne .pill.low{background:0;color:#b42318;opacity:1;font-weight:600}.content-calendar-block.cal-moderne .slot:hover .pill.low{color:inherit}.content-calendar-block.cal-moderne .slot-waitlist{border-style:dashed;color:var(--cm-attenue)}.content-calendar-block.cal-moderne .more-wrap{grid-column:1 / -1}.content-calendar-block.cal-moderne .more-wrap .btn{border-color:var(--cm-bordure);color:var(--cm-attenue)}.content-calendar-block.cal-moderne .cal-modal{background:rgba(15,23,42,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.content-calendar-block.cal-moderne .cal-modal-dialog{max-width:480px;max-height:calc(100vh - 32px);overflow-y:auto;padding:clamp(20px,4vw,32px);border:0;border-radius:24px;box-shadow:0 24px 64px -16px rgba(15,23,42,.35);color:var(--cm-texte);background:var(--cm-fond)}.content-calendar-block.cal-moderne .cal-modal-dialog h4{font-size:1.3rem;font-weight:700;letter-spacing:-.01em;margin:0 0 12px}.content-calendar-block.cal-moderne .cal-modal-sub{margin:0 0 18px;padding:12px 14px;border-radius:14px;background:var(--cm-teinte);color:var(--cm-texte);font-size:.95rem;line-height:1.45}.content-calendar-block.cal-moderne .cal-modal-sub strong{font-size:inherit;font-weight:600}.content-calendar-block.cal-moderne .cal-modal-sub .cal-zone-detail{font-size:.85rem;color:var(--cm-attenue);opacity:1}.content-calendar-block.cal-moderne .cal-modal-dialog label{display:block;margin:14px 0 6px;font-size:.85rem;font-weight:600}.content-calendar-block.cal-moderne .cal-modal-dialog .form-control{width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid var(--cm-bordure);border-radius:12px;background:var(--cm-fond);color:var(--cm-texte);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.content-calendar-block.cal-moderne .cal-modal-dialog .form-control:focus{outline:0;border-color:var(--cm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cm-accent) 25%,transparent)}.content-calendar-block.cal-moderne .cal-modal-dialog label.cal-consent{display:flex;font-weight:400;color:var(--cm-attenue);margin-top:16px}.content-calendar-block.cal-moderne .cal-hint{color:var(--cm-attenue);font-size:.85rem}.content-calendar-block.cal-moderne .cal-modal-actions{flex-direction:row-reverse;gap:10px;margin-top:22px}.content-calendar-block.cal-moderne .cal-modal-actions .btn{flex:1;justify-content:center;padding:12px 18px;border-radius:12px;font-weight:600}.content-calendar-block.cal-moderne .cal-modal-actions .btn-primary,.content-calendar-block.cal-moderne .cal-modal-actions .btn-success{background:var(--cm-accent);border-color:var(--cm-accent);color:var(--cm-sur-accent)}.content-calendar-block.cal-moderne .cal-modal-actions .btn-primary:hover,.content-calendar-block.cal-moderne .cal-modal-actions .btn-success:hover{background:var(--cm-accent-survol);border-color:var(--cm-accent-survol)}.content-calendar-block.cal-moderne .cal-modal-actions .btn-secondary{border-color:var(--cm-bordure)}.content-calendar-block.cal-moderne .cal-feedback{padding:10px 12px;border-radius:12px}.content-calendar-block.cal-moderne .cal-feedback.error{background:#fef3f2;color:#b42318}.content-calendar-block.cal-moderne .cal-feedback.success{background:#ecfdf3;color:#067647}.content-calendar-block.cal-moderne .skeleton{border-color:transparent;background:var(--cm-teinte)}.content-calendar-block.cal-moderne .skeleton .day-header,.content-calendar-block.cal-moderne .skeleton-line{background:color-mix(in srgb,var(--cm-accent) 10%,var(--cm-fond));border:0}.content-calendar-block.cal-moderne .cal-error,.content-calendar-block.cal-moderne .calendar-availability-list>p:not(.cal-zone){margin:0 0 12px;padding:22px 18px;border-radius:var(--cm-rayon);background:var(--cm-teinte);color:var(--cm-attenue);font-size:.95rem;line-height:1.5;text-align:center}@media(prefers-reduced-motion:reduce){.content-calendar-block.cal-moderne .slot,.content-calendar-block.cal-moderne .btn{transition:none}.content-calendar-block.cal-moderne .slot:hover{transform:none}}