/* Staging-only serviced apartment stay-request prototype. Hidden until its hostname gate passes. */
.serviced-stay-preview[hidden] { display:none !important; }
.serviced-stay-preview { margin:0 auto 72px; padding:0 24px; color:#302b27; }
.serviced-stay-preview__inner { width:min(100%,960px); margin:0 auto; padding:44px; border:1px solid rgba(84,65,45,.2); background:#fffdf9; box-shadow:0 20px 52px rgba(52,39,25,.08); }
.serviced-stay-preview__eyebrow { margin:0 0 12px; color:#752c36; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.serviced-stay-preview h2 { margin:0; font-family:Georgia,"Yu Mincho",serif; font-size:clamp(30px,4vw,45px); font-weight:400; letter-spacing:-.025em; line-height:1.16; }
.serviced-stay-preview__room-context { display:flex; align-items:center; gap:13px; margin:20px 0 0; color:#70665d; }
.serviced-stay-preview__room-image { width:68px; height:48px; object-fit:cover; border:1px solid rgba(84,65,45,.18); }
.serviced-stay-preview__room-name { margin:0; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.serviced-stay-preview__intro { max-width:640px; margin:16px 0 32px; color:#70665d; font-size:15px; line-height:1.7; }
.serviced-stay-preview__form { display:grid; gap:22px; }
.serviced-stay-preview__fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:16px; }
.serviced-stay-preview label { display:grid; gap:8px; color:#70665d; font-size:12px; font-weight:600; }
.serviced-stay-preview input,.serviced-stay-preview select { width:100%; min-height:50px; padding:10px 12px; border:1px solid #b8ab9b; border-radius:5px; background:#fffdf9; color:#302b27; font:inherit; font-size:16px; }
.serviced-stay-preview :focus-visible { outline:3px solid rgba(49,78,120,.42); outline-offset:2px; }
.serviced-stay-preview__review { padding:22px 24px; border:1px solid rgba(117,44,54,.38); background:#f8f0e9; color:#302b27; font-size:14px; line-height:1.65; }
.serviced-stay-preview__review strong { display:block; margin-bottom:5px; font-family:Georgia,"Yu Mincho",serif; font-size:19px; font-weight:400; }
.serviced-stay-preview__review dl { display:grid; grid-template-columns:110px 1fr; gap:7px 16px; margin:15px 0; }
.serviced-stay-preview__review dt { color:#752c36; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.serviced-stay-preview__review dd { margin:0; }
.serviced-stay-preview__error { margin:0; padding:11px 13px; border-left:3px solid #9e2530; background:#fff0f0; color:#7d1e28; font-size:13px; line-height:1.5; }
.serviced-stay-preview__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.serviced-stay-preview button { min-height:50px; padding:12px 18px; border:0; border-radius:5px; font:inherit; font-size:13px; font-weight:700; letter-spacing:.01em; }
.serviced-stay-preview__review-button { background:#752c36; color:#fff; cursor:pointer; transition:background-color 160ms ease,transform 160ms ease; }
.serviced-stay-preview__edit-button { border:1px solid #752c36 !important; background:transparent; color:#752c36; cursor:pointer; }
.serviced-stay-preview__review-button:hover { background:#59212a; transform:translateY(-1px); }
.serviced-stay-preview__submit { background:#e7dfd6; color:#76675d; cursor:not-allowed; }
.serviced-stay-preview__footnote { margin:2px 0 0; color:#70665d; font-size:12px; line-height:1.65; }
@media (max-width:720px) { .serviced-stay-preview { margin-bottom:48px; padding:0 16px; } .serviced-stay-preview__inner { padding:30px 20px; } .serviced-stay-preview__fields { grid-template-columns:1fr; } .serviced-stay-preview h2 { font-size:31px; } .serviced-stay-preview__review dl { grid-template-columns:1fr; gap:2px; } .serviced-stay-preview__actions { display:grid; } .serviced-stay-preview button { width:100%; } }
@media (prefers-reduced-motion:reduce) { .serviced-stay-preview__review-button { transition:none; } }

/* Apartment preference calendar follows the hotel widget's month grid and range palette. */
.serviced-stay-preview__calendar { min-width:0; padding:20px 16px 15px; border:1px solid rgba(84,65,45,.18); background:#fffdf9; }
.serviced-stay-preview__calendar-header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.serviced-stay-preview__month-label { color:#302b27; font-family:Georgia,"Yu Mincho",serif; font-size:19px; font-weight:400; text-align:center; }
.serviced-stay-preview .serviced-stay-preview__month-button { display:grid; place-items:center; flex:0 0 38px; width:38px; min-height:38px; padding:0; border:1px solid rgba(84,65,45,.18); background:#fffdf9; color:#302b27; font-size:26px; line-height:1; cursor:pointer; }
.serviced-stay-preview .serviced-stay-preview__month-button:disabled { color:#a9a19a; cursor:not-allowed; }
.serviced-stay-preview__instruction { margin:16px 0 17px; color:#70665d; font-size:13px; line-height:1.5; }
.serviced-stay-preview__months { display:grid; grid-template-columns:1fr; gap:24px; min-width:0; }
.serviced-stay-preview__months.is-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.serviced-stay-preview__month { min-width:0; }
.serviced-stay-preview__month h3 { margin:0 0 9px; color:#302b27; font-family:Georgia,"Yu Mincho",serif; font-size:18px; font-weight:400; text-align:center; }
.serviced-stay-preview__weekdays,.serviced-stay-preview__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); min-width:0; }
.serviced-stay-preview__weekdays { padding:0 0 7px; color:#70665d; font-size:11px; font-weight:700; text-align:center; }
.serviced-stay-preview__weekdays span { min-width:0; }
.serviced-stay-preview .serviced-stay-preview__day { min-width:0; width:100%; min-height:38px; padding:0; border:0; border-radius:5px; background:transparent; color:#302b27; font-size:13px; font-weight:500; font-variant-numeric:tabular-nums; cursor:pointer; }
.serviced-stay-preview .serviced-stay-preview__day:hover:not(:disabled),.serviced-stay-preview .serviced-stay-preview__day:focus-visible { background:#f5ece8; }
.serviced-stay-preview .serviced-stay-preview__day.is-in-range { border-radius:0; background:#f5ece8; }
.serviced-stay-preview .serviced-stay-preview__day.is-selected { background:#752c36; color:#fff; font-weight:700; }
.serviced-stay-preview .serviced-stay-preview__day.is-selected:hover,.serviced-stay-preview .serviced-stay-preview__day.is-selected:focus-visible { background:#59212a; color:#fff; }
.serviced-stay-preview .serviced-stay-preview__day:disabled { color:#b1aaa2; text-decoration:line-through; cursor:not-allowed; }
.serviced-stay-preview__calendar-note { margin:16px 0 0; color:#70665d; font-size:12px; line-height:1.55; }
.serviced-stay-preview__date-summary { display:grid; gap:5px; min-width:0; padding:12px 14px; border:1px solid rgba(84,65,45,.18); background:#f8f4ee; }
.serviced-stay-preview__date-summary span { color:#752c36; font-size:11px; font-weight:700; letter-spacing:.04em; }
.serviced-stay-preview__date-summary strong { overflow-wrap:anywhere; color:#302b27; font-size:14px; font-weight:500; }
.serviced-stay-preview__selection { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:24px; color:#752c36; font-size:13px; font-weight:700; }
.serviced-stay-preview .serviced-stay-preview__reset { width:auto; min-height:30px; padding:4px 0; border:0; background:transparent; color:#752c36; font-size:12px; text-decoration:underline; cursor:pointer; }
.serviced-stay-preview .serviced-stay-preview__reset:disabled { color:#aaa19b; cursor:not-allowed; }
@media (max-width:720px) { .serviced-stay-preview { padding:0; } .serviced-stay-preview__inner { padding:26px 6px; } .serviced-stay-preview__calendar { padding:15px 2px 12px; } .serviced-stay-preview .serviced-stay-preview__day { min-height:40px; } }
