.booking-page{background:#f4f4ee}.booking-nav{height:75px;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 7vw}.booking-nav a{color:#fff;text-decoration:none;font-size:12px;display:flex;gap:7px;align-items:center}.booking-shell{max-width:1220px;margin:0 auto;padding:60px 30px 90px;display:grid;grid-template-columns:1.25fr .75fr;gap:55px}.page-kicker{font-size:10px;letter-spacing:.16em;color:#76867d;font-weight:700;margin:0 0 14px}.booking-shell h1{font:500 45px var(--serif);margin:0 0 40px}.form-section{border-top:1px solid var(--line);padding:25px 0}.form-section h2{font:600 21px var(--serif);margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.field input,.field select,.field textarea{border:1px solid #cbd3cb;background:#fff;width:100%;padding:12px;font:13px var(--sans);outline-color:var(--forest)}.field textarea{resize:vertical;min-height:100px}.full{grid-column:1/-1}.guest-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stepper{border:1px solid #cbd3cb;background:#fff;padding:11px}.stepper p{margin:0 0 8px;font-size:12px;font-weight:700}.stepper small{color:#718078;font-size:10px}.step-buttons{float:right;display:flex;align-items:center;gap:10px}.step-buttons button{width:23px;height:23px;border:1px solid var(--line);background:none;cursor:pointer}.coupon{display:flex;gap:10px}.coupon input{border:1px solid #cbd3cb;padding:11px;flex:1;font:13px var(--sans)}.coupon button{border:0;background:#dce5da;padding:0 17px;font:600 11px var(--sans);color:var(--forest);cursor:pointer}.summary-card{background:#fff;box-shadow:0 10px 30px rgba(29,48,39,.08);position:sticky;top:25px}.summary-image{height:185px;background:center/cover}.summary-inner{padding:23px}.summary-inner h2{font:600 23px var(--serif);margin:5px 0}.summary-location{color:#63736c;font-size:11px}.summary-stay{margin:22px 0;padding:17px 0;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:15px}.summary-stay p{margin:0;color:#76857d;font-size:10px;letter-spacing:.08em}.summary-stay b{font-size:12px;color:var(--ink);display:block;margin-top:5px}.price-row{display:flex;justify-content:space-between;margin:11px 0;font-size:12px;color:#5e6c65}.price-row.total{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;color:var(--ink);font:600 17px var(--serif)}.continue{width:100%;margin-top:23px;padding:15px;border:0;background:var(--forest);color:white;font:600 12px var(--sans);cursor:pointer}.secure{font-size:10px;color:#718078;text-align:center;margin:14px 0 0}.summary-card .badge{position:static;background:#eff3eb;display:inline-block;color:#375547}.confirmation{max-width:840px;margin:0 auto;padding:70px 25px;text-align:center}.confirmation>i{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background:#dce9db;color:var(--forest)}.confirmation>i svg{width:25px}.confirmation h1{font:500 48px var(--serif);margin:0}.confirmation>p{color:#65746c;max-width:460px;margin:15px auto 40px}.confirmation-grid{background:white;text-align:left;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 10px 30px rgba(29,48,39,.08)}.confirm-photo{min-height:420px;background:center/cover}.confirm-details{padding:38px}.confirm-details h2{font:600 26px var(--serif);margin:4px 0}.details-list{margin:27px 0;border-top:1px solid var(--line)}.details-list div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.details-list span{color:#718078}.terms{margin:28px 0;text-align:left;font-size:11px;color:#697870;line-height:1.7}.terms input{vertical-align:middle}.payment{display:block;background:var(--forest);color:#fff;padding:15px;text-decoration:none;font:600 12px var(--sans)}.back-home{display:inline-flex;gap:8px;color:var(--forest);text-decoration:none;margin-top:28px;font-size:12px;font-weight:700}.booking-foot{text-align:center;padding:22px;color:#78877f;font-size:10px}@media(max-width:750px){.booking-shell{grid-template-columns:1fr;padding:40px 18px;gap:10px}.booking-shell h1{font-size:38px}.summary-card{position:static;grid-row:1}.form-grid{grid-template-columns:1fr}.guest-controls{grid-template-columns:1fr}.confirmation{padding:50px 18px}.confirmation h1{font-size:38px}.confirmation-grid{grid-template-columns:1fr}.confirm-photo{min-height:240px}.booking-nav{padding:0 6vw}}
