/* ======= Widget calendrier ======= */
.gr-widget{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif !important;width:100% !important;max-width:1400px !important;margin:0 auto !important;color:#222 !important;box-sizing:border-box !important}
.gr-widget *{box-sizing:border-box}

/* Wrapper flèche | calendrier | flèche - !important pour supplanter les display block de Divi */
.gr-widget .gr-cal-nav-wrapper{display:flex !important;align-items:stretch !important;gap:14px !important;flex-direction:row !important;width:100% !important}

/* Flèches — spécificité maximum + !important pour supplanter styles de thème */
.gr-widget .gr-cal-nav-wrapper button.gr-nav{background:#1a6b2e !important;color:#fff !important;border:none !important;width:52px !important;min-width:52px !important;max-width:52px !important;font-size:32px !important;line-height:1 !important;cursor:pointer !important;border-radius:10px !important;transition:background .15s,transform .1s !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 1px 4px rgba(0,0,0,.1) !important;flex-shrink:0 !important;padding:0 !important;margin:0 !important;text-transform:none !important;letter-spacing:normal !important;font-weight:normal !important;text-shadow:none !important;height:auto !important}
.gr-widget .gr-cal-nav-wrapper button.gr-nav:hover{background:#155623 !important;color:#fff !important}
.gr-widget .gr-cal-nav-wrapper button.gr-nav:active{transform:scale(0.95) !important}
.gr-widget .gr-cal-nav-wrapper button.gr-nav:focus{outline:2px solid #1a6b2e !important;outline-offset:2px !important}
/* Les boutons Divi ajoutent souvent un ::before/::after — les cacher */
.gr-widget .gr-cal-nav-wrapper button.gr-nav::before,
.gr-widget .gr-cal-nav-wrapper button.gr-nav::after{display:none !important;content:none !important}

/* Container calendrier (peut contenir 1 ou 2 mois) */
.gr-widget .gr-cal-container{flex:1 1 auto !important;display:grid !important;grid-template-columns:1fr;gap:20px;min-width:0;width:auto !important}
@media (min-width:720px){.gr-widget .gr-cal-container{grid-template-columns:1fr 1fr}}
.gr-widget .gr-cal-container[data-state=loading]{min-height:280px;display:flex !important;align-items:center;justify-content:center}

/* Mois */
.gr-widget .gr-month{background:#fff !important;border:1px solid #eee !important;border-radius:10px !important;padding:16px !important;box-shadow:0 1px 3px rgba(0,0,0,.04) !important;width:100% !important;box-sizing:border-box !important}
.gr-widget .gr-month h4{margin:0 0 14px !important;text-align:center !important;font-size:18px !important;text-transform:capitalize !important;color:#1a6b2e !important;font-weight:600 !important;padding:0 !important}

/* Grille des jours */
.gr-widget .gr-grid{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:4px !important}
.gr-widget .gr-dow{font-size:12px !important;text-align:center !important;color:#999 !important;padding:6px 0 !important;text-transform:uppercase !important;letter-spacing:.5px !important;font-weight:600 !important}

/* Cellules jour — plus grandes */
.gr-widget .gr-day{aspect-ratio:1 !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;font-size:14px !important;border-radius:6px !important;cursor:pointer !important;border:1px solid transparent !important;transition:transform .1s,background .15s !important;position:relative !important;padding:4px 2px !important;min-height:48px !important}
.gr-widget .gr-day .gr-day-num{font-weight:600 !important;line-height:1 !important;font-size:15px !important;color:inherit !important}
.gr-widget .gr-day .gr-day-price{font-size:10px !important;color:#666 !important;margin-top:3px !important;font-weight:500 !important}
.gr-widget .gr-day-empty{cursor:default !important}

/* États */
.gr-widget .gr-day-available{background:#f4f9f4 !important;color:#1a6b2e !important;border-color:#d9ecdd !important}
.gr-widget .gr-day-available:hover{background:#deefe2 !important;transform:scale(1.06)}
.gr-widget .gr-day-booked,.gr-widget .gr-day-blocked{background:#f5f5f5 !important;color:#bbb !important;cursor:not-allowed !important;text-decoration:line-through !important}
.gr-widget .gr-day-past,.gr-widget .gr-day-min_advance{background:#fafafa !important;color:#ccc !important;cursor:not-allowed !important}
.gr-widget .gr-day-selected{background:#1a6b2e !important;color:#fff !important;border-color:#1a6b2e !important}
.gr-widget .gr-day-selected .gr-day-price{color:#fff !important;opacity:.85}
.gr-widget .gr-day-in-range{background:#c8e6cf !important;color:#1a6b2e !important}

/* Légende */
.gr-widget .gr-legend{display:flex !important;flex-wrap:wrap !important;gap:18px !important;margin:18px 0 !important;font-size:13px !important;color:#666 !important;justify-content:center !important}
.gr-widget .gr-dot{display:inline-block !important;width:12px !important;height:12px !important;border-radius:3px !important;vertical-align:middle !important;margin-right:5px !important}
.gr-widget .gr-d-available{background:#d9ecdd !important}
.gr-widget .gr-d-booked{background:#e5e5e5 !important}
.gr-widget .gr-d-blocked{background:#f5e0e0 !important}
.gr-widget .gr-d-selected{background:#1a6b2e !important}

/* Récap tarifaire */
.gr-widget .gr-summary{margin-top:24px !important;padding:20px !important;background:#fafafa !important;border-radius:10px !important;border:1px solid #eee !important}
.gr-widget .gr-summary h3{margin:0 0 12px !important;font-size:17px !important;color:#1a6b2e !important}
.gr-widget .gr-sum-line{display:flex !important;justify-content:space-between !important;padding:5px 0 !important;font-size:14px !important}
.gr-widget .gr-sum-total{font-weight:700 !important;font-size:17px !important;border-top:1px solid #ddd !important;padding-top:10px !important;margin-top:10px !important;color:#1a6b2e !important}
.gr-widget .gr-sum-warning{color:#b54 !important;font-size:13px !important;margin-top:10px !important}

/* Formulaire */
.gr-widget .gr-form-resa{margin-top:24px !important;padding:24px !important;background:#fff !important;border:1px solid #eee !important;border-radius:10px !important}
.gr-widget .gr-form-resa h3{margin-top:0 !important;color:#1a6b2e !important}
.gr-widget .gr-form-resa label{display:block !important;margin-bottom:14px !important;font-size:13px !important;color:#555 !important}
.gr-widget .gr-form-resa input[type=text],.gr-widget .gr-form-resa input[type=email],.gr-widget .gr-form-resa input[type=tel],.gr-widget .gr-form-resa input[type=date],.gr-widget .gr-form-resa select,.gr-widget .gr-form-resa textarea{width:100% !important;padding:10px 12px !important;margin-top:4px !important;border:1px solid #ddd !important;border-radius:6px !important;font-size:14px !important;font-family:inherit !important;background:#fff !important;box-sizing:border-box !important}
.gr-widget .gr-form-resa textarea{resize:vertical !important}
.gr-widget .gr-grid-2{display:grid !important;grid-template-columns:1fr 1fr !important;gap:14px !important}
.gr-widget .gr-grid-3{display:grid !important;grid-template-columns:1fr 1fr 1fr !important;gap:14px !important}
.gr-widget .gr-check{display:flex !important;align-items:center !important;gap:8px !important}
.gr-widget .gr-check input{width:auto !important;margin:0 !important}

.gr-widget .gr-btn-submit{background:#1a6b2e !important;color:#fff !important;border:none !important;padding:13px 26px !important;border-radius:8px !important;font-size:15px !important;cursor:pointer !important;font-weight:600 !important;transition:background .15s !important}
.gr-widget .gr-btn-submit:hover{background:#155623 !important}
.gr-widget .gr-btn-submit:disabled{opacity:.5 !important;cursor:not-allowed !important}

.gr-widget .gr-form-errors{color:#b54 !important;font-size:13px !important;margin:10px 0 !important}
.gr-widget .gr-form-errors ul{margin:0 !important;padding-left:18px !important}
.gr-widget .gr-form-note{font-size:12px !important;color:#999 !important;margin-top:10px !important}

.gr-confirmation{max-width:700px;margin:40px auto;padding:30px;background:#f4f9f4;border:1px solid #d9ecdd;border-radius:10px;text-align:center}
.gr-success{padding:30px;text-align:center;background:#f4f9f4;border:1px solid #d9ecdd;border-radius:10px;margin-top:20px}

/* Responsive */
@media (max-width:600px){
    .gr-widget .gr-cal-nav-wrapper button.gr-nav{width:38px !important;min-width:38px !important;max-width:38px !important;font-size:22px !important}
    .gr-widget .gr-cal-nav-wrapper{gap:6px !important}
    .gr-widget .gr-day{min-height:38px !important}
    .gr-widget .gr-day .gr-day-num{font-size:13px !important}
    .gr-widget .gr-day .gr-day-price{font-size:9px !important}
    .gr-widget .gr-grid-2,.gr-widget .gr-grid-3{grid-template-columns:1fr !important}
}
