.occ-app{--ink:#1c1b18;--ink-soft:#625d55;--paper:#faf7f0;--line:#d8cfc2;--moss:#00652f;--cream:#fffdf8;--gold:#b49756;color:var(--ink);font-family:Arial,sans-serif}.occ-layout{display:grid;grid-template-columns:minmax(260px,380px) minmax(220px,1fr);gap:28px 40px;align-items:start}.occ-side .occ-head{text-align:left;margin-bottom:18px}.occ-side .occ-head h2{font:400 clamp(1.7rem,2.6vw,2rem)/1.2 Georgia,serif;margin:8px 0 10px}.occ-side .occ-head p{color:var(--ink-soft);max-width:28rem;margin:0;line-height:1.6}.occ-side .occ-head .eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px}.occ-hint{font-size:14px;color:var(--ink-soft);margin:0 0 14px;line-height:1.5}.occ-tabs{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-bottom:14px}.occ-tab{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 12px;font:600 13px/1.35 Arial,sans-serif;letter-spacing:.02em;border-radius:8px;text-align:left;cursor:pointer;min-height:35px}.occ-tab:hover{border-color:var(--moss);color:var(--moss)}.occ-tab.is-on{background:var(--moss);color:var(--cream);border-color:var(--moss)}.occ-cal{max-width:380px;width:100%;background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;padding-bottom:10px}.occ-bar{display:flex;align-items:center;justify-content:center;gap:6px;background:#e6e0d7;padding:6px 8px;margin-bottom:8px}.occ-nav{width:28px;height:28px;border:0;background:transparent;color:var(--ink);font-size:22px;line-height:1;border-radius:8px;cursor:pointer}.occ-nav:hover{background:#1c1b1814;color:var(--moss)}.occ-month{display:flex;flex:none;min-width:0;margin:0}.occ-select{appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%231c1b18' d='M1 1l5 5 5-5'/></svg>") right 6px center no-repeat transparent;border:0;font:600 16px/1.3 Georgia,serif;color:var(--ink);padding:2px 24px 2px 8px;cursor:pointer;margin:0;width:auto;min-height:0;border-radius:0}.occ-select:focus{outline:1px solid var(--gold)}.occ-week,.occ-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 10px}.occ-week{margin-bottom:4px}.occ-week span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink-soft);padding:2px 0 4px}.occ-day{position:relative;min-height:34px;height:36px;display:flex;align-items:center;justify-content:center;padding:2px;border:0;font-family:inherit;color:var(--ink);border-radius:1px;min-width:0}.occ-day.is-empty{background:transparent;min-height:0;height:36px}.occ-day.is-free{background:#d7ead3}.occ-day.is-busy{background:#f3cfd4}.occ-day.is-checkin{background:linear-gradient(to right top,#d7ead3 0,#d7ead3 49.5%,#f3cfd4 50.5%,#f3cfd4 100%)}.occ-day.is-checkout{background:linear-gradient(to right top,#f3cfd4 0,#f3cfd4 49.5%,#d7ead3 50.5%,#d7ead3 100%)}.occ-day.is-unknown{background:#ecece6}.occ-num{font-size:12px;font-weight:600;line-height:1}button.occ-day{cursor:pointer}button.occ-day:hover{filter:brightness(.97)}button.occ-day.is-pending{box-shadow:inset 0 0 0 2px var(--gold);z-index:1}button.occ-day:disabled{cursor:wait}.occ-legend{list-style:none;display:grid;gap:10px;padding:16px 0 0;margin:0 0 15px;font-size:14px;font-weight:600;color:var(--ink)}.occ-legend li{display:flex;align-items:center;gap:10px}.occ-swatch{width:18px;height:18px;border-radius:1px;flex:0 0 18px}.occ-swatch.is-free{background:#d7ead3;border:1px solid #c3d9bf}.occ-swatch.is-busy{background:#f3cfd4;border:1px solid #e4bdc2}.occ-status{margin-top:12px;font-size:13px;font-weight:600;color:var(--moss);min-height:1.2em}.occ-status.is-error{color:#9b2c2c}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.occ-app [hidden]{display:none!important}.occ-tab:focus-visible,.occ-day:focus-visible,.occ-nav:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.inquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:70px;padding-top:60px;border-top:1px solid #dcded3}.inquiry-layout>div>p:not(.eyebrow){max-width:380px;font-size:15px;margin-top:25px}.inquiry-layout>div>h2{font-size:38px}.inquiry-layout #enquiry{align-self:start}
@media(max-width:820px){.occ-layout{grid-template-columns:1fr;gap:20px}.occ-cal{max-width:100%}.occ-tabs{flex-flow:wrap;align-items:stretch}.occ-tab{text-align:center}.occ-legend{padding-top:8px;display:flex;flex-wrap:wrap;gap:14px 20px}.occ-day{min-height:32px;height:34px}.occ-num{font-size:12px}.occ-week,.occ-grid{padding:0 8px;gap:8px}.inquiry-layout{grid-template-columns:1fr;gap:25px;margin-top:40px;padding-top:35px}.inquiry-layout>div>h2{font-size:32px}}

/* One component for public enquiries and owner availability. */
.occ-house-label{margin:0 0 8px;font-size:14px;line-height:20px;font-weight:700}
.occ-day.is-selected{outline:2px dashed #263B31;outline-offset:-2px}
.occ-swatch.is-selected{background:#f3cfd4;outline:2px dashed #263B31;outline-offset:-2px}
[data-occupancy="public"] .occ-day:disabled{cursor:not-allowed;opacity:1}
.calendar-box .occ-app{font-family:Manrope,Arial,sans-serif}
.calendar-box .occ-tab{font-family:Manrope,Arial,sans-serif}
.calendar-box .occ-select{font-family:Lora,Georgia,serif}

/* Public layout remains the previously approved two-panel design. */
.calendar-box .occ-cal{max-width:none;border:0;background:transparent;padding:0;overflow:visible}
.calendar-box .occ-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 24px}
.calendar-box .occ-tab{font:600 12px/1.35 Manrope,Arial,sans-serif;text-align:center;padding:10px 3px;min-height:42px;border-radius:6px}
.calendar-box .occ-tab.is-on{background:#263b31;border-color:#263b31;color:white}
.calendar-box .occ-bar{background:none;padding:0;margin:0 0 18px;justify-content:space-between}
.calendar-box .occ-select{font:600 14px/1.4 Manrope,Arial,sans-serif}
.calendar-box .occ-nav{width:34px;height:34px;border:1px solid #b8c1b4;border-radius:6px}
.calendar-box .occ-week,.calendar-box .occ-grid{padding:0;gap:5px}
.calendar-box .occ-week{margin-bottom:8px}
.calendar-box .occ-day{height:42px;min-height:42px}
.calendar-box .occ-legend{display:flex;flex-wrap:wrap;gap:12px 18px;font:400 12px/1.5 Manrope,Arial,sans-serif;padding:20px 0 0;margin-bottom:10px}
.calendar-box .occ-legend li{gap:6px}
.calendar-box .occ-swatch{width:12px;height:12px;flex-basis:12px}
.calendar-box #clear-dates{margin-top:auto;align-self:flex-start}
.calendar-box #date-summary{font-size:12px;line-height:1.6;margin-top:12px}
@media(max-width:768px){.calendar-box .occ-tab{font-size:11px;padding:9px 2px}.calendar-box .occ-legend{gap:10px}}
