/* 1.5.16 — softer linear surfaces and larger, custom booking controls. */
body.ms-modern{
  --ms-control-gradient:linear-gradient(122deg,#f9f9f4 0%,#e7eeeb 52%,#c4d5d1 100%);
  --ms-control-ink:#103b49;
}
body.ms-modern .ms-room-search,
body.ms-modern .ms-layout-booking .ms-booking-form,
body.ms-modern .ms-rate-panel,
body.ms-modern .ms-book-dock:not(.is-collapsed){
  background:var(--ms-control-gradient);
  color:var(--ms-control-ink);
  border:1px solid rgba(16,59,73,.16);
  box-shadow:0 26px 74px rgba(12,46,55,.13);
}
body.ms-modern .ms-room-search{gap:18px;padding:clamp(24px,3vw,36px);border-radius:16px;align-items:end}
body.ms-modern .ms-room-search label,
body.ms-modern .ms-booking-form .ms-form-grid label,
body.ms-modern .ms-rate-panel label,
body.ms-modern .ms-dock-fields label{
  color:#103b49;font-size:.69rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
body.ms-modern .ms-layout-booking .ms-booking-form{
  max-width:940px;border-top:4px solid #bda064;border-radius:0 0 16px 16px;
  padding:clamp(28px,4.6vw,68px);
}
body.ms-modern .ms-booking-form .ms-form-grid{gap:20px;margin-bottom:23px}
body.ms-modern .ms-site .ms-booking-form input:not([type=checkbox]):not(.ms-native-control),
body.ms-modern .ms-room-search input:not(.ms-native-control),
body.ms-modern .ms-rate-panel input:not(.ms-native-control){
  min-height:60px;margin-top:9px;padding:13px 18px;border:1px solid rgba(16,59,73,.28);
  border-radius:9px;background:rgba(255,255,255,.76);color:#103b49;
  font:500 1.03rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-shadow:inset 0 1px 3px rgba(16,59,73,.035);
}
body.ms-modern .ms-site .ms-booking-form input:focus-visible,
body.ms-modern .ms-site .ms-room-search input:focus-visible,
body.ms-modern .ms-site .ms-rate-panel input:focus-visible{outline:2px solid #bda064;outline-offset:2px}
body.ms-modern .ms-booking-estimate{
  align-items:center;gap:18px;margin:32px 0;padding:21px 26px;border-radius:8px;
  background:#103B49;color:#f6f2e8;box-shadow:0 14px 34px rgba(16,59,73,.15);
  font-size:.79rem;letter-spacing:.05em;
}
body.ms-modern .ms-booking-estimate span{display:grid;gap:7px}
body.ms-modern .ms-booking-estimate strong{display:block;color:#d5bd85;font:400 clamp(1.4rem,2vw,1.9rem)/1.1 Georgia,serif;letter-spacing:-.025em}
body.ms-modern .ms-rate-panel{
  width:min(540px,calc(100vw - 28px));padding:clamp(26px,3vw,42px);border-radius:18px;
  max-height:calc(100dvh - 120px);
}
body.ms-modern .ms-rate-panel h2{font-size:clamp(2rem,3.2vw,2.7rem);margin-bottom:27px}
body.ms-modern .ms-rate-dates{grid-template-columns:1fr 1fr .72fr;gap:12px;margin-bottom:24px}
body.ms-modern .ms-rate-panel .ms-rate-room-label{display:block;margin-bottom:19px}
body.ms-modern .ms-rate-panel .ms-button{min-height:58px;background:#103b49;color:#fff}
body.ms-modern .ms-rate-panel .ms-button:hover{background:#205667;color:#fff!important}
body.ms-modern .ms-book-dock:not(.is-collapsed){background:var(--ms-control-gradient);border-radius:14px}
body.ms-modern .ms-book-dock .ms-dock-fields{gap:12px}

/* Keep native controls in the form for validation and submission; show custom controls only when JS enhances them. */
body.ms-modern .ms-native-control,
body.ms-modern .ms-site .ms-booking-form .ms-native-control,
body.ms-modern .ms-site .ms-room-search .ms-native-control,
body.ms-modern .ms-site .ms-rate-panel .ms-native-control,
body.ms-modern .ms-site .ms-contact-form .ms-native-control{
  position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;opacity:0!important;
  pointer-events:none!important;clip-path:inset(50%)!important;
}
body.ms-modern .ms-control-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:13px;width:100%;min-width:0;
  min-height:62px;margin-top:9px;padding:12px 17px;border:1px solid rgba(16,59,73,.3);
  border-radius:9px;background:rgba(255,255,255,.82);color:#103b49;
  text-align:left;cursor:pointer;box-shadow:0 5px 17px rgba(16,59,73,.045);
  font:500 1.03rem/1.34 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:0;text-transform:none;transition:border-color .25s,box-shadow .25s,background .25s,transform .25s;
}
body.ms-modern .ms-control-trigger:hover,
body.ms-modern .ms-control-trigger[aria-expanded="true"]{
  border-color:#bda064;background:#fff;box-shadow:0 9px 24px rgba(16,59,73,.12);transform:translateY(-1px);
}
body.ms-modern .ms-control-trigger:focus-visible{outline:3px solid #bda064;outline-offset:2px}
body.ms-modern .ms-control-trigger.is-placeholder .ms-control-value{color:#687e7c}
.ms-control-value{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ms-control-trigger svg{flex:none;color:#a18450}
.ms-control-chevron{display:block;flex:none;width:9px;height:9px;border-right:1.6px solid #a18450;border-bottom:1.6px solid #a18450;transform:rotate(45deg) translateY(-2px)}
body.ms-modern .ms-dock-fields .ms-control-trigger{min-height:51px;padding:10px;font-size:.85rem}
body.ms-modern .ms-rate-panel .ms-control-trigger{min-height:56px;padding:10px 12px;font-size:.9rem}
body.ms-modern .ms-rate-dates .ms-control-trigger{font-size:.82rem}

.ms-control-popover{
  position:fixed;z-index:310;box-sizing:border-box;width:min(430px,calc(100vw - 24px));max-height:min(550px,calc(100dvh - 24px));
  overflow-y:auto;padding:23px;border:1px solid rgba(16,59,73,.25);border-radius:18px;
  background:linear-gradient(123deg,#fbfaf5 0%,#e8eeea 54%,#b8d0cd 100%);color:#103b49;
  box-shadow:0 29px 85px rgba(9,41,50,.3),0 3px 10px rgba(9,41,50,.07);
  font:500 1rem/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  scrollbar-width:thin;scrollbar-color:rgba(16,59,73,.28) transparent;
  animation:ms-control-arrive .25s cubic-bezier(.22,.73,.22,1) both;
}
.ms-control-popover *{box-sizing:border-box}
@keyframes ms-control-arrive{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.ms-control-popover button{font:inherit;color:inherit;cursor:pointer}
.ms-control-popover button:focus-visible{outline:2px solid #a77f3a;outline-offset:2px}
.ms-calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:19px}
.ms-calendar-head strong{text-align:center;font:400 1.55rem/1.2 Georgia,serif;text-transform:capitalize}
.ms-calendar-step{width:44px;height:44px;border:1px solid rgba(16,59,73,.25);border-radius:50%;background:rgba(255,255,255,.58);font:300 2rem/1 Georgia,serif!important}
.ms-calendar-step:hover{background:#103b49;color:#fff}
.ms-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;align-items:center;text-align:center}
.ms-calendar-weekday{padding:4px 0 10px;color:#587371;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.ms-calendar-day{display:grid;place-items:center;aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:50%;background:transparent;font-weight:600!important}
.ms-calendar-day:not(:disabled):hover{border-color:#bda064;background:#fff}
.ms-calendar-day.is-today{border-color:rgba(16,59,73,.35)}
.ms-calendar-day.is-selected,.ms-calendar-day.is-selected:hover{background:#103b49;color:#fff;border-color:#103b49}
.ms-calendar-day:disabled{color:#9baaa6;cursor:not-allowed;opacity:.7}
.ms-calendar-foot{display:flex;justify-content:space-between;gap:15px;margin-top:19px;padding-top:16px;border-top:1px solid rgba(16,59,73,.17)}
.ms-calendar-foot button{border:0;background:transparent;color:#103b49;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.ms-calendar-foot button:disabled{opacity:.4;cursor:not-allowed}
.ms-choice-list{width:min(490px,calc(100vw - 24px));display:grid;gap:6px;padding:12px}
.ms-choice-option{width:100%;min-height:54px;padding:12px 17px;border:0;border-radius:8px;background:rgba(255,255,255,.35);text-align:left}
.ms-choice-option:hover,.ms-choice-option:focus-visible{background:rgba(255,255,255,.88)}
.ms-choice-option.is-selected{background:#103b49;color:#fff}
.ms-choice-option:disabled{opacity:.5;cursor:not-allowed}

/* Editorial contact panel with line art in place of the heavy textured backing. */
body.ms-modern .ms-contact-card{
  isolation:isolate;overflow:hidden;padding:clamp(29px,4.2vw,65px);
  background:linear-gradient(135deg,#faf9f3 0%,#edf2ee 54%,#cbdcd7 100%);
  border:1px solid rgba(16,59,73,.2);border-top:4px solid #bda064;border-radius:0 16px 16px 0;
  box-shadow:0 27px 70px rgba(16,59,73,.13);
}
body.ms-modern .ms-contact-card:before{content:none}
body.ms-modern .ms-contact-card:after{
  content:"";position:absolute;z-index:-1;right:-130px;top:-150px;width:410px;aspect-ratio:1;
  border:1px solid rgba(16,59,73,.18);border-radius:50%;
  box-shadow:0 0 0 45px rgba(16,59,73,.035),0 0 0 99px rgba(16,59,73,.025);pointer-events:none;
}
.ms-contact-ornament{position:absolute;top:0;right:31px;width:110px;height:125px;border-right:1px solid rgba(16,59,73,.21);pointer-events:none;opacity:.65}
.ms-contact-ornament span{position:absolute;right:0;width:clamp(30px,5vw,70px);height:1px;background:#bda064}
.ms-contact-ornament span:nth-child(1){top:35px}.ms-contact-ornament span:nth-child(2){top:54px;width:45px}.ms-contact-ornament span:nth-child(3){top:73px;width:60px}
body.ms-modern .ms-contact-card-heading{position:relative;max-width:510px;margin-bottom:38px;padding-bottom:29px;border-bottom:1px solid rgba(16,59,73,.22)}
body.ms-modern .ms-contact-card-heading .ms-eyebrow{color:#9b7841;font-size:.67rem;letter-spacing:.17em}
body.ms-modern .ms-contact-card-heading h3{font-size:clamp(2.45rem,3.5vw,3.8rem);color:#103b49;letter-spacing:-.055em}
body.ms-modern .ms-contact-card-heading p{color:#4b696b;font-size:1rem;line-height:1.7}
body.ms-modern .ms-contact-form{position:relative;gap:22px}
body.ms-modern .ms-contact-row{gap:20px}
body.ms-modern .ms-contact-form label:not(.ms-contact-consent){font-size:.69rem;letter-spacing:.13em;color:#103b49}
body.ms-modern .ms-contact-form :is(input:not([type=checkbox]):not(.ms-native-control),textarea){
  min-height:60px;padding:16px 18px;border:1px solid rgba(16,59,73,.26);border-radius:8px;
  background:rgba(255,255,255,.78);color:#103b49;font-size:1rem;
  transition:background .25s,border-color .25s,box-shadow .25s;
}
body.ms-modern .ms-contact-form textarea{min-height:180px;resize:vertical}
body.ms-modern .ms-contact-form :is(input:not([type=checkbox]),textarea):focus{background:#fff;border-color:#bda064;box-shadow:0 0 0 3px rgba(189,160,100,.15)}
body.ms-modern .ms-contact-consent{color:#3e6267}
body.ms-modern .ms-contact-submit{gap:22px;padding-top:9px}
body.ms-modern .ms-contact-submit button{min-height:58px;padding:15px 30px;border-radius:5px;background:#103b49;color:#fff;box-shadow:0 12px 25px rgba(16,59,73,.16)}
body.ms-modern .ms-contact-submit button:hover{background:#286575;transform:translateY(-2px)}
body.ms-modern .ms-contact-submit small{color:#526e6d}

/* Numbering stays clear; remove the line/sand motifs behind these chapter numbers. */
body.ms-home .ms-stays,body.ms-home .ms-owner-gallery-home{background-image:none}
body.ms-home .ms-stays:before,body.ms-home .ms-rooms:before,body.ms-home .ms-discover:before{content:none}
body.ms-home .ms-stays:after{content:none}
body.ms-home .ms-rooms:after,body.ms-home .ms-discover:after{content:none}

body.ms-modern .ms-book-dock.is-collapsed .ms-dock-toggle-icon svg{display:block;width:22px;height:18px}
@media(max-width:750px){
  body.ms-modern .ms-room-search{gap:13px;padding:21px}
  body.ms-modern .ms-rate-panel{right:14px;bottom:88px;max-height:calc(100dvh - 112px)}
  body.ms-modern .ms-rate-dates{grid-template-columns:1fr 1fr}
  body.ms-modern .ms-rate-dates label:last-child{grid-column:1/-1}
  body.ms-modern .ms-booking-estimate{flex-direction:column;align-items:stretch}
  body.ms-modern .ms-contact-card{border-radius:0 12px 12px 0}
}
@media(max-width:480px){
  body.ms-modern .ms-room-search{grid-template-columns:1fr}
  body.ms-modern .ms-layout-booking .ms-booking-form{padding:27px 18px}
  body.ms-modern .ms-room-search .ms-button{grid-column:1}
  body.ms-modern .ms-contact-card{padding:30px 20px}
  .ms-control-popover{padding:18px}
  .ms-choice-list{padding:10px}
}
@media(prefers-reduced-motion:reduce){.ms-control-popover{animation:none}body.ms-modern .ms-control-trigger{transition:none}}
