.services-home{padding-bottom:36px}
/* Unverified or expired availability never receives available-day colors. */
.stay-section{--stay-gold:#d3b26e;--stay-ivory:#f3eee2;--stay-green:#24533e;--stay-occupied:#713446;position:relative;isolation:isolate;background:#3d252d;color:var(--stay-ivory);padding:70px 28px 64px;scroll-margin-top:95px;overflow:hidden}
.stay-heading{position:relative;text-align:center;margin:0 auto 24px;max-width:800px}
.stay-eyebrow{color:var(--stay-gold);font-size:12px;letter-spacing:.3em;text-transform:uppercase;margin:0 0 18px}
.stay-flourish{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:14px}
.stay-flourish:before,.stay-flourish:after{content:"";width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--stay-gold))}
.stay-flourish:after{transform:rotate(180deg)}
.stay-flourish img{width:34px;height:auto}
.stay-heading h2{font-family:Marcellus,serif;font-weight:400;font-size:clamp(38px,5vw,66px);line-height:1.15;margin:0 0 15px}
.stay-tagline{font-family:Marcellus,serif;font-size:clamp(17px,1.8vw,22px);margin:0}
.stay-botanical{position:absolute;top:0;width:clamp(125px,20vw,280px);height:auto;opacity:.5;pointer-events:none;z-index:-1}
.stay-botanical-left{left:0}.stay-botanical-right{right:0;transform:scaleX(-1)}
.stay-preview-note{text-align:center;color:#e0c7ce;font-size:12px;margin:22px 0 15px}
.stay-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px;max-width:1220px;margin:auto;padding:26px;background:#232422;border:1px solid #ad905a;border-radius:14px;box-shadow:0 16px 48px #180a1126}
.stay-calendar{min-width:0}
.stay-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}
.stay-navigation p{font-size:12px;color:#d1c8b8;text-align:center;margin:0}
.stay-navigation button{width:40px;height:40px;padding:10px;color:var(--stay-ivory);border:0;background:transparent}
.stay-navigation button:disabled{opacity:.25;cursor:default}
.stay-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.stay-month+ .stay-month{border-left:1px solid #ad905a55;padding-left:28px}
.stay-month h3{font-family:Marcellus,serif;font-size:23px;font-weight:400;text-align:center;margin:0 0 20px;line-height:1.3}
.stay-weekdays,.stay-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.stay-weekdays{margin-bottom:8px;font-size:11px;color:#d1c8b8;text-align:center}
.stay-day,.stay-empty{height:43px;min-width:0;border-radius:6px}
.stay-day{position:relative;border:1px solid #ffffff12;color:#fff6ed;font:400 16px Marcellus,serif;padding:0;cursor:pointer;background:#373834}
.stay-empty{border:1px solid #ffffff05}
.stay-section [data-state="available"]{background:var(--stay-green)}
.stay-section [data-state="occupied"]{background:var(--stay-occupied)}
.stay-section [data-state="arrival"]{background:linear-gradient(to bottom right,var(--stay-occupied) 49.5%,var(--stay-green) 50.5%)}
.stay-section [data-state="departure"]{background:linear-gradient(to bottom right,var(--stay-green) 49.5%,var(--stay-occupied) 50.5%)}
.stay-day[aria-disabled="true"]{cursor:not-allowed}
.stay-day:disabled{opacity:.28;cursor:default}
.stay-day.is-selected{outline:2px solid #efc76e;outline-offset:-2px;box-shadow:inset 0 0 0 4px #191a1744}
.stay-day.is-endpoint{outline-width:3px;font-weight:600}
.stay-day:hover:not(:disabled){filter:brightness(1.18)}
.stay-section :focus-visible{outline:3px solid #fff5ce;outline-offset:3px}
.stay-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 18px;margin-top:24px;padding-top:18px;border-top:1px solid #ad905a55}
.stay-legend span{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;color:#eee4d2}
.stay-legend i{display:block;width:22px;height:22px;border:1px solid #ffffff55;border-radius:4px}
.stay-legend .stay-selection-key{border:2px solid #efc76e}
.stay-status{font-size:12px;color:#d9cdbb;text-align:center;margin:15px 0 0;min-height:1.5em}
.stay-summary{border-left:1px solid #ad905a88;padding-left:28px;display:flex;flex-direction:column;gap:20px;min-width:0}
.stay-summary h3{font-family:Marcellus,serif;font-size:23px;font-weight:400;margin:0 0 8px}
#stay-dates{font-family:Marcellus,serif;font-size:19px;line-height:1.4;margin:0 0 6px}
#stay-nights{font-size:12px;color:#d9cdbb;margin:0}
.stay-clear{font:inherit;font-size:12px;color:var(--stay-gold);border:0;background:transparent;padding:8px 0 0;text-decoration:underline;cursor:pointer}
.stay-guests{display:block;font-size:12px;padding-top:18px;border-top:1px solid #ad905a66}
.stay-guests select{display:block;width:100%;margin-top:8px;border:1px solid #8b877e;border-radius:7px;background:#232422;color:var(--stay-ivory);padding:11px 12px;font:inherit;font-size:16px;min-height:46px}
.stay-quote{padding-top:18px;border-top:1px solid #ad905a66}
.stay-quote h3{font-size:20px}
.stay-quote p{font-size:13px;line-height:1.7;color:#d9cdbb;margin:0}
.stay-continue{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:49px;border:1px solid #eccb85;border-radius:8px;background:linear-gradient(110deg,#e5bf6d,#cba35a);color:#211a0d;font:400 21px Marcellus,serif;cursor:pointer}
.stay-continue:disabled{opacity:.45;cursor:default}
.stay-help{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px}
.stay-help a{color:var(--stay-gold);text-underline-offset:4px}
.stay-help a:last-child{color:#d9cdbb}
.stay-result{font-size:12px;line-height:1.6;color:#e7d7b8;margin:0}
@media(max-width:1100px){.stay-panel{grid-template-columns:minmax(0,1fr) 230px;gap:20px;padding:22px}.stay-months{gap:18px}.stay-month+.stay-month{padding-left:18px}.stay-summary{padding-left:20px}.stay-day{height:38px;font-size:15px}.stay-month h3{font-size:20px}.stay-days,.stay-weekdays{gap:4px}}
@media(max-width:900px){.stay-panel{grid-template-columns:minmax(0,1fr) 240px;max-width:740px}.stay-months{display:block}.stay-month+.stay-month{display:none}.stay-day,.stay-empty{height:44px}.stay-heading h2{font-size:46px}}
@media(max-width:620px){.stay-section{padding:42px 16px 38px;scroll-margin-top:82px}.stay-botanical{width:110px;opacity:.34}.stay-heading{margin-bottom:20px}.stay-eyebrow{font-size:10px;letter-spacing:.22em;margin-bottom:12px}.stay-heading h2{font-size:38px;margin-bottom:12px}.stay-flourish{margin-bottom:12px}.stay-tagline{font-size:16px}.stay-preview-note{font-size:10px;margin:18px 0 12px}.stay-panel{display:block;padding:16px;border-radius:10px}.stay-navigation p{font-size:10px}.stay-navigation button{width:36px;height:36px;padding:8px}.stay-month h3{font-size:23px;margin-bottom:16px}.stay-days,.stay-weekdays{gap:5px}.stay-day,.stay-empty{height:40px;font-size:16px}.stay-legend{gap:10px 14px;justify-content:flex-start;margin-top:18px;padding-top:15px}.stay-legend span{font-size:10px}.stay-legend i{width:19px;height:19px}.stay-status{font-size:11px;margin-top:12px}.stay-summary{margin-top:18px;padding:18px 0 0;border-left:0;border-top:1px solid #ad905a88;gap:16px}.stay-summary h3{font-size:21px}#stay-dates{font-size:18px}.stay-guests,.stay-quote{padding-top:14px}.stay-quote p{font-size:12px}.stay-continue{min-height:46px}.stay-help{font-size:11px}}
@media(max-width:360px){.stay-section{padding-left:10px;padding-right:10px}.stay-panel{padding:12px}.stay-day,.stay-empty{height:36px}.stay-day{font-size:14px}.stay-days,.stay-weekdays{gap:4px}}

/* A pattern supplements color, including the occupied half of changeover days. */
.stay-day span{position:relative;z-index:1;text-shadow:0 1px 2px #0007}
.stay-section [data-state="occupied"],.stay-section [data-state="arrival"],.stay-section [data-state="departure"]{position:relative;isolation:isolate}
.stay-section [data-state="occupied"]::before,.stay-section [data-state="arrival"]::before,.stay-section [data-state="departure"]::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 5px,#fff1d540 5px 6.5px)}
.stay-section [data-state="arrival"]::before{clip-path:polygon(0 0,100% 0,0 100%)}
.stay-section [data-state="departure"]::before{clip-path:polygon(100% 0,100% 100%,0 100%)}
.stay-day.is-unavailable-departure{opacity:.42}
.stay-summary-dates{min-height:112px}

.stay-day[data-state="unknown"]{background:#373834;opacity:.5}
#stay-retry{display:block;margin:12px auto 0;min-height:44px}
#stay-retry[hidden]{display:none}
.booking-doorway{text-align:center}.booking-doorway h2{font:400 clamp(34px,4vw,56px) Marcellus,serif;margin:12px 0}.booking-doorway .stay-continue{max-width:330px;margin:24px auto;text-decoration:none}.booking-doorway .booking-next-note{margin-bottom:0}

/* Owner-approved rate planner. Shared grid footer keeps legend and note aligned. */
.stay-rate-layout{padding:24px 28px;scroll-margin-top:0px;overflow:visible}
.stay-rate-layout .stay-heading{margin-bottom:16px}
.stay-rate-layout .stay-flourish{margin-bottom:6px}
.stay-rate-layout .stay-flourish img{width:28px}
.stay-rate-layout .stay-heading h2{font-size:42px;margin:0;line-height:1.12}
.stay-rate-layout .stay-botanical{width:190px;opacity:.4}
.stay-rate-layout .stay-a11y-note{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.stay-rate-layout .stay-panel{--panel-pad:24px;--sidebar:300px;--column-gap:26px;display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar);grid-template-rows:auto auto;column-gap:var(--column-gap);row-gap:12px;padding:var(--panel-pad);max-width:1220px;border-radius:14px}
.stay-rate-layout .stay-panel::after{content:"";position:absolute;top:var(--panel-pad);bottom:var(--panel-pad);right:calc(var(--panel-pad) + var(--sidebar));width:1px;background:#ad905a88;pointer-events:none}
.stay-rate-layout .stay-calendar,.stay-rate-layout .stay-summary{display:contents}
.stay-rate-layout .stay-calendar-body{grid-column:1;grid-row:1;min-width:0}
.stay-rate-layout .stay-summary-body{grid-column:2;grid-row:1;padding-left:var(--column-gap);display:flex;flex-direction:column;gap:10px;min-width:0}
.stay-rate-layout .stay-navigation{margin:0 0 10px;min-height:34px}
.stay-rate-layout .stay-navigation button{width:34px;height:34px;padding:7px}
.stay-rate-layout .stay-navigation p{font-size:12px;line-height:1.4}
.stay-rate-layout .stay-months{gap:20px}
.stay-rate-layout .stay-month+.stay-month{padding-left:20px}
.stay-rate-layout .stay-month h3{font-size:24px;margin:0 0 15px}
.stay-rate-layout .stay-weekdays{margin-bottom:8px}
.stay-rate-layout .stay-day,.stay-rate-layout .stay-empty{height:40px}
.stay-rate-layout .stay-legend{grid-column:1;grid-row:2;align-self:end;justify-content:center;gap:10px 14px;margin:0;padding:15px 0 0;min-width:0}
.stay-rate-layout .stay-legend span{font-size:11px;gap:6px}
.stay-rate-layout .stay-legend i{width:22px;height:22px;flex:none}
.stay-rate p{margin:0}
.stay-rate .stay-rate-scope{font-size:10px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:var(--stay-gold)}
.stay-rate .stay-rate-price{display:flex;align-items:baseline;gap:10px;white-space:nowrap;margin:5px 0 10px}
.stay-rate-price>span{font:400 49px/1.15 Marcellus,serif;letter-spacing:-.025em}
.stay-rate-price small{font:400 13px/1.3 Inter,sans-serif}
.stay-rate .stay-rate-terms{font-size:13px;line-height:1.5;color:#e4ddd0}
.stay-rate-details{display:inline-block;color:var(--stay-gold);font-size:12px;line-height:1.5;margin-top:7px;text-underline-offset:4px}
.stay-rate-layout .stay-summary-dates{position:relative;min-height:76px;border-top:1px solid #ad905a66;padding-top:14px;margin-top:2px}
.stay-rate-layout .stay-summary h3{font-size:18px;margin:0 0 5px;line-height:1.2}
.stay-rate-layout #stay-dates{font:400 12px/1.5 Inter,sans-serif;margin:0}
.stay-rate-layout #stay-nights{font-size:11px;line-height:1.4;margin-top:2px}
.stay-rate-layout .stay-summary-dates:has(#stay-clear[hidden]) #stay-nights{display:none}
.stay-rate-layout #stay-clear{position:absolute;right:0;top:11px;padding:3px 0;font-size:11px}
.stay-rate-layout .stay-guests{padding:0;border:0;font-size:12px;line-height:1.4;margin-top:auto}
.stay-rate-layout .stay-guests select{margin-top:6px;min-height:44px;padding:9px 12px}
.stay-rate-layout .stay-continue{min-height:46px;font-size:19px;margin:0}
.stay-rate-layout .stay-result{margin:0}
.stay-rate-layout .stay-result[hidden]{display:none}
.stay-rate-layout .stay-total-note{grid-column:2;grid-row:2;align-self:end;margin:0;padding-left:var(--column-gap);text-align:center;font:400 12px/1 Inter,sans-serif;color:#e4ddd0}
.stay-total-note>span{display:inline-block;text-box-trim:trim-both;text-box-edge:cap text}
@media(max-width:1100px){
 .stay-rate-layout .stay-panel{--panel-pad:22px;--sidebar:270px;--column-gap:20px}
 .stay-rate-layout .stay-months{gap:14px}.stay-rate-layout .stay-month+.stay-month{padding-left:14px}
 .stay-rate-layout .stay-day,.stay-rate-layout .stay-empty{height:40px}
 .stay-rate-layout .stay-month h3{font-size:21px}.stay-rate-layout .stay-legend{gap:10px}
 .stay-rate-price>span{font-size:44px}
}
@media(max-width:900px){
 .stay-rate-layout .stay-panel{max-width:740px;--sidebar:280px}
 .stay-rate-layout .stay-day,.stay-rate-layout .stay-empty{height:44px}
 .stay-rate-layout .stay-legend{justify-content:flex-start;row-gap:12px}
}
@media(max-width:620px){
 .stay-rate-layout{padding:28px 16px;scroll-margin-top:62px}
 .stay-rate-layout .stay-botanical{width:105px;opacity:.3}
 .stay-rate-layout .stay-heading{margin-bottom:20px}
 .stay-rate-layout .stay-heading h2{font-size:36px}
 .stay-rate-layout .stay-panel{--panel-pad:18px;display:flex;flex-direction:column;gap:18px}
 .stay-rate-layout .stay-panel::after{display:none}
 .stay-rate-layout .stay-summary-body{display:contents}
 .stay-rate-layout .stay-rate{order:1;text-align:center}
 .stay-rate-layout .stay-rate-price{justify-content:center}
 .stay-rate-layout .stay-rate-price>span{font-size:46px}
 .stay-rate-layout .stay-rate-terms{font-size:12px}
 .stay-rate-layout .stay-calendar-body{order:2;border-top:1px solid #ad905a66;padding-top:14px}
 .stay-rate-layout .stay-month h3{font-size:24px}
 .stay-rate-layout .stay-legend{order:3;align-self:stretch;justify-content:center;padding-top:14px}
 .stay-rate-layout .stay-summary-dates{order:4;min-height:0;margin:0;padding-top:16px}
 .stay-rate-layout .stay-guests{order:5;margin:0}
 .stay-rate-layout .stay-continue{order:6}
 .stay-rate-layout .stay-result{order:7}
 .stay-rate-layout .stay-total-note{order:8;align-self:stretch;padding:0;font-size:12px}
 .stay-rate-layout .stay-days,.stay-rate-layout .stay-weekdays{gap:4px}
}
@media(max-width:360px){.stay-rate-layout{padding-inline:10px}.stay-rate-layout .stay-panel{--panel-pad:14px}.stay-rate-layout .stay-day,.stay-rate-layout .stay-empty{height:40px}}

/* Final spacing refinement: center the action in the space between select and note. */
.stay-rate-layout .stay-summary-body{grid-row:1 / 3}
.stay-rate-layout .stay-action-space{display:flex;align-items:center;flex:1;min-height:74px}
.stay-rate-layout .stay-action-space .stay-continue{width:100%}
.stay-rate-layout .stay-total-note{display:flex;justify-content:center;align-items:flex-end;align-self:stretch;padding:0}
.stay-rate-layout .stay-guests select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23e4ddd0' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:12px 8px;background-position:right 14px center}
@media(max-width:620px){.stay-rate-layout .stay-action-space{order:6;flex:none;min-height:46px}}

/* A quiet alternative after the complete direct-booking planner. */
.stay-platforms{max-width:560px;margin:28px auto 0;padding-top:24px;border-top:1px solid #a98c5860;text-align:center;color:#cbc3bd;font:400 14px/1.7 Inter,sans-serif}
.stay-platforms p{margin:0}
.stay-platform-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:14px;row-gap:0;margin-top:2px}
.stay-platform-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--stay-ivory);font:inherit;text-decoration:none;text-underline-offset:5px}
.stay-platform-links a:hover,.stay-platform-links a:focus-visible{text-decoration:underline}
.stay-platform-links>span{color:var(--stay-gold)}
