.avail-cal .cal-wrap{display:grid;grid-template-columns:1.7fr 1fr;gap:30px;max-width:1100px;margin:0 auto;align-items:start}@media (max-width: 860px){.avail-cal .cal-wrap{grid-template-columns:1fr}}@media (max-width: 560px){.avail-cal .dow-row,.avail-cal .grid{gap:3px}.avail-cal .dow-row span{font-size:9px;letter-spacing:.1em}.avail-cal .cell{font-size:12px;min-height:38px}.avail-cal .cal-title{font-size:22px}.avail-cal .cal-pick{font-size:18px;padding:8px 10px}.avail-cal .cal-pick-month{min-width:8.5em}.avail-cal .navbtn{width:44px;height:44px}.avail-cal .detail{position:static;top:auto}.avail-cal .detail .dt-date{font-size:26px}.avail-cal .detail .pkg .amt{font-size:20px}.avail-cal .legend{gap:12px 16px}}.avail-cal .cal{background:#fff;border:1px solid var(--hair);border-radius:4px;padding:clamp(20px,3vw,34px)}.avail-cal .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:12px}.avail-cal .cal-title{font-family:var(--serif);font-size:26px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;flex:1;text-align:center}.avail-cal .season-badge{font-family:var(--sans);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:5px 10px;border-radius:30px;border:1px solid var(--hair);color:#6a665d;white-space:nowrap}.avail-cal .season-badge.peak{background:#b49a6a29;color:#9c7f4e;border-color:transparent}.avail-cal .season-badge.mid{background:#97a4882e;color:#5d6a4f;border-color:transparent}.avail-cal .season-badge.value{background:#3f4a3c14;color:var(--pine);border-color:transparent}.avail-cal .cal-jump{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.avail-cal .cal-pick{font-family:var(--serif);font-size:22px;line-height:1.2;color:var(--ink);background:var(--bone);border:1px solid var(--hair);border-radius:3px;padding:6px 10px;cursor:pointer;transition:border-color .2s,background .2s}.avail-cal .cal-pick:hover{border-color:var(--sage)}.avail-cal .cal-pick:focus{outline:none;border-color:var(--pine);box-shadow:0 0 0 2px #3f4a3c1f}.avail-cal .cal-pick-month{min-width:9.5em}.avail-cal .cal-pick-year{min-width:5em}.avail-cal .navbtn{width:38px;height:38px;border:1px solid var(--hair);background:var(--bone);border-radius:50%;font-size:18px;color:var(--ink);cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;font-family:var(--serif);flex-shrink:0}.avail-cal .navbtn:hover:not(:disabled){background:var(--pine);color:var(--bone);border-color:var(--pine)}.avail-cal .navbtn:disabled{opacity:.28;cursor:not-allowed}.avail-cal .dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:18px 0 8px}.avail-cal .dow-row span{text-align:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a8a299}.avail-cal .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.avail-cal .cell{aspect-ratio:1/1;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;position:relative;border:1px solid transparent}.avail-cal .cell.empty{visibility:hidden;pointer-events:none}.avail-cal .cell.available{background:var(--sage);color:var(--bone);border-color:transparent;cursor:pointer;transition:.16s}.avail-cal .cell.available:hover{background:var(--pine);border-color:var(--pine);transform:translateY(-2px);box-shadow:0 8px 18px -12px #2a292480}.avail-cal .cell.hold{background:var(--gold);color:var(--ink);border-color:transparent}.avail-cal .cell.booked{background:#cfc6b6;color:#8a857a;border-color:transparent}.avail-cal .cell.booked .num{text-decoration:line-through}.avail-cal .cell.blocked{background:#d8d4cc;color:#8a857a;border-color:transparent}.avail-cal .cell.past{background:#ddd6c8;color:#b3aca1;border-color:transparent;opacity:.55}.avail-cal .cell.sel{background:var(--pine);color:var(--bone);border-color:var(--pine);box-shadow:0 0 0 2px var(--bone),0 0 0 4px var(--pine)}.avail-cal .cell.sig{box-shadow:inset 0 0 0 2px var(--gold)}.avail-cal .cell.hold.sig{box-shadow:inset 0 0 0 2px var(--pine)}.avail-cal .cell.sel.sig{box-shadow:0 0 0 2px var(--bone),0 0 0 4px var(--pine),inset 0 0 0 2px var(--gold)}.avail-cal .cell .sig{font-size:8px;line-height:1;color:var(--gold);margin-top:2px;pointer-events:none}.avail-cal .cell.available .sig,.avail-cal .cell.sel .sig{color:#f6f2ebf2}.avail-cal .cell.hold.sig .sig{color:var(--pine)}.avail-cal .cell.booked .sig,.avail-cal .cell.blocked .sig,.avail-cal .cell.past .sig{color:#9c7f4e}.avail-cal .legend{display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:24px;padding-top:20px;border-top:1px solid var(--hair)}.avail-cal .legend span{display:flex;align-items:center;gap:8px;font-size:12px;color:#6a665d}.avail-cal .legend i{width:14px;height:14px;border-radius:3px;display:inline-block;flex-shrink:0}.avail-cal .lg-av{background:var(--sage)}.avail-cal .lg-hold{background:var(--gold)}.avail-cal .lg-bk{background:#cfc6b6}.avail-cal .lg-blocked{background:#d8d4cc;border:1px solid rgba(42,41,36,.12)}.avail-cal .lg-sig{background:var(--sage);box-shadow:inset 0 0 0 2px var(--gold)}.avail-cal .detail{background:var(--cream);border:1px solid var(--hair);border-radius:4px;padding:clamp(24px,3vw,34px);position:sticky;top:calc(var(--nav-h) + 16px)}.avail-cal .detail .k{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--sage)}.avail-cal .detail .empty-state{font-size:14.5px;line-height:1.7;color:#6a665d;margin-top:14px}.avail-cal .detail .dt-date{font-family:var(--serif);font-size:30px;line-height:1.1;margin:10px 0}.avail-cal .detail .beta-note{font-size:12px;line-height:1.55;color:#7a766c;margin:0 0 22px;padding:10px 12px;background:#b49a6a1f;border-radius:3px}.avail-cal .detail .rate-row{border-top:1px solid var(--hair);padding-top:18px;margin-top:4px}.avail-cal .detail .rate-row.packages{padding-top:16px}.avail-cal .detail .pkg-grid{display:flex;flex-direction:column;gap:12px;margin-top:4px}.avail-cal .detail .pkg{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.avail-cal .detail .pkg .rl{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#8a857a;line-height:1.35}.avail-cal .detail .pkg .amt{font-family:var(--serif);font-size:22px;color:var(--ink);line-height:1.1;text-align:right;flex-shrink:0}.avail-cal .detail .rate-row .rl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8a857a}.avail-cal .detail .rate-row .amt{font-family:var(--serif);font-size:34px;color:var(--ink);margin-top:4px}.avail-cal .detail .rate-row .amt small{font-size:14px;color:#8a857a;font-family:var(--sans)}.avail-cal .detail .note{font-size:12px;line-height:1.6;color:#7a766c;margin-top:14px}.avail-cal .detail .note a{color:var(--pine)}.avail-cal .detail .occ{display:inline-block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#9c7f4e;background:#b49a6a29;padding:6px 12px;border-radius:30px;margin-bottom:14px}.avail-cal .detail .rate-more{font-size:12.5px;color:#7a766c;margin-top:10px;line-height:1.5}.avail-cal .detail .rate-row.rehearsal{margin-top:18px}.avail-cal .detail .rate-row.rehearsal .amt{font-size:26px}.avail-cal .detail .rate-row.rehearsal .amt.comp{color:var(--pine);font-size:28px}.avail-cal .detail .rate-row.rehearsal .amt.comp .was{text-decoration:line-through;color:#8a857a;font-size:22px;margin-right:10px}.avail-cal .detail .reh-date{font-family:var(--serif);font-size:18px;line-height:1.2;margin:6px 0 2px;color:var(--ink)}.avail-cal .detail .reh-note{font-size:12px;line-height:1.5;margin-top:10px}.avail-cal .detail .reh-note.reh-warn{color:#8a5a3c;background:#b49a6a24;padding:10px 12px;border-radius:3px}.avail-cal .detail .req{display:block;width:100%;text-align:center;margin-top:24px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone);background:var(--pine);padding:16px;border-radius:2px;text-decoration:none;border:none;cursor:pointer;font-family:var(--sans);transition:.25s}.avail-cal .detail .req:hover{background:var(--ink)}.avail-cal .detail .confirm{margin-top:20px;background:#97a4882e;border-radius:3px;padding:18px;font-size:13.5px;line-height:1.6;color:#4a553f}.avail-cal .detail .tour-link{display:block;text-align:center;margin-top:12px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);text-decoration:none}.avail-cal .detail .tour-link:hover{text-decoration:underline}.intimate-cal .cell.available.both,.intimate-cal .cell.available.mini-only,.intimate-cal .cell.available.micro-only{background:var(--sage);color:var(--bone);cursor:pointer;transition:.16s}.intimate-cal .cell.available.both:hover,.intimate-cal .cell.available.mini-only:hover,.intimate-cal .cell.available.micro-only:hover{background:var(--pine);transform:translateY(-2px);box-shadow:0 8px 18px -12px #2a292480}.intimate-cal .cell.available.mini-only{background:#8a9a7a}.intimate-cal .cell.available.micro-only{background:#7a8f6e}.intimate-cal .cell.hold{cursor:pointer}.intimate-cal .cell.hold:hover{filter:brightness(.96)}.intimate-cal .cell.blocked,.intimate-cal .cell.booked{background:#d8d4cc;color:#8a857a;border-color:transparent;cursor:default}.intimate-cal .cell.booked{background:#cfc6b6}.intimate-cal .cell.booked .num{text-decoration:line-through}.intimate-cal .cell.unavail{background:#e8e2d6;color:#b3aca1;border-color:transparent;cursor:pointer}.intimate-cal .cell.unavail:hover{filter:brightness(.98)}.intimate-cal .cell .im-mark{font-size:7px;line-height:1;letter-spacing:.04em;margin-top:2px;opacity:.92;pointer-events:none}.intimate-cal .cell .im-mark+.im-mark{margin-top:0}.intimate-cal .lg-mini{background:#8a9a7a}.intimate-cal .lg-micro{background:#7a8f6e}.intimate-cal .detail .pkg.off .amt.na{font-family:var(--sans);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#a8a299}.intimate-cal .detail .intimate-pkg .pkg{flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--hair)}.intimate-cal .detail .intimate-pkg .pkg:last-child{border-bottom:none;padding-bottom:0}.intimate-cal .detail .intimate-pkg .pkg .amt{text-align:left}
