:root{--primary:#126a67;--primary-dark:#0c514f;--ink:#183238;--muted:#65767a;--bg:#f5f7f5;--line:#e2e9e6;--shadow:0 18px 48px rgba(25,54,54,.09)}
.booking-page{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.booking-page button,.booking-page input,.booking-page select{font:inherit}
.booking-hero{min-height:320px;padding:40px 28px 72px;background-position:center 45%}
.booking-hero__content{align-items:center;gap:22px}.booking-logo{width:88px;height:88px;border-radius:20px;box-shadow:0 12px 35px rgba(0,0,0,.16)}
.booking-hero__eyebrow,.section-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.booking-hero__eyebrow{color:#c4e9dc}
.booking-hero h1{font-family:inherit;font-size:clamp(30px,4vw,48px);font-weight:750;letter-spacing:-.04em;line-height:1.09;margin:9px 0}.booking-hero p{font-size:15px;line-height:1.55;max-width:650px}
.booking-shell{width:min(1140px,calc(100% - 40px));margin:-54px auto 64px;position:relative}.booking-intro,.search-card,.results-section{border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.search-card{position:relative;top:auto;z-index:10;padding:28px 30px}.search-card__title{margin-bottom:21px}.search-card__title>div,.results-heading>div{gap:14px}
.step-badge{width:42px;height:42px;border-radius:13px;background:#e8f5f0;color:var(--primary);font-size:18px}.section-kicker{color:var(--primary);margin-bottom:3px}
.search-card h2,.results-heading h2{font-family:inherit;font-size:22px;font-weight:750;letter-spacing:-.035em}
.booking-search-form{grid-template-columns:repeat(2,minmax(0,1.15fr)) repeat(2,minmax(0,.7fr)) minmax(0,1fr) auto;gap:10px}
.field-group label{font-size:11px;letter-spacing:.065em;color:#596d70;margin-bottom:8px}.field-group label i{margin-right:4px;color:var(--primary)}
.field-group input,.field-group select{height:54px;border-color:#d8e2df;border-radius:12px;background:#fbfcfb;font-size:15px;min-width:0;transition:border-color .18s,box-shadow .18s}
.field-group input:focus,.field-group select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(18,106,103,.13)}
.search-button{height:54px;border-radius:12px;background:var(--primary);font-size:15px;box-shadow:0 6px 16px rgba(18,106,103,.18)}.search-button:hover,.search-button:focus{background:var(--primary-dark);color:#fff}
.booking-intro{margin:18px 0 0;padding:24px 28px;box-shadow:none}.booking-intro__heading{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--primary)}.booking-intro__heading h2{font-family:inherit;font-size:17px;font-weight:750;letter-spacing:-.02em;margin:0;color:var(--ink)}.booking-description{font-size:14px;line-height:1.65}.booking-info{background:#f5f8f6;border:1px solid var(--line);line-height:1.55}.booking-info summary{min-height:28px;display:list-item}
.results-section{padding:28px;margin-top:20px}.results-heading{align-items:flex-start;gap:16px}.results-heading p{font-size:13px;line-height:1.45;margin-top:5px}.edit-search{padding:10px 12px;border-radius:10px;background:#e9f5f0;color:var(--primary);white-space:nowrap}
.rooms-list .destaque{border-color:var(--line)!important;box-shadow:0 9px 26px rgba(25,54,54,.08)}.rooms-list .room-icon,.rooms-list .room-amenities i{color:var(--primary)}.rooms-list .room-icon{background:#e8f5f0}.rooms-list .btn100w:not(:disabled){background:var(--primary)!important;color:#fff}.rooms-list .btn100w:not(:disabled):hover{background:var(--primary-dark)!important}.booking-page footer a{color:var(--primary)}.booking-page :focus-visible{outline:3px solid #46ad99;outline-offset:3px}
@media(max-width:1050px){.booking-search-form{grid-template-columns:repeat(4,minmax(0,1fr))}.field-group:first-child,.field-group:nth-child(2){grid-column:span 2}.field-group--meal,.search-button{grid-column:span 2}}
@media(max-width:650px){
.booking-hero{min-height:238px;padding:29px 20px 65px;background-position:center}.booking-hero__content{align-items:center;gap:12px}.booking-logo{width:58px;height:58px;padding:6px;border-radius:14px;flex:0 0 auto}.booking-hero__eyebrow{font-size:9px;letter-spacing:.08em}.booking-hero h1{font-size:clamp(23px,7vw,33px);line-height:1.1;margin:6px 0}.booking-hero p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.35;opacity:.95}
.booking-shell{width:calc(100% - 28px);margin:-43px auto 42px}.search-card{position:relative;top:auto;margin:0;padding:20px 16px 17px;border:1px solid var(--line);border-radius:19px;box-shadow:0 18px 38px rgba(16,50,48,.16)}.search-card__title{margin-bottom:18px}.search-card__title>div{gap:10px}.search-card__title .step-badge{width:36px;height:36px;font-size:16px;border-radius:11px}.search-card__title h2{font-size:20px}.section-kicker{font-size:9px;letter-spacing:.1em}
.booking-search-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}.field-group:first-child,.field-group:nth-child(2){grid-column:span 1}.field-group--meal,.search-button{grid-column:1/-1}.field-group label{font-size:11px;margin-bottom:6px}.field-group input,.field-group select{height:52px;padding:0 9px;font-size:14px;border-radius:11px}.search-button{height:54px;margin-top:3px;font-size:15px;border-radius:11px}
.booking-intro{padding:18px;margin-top:14px;border-radius:16px}.booking-intro__heading{margin-bottom:7px}.booking-description{font-size:13px}.booking-info{margin-top:14px;padding:11px 13px;font-size:13px}
.results-section{margin-top:14px;padding:19px 15px;border-radius:17px}.results-heading{padding-bottom:15px;margin-bottom:16px}.results-heading>div{gap:9px;align-items:flex-start}.results-heading .step-badge{width:34px;height:34px;flex:0 0 auto;font-size:15px;border-radius:10px}.results-heading h2{font-size:19px;line-height:1.2}.results-heading p{font-size:12px;line-height:1.4}.edit-search{font-size:0;padding:9px 11px}.edit-search i{font-size:16px}
.rooms-list .destaque>.row>div:first-of-type,.rooms-list .fotoQuarto{height:215px!important;min-height:215px}.rooms-list .destaque>.row{display:block;min-height:0}.rooms-list .room-title strong{font-family:inherit!important;font-size:20px!important;letter-spacing:-.02em}.rooms-list .room-heading{gap:8px}.rooms-list .room-category{max-width:45%;white-space:normal;text-align:right;line-height:1.25}.rooms-list .room-price{align-items:flex-end}.rooms-list .precoQuarto{font-family:inherit!important;font-size:24px!important}
.search-card.search-card--has-results{position:sticky;top:0;margin:0 -14px;padding:8px 14px;border-radius:0 0 16px 16px;border-top:0;z-index:1040}.mobile-search-action{background:#e9f5f0;color:var(--primary)}.search-card--has-results.search-card--mobile-open{max-height:calc(100dvh - 8px);overflow:auto}#resultados{scroll-margin-top:78px}
}
@media(max-width:360px){.booking-hero{min-height:230px}.booking-hero h1{font-size:22px}.field-group input{font-size:12px;padding:0 6px}.room-meta{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.booking-page *{scroll-behavior:auto!important;transition:none!important}}

.booking-gallery__close:hover,.booking-gallery__close:focus{background:var(--primary)}
