.gite-calendar{background:var(--color-offwhite);border:1px solid rgba(139,130,118,.2);border-radius:.75rem;padding:1.5rem;box-shadow:0 2px 12px #0000000f}.cal-legend{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.25rem;font-size:.85rem;color:var(--color-brown-light)}.legend-item{display:inline-flex;align-items:center;gap:.4rem}.swatch{width:.9rem;height:.9rem;border-radius:.2rem;display:inline-block}.swatch-free{background:var(--color-offwhite);border:1px solid var(--color-moss)}.swatch-busy{background:var(--color-stone)}.cal-status{text-align:center;color:var(--color-brown-light);padding:1rem 0}.cal-prompt{text-align:center;font-weight:600;color:var(--color-moss-dark);background:#6b7f3b14;border-radius:.5rem;padding:.6rem 1rem;margin-bottom:1rem;font-size:.9rem;transition:opacity .2s ease}.cal-prompt.is-empty{opacity:0}.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cal-nav button{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--color-moss);color:var(--color-moss-dark);border-radius:.5rem;padding:.4rem .9rem;font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.cal-nav button:hover:not(:disabled){background:var(--color-moss);color:var(--color-offwhite)}.cal-nav button:disabled{opacity:.35;cursor:not-allowed;border-color:var(--color-stone);color:var(--color-stone-dark)}.cal-nav .cal-today{border-color:var(--color-gold);color:var(--color-gold)}.cal-nav .cal-today:hover:not(:disabled){background:var(--color-gold);color:var(--color-offwhite)}.cal-nav .cal-today[hidden]{display:none}.cal-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.cal-month-title{text-align:center;font-weight:600;color:var(--color-brown);margin-bottom:.6rem;text-transform:capitalize}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-weekday{text-align:center;font-size:.7rem;color:var(--color-stone-dark);padding-bottom:.3rem}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;border-radius:.35rem;border:1px solid transparent;color:var(--color-brown);cursor:pointer;user-select:none}.cal-day.empty{cursor:default}.cal-day.busy{background:var(--color-stone);color:var(--color-stone-dark);cursor:not-allowed;text-decoration:line-through}.cal-day.past{color:var(--color-stone);cursor:not-allowed}.cal-day.free:hover{border-color:var(--color-moss);background:#6b7f3b14}.cal-day.selected,.cal-day.in-range{background:var(--color-moss);color:var(--color-offwhite)}.cal-day.range-end{background:var(--color-moss-dark);color:var(--color-offwhite)}.cal-cta{margin-top:1.5rem;text-align:center}.cal-selection{color:var(--color-brown);font-weight:600;margin-bottom:.75rem}.cal-note{margin-top:.75rem;font-size:.8rem;color:var(--color-brown-light);max-width:32rem;margin-left:auto;margin-right:auto}.cal-error{text-align:center;color:var(--color-brown-light)}.cal-direct{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(139,130,118,.2);text-align:center}.cal-direct-title{font-weight:600;color:var(--color-brown);margin-bottom:.4rem}.cal-direct-text{font-size:.85rem;color:var(--color-brown-light);max-width:34rem;margin:0 auto 1rem}.cal-direct-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.cal-direct-actions .btn-secondary{display:inline-flex;align-items:center;gap:.5rem}.gite-calendar.is-eviivo-down .cal-direct{background:#6b7f3b0f;border:1px solid var(--color-moss);border-radius:.75rem;padding:1.5rem;margin-top:1.25rem}.cal-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--color-offwhite);border-top:1px solid rgba(139,130,118,.35);box-shadow:0 -4px 16px #0000001f;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));animation:cal-sticky-in .2s ease-out}.cal-sticky[hidden]{display:none}@keyframes cal-sticky-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cal-sticky-inner{max-width:32rem;margin:0 auto;display:flex;align-items:center;gap:.75rem}.cal-sticky-selection{flex:1;min-width:0;font-size:.8rem;line-height:1.2;color:var(--color-brown);font-weight:600}.cal-sticky-book{flex-shrink:0;white-space:nowrap}@media(min-width:1024px){.cal-sticky{display:none!important}}@media(max-width:1023.98px){.gite-calendar.has-sticky-cta{padding-bottom:5.5rem}}
