.avail-page{min-height:100vh;font-family:var(--font-body,"Inter",sans-serif);color:#3d3530;background:linear-gradient(165deg,#faf8f5 0%,#f5f0eb 50%,#ede7df 100%)}.avail-nav{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1.5rem 3rem;display:flex}.avail-nav-logo img{width:auto;height:5rem}.avail-nav-link{letter-spacing:.15em;text-transform:uppercase;color:#8b7d6b;font-size:.75rem;text-decoration:none;transition:color .3s}.avail-nav-link:hover{color:#5a4e40}.avail-hero{text-align:center;max-width:680px;margin:0 auto;padding:2rem 2rem 3rem}.avail-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:#a89279;margin-bottom:1rem;font-size:.65rem;display:inline-block;position:relative}.avail-eyebrow:before,.avail-eyebrow:after{content:"";background:#c4b49a;width:40px;height:1px;position:absolute;top:50%}.avail-eyebrow:before{right:calc(100% + 12px)}.avail-eyebrow:after{left:calc(100% + 12px)}.avail-title{font-family:var(--font-display,"Playfair Display",serif);color:#3d3530;margin:.75rem 0;font-size:2.8rem;font-weight:400;line-height:1.2}.avail-subtitle{color:#7a6e5f;max-width:520px;margin:0 auto;font-size:.95rem;line-height:1.7}.avail-calendar-section{max-width:800px;margin:0 auto;padding:0 2rem 4rem}.avail-calendar-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #c4b49a40;border-radius:20px;padding:2.5rem;box-shadow:0 4px 24px #0000000a,0 1px 3px #00000005,inset 0 1px #fffc}.avail-month-nav{justify-content:center;align-items:center;gap:2rem;margin-bottom:1.5rem;display:flex}.avail-month-label{font-family:var(--font-display,"Playfair Display",serif);color:#3d3530;text-align:center;min-width:240px;font-size:1.6rem;font-weight:400}.avail-month-btn{cursor:pointer;color:#8b7d6b;background:#fff9;border:1px solid #c4b49a4d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex}.avail-month-btn:hover{color:#fff;background:#3d3530;border-color:#3d3530}.avail-legend{border-bottom:1px solid #c4b49a26;justify-content:center;gap:2rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.avail-legend-item{letter-spacing:.05em;color:#7a6e5f;align-items:center;gap:.4rem;font-size:.7rem;display:flex}.avail-legend-dot{border-radius:50%;width:10px;height:10px}.avail-legend-available{background:#b8c9a3;box-shadow:0 0 0 2px #b8c9a34d}.avail-legend-busy{background:#d4876c;box-shadow:0 0 0 2px #d4876c4d}.avail-legend-past{background:#d0cbc4}.avail-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.avail-grid-header{margin-bottom:4px}.avail-day-header{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:#a89279;padding:.5rem 0;font-size:.65rem;font-weight:600}.avail-cell{aspect-ratio:1;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:all .25s;display:flex;position:relative}.avail-cell-empty{cursor:default}.avail-cell-num{font-size:.85rem;font-weight:500;line-height:1}.avail-cell-badge{letter-spacing:.08em;text-transform:uppercase;color:#c0553e;font-size:.5rem;font-weight:600;line-height:1}.avail-cell-available{color:#5a6e48;background:#b8c9a31a}.avail-cell-available:hover{background:#b8c9a34d;transform:scale(1.08);box-shadow:0 2px 12px #b8c9a340}.avail-cell-busy{color:#9e5a42;background:#d4876c1f}.avail-cell-busy:hover{background:#d4876c38;transform:scale(1.08)}.avail-cell-past{color:#c5bfb8;cursor:default}.avail-cell-past .avail-cell-num{opacity:.5}.avail-cell-today{border:2px solid #a89279}.avail-cell-today .avail-cell-num{font-weight:700}.avail-cell-selected{transform:scale(1.1)!important;box-shadow:0 4px 20px #3d353026!important}.avail-cell-selected.avail-cell-available{color:#fff!important;background:#5a6e48!important}.avail-cell-selected.avail-cell-busy{color:#fff!important;background:#c0553e!important}.avail-cell-selected .avail-cell-badge{color:#ffffffd9}.avail-detail{background:#fff9;border:1px solid #c4b49a33;border-radius:14px;margin-top:1.5rem;padding:1.25rem;animation:.3s availSlideUp}@keyframes availSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.avail-detail-date{font-family:var(--font-display,"Playfair Display",serif);color:#3d3530;margin-bottom:.75rem;font-size:1.15rem;font-weight:400}.avail-detail-busy,.avail-detail-free{border-radius:10px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5;display:flex}.avail-detail-busy{color:#9e5a42;background:#d4876c14;border:1px solid #d4876c26}.avail-detail-free{color:#4a5e38;background:#b8c9a31a;border:1px solid #b8c9a333}.avail-loading{color:#a89279;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 0;font-size:.85rem;display:flex}.avail-spinner{border:2px solid #a8927926;border-top-color:#a89279;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avail-cta{text-align:center;background:#fff6;border:1px solid #c4b49a26;border-radius:16px;margin-top:2.5rem;padding:2rem}.avail-cta p{color:#7a6e5f;margin-bottom:1.25rem;font-size:.9rem;font-style:italic}.avail-cta-btn{letter-spacing:.25em;text-transform:uppercase;color:#f6f2ed;cursor:pointer;background:#3d3530;border:none;border-radius:4px;padding:.85rem 2.5rem;font-size:.7rem;text-decoration:none;transition:all .3s;display:inline-block}.avail-cta-btn:hover{background:#5a4e40;transform:translateY(-1px);box-shadow:0 4px 16px #3d353033}.avail-footer{text-align:center;color:#b0a798;letter-spacing:.05em;padding:2rem;font-size:.7rem}@media (max-width:640px){.avail-nav{padding:1rem 1.25rem}.avail-nav-logo img{height:3.5rem}.avail-hero{padding:1.5rem 1.25rem 2rem}.avail-title{font-size:1.8rem}.avail-subtitle{font-size:.85rem}.avail-eyebrow:before,.avail-eyebrow:after{display:none}.avail-calendar-section{padding:0 1rem 3rem}.avail-calendar-card{border-radius:14px;padding:1.25rem}.avail-month-label{min-width:180px;font-size:1.2rem}.avail-month-nav{gap:1rem}.avail-legend{flex-wrap:wrap;gap:1rem}.avail-cell-num{font-size:.75rem}.avail-cell-badge{font-size:.4rem}.avail-cell{border-radius:8px}.avail-month-btn{width:34px;height:34px}}
