/* Alberton Guesthouse live availability calendar */
.agh-date-trigger{width:100%;text-align:left;cursor:pointer}
.agh-date-trigger[aria-expanded="true"]{outline:2px solid rgba(102,109,85,.22);outline-offset:2px}
.agh-calendar-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,22,18,.48)}
.agh-calendar-overlay[hidden]{display:none!important}
.agh-calendar-dialog{width:min(100%,430px);max-height:min(90vh,720px);overflow:auto;border:1px solid #dedfd5;border-radius:20px;background:#fffefa;box-shadow:0 24px 80px rgba(28,31,25,.24)}
.agh-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid #ecece5}
.agh-calendar-title{font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:600;color:#24271f}
.agh-calendar-nav{display:flex;align-items:center;gap:7px}
.agh-calendar-icon-btn{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid #dedfd5;border-radius:10px;background:#fff;color:#24271f;cursor:pointer}
.agh-calendar-icon-btn:disabled{opacity:.35;cursor:not-allowed}
.agh-calendar-body{padding:16px 18px 18px}
.agh-calendar-weekdays,.agh-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.agh-calendar-weekdays{margin-bottom:6px}
.agh-calendar-weekdays span{text-align:center;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#81886c}
.agh-calendar-day{position:relative;min-height:48px;border:1px solid transparent;border-radius:11px;background:#fff;color:#24271f;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.agh-calendar-day:hover:not(:disabled){border-color:#666d55}
.agh-calendar-day[data-status="available"]{background:#f7f7f3}
.agh-calendar-day[data-status="available"]::after{content:"";position:absolute;left:50%;bottom:6px;width:5px;height:5px;border-radius:50%;background:#45634c;transform:translateX(-50%)}
.agh-calendar-day[data-status="limited"]{background:#f7f1e4;color:#765925}
.agh-calendar-day[data-status="limited"]::after{content:"";position:absolute;left:50%;bottom:6px;width:5px;height:5px;border-radius:50%;background:#88652e;transform:translateX(-50%)}
.agh-calendar-day[data-status="unavailable"],.agh-calendar-day:disabled{background:#f5f4ef;color:#b6b8b0;text-decoration:line-through;cursor:not-allowed}
.agh-calendar-day[aria-pressed="true"]{border-color:#24281f;background:#24281f;color:#fff;text-decoration:none}
.agh-calendar-day[aria-pressed="true"]::after{background:#fff}
.agh-calendar-empty{min-height:48px}
.agh-calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #ecece5;font-size:11px;color:#5f6456}
.agh-calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.agh-calendar-dot{width:7px;height:7px;border-radius:50%}.agh-calendar-dot.available{background:#45634c}.agh-calendar-dot.limited{background:#88652e}.agh-calendar-dot.unavailable{background:#b6b8b0}
.agh-calendar-status{margin-top:12px;border-radius:10px;background:#f8f5ee;padding:10px 12px;font-size:12px;line-height:1.45;color:#5f6456}
.agh-availability-message{margin-top:10px;font-size:12px;line-height:1.45;color:#5f6456}
.agh-availability-message[data-state="error"]{color:#8a4740}.agh-availability-message[data-state="limited"]{color:#765925}.agh-availability-message[data-state="success"]{color:#31543c}
body.agh-calendar-open{overflow:hidden}
@media(max-width:640px){.agh-calendar-overlay{align-items:flex-end;padding:0}.agh-calendar-dialog{width:100%;max-height:88vh;border-radius:20px 20px 0 0;border-bottom:0}.agh-calendar-day{min-height:46px}.agh-calendar-body{padding:14px 14px 20px}}
@media(prefers-reduced-motion:reduce){.agh-calendar-day{transition:none}}
