/* Homepage booking and hotel cards. */
.ufaq-container h2 { color: #174b4d; letter-spacing: -.5px; }
.ufaq-container > p { color: #758481; line-height: 1.6; }
.ufaq-container .ufaq-box { margin-top: 26px; padding: 10px 26px; background: #fff; border: 1px solid #e2ebe7; border-radius: 22px; box-shadow: 0 10px 35px #174b4d0a; overflow: hidden; }
.ufaq-container .ufaq-item { margin: 0; border: 0; border-bottom: 1px solid #edf1ef; border-radius: 0; background: #fff; box-shadow: none; }
.ufaq-container .ufaq-item:last-child { border-bottom: 0; }
.ufaq-container .ufaq-item:hover, .ufaq-container .ufaq-item.active { box-shadow: none; }
.ufaq-container .ufaq-question { padding: 22px 0; border-radius: 0; gap: 16px; background: #fff; color: #294b49; font-size: 15px; font-weight: 600; line-height: 1.6; transition: color .2s; }
.ufaq-container .ufaq-question:hover, .ufaq-container .ufaq-item.active .ufaq-question { color: #007d81; }
.ufaq-container .ufaq-question:focus-visible { outline: 3px solid #e5bd77; outline-offset: -4px; }
.ufaq-container .ufaq-question p { margin: 0; color: inherit; font-size: inherit; }
.ufaq-container .ufaq-arrow { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border: 1px solid #e0ebe6; border-radius: 50%; background: #f4f9f6; color: #007d81; font-size: 15px; }
.ufaq-container .ufaq-answer { padding: 0 42px 22px 0; background: #fff; color: #6b7f78; border: 0; border-radius: 0; font-size: 14px; line-height: 1.85; }
.ufaq-container .ufaq-answer p { color: inherit; font-size: inherit; line-height: inherit; margin: 0 0 10px; }
.ufaq-container .ufaq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
    .ufaq-container .ufaq-box { padding: 4px 18px; border-radius: 18px; }
    .ufaq-container .ufaq-question { padding: 18px 0; font-size: 13px; gap: 12px; }
    .ufaq-container .ufaq-answer { padding: 0 0 18px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .ufaq-container .ufaq-item, .ufaq-container .ufaq-question, .ufaq-container .ufaq-arrow { transition: none; }
    .ufaq-container .ufaq-item.active .ufaq-answer { animation: none; }
}
.confidence-section .twc-section h2 { letter-spacing: -.5px; color: #174b4d; margin-bottom: 10px; }
.confidence-section .twc-section h2::after { content: ''; display: block; width: 42px; height: 3px; border-radius: 3px; margin: 12px auto 0; background: linear-gradient(90deg, #007d81, #9bcbbd); }
.confidence-section .twc-section p { line-height: 1.6; color: #758481; }
.confidence-section .twc-row { align-items: stretch; }
.confidence-section .twc-item { padding: 18px 10px; border-radius: 16px; background: transparent; transition: background .25s ease, box-shadow .25s ease; }
.confidence-section .twc-item h3 { line-height: 1.5; color: #264d4e; letter-spacing: -.15px; }
.confidence-section .twc-item p { line-height: 1.6; color: #71817e; margin-top: 8px; }
.confidence-section .twc-item img { object-fit: contain; filter: drop-shadow(0 4px 5px #007d8110); transition: transform .25s ease, filter .25s ease; }
.confidence-section .twc-item:hover { background: #f6fbf9; box-shadow: 0 6px 20px #174b4d06; }
.confidence-section .twc-item:hover img { transform: translateY(-4px); filter: drop-shadow(0 7px 7px #007d8120); }
.confidence-section .twc-divider { align-self: center; border-right-color: #9ccbc5; opacity: .8; }
@media (max-width: 768px) { .confidence-section .twc-item { padding: 16px 12px; } }
@media (prefers-reduced-motion: reduce) { .confidence-section .twc-item, .confidence-section .twc-item img { transition: none; } }
.grid-big, .grid-small { width: min(1180px, 90%); gap: 20px; }
.grid-big { margin: 24px auto 20px; }
.grid-small { margin: 0 auto 48px; }
.grid-big .card-big, .grid-small .card-small { position: relative; padding: 0; overflow: hidden; border-radius: 23px; text-align: left; background: #16464a; box-shadow: 0 6px 20px #143e4314; isolation: isolate; transition: transform .3s, box-shadow .3s; }
.grid-big .card-big { height: 290px; }
.grid-small .card-small { height: 220px; }
.grid-big .card-big img, .grid-small .card-small img { display: block; width: 100%; height: 100%; border-radius: 0; object-fit: cover; transition: transform .65s ease; }
.card-big::after, .card-small::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #092e3620 0%, transparent 25%, #092e3650 55%, #082d35e8 100%); z-index: 0; pointer-events: none; }
.destination-tag { position: absolute; top: 18px; left: 20px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #ffffff60; border-radius: 30px; padding: 6px 11px; color: #fff; background: #163f4850; font-size: 10px; z-index: 1; }
.destination-card-copy { position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 1; color: #fff; }
.destination-kicker { font-size: 9px; font-weight: 600; letter-spacing: 2px; color: #c4e3d9; }
.destination-card-copy h3 { position: static; margin: 7px 0 12px; font-size: 30px; line-height: 1.2; letter-spacing: -.7px; font-weight: 650; color: #fff; }
.card-small .destination-card-copy h3 { font-size: 25px; }
.destination-explore { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: #e0efea; }
.destination-explore i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #ffffff50; border-radius: 50%; transition: background .25s, transform .25s; }
.grid-big .card-big:hover, .grid-small .card-small:hover { transform: translateY(-4px); box-shadow: 0 14px 28px #143e4326; }
.card-big:hover img, .card-small:hover img { transform: scale(1.055); }
.card-big:hover .destination-explore i, .card-small:hover .destination-explore i { background: #008780; border-color: #008780; transform: rotate(-35deg); }
.card-big:focus-visible, .card-small:focus-visible { outline: 3px solid #008780; outline-offset: 4px; }
@media (max-width: 768px) {
    .grid-big { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-small { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-big .card-big, .grid-small .card-small { height: 225px; }
    .destination-card-copy { left: 16px; right: 16px; bottom: 16px; }
    .destination-card-copy h3, .card-small .destination-card-copy h3 { font-size: 23px; }
    .destination-tag { left: 14px; top: 14px; }
    .destination-kicker { display: none; }
}
@media (max-width: 480px) {
    .grid-big, .grid-small { gap: 12px; }
    .grid-big .card-big, .grid-small .card-small { height: 200px; border-radius: 18px; }
    .destination-card-copy h3, .card-small .destination-card-copy h3 { font-size: 21px; }
    .destination-explore { font-size: 10px; }
    .destination-explore i { width: 25px; height: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .grid-big .card-big, .grid-small .card-small, .grid-big .card-big img, .grid-small .card-small img, .destination-explore i { transition: none; }
}
.hero-slider { height: 330px; }
@media (max-width: 1200px) { .hero-slider { height: 290px; } }
@media (max-width: 768px) { .hero-slider { height: 220px; } }
@media (max-width: 480px) { .hero-slider { height: 185px; } }
.destination-results { position: absolute; top: calc(100% + 12px); left: 0; width: 350px; max-width: calc(100vw - 52px); max-height: 320px; overflow-y: auto; z-index: 300; padding: 8px; background: #fff; border: 1px solid #dcebe6; border-radius: 18px; box-shadow: 0 16px 42px #123f4326; }
.destination-results[hidden] { display: none; }
.destination-results button { display: flex; gap: 13px; align-items: center; width: 100%; text-align: left; border: 0; background: transparent; border-radius: 11px; padding: 12px; color: #234c4d; cursor: pointer; }
.destination-results button:hover, .destination-results button[aria-selected="true"] { background: #edf7f2; }
.destination-results button i { width: 24px; color: #00847f; font-size: 17px; }
.destination-results strong { display: block; font-size: 13px; line-height: 1.5; }
.destination-results small { display: block; font-size: 11px; color: #7a8c87; margin-top: 3px; }
.destination-results p { font-size: 12px; padding: 12px; color: #6c807a; }
.booking-field-icon { color: #007d81; font-size: 17px; flex-shrink: 0; }
.booking-calendar { position: absolute; z-index: 2000; box-sizing: border-box; width: min(312px, calc(100vw - 24px)); padding: 20px; border: 1px solid #dcebe6; border-radius: 22px; background: #fff; box-shadow: 0 18px 60px #123f4330; font-family: inherit; animation: booking-arrive .18s ease-out; }
.booking-calendar[hidden] { display: none; }
.booking-calendar-caption { color: #008780; font-size: 10px; letter-spacing: 1.8px; font-weight: 700; margin-bottom: 12px; }
.booking-calendar-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; color: #173e40; }
.booking-calendar-head strong { font-size: 15px; }
.booking-calendar-head button { width: 32px; height: 32px; border: 1px solid #dcebe6; background: #f4faf7; border-radius: 10px; color: #007d81; font-size: 24px; line-height: 1; }
.booking-calendar-week, .booking-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.booking-calendar-week { margin-bottom: 8px; color: #849995; font-size: 10px; font-weight: 600; }
.booking-calendar-days button { aspect-ratio: 1; border: 0; border-radius: 10px; background: transparent; color: #284e4e; font-size: 12px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s; }
.booking-calendar-days button.in-stay { background: #edf7f2; color: #007d81; }
.booking-calendar-days button:hover:not(:disabled) { background: #d8eee7; }
.booking-calendar-days button.selected, .booking-calendar-days button.selected:hover { background: #007d81; color: #fff; box-shadow: 0 4px 10px #007d812b; }
.booking-calendar-days button:disabled { color: #c6d0cd; cursor: default; }
.booking-calendar button:focus-visible { outline: 2px solid #bd8c38; outline-offset: 2px; }
.booking-calendar-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; padding-top: 13px; border-top: 1px solid #edf2ef; color: #82938f; font-size: 10px; gap: 8px; }
.booking-calendar-foot button { border: 0; background: #edf7f2; color: #007d81; border-radius: 8px; padding: 7px 11px; font-size: 11px; font-weight: 600; }
#thxBookingForm input[type="date"]::-webkit-calendar-picker-indicator { opacity: .5; cursor: pointer; }
.search-box-wrapper .search-box {
    width: min(1180px, 92%);
    height: auto;
    position: relative;
    padding: 16px 22px;
    border: 1px solid #e0eeec;
    border-radius: 28px;
    background: radial-gradient(ellipse at 100% 0%, #d9f4ed 0%, transparent 52%), linear-gradient(120deg, #fff, #f7fcfa);
    box-shadow: 0 20px 60px #123f4321;
    margin-top: -100px;
    animation: booking-arrive .65s ease-out both;
    isolation: isolate;
}
.search-box-wrapper .search-box::before { content: ''; position: absolute; top: 0; left: 28px; right: 28px; height: 3px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, transparent, #18a79a, #e5bd77, transparent); background-size: 200% 100%; animation: booking-shimmer 8s ease-in-out infinite; pointer-events: none; }
.search-box h1 { font-size: clamp(24px, 2.6vw, 31px); line-height: 1.2; letter-spacing: -.9px; color: #075e61; }
.search-box .subtitle { color: #657979; font-size: 14px; margin: 5px 0 16px; }
.booking-welcome { display: flex; align-items: center; gap: 13px; margin-bottom: 13px; }
.booking-welcome-icon { position: relative; display: grid; place-items: center; flex: 0 0 43px; height: 43px; border: 1px solid #d5eae4; border-radius: 14px; background: linear-gradient(145deg, #edf9f4, #d5eee6); color: #007d81; font-size: 20px; box-shadow: inset 0 1px 0 #fff; }
.booking-sparkle { position: absolute; top: 3px; right: 5px; color: #bd8c38; font-size: 13px; animation: booking-twinkle 3s ease-in-out infinite; }
.booking-welcome h1 { font-size: clamp(22px, 2.3vw, 28px); margin: 0; }
.booking-welcome .subtitle { margin: 3px 0 0; font-size: 13px; line-height: 1.5; }
.booking-welcome .subtitle strong { font-weight: 600; color: #007d81; }
#thxBookingForm { padding: 7px; border: 1px solid #e1eae9; border-radius: 17px; box-shadow: 0 6px 20px #123f4308; max-width: none; }
#thxBookingForm .thx-form-row { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1.3fr auto; gap: 6px; align-items: stretch; }
#thxBookingForm .thx-divider { display: none; }
#thxBookingForm .thx-field { padding: 9px 10px; min-width: 0; border-radius: 12px; gap: 10px; transition: background .2s; }
#thxBookingForm .thx-field:hover { background: #f0f8f5; }
#thxBookingForm .thx-field:focus-within { background: #eff8f6; outline: 2px solid #007d81; outline-offset: -2px; }
#thxBookingForm .thx-field-inner { min-width: 0; width: 100%; }
#thxBookingForm label { display: block; margin-bottom: 5px; font-size: 11px; letter-spacing: .7px; text-transform: uppercase; color: #698080; }
#thxBookingForm .thx-field-inner input, #thxBookingForm select { width: 100%; min-width: 0; font-size: 13px; padding: 0; color: #183e40; }
#thxBookingForm .thx-field > img { width: 19px; height: 19px; object-fit: contain; flex-shrink: 0; }
#thxBookingForm .thx-search-btn { width: auto; height: auto; min-height: 52px; padding: 0 22px; border-radius: 13px; gap: 10px; color: #fff; background: linear-gradient(135deg, #008c88, #006b70); font-size: 14px; font-weight: 600; white-space: nowrap; box-shadow: 0 5px 12px #007d8126; transition: background .2s, transform .2s; }
#thxBookingForm .thx-search-btn:hover { background: #005c61; transform: translateY(-1px); }
#thxBookingForm button:focus-visible, .thx-card-link:focus-visible { outline: 3px solid #e3ad52; outline-offset: 3px; }
#thxBookingForm .thx-guest-popup { top: calc(100% + 12px); left: auto; right: 0; width: 285px; max-width: calc(100vw - 48px); padding: 22px; border: 1px solid #e0eeec; border-radius: 18px; box-shadow: 0 16px 40px #123f4326; }
#thxBookingForm .thx-counter { gap: 8px; padding-bottom: 10px; border-bottom: 1px solid #edf2f1; }
#thxBookingForm .thx-counter span { flex: 1; color: #345658; font-size: 14px; }
#thxBookingForm .thx-counter button { flex-shrink: 0; color: #007d81; border-color: #cfe4e0; background: #f3faf8; }
#thxBookingForm .thx-popup-done { padding: 11px; border-radius: 10px; }
.thx-trending-hotels { width: 98%; max-width: 98%; padding-left: 15px; padding-right: 15px; }
.thx-trending-hotels .thx-slider-track { gap: 20px; padding: 12px 4px 28px; scroll-snap-type: x proximity; overflow-x: auto; scrollbar-width: none; }
.thx-trending-hotels .thx-slider-btn { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid #d6e8df; border-radius: 50%; background: #fff; color: #007d81; opacity: 1; font-size: 13px; box-shadow: 0 4px 14px #174b4d16; transition: background .2s, color .2s; }
.thx-trending-hotels .thx-slider-btn:hover:not(:disabled) { background: #007d81; color: #fff; }
.thx-trending-hotels .thx-slider-track::-webkit-scrollbar { display: none; }
.thx-trending-hotels .thx-slider-btn:disabled { opacity: .35; cursor: default; }
.thx-trending-hotels .thx-card { flex: 0 0 280px; min-width: 0; border: 1px solid #e3ecea; border-radius: 22px; overflow: hidden; background: #fff; box-shadow: 0 6px 20px #123f4309; scroll-snap-align: start; transition: transform .25s, box-shadow .25s; }
.thx-trending-hotels .thx-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px #123f431a; }
.thx-trending-hotels .thx-card-link { display: block; height: 100%; text-align: left; }
.thx-card-media { position: relative; overflow: hidden; }
.thx-trending-hotels .thx-img { display: block; width: 100%; height: 210px; border-radius: 0; object-fit: cover; transition: transform .4s; }
.thx-card:hover .thx-img { transform: scale(1.045); }
.thx-card-badge { position: absolute; top: 14px; left: 14px; padding: 6px 11px; border-radius: 30px; color: #174c4c; background: #fffffff0; font-size: 11px; font-weight: 600; }
.thx-card-body { padding: 9px 21px 16px; }
.thx-card-price { margin: -8px 0 17px; }
.thx-card-price > span { display: block; color: #8a9b91; font-size: 10px; margin-bottom: 4px; }
.thx-card-price strong { color: #007d81; font-size: 19px; letter-spacing: -.3px; }
.thx-card-price small { font-size: 10px; color: #82988b; font-weight: 400; }
.thx-trending-hotels .thx-card { padding-bottom: 0; }
.thx-card-eyebrow { color: #718a88; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; }
.thx-trending-hotels .thx-card-title { margin: 9px 0 20px; color: #173e40; font-size: 19px; line-height: 1.4; font-weight: 650; min-height: 54px; }
.thx-card-cta { display: flex; justify-content: space-between; align-items: center; padding-top: 15px; border-top: 1px solid #edf2f1; color: #007d81; font-size: 13px; font-weight: 600; }
.thx-card-cta i { padding: 9px; border-radius: 50%; background: #edf7f4; }
@media (min-width: 601px) {
    .thx-trending-hotels .thx-img { height: 170px; }
    .thx-trending-hotels .thx-card-body { padding: 8px 16px 14px; }
    .thx-trending-hotels .thx-card-title { font-size: 17px; min-height: 46px; margin: 7px 0 14px; }
    .thx-trending-hotels .thx-card-price { margin-bottom: 12px; }
    .thx-trending-hotels .thx-card-cta { padding-top: 10px; }
    .thx-trending-hotels .thx-card-cta i { padding: 7px; }
}
@media (max-width: 1050px) {
    #thxBookingForm .thx-form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #thxBookingForm .thx-search-btn { grid-column: 1 / -1; min-height: 48px; }
}
@media (max-width: 600px) {
    .search-box-wrapper .search-box { padding: 14px 12px; border-radius: 22px; margin-top: -48px; }
    .search-box .subtitle { font-size: 13px; margin-bottom: 14px; text-align: left; }
    .search-box h1 { text-align: left; }
    #thxBookingForm { padding: 7px; border-radius: 16px; }
    #thxBookingForm .thx-field { padding: 9px 7px; background: #f6faf9; }
    #thxBookingForm .thx-field > img { display: none; }
    #thxBookingForm .thx-field-inner input, #thxBookingForm select { font-size: 12px; }
    .thx-trending-hotels .thx-card { flex-basis: 150px; border-radius: 12px; }
    .thx-trending-hotels .thx-img { height: 90px; }
    .thx-trending-hotels .thx-card-body { padding: 5px 8px 7px; }
    .thx-trending-hotels .thx-card-title { font-size: 12px; min-height: 32px; margin: 3px 0 10px; line-height: 1.3; }
    .thx-trending-hotels .thx-card-badge { font-size: 9px; padding: 5px 8px; top: 10px; left: 10px; }
    .thx-trending-hotels .thx-card-eyebrow { display: none; }
    .thx-trending-hotels .thx-card-price { margin: -4px 0 9px; }
    .thx-trending-hotels .thx-card-price strong { font-size: 13px; }
    .thx-trending-hotels .thx-card-price > span { font-size: 9px; margin-bottom: 2px; }
    .thx-trending-hotels .thx-card-price small { font-size: 9px; }
    .thx-trending-hotels .thx-card-cta { padding-top: 7px; font-size: 10px; }
    .thx-trending-hotels .thx-card-cta i { padding: 5px; }
    .thx-trending-hotels .thx-title { font-size: 24px; }
    .thx-trending-hotels .thx-slider-container { overflow: hidden; padding: 0 24px; }
    .thx-trending-hotels .thx-slider-track { gap: 12px; padding-bottom: 14px; }
    .thx-trending-hotels .thx-slider-btn { width: 32px; height: 32px; font-size: 11px; }
    .thx-trending-hotels .thx-prev-btn { left: 0; }
    .thx-trending-hotels .thx-next-btn { right: 0; }
}
@keyframes booking-arrive { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 768px) {
    .home-page .hero-slider { display: none; }
    .home-page .search-box-wrapper { width: 100%; margin: 16px 0 0; }
    .home-page .search-box-wrapper .search-box { width: 100%; max-width: none; margin: 0; height: auto; padding: 22px 16px; border-radius: 0 0 22px 22px; border-top: 0; box-sizing: border-box; }
    .home-page .booking-welcome { width: 100%; margin-bottom: 18px; }
    .home-page .booking-welcome-icon { display: none; }
    .home-page .booking-welcome > div { width: 100%; }
    .home-page .booking-welcome h1 { font-size: 25px; text-align: left; }
    .home-page .booking-welcome .subtitle { width: 100%; font-size: 14px; margin-top: 6px; text-align: left; }
    .home-page #thxBookingForm { width: 100%; padding: 0; border: 0; box-shadow: none; background: transparent; }
    .home-page #thxBookingForm .thx-form-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .home-page #thxBookingForm .thx-field { width: 100%; padding: 12px 14px; border: 1px solid #deebe4; background: #fff; box-sizing: border-box; }
    .home-page #thxBookingForm .thx-field-inner input, .home-page #thxBookingForm select { font-size: 16px; }
    .home-page #thxBookingForm .thx-search-btn { grid-column: 1; min-height: 48px; margin-top: 2px; }
    .home-page #thxBookingForm .thx-guest-popup { max-width: 100%; }
}
@keyframes booking-twinkle { 0%, 100% { opacity: .5; transform: scale(.85) rotate(-12deg); } 50% { opacity: 1; transform: scale(1.15) rotate(12deg); } }
@keyframes booking-shimmer { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@media (prefers-reduced-motion: reduce) {
    .search-box-wrapper .search-box, .search-box-wrapper .search-box::before, .booking-sparkle { animation: none; }
    .booking-calendar { animation: none; }
    #thxBookingForm .thx-search-btn, .thx-trending-hotels .thx-card, .thx-trending-hotels .thx-img { transition: none; }
}
/* Keep booking dropdowns above the destination section and its photo cards. */
.home-page .search-box-wrapper { position: relative; z-index: 30; overflow: visible; }
.home-page .search-box-wrapper .search-box,
.home-page #thxBookingForm,
.home-page #thxBookingForm .thx-form-row,
.home-page #thxBookingForm .thx-field { overflow: visible; }
.home-page #thxBookingForm .thx-field:has(.destination-results:not([hidden])),
.home-page #thxBookingForm .thx-field:has(#guestsPopup[style*="block"]) { z-index: 40; }
.home-page .destination-results,
.home-page #guestsPopup { z-index: 100; }
/* Stable popup layers and lightweight opening transitions. */
.home-page .search-box-wrapper .search-box { animation: none; }
#thxBookingForm .thx-guest-field { position: relative; }
#thxBookingForm .booking-field-open { z-index: 50; }
#thxBookingForm #guestsPopup { top: calc(100% + 8px); left: auto; right: 0; max-width: min(300px, calc(100vw - 32px)); animation: booking-popup-open .12s ease-out; }
.destination-results { overscroll-behavior: contain; touch-action: pan-y; animation: booking-popup-open .12s ease-out; }
#thxBookingForm .thx-counter button { touch-action: manipulation; }
#thxBookingForm .thx-counter button:disabled { opacity: .3; cursor: default; }
@keyframes booking-popup-open { from { opacity: .55; } to { opacity: 1; } }
@media(prefers-reduced-motion: reduce) { #thxBookingForm #guestsPopup, .destination-results { animation: none; } }
.home-page #thxBookingForm .thx-search-btn { border-radius: 28px !important; display: flex; align-items: center; justify-content: center; gap: 11px; }
.home-page #thxBookingForm .thx-search-btn .fa-arrow-right { color: #fff; font-size: 13px; }
.home-page #thxBookingForm .thx-search-btn { border-radius: 999px !important; min-height: 40px; height: 40px; padding: 9px 18px !important; align-self: center; }
.home-page #thxBookingForm .thx-search-btn { min-height: 46px; height: 46px; padding-top: 11px !important; padding-bottom: 11px !important; }
/* Match the inner search card and its individual controls. */
#thxBookingForm { border-radius: 25px; }
#thxBookingForm .thx-field { border-radius: 19px !important; border: 1px solid #e1ebe5; background: #f8fcf9; }
#thxBookingForm .thx-search-btn { border-radius: 999px !important; min-height: 46px; height: 46px; align-self: center; padding: 11px 18px !important; }
#thxBookingForm { border-radius: 34px !important; }
#thxBookingForm .thx-field { border-radius: 28px !important; }
.home-page .search-box-wrapper .search-box { border-top: 0; }
.home-page .search-box-wrapper .search-box::before { display: none; }
