:root{--color-white:#f5f2e9;--color-primary-light:#e5e9e6;--color-text:#173a46;--color-primary:#173f50;--color-muted:#566b6d;--color-soft:#eeeee7;--color-accent:#173f50;--font-heading:'Cormorant Garamond',Georgia,serif;--radius:0;--shadow-sm:none;color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font:16px/1.6 Manrope,sans-serif;background:var(--color-white);color:var(--color-text)}
button,input{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #a17c45;outline-offset:5px}
.mar-serra-stays-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px max(24px,6vw)}
.mar-serra-stays-footer{border-top:1px solid #173a4625;font-size:13px;margin-top:48px}
.mar-serra-stays-footer>span:last-child{display:flex;gap:8px;align-items:center}
.container{width:min(1120px,calc(100% - 48px));margin:auto}
.hms-page{background:var(--color-white);padding:48px 0}
.hms-page__inner{gap:32px}
.hms-page h1,.hms-page h2,.hms-page h3{font-weight:400;letter-spacing:-.035em}
.hms-page__eyebrow{font-size:13px;letter-spacing:.12em;font-weight:500}
.hms-section,.hms-booking-result{border-radius:0;box-shadow:none}
.hms-button{border-radius:0;font-size:16px;min-height:52px;background:var(--color-primary);border-color:var(--color-primary)}
.hms-button:hover{background:var(--color-text);border-color:var(--color-text)}
.hms-booking-stepper input{font-family:Manrope,sans-serif}
.hms-booking-trust,.hms-booking-results-empty>span{display:none}
.hms-booking-form-heading h2{font-size:34px}
.hms-booking-search-form{margin-top:20px}
.hms-booking-results-summary{font-size:16px}
.hms-booking-date-range,.hms-booking-guests{border:0;padding:0;margin:0}
.hms-booking-search-form input{min-width:0}
.hms-booking-payment-button{white-space:normal}
.mar-serra-stay-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.mar-serra-stay-hero img{width:100%;height:310px;object-fit:cover}
.mar-serra-stay-hero h1{font-size:clamp(44px,5.2vw,74px);margin:12px 0}
.mar-serra-stay-location{color:var(--color-muted);max-width:450px}
.mar-serra-stay-hero p{margin:0}
.mar-serra-stay-hero #mar-serra-stay-itinerary{margin-top:24px;font-size:17px;line-height:1.7}
.mar-serra-stay-edit{border-top:1px solid #173a4630;border-bottom:1px solid #173a4630;padding:18px 0}
.mar-serra-stay-edit summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none}
.mar-serra-stay-edit summary::-webkit-details-marker{display:none}
.mar-serra-stay-edit summary span{font-size:26px;line-height:1}
.mar-serra-stay-edit[open] summary span{transform:rotate(45deg)}
.mar-serra-stay-pending{padding:20px 0 32px;max-width:760px}
.mar-serra-stay-pending h2{font-size:44px;margin:12px 0 18px}
.mar-serra-stay-pending p{max-width:620px}
.mar-serra-back-link{display:inline-flex;gap:40px;border-bottom:1px solid currentColor;text-decoration:none;padding:10px 0;margin-top:18px}
.mar-serra-back-link span{transition:transform .25s}
.mar-serra-back-link:hover span{transform:rotate(45deg)}
.mar-serra-calendar-icon{display:block}
.hms-booking-date-control input::-webkit-calendar-picker-indicator{display:none}
.mar-serra-stay-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px;margin-top:24px}
.mar-serra-stay-actions .mar-serra-back-link{margin-top:0}
.mar-serra-stay-actions .hms-button{display:inline-flex;align-items:center;gap:28px;text-decoration:none;color:#f5f2e9;padding:14px 24px}
.mar-serra-stay-actions .hms-button span{transition:transform .25s}
.mar-serra-stay-actions .hms-button:hover span{transform:rotate(45deg)}
@media(max-width:700px){.container{width:calc(100% - 40px)}
.hms-page{padding:26px 0}
.mar-serra-stay-hero{grid-template-columns:1fr;gap:24px}
.mar-serra-stay-hero img{height:230px}
.mar-serra-stay-hero h1{font-size:48px}
.mar-serra-stay-pending h2{font-size:38px}
.mar-serra-stays-footer{align-items:flex-start;flex-direction:column;padding:24px 20px}
.hms-booking-form-heading{flex-direction:column;align-items:flex-start}
.hms-booking-date-grid{grid-template-columns:1fr;gap:12px}
.hms-booking-date-arrow{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
.mar-serra-back-link span{transition:none}
}
.hms-booking-refund-policy,.mar-serra-tax-note,.hms-booking-terms-details{font-size:16px;line-height:1.7}
.hms-booking-refund-policy ul{padding-left:1.3em}
.hms-booking-refund-policy li+li{margin-top:12px}
.mar-serra-tax-note{max-width:76ch;color:var(--color-text)}
.hms-booking-terms-details p{white-space:pre-line}
.hms-booking-refund-policy time{overflow-wrap:anywhere}
.mar-serra-stays-footer{font-size:14px}
.hms-page__eyebrow{font-size:14px}
.hms-booking-results-summary{font-size:18px}
@media(max-width:700px){.hms-page h1{font-size:48px}
}

/* Guest details follow their reading order, independent of checkout placement. */
.page-hms-guest-booking .hms-booking-state-page{grid-template-columns:minmax(0,1fr);align-items:start;width:min(900px,calc(100% - 48px))}
.page-hms-guest-booking .hms-booking-checkout-summary{position:static;grid-row:auto;grid-column:auto}
.page-hms-guest-booking .hms-nav{align-items:center;align-self:start}
.page-hms-guest-booking .hms-page__header h1{font-size:clamp(42px,5vw,64px);line-height:1.12}
.mar-serra-booking-reference{font-size:15px;line-height:1.6;color:var(--color-muted)}
.mar-serra-booking-reference span{overflow-wrap:anywhere}
@media(max-width:700px){.page-hms-guest-booking .hms-booking-state-page{width:calc(100% - 40px)}}
