/* Booking styles follow Manere's existing serif headings and neutral palette. */
.stay-booking-page{padding-top:36px!important}.stay-page-intro{margin:0 0 26px}.stay-page-title{font-family:Georgia,serif;font-size:clamp(2rem,3.3vw,2.8rem);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:10px 0 12px}.stay-page-intro>p,.stay-apartments-intro>p{font-size:1rem;line-height:1.6;color:#62675f;margin:0}
.stay-planner{background:#fff;border:1px solid #e3dfd6;border-radius:14px;padding:24px 26px;margin:0 0 34px;box-shadow:0 4px 20px #17191804;scroll-margin-top:110px}.stay-planner h2{font-family:Georgia,serif;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:400;line-height:1.3;letter-spacing:-.015em;margin:8px 0 10px}.stay-hint{font-size:.9rem;line-height:1.55;color:#62675f;margin:0 0 22px;max-width:800px}
.stay-fields{display:grid;grid-template-columns:1.2fr 1.2fr .65fr .65fr;gap:14px}.stay-fields label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:500;color:#484d46}.stay-fields input{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:.95rem;font-weight:400;line-height:1.3;padding:12px 13px;border:1px solid #d8d4cb;border-radius:7px;background:#fcfbf8;color:#171918;min-height:46px}.stay-fields input:focus{outline:2px solid #aa8b58;outline-offset:2px}
.stay-extras{margin:17px 0 0}.stay-extras summary{font-size:.8rem;color:#70644e;cursor:pointer;width:fit-content;padding:5px 0}.stay-extra-fields{grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 0 0;max-width:750px}.stay-form-footer{display:flex;align-items:center;gap:18px;margin-top:20px;min-height:38px}.stay-form-action{margin:0;border:1px solid #d8d4cb!important;background:#f6f3ed!important;color:#282c26!important;padding:10px 15px!important;box-shadow:none!important;flex-shrink:0}.stay-status{font-size:.8rem;line-height:1.5;color:#62675f;margin:0;max-width:680px}
.stay-form-action,.stay-checkout{font-size:.83rem!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;border-radius:7px!important}.stay-checkout[aria-disabled=true]{opacity:.55;cursor:wait}.stay-apartments-intro{margin-bottom:22px}.stay-apartments-intro h2{font-family:Georgia,serif;font-size:1.9rem;line-height:1.2;font-weight:400;margin:0 0 10px;letter-spacing:-.02em}
.stay-booking-page .cards{align-items:stretch;gap:22px}.stay-booking-page .apartment-card{border:1px solid #e3dfd6;border-radius:14px;background:#fff;box-shadow:none;overflow:hidden}.stay-booking-page .apartment-card .card-img{aspect-ratio:16/10;max-height:245px;overflow:hidden}.stay-booking-page .apartment-card .card-img img{width:100%;height:100%;object-fit:cover}.stay-booking-page .apartment-choice{border:0;border-radius:0;box-shadow:none;background:#fff;padding:22px!important}.stay-booking-page .apartment-choice h3{font-family:Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.2;margin:0 0 9px}.stay-booking-page .apartment-choice>p{font-size:.9rem;line-height:1.5;margin:0;color:#62675f;min-height:42px}
.stay-quote-card{display:flex;flex-direction:column;border-top:1px solid #eeebe4;margin-top:18px;padding-top:18px}.stay-price{font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.65rem;line-height:1.3;font-weight:600;display:block;margin:0 0 5px}.stay-price-note{font-size:.8rem;line-height:1.5;color:#62675f;min-height:42px;margin:0 0 15px}.stay-quote-card .stay-checkout{align-self:stretch;text-align:center;justify-content:center;margin:0;padding:13px 18px!important}.stay-card-detail{display:block;text-align:center;color:#70644e;font-size:.8rem;margin-top:14px;text-decoration:underline;text-underline-offset:3px}.stay-final-note{font-size:.78rem;color:#777b73;line-height:1.5;margin:20px 0 0;text-align:center}
@media(max-width:760px){.stay-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-extra-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-form-footer{align-items:flex-start;flex-direction:column;gap:12px}.stay-planner{padding:22px}.stay-booking-page .cards{gap:18px}.stay-page-intro{margin-bottom:22px}}
@media(max-width:430px){.stay-planner{padding:18px}.stay-fields{gap:12px}.stay-extra-fields{grid-template-columns:1fr}.stay-fields input{font-size:.87rem;padding:11px 9px}.stay-page-title{font-size:2rem}.stay-booking-page{padding-top:26px!important}.stay-booking-page .apartment-choice{padding:20px!important}}
