/* Styles (identiques au proto) */
*{box-sizing:border-box}
.ctp-booking, .ctp-booking *{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif}
.container{max-width:820px;margin:24px auto;padding:0 16px}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.page-head h1{font-size:22px;margin:0;color:#1a2c37}
.coupon-toggle{display:flex;align-items:center;gap:8px;background:#fdebdc;border:1px solid #f7d1b5;padding:10px 12px;border-radius:8px}
.coupon-toggle input{display:none}
.coupon-toggle span{width:18px;height:18px;border:2px solid #ec6b0f;border-radius:4px;display:inline-block;position:relative;background:#fff}
.coupon-toggle input:checked + span::after{content:'';position:absolute;left:3px;top:0;width:8px;height:14px;border:2px solid #ec6b0f;border-left:none;border-top:none;transform:rotate(45deg)}
.calendar-card{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:860px){.calendar-card{grid-template-columns: 1.1fr 0.9fr}}
.calendar{border:1px solid #e6e8ea;border-radius:12px;overflow:hidden}
.cal-month{padding:12px 16px;background:#f6f7f9;border-bottom:1px solid #edf0f2;font-weight:700}
.cal-grid{padding:12px 14px;display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.cal-day{height:74px;border:1px solid #dfe3e6;border-radius:10px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer;position:relative;transition:transform .05s}
.cal-day:hover{transform:translateY(-1px)}
.cal-day.is-x{color:#9aa0a6;background:#f4f6f8;border-style:dashed;cursor:not-allowed}
.cal-day.is-x::after{content:'X';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;color:#9aa0a6;font-size:20px}
.cal-day .dow{font-size:12px;color:#66747e;position:absolute;top:6px;left:8px}
.cal-day .date{font-weight:700;color:#1a2c37}
.cal-day .price{font-size:14px;font-weight:800;color:#1a2c37}
.cal-day .price .strike{color:#9aa0a6;text-decoration:line-through;margin-left:6px;font-weight:600}
.cal-day.is-deal{background:#e9f0ff;border-color:#c3d3ff}
.cal-day.is-selected{outline:3px solid #315efb;box-shadow:0 0 0 2px #ccd8ff inset}
.divider{height:1px;background:#edf0f2;margin:10px 0}
.slots{border:1px solid #e6e8ea;border-radius:12px;padding:16px}
.slots__title{font-size:16px;margin:0 0 10px 0}
.slots__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.slot{padding:12px 10px;border:2px solid #dfe3e6;border-radius:10px;background:#f8fbff;cursor:pointer;text-align:center}
.slot:hover{border-color:#315efb}
.slot.is-selected{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.15)}
.customer{margin-top:12px}
.customer h3{margin:0 0 8px 0;font-size:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid input{width:100%;padding:10px;border:1px solid #dfe3e6;border-radius:8px}
.footer{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;margin-top:16px;flex-wrap:wrap}
.summary{flex:1;min-width:280px;border:1px solid #e6e8ea;border-radius:12px;padding:12px}
.summary .row{display:flex;align-items:center;justify-content:space-between;margin:10px 0}
.summary .price .old{color:#9aa0a6;text-decoration:line-through;margin-right:8px}
.summary .price .final{font-weight:800}
.coupon-row{display:flex;gap:8px}
.coupon-row input{flex:1;padding:10px;border:1px solid #dfe3e6;border-radius:8px}
.coupon-row button{background:#ec6b0f;color:#fff;border:0;padding:10px 14px;border-radius:8px;font-weight:700;cursor:pointer}
.continue{background:#2ea44f;color:#fff;border:0;padding:14px 22px;border-radius:10px;font-weight:800;cursor:pointer}
.continue:disabled{opacity:.5;cursor:not-allowed}
