/* Availability Calendar */
.ac-wrap{font-family:var(--f-body,"Inter",system-ui,sans-serif);max-width:460px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.06)}
.ac-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;background:#fafbfc;border-bottom:1px solid #f0f0f0}
.ac-month{font-weight:800;font-size:16px;color:#0a2540;letter-spacing:-0.02em}
.ac-nav{background:none;border:1px solid #e2e8f0;width:32px;height:32px;border-radius:8px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .15s}
.ac-nav:hover{background:#f1f5f9;color:#0a2540;border-color:#cbd5e1}
.ac-room-tabs{display:flex;gap:6px;padding:10px 18px;border-bottom:1px solid #f0f0f0}
.ac-tab{padding:6px 14px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s}
.ac-tab:hover{background:#f8fafc;color:#0a2540}
.ac-tab.active{background:#0a2540;color:#fff;border-color:#0a2540}
.ac-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px 12px 12px}
.ac-dow{text-align:center;font-size:11px;font-weight:700;color:#94a3b8;padding:6px 0;text-transform:uppercase;letter-spacing:0.05em}
.ac-empty{padding:6px}
.ac-day{position:relative;text-align:center;padding:8px 2px 6px;border-radius:8px;cursor:pointer;transition:background .12s,opacity .12s;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ac-day:hover:not(.ac-past):not(.ac-full){background:#f0f9ff;transform:scale(1.05)}
/* Scale overlaps the next cell → second click hits check-in; disable while choosing checkout */
.ac-wrap.ac-picking-checkout .ac-day:hover{transform:none!important}
.ac-wrap.ac-picking-checkout .ac-day.ac-checkin{transform:none!important}
.ac-wrap.ac-picking-checkout .ac-day.ac-full:not(.ac-past):hover{background:#fff1eb}
.ac-num{font-size:14px;font-weight:600;color:#1e293b;line-height:1}
.ac-price{font-size:10px;font-weight:700;color:#16a34a;line-height:1}
.ac-day.ac-ok{background:#f0fdf4}
.ac-day.ac-ok .ac-price{color:#16a34a}
.ac-day.ac-low{background:#fffbeb}
.ac-day.ac-low .ac-num{color:#92400e}
.ac-day.ac-low .ac-price{color:#d97706}
.ac-day.ac-full{background:#fef2f2;cursor:default;opacity:.5}
.ac-day.ac-full .ac-num{color:#991b1b;text-decoration:line-through}
/* After check-in: departure day is often "full" (no night) but must stay clickable */
.ac-wrap.ac-picking-checkout .ac-day.ac-full:not(.ac-past){cursor:pointer;opacity:.88}
.ac-wrap.ac-picking-checkout .ac-day.ac-full:not(.ac-past) .ac-num{text-decoration:none;color:#991b1b}
.ac-wrap.ac-picking-checkout .ac-day.ac-full:not(.ac-past):hover{background:#fff1eb;transform:none;opacity:1}
.ac-day.ac-past{cursor:default;opacity:.3}
.ac-day.ac-checkin{background:#ff5a1f!important;border-radius:8px 0 0 8px}
.ac-day.ac-checkin .ac-num,.ac-day.ac-checkin .ac-price{color:#fff!important}
.ac-day.ac-checkout{background:#ff5a1f!important;border-radius:0 8px 8px 0}
.ac-day.ac-checkout .ac-num,.ac-day.ac-checkout .ac-price{color:#fff!important}
.ac-day.ac-range{background:rgba(255,90,31,0.12);border-radius:0}
.ac-summary{padding:14px 18px;background:#fafbfc;border-top:1px solid #f0f0f0}
.ac-dates{display:flex;align-items:center;gap:12px;justify-content:center}
.ac-dt{text-align:center}
.ac-dt-lbl{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:#94a3b8;letter-spacing:0.06em;margin-bottom:2px}
.ac-dt-val{font-size:14px;font-weight:700;color:#0a2540}
.ac-dt-arrow{font-size:16px;color:#94a3b8;margin:0 4px}
.ac-total{text-align:center;margin-top:8px;font-size:14px;color:#475569}
.ac-total strong{color:#0a2540;font-size:18px}
.ac-hint{text-align:center;font-size:13.5px;color:#94a3b8;padding:4px 0}
.ac-clear{display:block;margin:8px auto 0;padding:5px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-family:inherit;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.ac-clear:hover{color:#0a2540;border-color:#cbd5e1;background:#f8fafc}
.ac-clear:focus-visible{outline:2px solid #ff5a1f;outline-offset:2px}
.ac-loading{text-align:center;padding:40px;color:#94a3b8;font-size:14px}
@media(max-width:480px){
  .ac-wrap{border-radius:12px}
  .ac-day{min-height:42px;padding:6px 1px 4px}
  .ac-num{font-size:13px}
  .ac-price{font-size:9px}
}

/* Booking page — room price row (neutral; selected = brand accent, not “cheap=green / pricey=red”) */
.bp-sum-box{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin-bottom:20px}
.bp-sum-title{font-weight:800;font-size:15px;color:#0f172a;margin-bottom:12px;letter-spacing:-0.02em}
.bp-sum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:520px){.bp-sum-grid{grid-template-columns:1fr}}
.bp-sum-card{text-align:center;border-radius:12px;padding:12px 10px;border:1px solid #e2e8f0;background:#fff;transition:box-shadow .15s,border-color .15s,background .15s;min-width:0}
.bp-sum-card--ok{cursor:pointer}
.bp-sum-card--ok:hover{border-color:#cbd5e1;background:#f8fafc}
.bp-sum-card--ok:focus{outline:2px solid #ff5a1f;outline-offset:2px}
.bp-sum-card--disabled{opacity:.72;cursor:default;background:#f8fafc;border-color:#e5e7eb}
.bp-sum-card--selected.bp-sum-card--ok{border-color:#ff5a1f;background:rgba(255,90,31,0.07);box-shadow:0 0 0 1px rgba(255,90,31,0.35)}
.bp-sum-card--disabled.bp-sum-card--selected{border-style:dashed;border-color:#fdba74;background:rgba(255,90,31,0.04);opacity:1}
.bp-sum-card-head{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:6px;min-height:22px}
.bp-sum-card-label{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.bp-sum-badge{font-size:9px;font-weight:800;color:#c2410c;background:#ffedd5;border-radius:999px;padding:2px 8px;text-transform:uppercase;letter-spacing:.04em}
.bp-sum-total{font-size:22px;font-weight:900;color:#0f172a;line-height:1.1}
.bp-sum-avg{font-size:11px;color:#64748b;margin-top:2px}
.bp-sum-avail{font-size:10px;color:#475569;margin-top:6px}
.bp-sum-unavail{font-size:12px;font-weight:600;color:#64748b;line-height:1.35;padding:8px 4px}
