.reservation-page{padding-top:55px;padding-bottom:75px}.reservation-page h1{font-size:clamp(40px,5vw,65px);margin:15px 0}.reservation-lead{max-width:650px}.reservation-steps{display:flex;list-style:none;padding:0;gap:25px;margin:30px 0 35px;border-bottom:1px solid var(--line)}.reservation-steps li{padding:14px 0;font-size:12px;color:#adb9ae}.reservation-steps [aria-current]{color:var(--gold);border-bottom:2px solid var(--gold)}.reservation-search{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr .6fr .6fr;gap:12px;background:#172c21;padding:22px;border:1px solid var(--line);border-radius:8px}.reservation-search .button{grid-column:1/-1;justify-self:end}.reservation-search input,.reservation-search select{margin-bottom:0}.reservation-results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:38px 0 24px}.reservation-results-heading h2{margin:10px 0}.reservation-results-heading p{font-size:12px}.reservation-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.reservation-room{display:grid;grid-template-columns:180px 1fr;margin-bottom:20px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#14281d}.reservation-room>img{width:100%;height:100%;min-height:200px;object-fit:cover}.reservation-room-copy{padding:23px}.reservation-room h3,.reservation-summary h3{font-size:30px;margin:10px 0}.reservation-room p{font-size:12px;margin:10px 0}.reservation-room-price{grid-column:1/-1;border-top:1px solid var(--line);padding:18px 23px;display:grid;grid-template-columns:1fr 160px;gap:0 20px;align-items:center}.reservation-room-price>strong{font-size:20px}.reservation-room-price>small{grid-column:1;color:#afb8aa}.reservation-room-price>label{grid-column:2;grid-row:1/4}.reservation-pill{display:inline-block;background:#294936;color:#cee4c8;border-radius:30px;padding:7px 12px;font-size:11px}.reservation-summary,.reservation-details,.reservation-confirmation{padding:26px;background:#172c21;border:1px solid var(--line);border-radius:8px}.reservation-summary{position:sticky;top:25px}.reservation-summary p,.reservation-policy,.reservation-terms p{font-size:12px}.reservation-summary .button{width:100%;justify-content:center;white-space:normal}.reservation-total{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding:22px 0;margin-top:20px}.reservation-total strong{font-size:25px;color:var(--gold)}.reservation-total>span{font-size:12px}.reservation-line{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.reservation-line small{display:block;margin-top:6px;color:#adb9ae}.reservation-empty{text-align:center;padding:55px 25px;border:1px solid var(--line);border-radius:8px;margin-top:25px}.reservation-empty p{max-width:500px;margin:15px auto 25px}.reservation-back{display:block;margin-top:18px;text-decoration:underline;font-size:12px}.reservation-terms{border-top:1px solid var(--line);padding-top:18px}.reservation-confirmation{max-width:740px;margin:auto}.reservation-check{display:block;font-size:40px;color:var(--gold);margin-bottom:18px}.reservation-reference{background:#264531;padding:18px;margin:25px 0}.reservation-reference strong{display:block;font-size:24px;letter-spacing:2px;margin-top:8px}.reservation-confirm-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.reservation-page button:disabled{opacity:.5;cursor:not-allowed}.reservation-page a:focus-visible,.reservation-page button:focus-visible,.reservation-page input:focus-visible,.reservation-page select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(min-width:851px){.reservation-page{padding-top:220px}}
@media(max-width:1000px){.reservation-grid{grid-template-columns:1fr 280px}.reservation-search{grid-template-columns:repeat(3,1fr)}.reservation-room{grid-template-columns:130px 1fr}}
@media(max-width:750px){.reservation-grid{grid-template-columns:1fr}.reservation-summary{position:static}.reservation-search{grid-template-columns:1fr 1fr}.reservation-steps{gap:15px}.reservation-steps li{font-size:10px}.reservation-results-heading{align-items:flex-start;flex-direction:column}.reservation-page{padding-top:30px}.reservation-details .form-grid{grid-template-columns:1fr}}
@media(max-width:420px){.reservation-room{grid-template-columns:1fr}.reservation-room>img{height:180px;min-height:0}.reservation-room-price{grid-template-columns:1fr}.reservation-room-price>label{grid-column:1;grid-row:auto}.reservation-summary,.reservation-details,.reservation-confirmation{padding:20px}.reservation-line{flex-direction:column}}
@media print{.resort-header,.closing,.resort-footer,.whatsapp,.reservation-confirm-actions,.reservation-steps{display:none!important}.reservation-page{width:100%;padding:0}.reservation-confirmation{background:white;color:black;border:0}.reservation-total strong,.reservation-reference{color:black;background:white}}
