.sm-booking{background:#f5f7f4;color:#183f37;padding-bottom:40px}.sm-booking .shell{max-width:1160px}.sm-booking .booking-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#103e38,#1b6457);padding:54px 0 76px;margin:0;color:#fff}.sm-booking .booking-hero>.shell{display:flex;justify-content:space-between;align-items:center;gap:36px}.sm-booking .booking-hero h1{font-size:clamp(38px,4.6vw,62px);line-height:1.08;letter-spacing:-1.4px;color:#fff;margin:14px 0 18px}.sm-booking .booking-hero p{max-width:520px;color:#d5e6df;line-height:1.6;font-size:15px}.sm-booking .booking-hero .eyebrow{color:#e4c589;font-size:11px;letter-spacing:2px}.sm-booking-steps{display:flex;gap:24px;margin-top:28px;flex-wrap:wrap;font-size:12px;color:#e3eee8}.sm-booking-steps b{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;background:#ffffff17;border:1px solid #ffffff30;border-radius:50%;font-size:10px;color:#e4c589;margin-right:6px}.sm-hero-mark{width:230px;height:230px;border:1px solid #d4dfb34a;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff04;box-shadow:0 0 0 22px #ffffff03,0 0 0 44px #ffffff02}.sm-hero-mark span{letter-spacing:5px;font-size:15px}.sm-hero-mark i{font-size:14px;color:#cfdecf;margin-top:10px}.sm-hero-mark div{font-size:65px;line-height:1.3;color:#e5c587}.sm-booking>.section{padding:0 24px 24px!important}.sm-booking .booking-shell{position:relative;margin-top:-30px}.sm-booking .availability-form{background:#fff;border:1px solid #e0e9e2;border-radius:20px;padding:24px 28px;box-shadow:0 12px 35px #163e3210}.sm-booking .availability-heading{margin-bottom:18px}.sm-booking .availability-heading h2{font-size:25px;margin:6px 0;letter-spacing:-.3px}.sm-booking .availability-note{font-size:10px;letter-spacing:1.2px;color:#6e8177}.sm-booking .booking-search-grid{display:grid;grid-template-columns:1.25fr 1.25fr .7fr 1fr 1.2fr;gap:12px;align-items:end}.sm-booking label{font-size:11px;font-weight:600;color:#4f675d;letter-spacing:.3px}.sm-booking input,.sm-booking select,.sm-booking textarea{border:1px solid #dce6df;border-radius:10px;background:#fafcf9;min-height:48px;padding:12px 13px;font-size:14px;width:100%;box-sizing:border-box;max-width:100%}.sm-booking input:focus,.sm-booking select:focus,.sm-booking textarea:focus{outline:2px solid #88bbab;outline-offset:1px}.sm-booking .booking-search-grid .button{min-height:48px;border-radius:10px;padding:12px 16px;background:#176757;font-size:13px;white-space:nowrap}.sm-booking .date-hint{font-size:12px;color:#7d8b80;margin:14px 0 0}.sm-booking .results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:32px 0 18px}.sm-booking .results-heading h2{font-size:27px;line-height:1.25;margin:7px 0 0}.sm-booking .result-tip{font-size:11px;color:#73877a}.sm-booking .booking-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.sm-booking .individual-room{display:block!important;border:1px solid #dce6df;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 18px #163f3206;margin:0!important}.sm-booking .booking-room-image{display:none!important}.sm-booking .booking-room-content{padding:24px!important;min-width:0}.sm-booking .booking-room-title{display:flex;justify-content:space-between;align-items:start;gap:16px;margin:0 0 16px}.sm-booking .booking-room-title h3{font-size:24px;line-height:1.2;margin:9px 0 0;letter-spacing:-.3px}.sm-booking .booking-room-title .eyebrow{font-size:10px;letter-spacing:1.4px}.sm-booking .booking-room-title strong{font-size:24px!important;color:#145b4b;white-space:nowrap}.sm-booking .booking-room-title small,.sm-booking .booking-room-title .sm-base-rate{font-size:11px!important;color:#829086}.sm-booking .booking-room-content>p{font-size:13px;line-height:1.6;color:#738176;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 18px}.sm-booking .room-meta{font-size:11px;display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px;padding:0}.sm-booking .availability-status{background:#e9f5ed;border-radius:20px;padding:4px 8px;color:#226d50;font-size:10px}.sm-booking .request-panel{border:0;margin:0!important;padding:0!important}.sm-booking .request-panel>summary{min-height:46px;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;padding:12px 16px!important;border-radius:10px!important;background:#196b58!important;color:#fff!important;font-size:13px!important;list-style:none}.sm-booking .request-panel>summary::-webkit-details-marker{display:none}.sm-booking .request-panel>summary b{font-size:20px;font-weight:400}.sm-booking .request-panel[open]>summary{background:#eff6f1!important;color:#185c49!important;margin-bottom:18px}.sm-booking .book-form{padding:0!important}.sm-booking .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sm-booking .form-wide{grid-column:1/-1}.sm-booking .form-submit{padding:16px 0 0;margin:0}.sm-booking .form-submit .button{width:100%;border-radius:10px;padding:14px}.sm-booking .form-submit small{display:block;font-size:11px;line-height:1.6;color:#7b8c80;margin-top:10px}.sm-booking .sm-extra{border:1px solid #e1e9e3;border-radius:10px;padding:12px;margin-bottom:18px;font-size:12px}.sm-booking .sm-extra>summary{cursor:pointer;color:#416c58;font-weight:600}.sm-booking .sm-payment{background:#fff;border:1px solid #dfe7e1;border-radius:14px;margin:16px 0;padding:18px 22px}.sm-booking .sm-payment>summary{font-size:14px;font-weight:600;cursor:pointer}.sm-booking .sm-payment>summary span{float:right;font-size:12px;color:#869388;font-weight:400}.sm-booking .panel{border-radius:18px;border:1px dashed #cddbd0;background:#fff;margin-top:24px}.sm-booking .panel h2{font-size:27px}.sm-booking .booking-results>.panel{grid-column:1/-1}@media(max-width:900px){.sm-booking .booking-search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sm-booking .booking-search-grid>.button{grid-column:1/-1}.sm-hero-mark{width:180px;height:180px}.sm-booking .booking-room-title{flex-wrap:wrap}}@media(max-width:640px){.sm-booking .booking-hero{padding:32px 0 60px}.sm-booking .booking-hero h1{font-size:42px}.sm-booking .booking-hero p{font-size:13px}.sm-hero-mark{display:none}.sm-booking-steps{gap:12px;font-size:10px;margin-top:20px}.sm-booking>.section{padding:0 14px 16px!important}.sm-booking .availability-form{padding:20px 16px;border-radius:16px}.sm-booking .availability-heading{display:block}.sm-booking .availability-heading h2{font-size:22px}.sm-booking .availability-note{display:none}.sm-booking .booking-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sm-booking .results-heading{align-items:start;flex-direction:column;gap:8px;margin:26px 0 16px}.sm-booking .results-heading h2{font-size:24px}.sm-booking .booking-results{grid-template-columns:1fr;gap:14px}.sm-booking .booking-room-content{padding:20px!important}.sm-booking .booking-room-title{flex-wrap:nowrap}.sm-booking .booking-room-title h3{font-size:22px}.sm-booking .booking-room-title strong{font-size:22px!important}.sm-booking .sm-payment>summary span{display:block;float:none;margin-top:7px}.sm-booking .form-grid{gap:12px}.sm-booking .form-grid label{min-width:0}.sm-booking .book-form input,.sm-booking .book-form select{font-size:16px}}
.sm-booking input[type="checkbox"],.sm-booking input[type="radio"]{width:18px;min-height:18px;height:18px;padding:0;flex-shrink:0}.sm-booking .book-form .form-grid{margin:0}.sm-booking .sm-extra[open]>summary{margin-bottom:12px}@media(max-width:380px){.sm-booking .booking-room-title{flex-wrap:wrap}.sm-booking .sm-booking-steps{gap:7px}.sm-booking .form-grid{grid-template-columns:1fr}}