.avail-page{min-height:100vh;background:linear-gradient(165deg,#faf8f5,#f5f0eb 50%,#ede7df);font-family:var(--font-body,"Inter",sans-serif);color:#3d3530}.avail-nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;max-width:1200px;margin:0 auto}.avail-nav-logo img{height:5rem;width:auto}.avail-nav-link{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#8b7d6b;text-decoration:none;transition:color .3s}.avail-nav-link:hover{color:#5a4e40}.avail-hero{text-align:center;padding:2rem 2rem 3rem;max-width:680px;margin:0 auto}.avail-eyebrow{display:inline-block;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:#a89279;margin-bottom:1rem;position:relative}.avail-eyebrow:after,.avail-eyebrow:before{content:"";position:absolute;top:50%;width:40px;height:1px;background:#c4b49a}.avail-eyebrow:before{right:calc(100% + 12px)}.avail-eyebrow:after{left:calc(100% + 12px)}.avail-title{font-family:var(--font-display,"Playfair Display",serif);font-size:2.8rem;font-weight:400;color:#3d3530;margin:.75rem 0;line-height:1.2}.avail-subtitle{font-size:.95rem;color:#7a6e5f;line-height:1.7;max-width:520px;margin:0 auto}.avail-calendar-section{max-width:800px;margin:0 auto;padding:0 2rem 4rem}.avail-calendar-card{background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(196,180,154,.25);border-radius:20px;padding:2.5rem;box-shadow:0 4px 24px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.02),inset 0 1px 0 rgba(255,255,255,.8)}.avail-month-nav{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:1.5rem}.avail-month-label{font-family:var(--font-display,"Playfair Display",serif);font-size:1.6rem;font-weight:400;color:#3d3530;min-width:240px;text-align:center}.avail-month-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(196,180,154,.3);background:rgba(255,255,255,.6);cursor:pointer;transition:all .3s;color:#8b7d6b}.avail-month-btn:hover{background:#3d3530;color:#fff;border-color:#3d3530}.avail-legend{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(196,180,154,.15)}.avail-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.7rem;letter-spacing:.05em;color:#7a6e5f}.avail-legend-dot{width:10px;height:10px;border-radius:50%}.avail-legend-available{background:#b8c9a3;box-shadow:0 0 0 2px rgba(184,201,163,.3)}.avail-legend-busy{background:#d4876c;box-shadow:0 0 0 2px rgba(212,135,108,.3)}.avail-legend-past{background:#d0cbc4}.avail-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.avail-grid-header{margin-bottom:4px}.avail-day-header{text-align:center;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#a89279;font-weight:600;padding:.5rem 0}.avail-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;transition:all .25s ease;position:relative;gap:2px}.avail-cell-empty{cursor:default}.avail-cell-num{font-size:.85rem;font-weight:500;line-height:1}.avail-cell-badge{font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#c0553e;line-height:1}.avail-cell-available{background:rgba(184,201,163,.1);color:#5a6e48}.avail-cell-available:hover{background:rgba(184,201,163,.3);transform:scale(1.08);box-shadow:0 2px 12px rgba(184,201,163,.25)}.avail-cell-busy{background:rgba(212,135,108,.12);color:#9e5a42}.avail-cell-busy:hover{background:rgba(212,135,108,.22);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 rgba(61,53,48,.15)!important}.avail-cell-selected.avail-cell-available{background:#5a6e48!important;color:#fff!important}.avail-cell-selected.avail-cell-busy{background:#c0553e!important;color:#fff!important}.avail-cell-selected .avail-cell-badge{color:rgba(255,255,255,.85)}.avail-detail{margin-top:1.5rem;padding:1.25rem;border-radius:14px;background:rgba(255,255,255,.6);border:1px solid rgba(196,180,154,.2);animation:availSlideUp .3s ease}@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);font-size:1.15rem;font-weight:400;color:#3d3530;margin-bottom:.75rem}.avail-detail-busy,.avail-detail-free{display:flex;align-items:center;gap:.6rem;font-size:.85rem;padding:.75rem 1rem;border-radius:10px;line-height:1.5}.avail-detail-busy{background:rgba(212,135,108,.08);color:#9e5a42;border:1px solid rgba(212,135,108,.15)}.avail-detail-free{background:rgba(184,201,163,.1);color:#4a5e38;border:1px solid rgba(184,201,163,.2)}.avail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 0;gap:1rem;color:#a89279;font-size:.85rem}.avail-spinner{width:28px;height:28px;border:2px solid rgba(168,146,121,.15);border-top-color:#a89279;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.avail-cta{text-align:center;margin-top:2.5rem;padding:2rem;background:rgba(255,255,255,.4);border-radius:16px;border:1px solid rgba(196,180,154,.15)}.avail-cta p{font-size:.9rem;color:#7a6e5f;margin-bottom:1.25rem;font-style:italic}.avail-cta-btn{display:inline-block;padding:.85rem 2.5rem;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;background:#3d3530;color:#f6f2ed;border:none;border-radius:4px;cursor:pointer;text-decoration:none;transition:all .3s}.avail-cta-btn:hover{background:#5a4e40;transform:translateY(-1px);box-shadow:0 4px 16px rgba(61,53,48,.2)}.avail-footer{text-align:center;padding:2rem;font-size:.7rem;color:#b0a798;letter-spacing:.05em}@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:after,.avail-eyebrow:before{display:none}.avail-calendar-section{padding:0 1rem 3rem}.avail-calendar-card{padding:1.25rem;border-radius:14px}.avail-month-label{font-size:1.2rem;min-width:180px}.avail-month-nav{gap:1rem}.avail-legend{gap:1rem;flex-wrap:wrap}.avail-cell-num{font-size:.75rem}.avail-cell-badge{font-size:.4rem}.avail-cell{border-radius:8px}.avail-month-btn{width:34px;height:34px}}