@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;700&display=swap');

.acdf-rcts-open-btn{background:#c94f34;color:#fff;border:0;padding:15px 28px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;cursor:pointer;border-radius:3px;font-family:'DM Sans',system-ui,sans-serif}
.acdf-rcts-open-btn:hover{background:#f07830}
.acdf-rcts{--orange:#f07830;--brique:#c94f34;--charbon:#1c1a17;font-family:'DM Sans',system-ui,sans-serif;color:#1c1a17;box-sizing:border-box}
.acdf-rcts *{box-sizing:border-box}
.acdf-rcts-modal-wrap{position:fixed;inset:0;z-index:99999}
.acdf-rcts-overlay{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.acdf-rcts-modal{position:relative;width:min(1180px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto;margin:15px auto;background:#fff;border-radius:8px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.acdf-rcts-close{position:sticky;top:12px;float:right;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#1c1a17;color:#fff;font-size:24px;cursor:pointer}
.acdf-rcts-content{padding:clamp(24px,4vw,42px)}
.acdf-rcts-inline-wrap{background:#fff;padding:24px 0}
.acdf-rcts-header{margin-bottom:26px}
.acdf-rcts-label{color:var(--orange);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;margin:0 0 10px}
.acdf-rcts-header h2{margin:0 0 12px;font-size:clamp(30px,4vw,46px);line-height:1.1}
.acdf-rcts-header p{color:#5d554d;max-width:780px;line-height:1.7}
.acdf-rcts-booking{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(340px,.8fr);gap:24px;align-items:start}
.acdf-rcts-calendar-box,.acdf-rcts-form-box{background:#fff;border:1px solid #ded7ce;border-radius:4px;padding:22px;min-width:0;overflow:hidden}
.acdf-rcts-calendar-box h3,.acdf-rcts-form-box h3{margin:0 0 16px;font-size:26px}
.acdf-rcts-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px;font-size:14px}
.acdf-rcts-legend span{display:inline-flex;align-items:center;gap:7px}
.acdf-rcts-legend i{width:14px;height:14px;border-radius:3px;display:inline-block}
.acdf-rcts-legend .pending{background:#d98c00}.acdf-rcts-legend .confirmed{background:#1f7a35}
.acdf-rcts-help{color:#6a625a;font-size:13px;margin-top:14px}
.acdf-rcts-form-box label{display:block;margin-top:13px;font-weight:700}
.acdf-rcts-form-box input,.acdf-rcts-form-box select,.acdf-rcts-form-box textarea{width:100%;padding:11px 12px;border:1px solid #d1cbc3;border-radius:4px;margin-top:6px;font:inherit}
.acdf-rcts-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acdf-rcts-form-box small{display:block;margin-top:7px}
.acdf-rcts-form-title{font-size:20px;font-weight:700;margin:20px 0 8px}
.acdf-rcts-form-box hr{border:0;border-top:1px solid #ede8de;margin:20px 0}
#acdf-rcts-availability-message.checking{color:#555}
#acdf-rcts-availability-message.available{color:#1f7a35;font-weight:700}
#acdf-rcts-availability-message.unavailable{color:#b00020;font-weight:700}
.acdf-rcts-checkbox{display:flex!important;gap:9px;align-items:flex-start;margin-top:18px!important;font-weight:400!important}
.acdf-rcts-checkbox input{width:auto!important;margin-top:4px!important}
#acdf-rcts-submit{width:100%;margin-top:20px;background:var(--brique);color:#fff;padding:15px;border:0;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-radius:3px}
#acdf-rcts-submit:disabled{background:#999;cursor:not-allowed}
.acdf-rcts-notice{padding:14px 18px;margin-bottom:18px;font-weight:700;border-radius:4px}
.acdf-rcts-notice.success{background:#e6f6e9;color:#1f7a35}.acdf-rcts-notice.error{background:#fdeaea;color:#b00020}
#acdf-rcts-calendar .fc-daygrid-day{cursor:pointer}
#acdf-rcts-calendar .fc-day-today{background:#fff7e6}
#acdf-rcts-calendar .acdf-rcts-status-pending,.fc-event.acdf-rcts-status-pending{background:#d98c00!important;border-color:#d98c00!important;color:#fff!important}
#acdf-rcts-calendar .acdf-rcts-status-confirmed,.fc-event.acdf-rcts-status-confirmed{background:#1f7a35!important;border-color:#1f7a35!important;color:#fff!important}
body.acdf-rcts-modal-open{overflow:hidden}
@media(max-width:1050px){.acdf-rcts-booking{grid-template-columns:1fr}}
@media(max-width:620px){.acdf-rcts-modal{width:100vw;max-height:100vh;margin:0;border-radius:0}.acdf-rcts-content{padding:22px 16px}.acdf-rcts-calendar-box,.acdf-rcts-form-box{padding:16px}.acdf-rcts-form-row{grid-template-columns:1fr}#acdf-rcts-calendar .fc-toolbar{flex-direction:column;gap:10px}.acdf-rcts-open-btn{width:100%}}
