/* Calendrier de réservation directe (chaletquietude.fr/reserver/) */
.cqcal{color:var(--ink,#1A1A1A);font-size:14px}
.cqcal-head{position:absolute;top:0;left:0;right:0;height:38px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}
.cqcal-title{display:none}
.cqcal-nav{pointer-events:auto;border:1px solid var(--border,rgba(29,58,48,.25));background:#fff;color:var(--ink,#1A1A1A);border-radius:10px;width:38px;height:38px;font-size:20px;line-height:1;cursor:pointer}
.cqcal-nav:disabled{opacity:.35;cursor:default}
.cqcal-months{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cqcal.one .cqcal-months{grid-template-columns:1fr}
.cqcal.one .cqcal-months .m2{display:none}
.cqcal-mt{font-weight:600;text-transform:capitalize;text-align:center;height:38px;line-height:38px;margin:0 0 4px;font-size:15px}
.cqcal{position:relative}
.cqcal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cqcal-dow{font-size:11px;text-align:center;color:var(--ink-soft,#5B5B54);padding:2px 0 4px;text-transform:uppercase}
.cqcal-d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:50px;padding:3px 1px;border:1px solid var(--border,rgba(29,58,48,.2));border-radius:8px;background:#fff;color:var(--ink,#1A1A1A);font:inherit;line-height:1.1;cursor:pointer}
.cqcal-d .n{font-size:13px;font-weight:600}
.cqcal-d .p{font-size:11px;color:var(--ink-soft,#5B5B54)}
.cqcal-d .mn{font-size:9px;color:#8a6d1f;white-space:nowrap}
.cqcal-d:hover:not(:disabled){border-color:var(--gold,#C9A55C);box-shadow:inset 0 0 0 1px var(--gold,#C9A55C)}
.cqcal-d:focus-visible{outline:2px solid var(--gold,#C9A55C);outline-offset:1px}
.cqcal-d:disabled{cursor:default}
.cqcal-d.past{background:transparent;border-color:transparent;color:#b5b0a6}
.cqcal-d.booked{background:#efece6;border-color:transparent;color:#aaa49a}
.cqcal-d.booked .n{text-decoration:line-through;font-weight:400}
.cqcal-d.dim{opacity:.5}
.cqcal-d.dep-ok{box-shadow:inset 0 0 0 2px var(--gold,#C9A55C);background:#fbf5e4}
.cqcal-d.in-range{background:#f3e7c7;border-color:#e6d193}
.cqcal-d.sel-a,.cqcal-d.sel-b{background:var(--gold,#C9A55C);border-color:var(--gold,#C9A55C);color:#1c1a14}
.cqcal-d.sel-a .p,.cqcal-d.sel-b .p,.cqcal-d.sel-a .mn,.cqcal-d.sel-b .mn{color:#2c2410}
.cqcal-empty{min-height:50px}
.cqcal-msg{min-height:20px;margin:10px 0 0;color:#8a5a00;font-size:13px}
.cqcal-legend{margin:2px 0 0;color:var(--ink-soft,#5B5B54);font-size:12px}
.cqcal-hint{margin:10px 0 0;color:var(--ink-soft,#5B5B54);font-size:14px}
.cqcal-sumbox{margin-top:12px;border:1px solid var(--gold,#C9A55C);background:#fffaf0;border-radius:12px;padding:14px}
.cqcal-sumttl{font-weight:700;font-size:16px;text-transform:capitalize}
.cqcal-sumsub{color:var(--ink-soft,#5B5B54);font-size:13px;margin-top:2px}
.cqcal-guests{display:flex;gap:12px;margin:12px 0}
.cqcal-guests label{flex:1;font-size:12px;font-weight:600;color:var(--ink,#1A1A1A)}
.cqcal-guests select{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid var(--border,rgba(29,58,48,.25));border-radius:10px;background:#fff;color:var(--ink,#1A1A1A);font:inherit;font-size:15px}
.cqcal-l{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed rgba(0,0,0,.12);font-size:14px}
.cqcal-l b{font-weight:600;white-space:nowrap}
.cqcal-l.tot{border-bottom:0;font-size:17px;padding-top:9px}
.cqcal-go{display:block;width:100%;margin-top:12px;text-align:center}
.cqcal-go:disabled{opacity:.5}
.cqcal-note{font-size:12px;color:var(--ink-soft,#5B5B54);margin:10px 0 0}
@media (max-width:480px){.cqcal-d{min-height:46px}.cqcal-d .mn{font-size:8px}}
#cq-book{margin-top:18px}
#cq-book h3{margin:0 0 8px;font-size:17px}
.cqcal-d .mn{font-size:11px;color:#8a6d1f}
.cqcal-d.sel-a .mn,.cqcal-d.sel-b .mn{color:#2c2410}
.cqcal-d{min-height:46px}
.cqcal-quote{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.18)}
.cqcal-quote-t{margin:0 0 10px;font-weight:600;font-size:15px}
.cqcal-quote-b{display:flex;gap:10px;flex-wrap:wrap}
.cqcal-qb{flex:1 1 120px;text-align:center;margin:0;text-decoration:none}
.cqcal-qb.alt{background:transparent;border:1px solid var(--border,rgba(60,40,25,.3));color:var(--ink,#1A1A1A);box-shadow:none}
