:root{--navy:#091a3c;--coral:#ff4d43;--teal:#06a8ad;--ivory:#fffaf4;--line:#e5e6e3;--shadow:0 14px 34px rgba(9,26,60,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eee9e1;color:var(--navy);font-family:Inter,Arial,Helvetica,sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.review-tabs{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:6px;padding:9px;background:#151123}.review-tabs button{border:1px solid #504358;border-radius:10px;background:#2b2238;color:white;padding:9px 18px;font-weight:700;cursor:pointer}.review-tabs button[aria-current="page"]{background:#ff7542;border-color:#ff7542;color:#161025}.site{width:min(100%,430px);min-height:100vh;margin:auto;background:var(--ivory);box-shadow:0 0 30px #0002}.site-header{height:65px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,244,.96);position:relative;z-index:2}.brand{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:900;letter-spacing:-.05em;color:var(--navy);text-decoration:none;white-space:nowrap}.brand span{color:var(--coral);font-style:italic}.brand i{display:inline-block;width:11px;height:11px;border-top:3px solid var(--coral);transform:rotate(-45deg) translate(3px,-9px)}.language-control select{max-width:130px;padding:8px 10px;border-radius:99px;border:1px solid #d5d4cf;background:#fff;color:var(--navy);font-size:12px}.view{display:none}.view.active{display:block}.hero{background-image:linear-gradient(90deg,rgba(255,250,244,.44),rgba(255,250,244,0) 65%),url('assets/resort-hero.png');background-size:cover;background-position:center;height:290px;position:relative}.hero-copy{padding:22px 24px;max-width:380px}.hero h1,.guide-view h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,10vw,49px);line-height:.97;letter-spacing:-.045em;margin:0;text-shadow:0 1px 1px #fffa}.hero h1 em{font-style:normal;color:var(--coral);font-size:1.18em}.hero h1 sup{font-size:.5em}.hero p{font-size:13px;font-weight:700;margin:9px 0}.content{padding:0 18px 24px}.gate-content{margin-top:-52px;position:relative}.search-card{background:#fffdfb;border-radius:23px;padding:18px 14px;box-shadow:var(--shadow)}.search-card h2{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.04;letter-spacing:-.03em;margin:0 5px 11px}.field{display:flex;align-items:center;gap:13px;min-height:62px;border:1px solid var(--line);padding:8px 12px;background:#fff;border-radius:13px}.field+.field{margin-top:7px}.field-icon{color:var(--teal);font-size:26px;width:25px;line-height:1}.field-body{min-width:0;flex:1}.field strong,.safari-dates strong{display:block;font-size:12px;margin-bottom:2px}.field select,.field input,.safari-dates input{display:block;width:100%;border:0;background:transparent;color:var(--navy);font:15px Arial,Helvetica,sans-serif;outline:none}.date-pair{display:flex;gap:5px}.date-pair input{width:50%;font-size:12px}.field-note{text-align:center;font-size:11px;color:#5e6878;margin:10px 0}.primary-button{width:100%;border:0;border-radius:12px;background:var(--teal);color:#fff;font-size:18px;font-weight:800;min-height:48px;cursor:pointer;box-shadow:0 8px 16px #06a8ad33}.primary-button:focus-visible,.city-card:focus-visible,.carousel-controls button:focus-visible,.copy-card:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.form-status{margin:5px 2px 0;color:#ab3232;font-size:12px}.form-status:empty{display:none}.section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:18px 4px 8px}.section-head h2,.brands h2{margin:0;font-size:18px;letter-spacing:-.025em}.swipe-hint{font-size:11px;color:#758090}.carousel-wrap{overflow:hidden}.city-carousel{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding-bottom:2px}.city-carousel::-webkit-scrollbar{display:none}.city-card{scroll-snap-align:start;flex:0 0 33%;height:106px;border:0;border-radius:12px;overflow:hidden;position:relative;background:#a6b8c6;cursor:pointer;text-align:left;padding:0}.city-card::before,.thumb::before{content:"";position:absolute;inset:0;background-image:url('assets/city-grid.png');background-size:500% 200%;background-position:var(--x) var(--y)}.city-card::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#07142eaa)}.city-card span{position:absolute;bottom:8px;left:9px;color:white;font-weight:800;font-size:14px;z-index:1;text-shadow:0 1px 3px #0008}.city-card.selected{outline:3px solid var(--teal);outline-offset:-3px}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin:3px auto 14px}.carousel-controls button{border:0;background:transparent;color:var(--navy);font-size:27px;line-height:1;cursor:pointer}.carousel-controls span{font-size:12px}.brands{margin:0 4px 8px}.brand-chips{display:flex;gap:7px;margin-top:7px}.brand-chips span{flex:1;border:1px solid var(--teal);border-radius:30px;text-align:center;padding:5px 2px;font-size:12px;font-weight:700;background:white}.example-price{border:1.5px solid var(--teal);border-radius:14px;padding:10px 14px 8px;margin:0 4px;background:white}.example-badge{display:inline-block;background:var(--teal);border-radius:20px;color:white;font-size:10px;font-weight:800;padding:4px 12px}.prices{display:flex;justify-content:center;align-items:center;gap:34px;text-align:center}.prices>div{min-width:90px}.prices del{font-size:27px;font-weight:800;color:#898989}.prices strong{font-size:37px;color:var(--coral);line-height:1}.prices small{display:block;font-weight:700;font-size:12px}.price-divider{width:1px;height:42px;background:#d8d8d8}.example-price p{text-align:center;font-size:10px;color:#626b77;margin:5px 0 0}.terms{font-size:11px;line-height:1.45;color:#5b6572;margin:15px 4px 0}.guide-view .content{padding:20px 22px 30px}.guide-view h1{font-size:38px;max-width:290px;margin-bottom:20px}.guide-art{border-radius:25px;overflow:hidden;background:#eaf6fc;box-shadow:var(--shadow)}.guide-art img{display:block;width:100%;height:auto}.guide-thumbs{display:flex;gap:5px;margin-top:12px}.thumb{position:relative;flex:1;height:60px;border-radius:9px;overflow:hidden}.guide-instruction{text-align:center;font-size:21px;line-height:1.15;max-width:310px;margin:15px auto 21px}.copy-card{display:flex;align-items:center;gap:13px;border:2px solid var(--teal);border-radius:14px;width:100%;min-height:75px;padding:10px 16px;background:white;color:#008f98;font-size:18px;font-weight:800;text-align:left;cursor:pointer}.safari-icon{display:inline-grid;place-items:center;border-radius:14px;background:#109be9;color:white;width:50px;height:50px;font-size:36px;flex:none}.copy-status{font-size:12px;line-height:1.35;margin:9px 0;color:#087c81;min-height:16px}.guide-fallback{text-align:center;font-size:12px;line-height:1.4;color:#576171;margin:10px 0}.manual-url{word-break:break-all;background:#fff;border:1px solid var(--line);padding:10px;border-radius:9px;font-size:11px}.safari-hero{height:245px}.safari-hero .hero-copy{padding-top:25px;max-width:280px}.safari-content{margin-top:-45px;position:relative}.safari-content .search-card{padding:15px}.safari-dates{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid var(--line);border-radius:12px;background:white;padding:10px;margin:7px 0}.safari-dates label+label{border-left:1px solid var(--line);padding-left:10px}.safari-dates input{font-size:12px}.safari-content .primary-button{margin-top:9px}.demo-notice{background:#fff1d5;border-radius:8px;padding:7px 10px;color:#6b4a12;font-size:11px;margin:13px 0}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stay-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #091a3c12}.stay-image{height:105px;background-size:cover;background-position:center}.stay-image-one{background-image:url('assets/resort-hero.png')}.stay-image-two{background-image:url('assets/city-grid.png');background-size:500% 200%;background-position:50% 0}.stay-card>div:last-child{padding:8px}.stay-card span{display:block;font-size:10px;color:#63707d}.stay-card strong{font-size:13px}.trust{font-size:12px;margin:15px 3px;color:#344258}html[dir=rtl] .site-header,html[dir=rtl] .field,html[dir=rtl] .copy-card{direction:rtl}html[dir=rtl] .city-card span{left:auto;right:9px}html[dir=rtl] .copy-card{text-align:right}html[dir=rtl] .brand{direction:ltr}@media(max-width:430px){.site{box-shadow:none}.review-tabs button{flex:1;padding:9px 5px;font-size:12px}.hero{height:270px}.hero h1{font-size:39px}.gate-content{margin-top:-44px}}@media(max-width:350px){.site-header{padding:0 12px}.brand{font-size:19px}.language-control select{max-width:105px}.content{padding-left:12px;padding-right:12px}.hero h1{font-size:34px}.search-card h2{font-size:21px}.city-card{flex-basis:42%}}
.review-tabs{direction:ltr}.hero{background-position:25% center;background-image:linear-gradient(90deg,rgba(255,250,244,.82),rgba(255,250,244,.38) 58%,rgba(255,250,244,0) 90%),url("assets/resort-hero.png")}html[dir=rtl] .hero{background-image:linear-gradient(270deg,rgba(255,250,244,.84),rgba(255,250,244,.35) 65%,rgba(255,250,244,0) 95%),url("assets/resort-hero.png")}
.hero-copy{background:linear-gradient(90deg,rgba(255,250,244,.72),rgba(255,250,244,.42));border-radius:0 0 18px 0}.hero h1{text-shadow:0 1px 3px #fffaf4,0 0 3px #fffaf4}
.date-pair label{display:block;width:50%;min-width:0}.date-pair label span{display:block;font-size:10px;font-weight:700;color:#536174}.date-pair input{width:100%;font-size:11px}
.premium-date-field{background:#fff}.date-pair{gap:0}.date-choice{display:block;width:50%;border:0;background:none;text-align:left;color:var(--navy);padding:2px 6px;cursor:pointer;min-width:0}.date-choice+.date-choice{border-left:1px solid var(--line);padding-left:12px}.date-choice span,.date-choice strong{display:block;font-size:11px;color:#687488;font-weight:700}.date-choice b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.safari-dates{padding:7px}.safari-dates .date-choice{width:100%;padding:3px 5px}.safari-dates .date-choice+.date-choice{padding-left:11px}.source-credit{text-align:center;margin:12px 0 0;font-size:10px;color:#697789}.source-credit a{color:#326b8a}.date-overlay[hidden]{display:none}.date-overlay{position:fixed;inset:0;z-index:100;background:rgba(6,17,41,.66);display:flex;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(5px)}.calendar-card{width:min(100%,390px);background:#fffaf4;border:1px solid #fff;border-radius:24px;padding:20px;box-shadow:0 30px 80px #06112966}.calendar-top{display:flex;justify-content:space-between;align-items:start}.calendar-kicker{color:var(--teal);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.calendar-top h2{font-family:Georgia,serif;font-size:27px;margin:3px 0 0;line-height:1.1}.calendar-top button,.calendar-nav button,.calendar-selection button{border:0;background:#f0ebe5;color:var(--navy);border-radius:50%;width:33px;height:33px;font-size:23px;cursor:pointer}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.calendar-nav span{font-family:Georgia,serif;font-size:21px;font-weight:700}.calendar-nav button:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-weekdays span{font-size:11px;color:#728092;font-weight:700;padding:8px 0}.calendar-days button{aspect-ratio:1;border:0;border-radius:11px;background:transparent;color:var(--navy);font-weight:700;font-size:13px;cursor:pointer}.calendar-days button:hover:not(:disabled){background:#e8f7f5}.calendar-days button:disabled{color:#bfc4c9;cursor:default}.calendar-days button.selected{background:var(--teal);color:white}.calendar-days button.in-range{background:#d8f1ed;border-radius:0}.calendar-selection{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:15px;padding-top:12px;font-size:12px;color:#596b7c}.calendar-selection button{font-size:19px}html[dir=rtl] .date-choice{text-align:right}html[dir=rtl] .date-choice+.date-choice{border-left:0;border-right:1px solid var(--line);padding-left:6px;padding-right:12px}html[dir=rtl] .calendar-card{direction:rtl}@media(max-width:350px){.calendar-card{padding:15px}.calendar-days button{font-size:12px}}
.city-card.generic-city::before,.thumb.generic-city::before{background-image:linear-gradient(135deg,rgba(9,26,60,.1),rgba(6,168,173,.2)),url("assets/resort-hero.png");background-size:cover;background-position:center;filter:hue-rotate(var(--tone))}.carousel-controls button:disabled{opacity:.25;cursor:default}
.city-card.generic-city::before,.thumb.generic-city::before{background-image:url("assets/generic-city-grid.png");background-size:500% 200%;background-position:var(--x) var(--y);filter:none}
.fixed-year{font-size:11px;color:var(--teal);font-weight:800;letter-spacing:.04em}.date-choice b{font-size:12px}
.prices{gap:10px;justify-content:space-around}.prices>div{min-width:0;flex:1}.prices del{font-size:clamp(18px,5vw,24px);white-space:nowrap}.prices strong{font-size:clamp(22px,7vw,32px);white-space:nowrap}

.city-field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #06a8ad18}.city-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:transparent;color:var(--navy);font:15px Arial,Helvetica,sans-serif;text-align:left;cursor:pointer}.city-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-trigger-chevron{flex:none;font-size:23px;font-weight:700;line-height:15px;color:var(--navy)}.city-trigger:focus-visible,.location-bar button:focus-visible,.city-picker button:focus-visible,.city-search-wrap input:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.location-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 4px 10px}.location-summary{display:inline-flex;align-items:center;color:#217c82;background:#e6f6f2;border:1px solid #b9e4dd;border-radius:50px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap}.location-bar button{border:0;background:none;color:#397887;text-decoration:underline;text-underline-offset:2px;font-size:11px;font-weight:700;text-align:right;cursor:pointer;padding:4px 0}html[dir=rtl] .city-trigger{text-align:right}html[dir=rtl] .location-bar button{text-align:left}
.city-overlay[hidden]{display:none}.city-overlay{position:fixed;inset:0;z-index:100;background:rgba(6,17,41,.68);display:flex;align-items:center;justify-content:center;padding:12px;backdrop-filter:blur(5px)}.city-picker{width:min(100%,410px);height:min(86vh,690px);background:#fffaf4;border:1px solid #fff;border-radius:25px;box-shadow:0 30px 80px #06112966;display:flex;flex-direction:column;overflow:hidden}.city-picker-top{display:flex;align-items:start;justify-content:space-between;gap:15px;padding:20px 20px 12px;background:linear-gradient(120deg,#fffdf9,#edf8f8)}.city-picker-kicker{font-size:10px;letter-spacing:.16em;color:var(--teal);font-weight:900}.city-picker-top h2{font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.05;letter-spacing:-.035em;margin:4px 0 0}.city-picker-top button{flex:none;width:34px;height:34px;border:0;border-radius:50%;background:#e7e7e3;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}.city-search-wrap{display:flex;align-items:center;gap:9px;margin:12px 18px;border:1px solid #d7e5e4;border-radius:13px;background:white;padding:0 12px}.city-search-wrap>span{font-size:26px;color:var(--teal);line-height:1}.city-search-wrap input{height:44px;width:100%;min-width:0;border:0;background:transparent;outline:none;color:var(--navy);font-size:14px}.city-search-wrap input::placeholder{color:#8a98a2}.city-picker-content{overflow-y:auto;overscroll-behavior:contain;padding:0 18px 22px;flex:1;scrollbar-color:#b9d0ce transparent;scrollbar-width:thin}.city-list-heading{font-size:12px;letter-spacing:.03em;color:#516376;text-transform:uppercase;margin:15px 2px 8px;font-weight:900}.city-result-list{background:white;border:1px solid #e7e9e7;border-radius:15px;overflow:hidden}.city-result{width:100%;border:0;border-bottom:1px solid #edf0ef;background:white;color:var(--navy);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.city-result:last-child{border-bottom:0}.city-result:hover,.city-result.selected{background:#eaf7f4}.city-result-text{min-width:0}.city-result strong{display:block;font-size:14px;line-height:1.2}.city-result small{display:block;color:#748291;font-size:11px;margin-top:3px}.city-result-arrow{font-size:24px;color:var(--teal)}.city-country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.city-country{border:1px solid #dce8e6;border-radius:11px;background:white;color:var(--navy);min-height:41px;padding:7px 9px;text-align:left;font-size:12px;font-weight:700;cursor:pointer;overflow-wrap:anywhere}.city-country:hover,.city-country.selected{border-color:var(--teal);background:#eaf7f4;color:#077e84}.city-picker-back,.city-location-reset{border:0;background:none;color:#078d92;font-size:12px;font-weight:800;padding:8px 2px;cursor:pointer}.city-location-reset{width:100%;text-align:left;background:#eaf7f4;border-radius:12px;padding:12px;margin:4px 0 13px}.city-empty{text-align:center;padding:28px 8px;color:#6b7885;font-size:13px}.location-country-grid{padding-top:2px}html[dir=rtl] .city-picker{direction:rtl}html[dir=rtl] .city-result,html[dir=rtl] .city-country,html[dir=rtl] .city-location-reset{text-align:right}@media(max-width:350px){.city-picker{height:min(90vh,690px)}.city-picker-top{padding:16px 16px 10px}.city-picker-top h2{font-size:24px}.city-picker-content{padding-left:14px;padding-right:14px}.location-bar{align-items:flex-start}.location-bar button{max-width:58%}}
.location-bar{flex-direction:column;align-items:stretch;gap:7px}.location-summary{align-self:flex-start}.location-bar button{width:100%;max-width:none;display:flex;align-items:center;justify-content:space-between;border:1px solid #cde4e2;border-radius:10px;background:#f7fcfa;padding:8px 11px;text-align:left;text-decoration:none;font-size:12px}.location-bar button::after{content:'›';font-size:18px;line-height:1;margin-left:8px}html[dir=rtl] .location-bar button{text-align:right}html[dir=rtl] .location-bar button::after{content:'‹';margin-left:0;margin-right:8px}
html[lang=zh] .hero h1{font-size:36px;line-height:1.08}html[lang=zh] .hero p{font-size:12px}html[lang=zh] .search-card h2{font-size:23px}
@media(max-width:350px){html[lang=zh] .language-control select{max-width:126px}}
.city-search-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #06a8ad20}.city-search-wrap input:focus-visible{outline:none}
.location-bar{flex-direction:row;align-items:center;gap:8px}.location-summary{flex:0 0 auto;max-width:42%;font-size:14px;padding:7px 12px;overflow:hidden;text-overflow:ellipsis}.location-bar button{flex:1;width:auto;min-width:0;padding:8px 10px;font-size:11px;line-height:1.25;white-space:normal}.location-bar button::after{flex:none}
.brands-offer{margin:3px 0 0;color:var(--coral);font-size:13px;font-weight:800;line-height:1.2}
.hotel-showcase{position:absolute;left:14px;right:14px;bottom:52px;height:104px;z-index:1;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:11px}.hotel-showcase::-webkit-scrollbar{display:none}.hotel-showcase:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.hotel-offer-card{position:relative;flex:0 0 46%;min-width:0;height:100%;overflow:hidden;border-radius:10px;scroll-snap-align:start;background:#345260;box-shadow:0 4px 10px #081b3666}.hotel-offer-card img{display:block;width:100%;height:100%;object-fit:cover}.hotel-offer-card::after{content:"";position:absolute;inset:34% 0 0;background:linear-gradient(transparent,#061629e8);pointer-events:none}.hotel-offer-sample,.hotel-offer-prices{position:absolute;z-index:1;left:8px;right:8px;color:white}.hotel-offer-sample{top:7px;right:auto;max-width:calc(100% - 16px);padding:3px 6px;border-radius:20px;background:#071a35b8;font-size:8px;font-weight:800;line-height:1.1}.hotel-offer-prices{bottom:7px;display:flex;flex-direction:column;gap:0;line-height:1.1;text-shadow:0 1px 2px #000b}.hotel-offer-original{font-size:11px;font-weight:700;color:#f6f1e9}.hotel-offer-discount{font-size:18px;font-weight:900;color:white;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:430px){.hotel-showcase{bottom:44px}}html[dir=rtl] .hotel-showcase{direction:rtl}html[dir=rtl] .hotel-offer-sample,html[dir=rtl] .hotel-offer-prices{left:8px;right:8px;text-align:right}
.gate-hero{display:flex;flex-direction:column;height:auto;min-height:290px;padding-bottom:52px}.gate-hero .hero-copy{padding-bottom:0}.gate-hero .hotel-showcase{position:relative;left:auto;right:auto;bottom:auto;flex:none;margin:auto 14px 0}@media(max-width:430px){.gate-hero{min-height:270px;padding-bottom:44px}}
.hotel-offer-card{flex-basis:78%}
.example-price.long-price .prices del{font-size:14px}.example-price.long-price .prices strong{font-size:20px}
.gate-promo{padding:7px 5px 0;background:var(--ivory)}.gate-promo-panel{border:2px solid #f14634;border-radius:13px;background:linear-gradient(140deg,#fff1d6,#fffaf0 55%,#ffe2ce);padding:8px 8px 5px;box-shadow:0 4px 10px #b53a231c}.gate-promo-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:26px}.gate-promo-heading h1{font-size:clamp(14px,5vw,19px);font-weight:900;line-height:1.1;color:#8f2e26;margin:0;min-width:0}.gate-promo-heading span{flex:none;max-width:38%;border-radius:0 0 9px 9px;background:#ffe7a7;color:#b25c28;padding:4px 7px;font-size:10px;font-weight:800;text-align:center}.gate-coupons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:3px}.gate-coupon{height:75px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow:hidden;border:1.5px solid #ef4240;border-radius:8px;background:#fff;color:#e6403c;text-align:center}.gate-coupon>span{width:100%;padding:5px 2px 0;font-size:8px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-coupon strong{max-width:100%;font-size:clamp(14px,4vw,18px);line-height:1;white-space:nowrap;letter-spacing:-.04em}.gate-coupon-main strong{font-size:clamp(20px,6vw,27px)}.gate-coupon small{display:grid;place-items:center;width:100%;min-height:20px;background:#ee4340;color:white;padding:2px;font-size:8px;line-height:1.05;font-weight:700;overflow:hidden}.gate-promo-panel>p{margin:5px 1px 0;color:#927f70;font-size:8px;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-promo .hotel-showcase{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:84px;margin:5px 0 0;border-radius:10px}.gate-promo .hotel-offer-card{flex-basis:94%;height:84px;background:linear-gradient(115deg,#087cc8,#00a2da);box-shadow:none}.gate-promo .hotel-offer-card img{position:absolute;right:0;top:0;width:45%;height:100%;object-fit:cover}.gate-promo .hotel-offer-card::after{inset:0;background:linear-gradient(90deg,transparent 52%,#05629933 70%,#053a6680)}.gate-promo .hotel-offer-sample{top:5px;left:8px;right:auto;background:#00569f99}.gate-promo .hotel-offer-title{position:absolute;z-index:1;top:25px;left:8px;width:52%;color:#fff;font-size:15px;font-weight:900;line-height:1.05;text-shadow:0 1px 2px #03528a}.gate-promo .hotel-offer-prices{bottom:5px;left:8px;right:auto;width:52%}.gate-promo .hotel-offer-original{font-size:9px}.gate-promo .hotel-offer-discount{font-size:15px}.gate-content{margin-top:0;padding-top:12px}html[dir=rtl] .gate-promo .hotel-offer-card img{right:auto;left:0}html[dir=rtl] .gate-promo .hotel-offer-title,html[dir=rtl] .gate-promo .hotel-offer-prices,html[dir=rtl] .gate-promo .hotel-offer-sample{left:auto;right:8px;text-align:right}html[dir=rtl] .gate-promo .hotel-offer-card::after{background:linear-gradient(270deg,transparent 52%,#05629933 70%,#053a6680)}
.gate-promo .hotel-offer-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:28px;overflow:hidden;font-size:13px;line-height:1.08}
.gate-coupon{appearance:none;height:88px;padding:0;font-family:inherit;cursor:pointer}.gate-coupon:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.gate-coupon.claimed{background:#fff4e9}.gate-coupon.claimed small{background:#aa4f48}.gate-coupon .coupon-threshold{display:flex;flex-direction:column;justify-content:center;gap:2px;width:100%;max-width:none;font-size:11px;letter-spacing:-.02em;line-height:1.1}.coupon-threshold b{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.gate-coupon small{min-height:23px;font-size:9px}
.safari-content{margin-top:0;padding-top:12px}.safari-content .search-card{padding:18px 14px}.safari-content .primary-button{margin-top:0}.safari-content .field+.field{margin-top:7px}
.rate-coupon-overlay[hidden]{display:none}.rate-coupon-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:#091a3caa;backdrop-filter:blur(5px)}.rate-coupon-dialog{position:relative;width:min(100%,340px);border:2px solid #ef4537;border-radius:23px;background:linear-gradient(145deg,#fff4da,#fffdf8 56%,#ffe0d1);box-shadow:0 28px 70px #07112c66;text-align:center;padding:25px 20px 20px}.rate-coupon-close{position:absolute;top:9px;right:10px;width:30px;height:30px;border:0;border-radius:50%;background:#fce2db;color:#9b443e;font-size:23px;line-height:1;cursor:pointer}.rate-coupon-kicker{font-size:11px;font-weight:900;letter-spacing:.18em;color:#ab6457}.rate-coupon-dialog h2{margin:11px 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:27px;color:#952d27}.rate-coupon-dialog>strong{display:block;color:#ec443d;font-size:55px;line-height:1.1}.rate-coupon-dialog p{margin:7px 0 20px;color:#6e7279;font-size:11px}.rate-coupon-use{width:100%;min-height:48px;border:0;border-radius:11px;background:#f2473d;color:#fff;font-size:17px;font-weight:900;box-shadow:0 7px 14px #ed403833;cursor:pointer}.rate-coupon-use:focus-visible,.rate-coupon-close:focus-visible{outline:3px solid var(--teal);outline-offset:2px}html[dir=rtl] .rate-coupon-dialog{direction:rtl}html[dir=rtl] .rate-coupon-close{right:auto;left:10px}
.hotel-results[hidden]{display:none}.hotel-results{margin:24px 0 18px;scroll-margin-top:65px}.hotel-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 12px}.hotel-results-kicker{display:block;color:#008e98;font-size:10px;font-weight:900;letter-spacing:.13em}.hotel-results-heading h2{margin:3px 0 2px;font-size:23px;line-height:1.12;letter-spacing:-.04em}.hotel-results-heading p{margin:0;color:#667281;font-size:11px}.hotel-results-count{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:#e3f6f4;color:#008d95;font-size:14px;font-weight:900}.hotel-result-list{display:flex;flex-direction:column;gap:9px}.hotel-result-card{display:grid;grid-template-columns:36% minmax(0,1fr);min-height:154px;overflow:hidden;border:1px solid #e5e9e8;border-radius:14px;background:white;box-shadow:0 4px 15px #091a3c0c}.hotel-result-photo{min-height:154px;overflow:hidden;background:#d8e7ec}.hotel-result-photo img{display:block;width:100%;height:100%;object-fit:cover}.hotel-result-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:11px 10px 10px}.hotel-result-badge{display:inline-block;border-radius:4px;background:#e8f7f6;color:#007f87;padding:3px 5px;font-size:9px;font-weight:800;line-height:1.1}.hotel-result-body h3{margin:8px 0 5px;font-size:15px;line-height:1.2;letter-spacing:-.015em;overflow-wrap:anywhere}.hotel-result-address{margin:0;color:#5b697a;font-size:11px;line-height:1.3;overflow-wrap:anywhere}.hotel-result-link{margin-top:auto;padding-top:8px;color:#008b95;font-size:11px;font-weight:850;text-decoration:none}.hotel-result-link:hover{text-decoration:underline}.hotel-photo-credit{margin:-3px 3px 5px;color:#6f7987;font-size:9px;line-height:1.35}.hotel-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.hotel-results-note,.hotel-results-empty{border-radius:10px;background:#fff1dc;color:#755a29;padding:10px 12px;font-size:11px;line-height:1.45}.hotel-results-note{margin:13px 0 0}.hotel-results-empty{margin:0}html[dir=rtl] .hotel-results-heading,html[dir=rtl] .hotel-result-card{direction:rtl}html[dir=rtl] .hotel-result-body{align-items:flex-start;text-align:right}html[dir=rtl] .hotel-results-kicker{letter-spacing:0}@media(max-width:350px){.hotel-result-card{grid-template-columns:34% minmax(0,1fr)}.hotel-result-body h3{font-size:13px}.hotel-result-address{font-size:10px}}
.hotel-feature-list{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0 0}.hotel-feature-list span{display:inline-block;max-width:100%;border:1px solid #e5e9ee;border-radius:4px;background:#fbfcfe;color:#536c84;padding:2px 4px;font-size:9px;line-height:1.15;overflow-wrap:anywhere}@media(max-width:350px){.hotel-feature-list span{font-size:8px}}
.rate-coupon-dialog .rate-coupon-expiry{margin:9px 0 18px;color:#8a5140;font-size:13px;font-weight:750;letter-spacing:.01em}
.hotel-result-prices{display:flex;align-items:end;justify-content:space-between;gap:6px;width:100%;margin-top:9px;padding-top:7px;border-top:1px solid #edf0f1}.hotel-result-prices span{min-width:0}.hotel-result-prices del{display:block;color:#87909b;font-size:12px;font-weight:750;line-height:1.15;white-space:nowrap}.hotel-result-prices small{display:block;color:#6b7481;font-size:9px;line-height:1.15}.hotel-result-discount{text-align:right}.hotel-result-discount strong{display:block;color:#f04b43;font-size:20px;font-weight:900;line-height:1.05;white-space:nowrap}.hotel-result-link{margin-top:5px;padding-top:3px}.hotel-sources[hidden]{display:none}.hotel-sources{margin:10px 2px 0;border-top:1px solid #e8e9e8;padding-top:8px;color:#68717e;font-size:10px;line-height:1.4}.hotel-sources summary{cursor:pointer;color:#617382;font-weight:700;list-style:none}.hotel-sources summary::-webkit-details-marker{display:none}.hotel-sources summary::after{content:'⌄';margin-left:5px}.hotel-sources[open] summary::after{content:'⌃'}.hotel-source-item{margin:8px 0 0;overflow-wrap:anywhere}.hotel-source-item strong{color:#405064}.hotel-source-item a{color:#667d88;text-decoration:underline;text-underline-offset:2px}html[dir=rtl] .hotel-result-discount{text-align:left}html[dir=rtl] .hotel-sources summary::after{margin-left:0;margin-right:5px}@media(max-width:350px){.hotel-result-prices del{font-size:10px}.hotel-result-discount strong{font-size:17px}}
.hotel-results-note summary{cursor:pointer;list-style:none;text-align:center;font-size:13px;font-weight:800}.hotel-results-note summary::-webkit-details-marker{display:none}.hotel-results-note summary::after{content:'⌄';margin-left:6px}.hotel-results-note[open] summary::after{content:'⌃'}.hotel-results-note p{margin:8px 0 0;border-top:1px solid #e6cfa9;padding-top:8px}.hotel-results-note summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.gate-coupon .coupon-threshold{font-size:9px;line-height:1.12;gap:2px}.coupon-threshold b{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.12}
.hotel-result-link{border:0;background:none;padding-left:0;padding-right:0;padding-bottom:0;font-family:inherit;text-align:left;cursor:pointer}.hotel-result-link:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.hotel-order-status[hidden]{display:none}.hotel-order-status{margin:5px 0 0;color:#6b7481;font-size:10px;line-height:1.3}html[dir=rtl] .hotel-result-link{text-align:right}
.hotel-result-card.sample .hotel-result-badge{background:#fff0d6;color:#a76620}.hotel-result-card.sample .hotel-result-prices{margin-top:auto}.hotel-result-card.sample .hotel-result-photo img{object-position:25% center}
.order-overlay[hidden],#order-form[hidden],.order-success[hidden]{display:none}.order-overlay{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:14px;background:#091a3caa;backdrop-filter:blur(5px)}.order-dialog{position:relative;width:min(100%,370px);max-height:calc(100dvh - 28px);overflow-y:auto;border:1px solid #fff;border-radius:23px;background:linear-gradient(145deg,#fffaf2,#fffdfb 53%,#eaf8f6);box-shadow:0 25px 65px #07112c66;padding:22px 19px 18px}.order-close{position:absolute;right:12px;top:12px;width:30px;height:30px;border:0;border-radius:50%;background:#f5e6e1;color:#8b423c;font-size:23px;line-height:1;cursor:pointer}.order-kicker{color:#008f98;font-size:10px;font-weight:900;letter-spacing:.16em}.order-dialog h2{margin:6px 35px 14px 0;font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.08;letter-spacing:-.035em}.order-selection{display:flex;flex-direction:column;gap:5px;border:1px solid #cce6e2;border-radius:13px;background:#f0faf7;padding:11px 12px;margin-bottom:14px}.order-selection strong{font-size:14px;line-height:1.2}.order-selection span{color:#596e78;font-size:11px;line-height:1.3}.order-selection b{color:#e64b41;font-size:12px}.order-field{display:block;margin:0 0 10px}.order-field span{display:block;margin:0 0 5px;color:#41546a;font-size:11px;font-weight:800}.order-field input,.order-field textarea{display:block;width:100%;border:1px solid #d9e3e3;border-radius:10px;background:white;color:var(--navy);font:14px Arial,Helvetica,sans-serif;padding:10px 11px;outline:none}.order-field input{height:43px}.order-field textarea{resize:vertical;min-height:64px}.order-field input:focus,.order-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #06a8ad20}.order-error{min-height:0;margin:0 0 7px;color:#b13c36;font-size:11px}.order-error:empty{display:none}.order-submit,.order-success button{width:100%;min-height:45px;border:0;border-radius:10px;background:var(--teal);color:#fff;font-size:15px;font-weight:850;cursor:pointer;box-shadow:0 7px 15px #06a8ad2c}.order-preview{margin:9px 0 0;color:#71808c;text-align:center;font-size:10px;line-height:1.3}.order-success{text-align:center;padding:20px 0 4px}.order-success>span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#def4ef;color:#008c91;font-size:27px;font-weight:900}.order-success p{font-size:14px;line-height:1.45;margin:13px 4px 19px}.order-close:focus-visible,.order-submit:focus-visible,.order-success button:focus-visible{outline:3px solid var(--coral);outline-offset:2px}html[dir=rtl] .order-dialog{direction:rtl}html[dir=rtl] .order-close{right:auto;left:12px}html[dir=rtl] .order-dialog h2{margin-right:0;margin-left:35px}
.hotel-benefits{display:flex;align-items:stretch;gap:3px;width:100%;margin-top:6px}.hotel-benefits>span,.hotel-benefits>time{display:flex;align-items:center;justify-content:center;min-height:22px;border:1px solid #d9e9e5;border-radius:5px;background:#f4faf7;color:#227979;padding:2px 3px;font-size:8px;font-weight:800;line-height:1.05;text-align:center}.hotel-benefits>span{flex:1;min-width:0;overflow-wrap:anywhere}.hotel-benefits>time{flex:none;min-width:45px;font-variant-numeric:tabular-nums;color:#bc6431;background:#fff6e9;border-color:#f1e0c4;overflow:hidden}.hotel-countdown span{display:block;animation:hotel-countdown-roll .24s ease-out}@keyframes hotel-countdown-roll{from{transform:translateY(-35%);opacity:.5}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.hotel-countdown span{animation:none}}
.order-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #dceee9;border-bottom:1px solid #dceee9}.order-quantity-row>span{font-size:11px;font-weight:800;color:#41546a}.order-quantity-control{display:flex;align-items:center;gap:2px;border:1px solid #cce6e2;border-radius:9px;background:#fff;overflow:hidden}.order-quantity-control button{width:32px;height:29px;border:0;background:transparent;color:#008f98;font-size:20px;font-weight:700;cursor:pointer}.order-quantity-control button:disabled{color:#aab8bb;cursor:default}.order-quantity-control button:focus-visible{outline:2px solid var(--coral);outline-offset:-2px}.order-quantity-control output{min-width:22px;text-align:center;color:var(--navy);font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.order-success strong{display:block;margin:12px 0 0;color:var(--navy);font-size:17px;line-height:1.3}.order-notice{margin:14px 0 16px;padding:11px 12px;border:1px solid #e5e9e5;border-radius:11px;background:#fff;text-align:left}.order-notice h3{margin:0 0 7px;color:var(--navy);font-size:13px}.order-notice ul{margin:0;padding-left:17px;color:#586777;font-size:11px;line-height:1.4}.order-notice li+li{margin-top:5px}html[dir=rtl] .order-notice{text-align:right}html[dir=rtl] .order-notice ul{padding-left:0;padding-right:17px}
.order-stay{display:flex;align-items:center;flex-wrap:wrap;gap:2px 3px;color:#596e78;font-size:10px;line-height:1.3}.order-stay button{border:0;border-bottom:1px dashed #008f98;background:transparent;color:#217c83;padding:0;font:inherit;font-weight:750;cursor:pointer}.order-stay button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.order-stay span{font-size:10px}.date-overlay-from-order{z-index:140}
.order-original-row{display:flex;justify-content:space-between;gap:8px;color:#596e78;font-size:11px;font-weight:750}.order-original-row.applied #order-original-price{text-decoration:line-through;color:#8b969c}.order-coupon-choice{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid #cce6e2;border-radius:9px;background:#fff;color:#087f86;font-size:11px;font-weight:800;cursor:pointer}.order-coupon-choice input{width:16px;height:16px;accent-color:var(--teal);margin:0;flex:none}.order-coupon-choice:focus-within{outline:2px solid var(--coral);outline-offset:2px}.order-phone-control{display:flex!important;gap:7px;margin:0!important;font-weight:400!important}.order-phone-control select{width:120px;min-width:120px;height:43px;border:1px solid #d9e3e3;border-radius:10px;background:#fff;color:var(--navy);padding:0 7px;font-size:12px}.order-field .order-phone-control input{min-width:0;flex:1}.order-phone-control select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.order-coupon-choice{width:100%;font-family:inherit;text-align:left}.order-coupon-choice #order-coupon-selected{margin-left:auto;color:#5b7180;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-coupon-choice>span:last-child{font-size:17px;line-height:1}.order-coupon-choice:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.order-coupon-overlay[hidden]{display:none}.order-coupon-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:14px;background:#091a3caa;backdrop-filter:blur(5px)}.order-coupon-dialog{position:relative;width:min(100%,370px);max-height:calc(100dvh - 28px);overflow-y:auto;border:1px solid #fff;border-radius:22px;background:linear-gradient(145deg,#fffaf2,#fffdfb 55%,#eaf8f6);box-shadow:0 25px 65px #07112c66;padding:20px 16px 16px}.order-coupon-dialog h2{margin:0 35px 16px 0;font-family:Georgia,'Times New Roman',serif;font-size:24px}.order-coupon-dialog section+section{margin-top:14px}.order-coupon-dialog h3{margin:0 0 7px;color:#40546a;font-size:12px}.order-coupon-close{position:absolute;right:12px;top:12px;width:30px;height:30px;border:0;border-radius:50%;background:#f5e6e1;color:#8b423c;font-size:23px;line-height:1;cursor:pointer}.order-coupon-card{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:9px 10px;border:1px solid #dfe9e7;border-radius:11px;background:#fff}.order-coupon-card.selected{border-color:var(--teal);background:#effaf8}.order-coupon-card strong{display:block;color:var(--navy);font-size:12px;line-height:1.2}.order-coupon-card small{display:block;margin-top:3px;color:#6d7b86;font-size:9px;line-height:1.2}.order-coupon-card button{flex:none;min-width:62px;border:0;border-radius:8px;background:var(--teal);color:white;padding:7px 6px;font-size:10px;font-weight:850;cursor:pointer}.order-coupon-card button:disabled{background:#e9eeed;color:#8a9699;cursor:default}.order-coupon-empty{margin:0;padding:10px;border:1px dashed #d7e2df;border-radius:9px;color:#7a878c;font-size:11px;text-align:center}.order-coupon-none{width:100%;margin-top:16px;border:1px solid #cce6e2;border-radius:10px;background:white;color:#087f86;padding:11px;font-size:12px;font-weight:850;cursor:pointer}.order-coupon-dialog button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}html[dir=rtl] .order-coupon-dialog{direction:rtl}html[dir=rtl] .order-coupon-close{right:auto;left:12px}html[dir=rtl] .order-coupon-dialog h2{margin-right:0;margin-left:35px}html[dir=rtl] .order-coupon-choice{text-align:right}
.order-coupon-dialog{border:2px solid #f14634;background:linear-gradient(140deg,#fff1d6,#fffaf0 55%,#ffe2ce)}
.order-coupon-dialog h2,.order-coupon-dialog h3{color:#8f2e26}
#order-coupon-claimed-list,#order-coupon-available-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.order-coupon-card{display:flex;flex-direction:column;justify-content:space-between;gap:0;min-height:94px;margin:0;padding:0;border:1.5px solid #ef4240;border-radius:8px;background:#fff;text-align:center;overflow:hidden}
.order-coupon-card.selected{border-color:#e33a32;background:#fff4e9;box-shadow:0 0 0 1px #e33a32}
.order-coupon-info{min-width:0;width:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px 2px 3px}
.order-coupon-kicker{color:#e6403c;font-size:8px;line-height:1}
.order-coupon-card strong{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;color:#e6403c;font-size:9px;line-height:1.12;overflow-wrap:anywhere}
.order-coupon-card strong span{display:block}
.order-coupon-rate strong{font-size:22px;line-height:1}
.order-coupon-card small{margin-top:2px;color:#9f463f;font-size:7px;line-height:1.1}
.order-coupon-card button{width:100%;min-width:0;min-height:25px;border-radius:0;background:#ee4340;padding:2px 1px;font-size:8px;line-height:1.05;white-space:normal;overflow-wrap:anywhere}
.order-coupon-card button:disabled{background:#aa4f48;color:#fff}
.order-coupon-card.ineligible button:disabled{background:#c7b4b0;color:#fff}
.order-coupon-empty{grid-column:1/-1}
.order-coupon-none{border-color:#ef4240;color:#ad3d35}
.order-coupon-ineligible-note{grid-column:1/-1;margin:2px 0 0;color:#9f463f;font-size:10px;line-height:1.3;text-align:center}
html[lang=ja] .order-coupon-card button{font-size:9px}
.city-search-wrap input,.order-field input,.order-field textarea,.order-phone-control select{font-size:16px}
