.booking-body{display:block}.booking-shell{width:min(1240px,100%);margin:0 auto;padding:0 24px 52px}.booking-nav{position:relative;z-index:5}.booking-nav .guest-brand{text-decoration:none;color:inherit}
.booking-hero{position:relative;overflow:hidden;min-height:420px;margin:22px 0 0;border-radius:32px;border:1px solid rgba(255,255,255,.1);background:
radial-gradient(circle at 78% 18%,rgba(231,201,126,.18),transparent 28%),radial-gradient(circle at 18% 2%,rgba(229,120,91,.24),transparent 34%),linear-gradient(135deg,#111b1d,#17130f 72%);background-size:cover;background-position:center}
.booking-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,14,.9) 0%,rgba(7,13,14,.62) 48%,rgba(7,13,14,.22) 100%)}.booking-hero-copy{position:relative;z-index:2;padding:74px 64px;max-width:720px}.booking-hero h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.96;letter-spacing:-.055em;margin:6px 0 20px}.booking-hero p{color:#a7b1af;font-size:1rem;line-height:1.65;max-width:590px}
.booking-benefits{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.booking-benefit{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.1);font-size:.68rem;color:#d8dfdd}
.booking-search-card{position:relative;z-index:3;margin:-42px 34px 0;padding:20px;border-radius:24px;background:rgba(19,27,29,.94);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 70px rgba(0,0,0,.34)}
.booking-step-strip{display:flex;gap:16px;color:#667371;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px 4px}.booking-step-strip span.active{color:#e7c97e}.booking-search-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) auto;gap:10px;align-items:end}.booking-search-grid label,.booking-guest-form label{display:block;color:#9faaa8;font-size:.67rem;font-weight:700;letter-spacing:.04em}.booking-search-grid input,.booking-search-grid select,.booking-guest-form input,.booking-guest-form textarea{width:100%;box-sizing:border-box;margin-top:6px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);color:#fff;border-radius:12px;padding:12px 13px;min-height:45px}.booking-search-btn{min-height:45px;border:0;border-radius:12px;padding:0 20px;background:#e5785b;color:#fff;font-weight:800;cursor:pointer}
.booking-main{padding:55px 6px 0}.booking-section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:18px}.booking-section-head h2,.booking-guest-form h2,.booking-confirmed h2{margin:3px 0 0;font-size:1.8rem;letter-spacing:-.035em}.booking-search-summary{color:#7f8c89;font-size:.78rem;text-align:right}
.booking-results{display:grid;gap:18px}.booking-room-card{display:grid;grid-template-columns:minmax(300px,40%) 1fr;min-height:250px;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 18px 60px rgba(0,0,0,.17)}
.booking-room-media{position:relative;min-height:250px;background:linear-gradient(145deg,rgba(229,120,91,.18),rgba(59,153,148,.12));overflow:hidden}.booking-room-media img{width:100%;height:100%;min-height:250px;object-fit:cover;display:block;transition:.3s ease}.booking-room-card:hover .booking-room-media img{transform:scale(1.025)}.booking-room-no-photo{height:100%;min-height:250px;display:grid;place-items:center;color:#93a09e;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.booking-room-badge{position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(10,17,18,.76);backdrop-filter:blur(12px);font-size:.64rem;color:#e7c97e;border:1px solid rgba(231,201,126,.2)}
.booking-thumbs{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:7px}.booking-thumbs button{width:44px;height:34px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:9px;overflow:hidden;background:#111;cursor:pointer}.booking-thumbs img{min-height:0;width:100%;height:100%;object-fit:cover}
.booking-room-copy{padding:25px 26px;display:grid;grid-template-columns:1fr auto;gap:22px}.booking-room-copy h3{font-size:1.45rem;margin:3px 0 8px}.booking-property{font-size:.65rem;color:#e7c97e;letter-spacing:.1em;text-transform:uppercase}.booking-room-description{color:#96a3a0;line-height:1.55;font-size:.86rem;max-width:620px}.booking-room-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.booking-room-facts span{font-size:.68rem;padding:7px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.09);color:#aab4b2}.booking-policy{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:4px}.booking-policy small{color:#76837f;font-size:.68rem}.booking-price{text-align:right;min-width:175px}.booking-price small{display:block;color:#7f8c89;font-size:.67rem}.booking-price strong{font-size:1.5rem;display:block;margin:3px 0}.booking-total{color:#b7c1bf;font-size:.75rem;margin:5px 0 14px}.booking-select{border:0;border-radius:11px;background:#e5785b;color:#fff;font-weight:800;padding:11px 17px;cursor:pointer;width:100%}
.booking-empty{padding:38px;border-radius:22px;border:1px dashed rgba(255,255,255,.12);color:#83908d;text-align:center;background:rgba(255,255,255,.025)}.booking-back{border:0;background:transparent;color:#e7c97e;font-weight:800;cursor:pointer;margin-bottom:16px;padding:0}
.booking-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:26px;align-items:start}.booking-guest-form,.booking-summary-card{padding:25px;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045)}.booking-guest-form{display:grid;gap:12px}.booking-summary-card{position:sticky;top:18px}.booking-summary-image{height:190px;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,rgba(229,120,91,.18),rgba(59,153,148,.12));margin-bottom:17px}.booking-summary-image img{width:100%;height:100%;object-fit:cover}.booking-summary-card h3{margin:0 0 5px;font-size:1.3rem}.booking-summary-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.77rem}.booking-summary-row span{color:#899693}.booking-summary-total{display:flex;justify-content:space-between;align-items:end;margin-top:18px}.booking-summary-total strong{font-size:1.45rem}.booking-member-note{display:grid;gap:4px;padding:14px;border-radius:14px;background:rgba(231,201,126,.07);border:1px solid rgba(231,201,126,.16)}.booking-member-note strong{font-size:.78rem;color:#e7c97e}.booking-member-note span,.booking-safe-note{font-size:.7rem;line-height:1.5;color:#7d8a87}.booking-confirm-btn{font-size:.9rem}
.booking-confirmed{max-width:720px;margin:40px auto;text-align:center;padding:48px 30px;border-radius:28px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05)}.booking-confirm-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:rgba(123,199,150,.12);color:#8bd1a4;font-size:1.6rem;border:1px solid rgba(123,199,150,.2)}.booking-confirmed .guest-primary-btn{margin:18px 5px 0}.booking-confirmed .guest-secondary-btn{margin:18px 5px 0}
@media(max-width:950px){.booking-search-grid{grid-template-columns:repeat(3,1fr)}.booking-search-btn{grid-column:span 1}.booking-room-card{grid-template-columns:1fr}.booking-room-copy{grid-template-columns:1fr auto}.booking-checkout-grid{grid-template-columns:1fr}.booking-summary-card{position:relative;top:auto}}
@media(max-width:680px){.booking-shell{padding:0 14px 36px}.booking-hero{min-height:355px;border-radius:24px}.booking-hero-copy{padding:55px 24px}.booking-search-card{margin:-30px 8px 0;padding:15px}.booking-step-strip{overflow:auto}.booking-search-grid{grid-template-columns:1fr 1fr}.booking-search-grid label:first-child:not([hidden]){grid-column:1/-1}.booking-search-btn{grid-column:1/-1}.booking-main{padding-top:38px}.booking-section-head{align-items:flex-start;flex-direction:column}.booking-search-summary{text-align:left}.booking-room-copy{grid-template-columns:1fr}.booking-price{text-align:left;min-width:0}.booking-room-media,.booking-room-media img,.booking-room-no-photo{min-height:220px}.booking-room-copy{padding:20px}.booking-nav .guest-header-actions a:last-child{display:none}}
