:root{--pistachio:#dff39b;--pistachio-strong:#bedb58;--pistachio-deep:#8da53a;--cream:#fafbf4;--paper:#fff;--ink:#182117;--muted:#6d7569;--line:#e5eadf;--soft:#f3f6ec;--shadow:0 22px 60px #2f3d241a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 85% 2%, #dff39b8c, transparent 24rem), var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{justify-content:space-between;align-items:center;max-width:1180px;height:76px;margin:0 auto;padding:0 28px;display:flex}.brand{color:var(--ink);letter-spacing:-.8px;align-items:center;gap:10px;font-size:23px;font-weight:850;text-decoration:none;display:flex}.brandMark{background:var(--ink);width:34px;height:34px;color:var(--pistachio);border-radius:11px;place-items:center;font-size:19px;display:grid}.privateBadge{color:#667247;background:#eef3df;border:1px solid #dce5c5;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:750}.hero{justify-content:space-between;align-items:center;gap:30px;max-width:1180px;margin:28px auto 26px;padding:0 28px;display:flex}.heroCopy{max-width:720px}.eyebrow{color:#6b7b3b;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:9px;font-size:11px;font-weight:850;display:inline-flex}h1{letter-spacing:-4.3px;margin:0;font-size:clamp(46px,7vw,76px);line-height:.98}.hero p{color:var(--muted);margin:18px 0 0;font-size:17px;line-height:1.55}.heroOrb{background:var(--pistachio);border-radius:49px;flex:none;place-items:center;width:164px;height:164px;display:grid;transform:rotate(5deg);box-shadow:inset 0 0 0 1px #758f291f}.heroOrb span{font-size:58px;transform:rotate(-18deg)}.searchCard{background:var(--paper);border:1px solid var(--line);max-width:1180px;box-shadow:var(--shadow);border-radius:28px;margin:0 auto;padding:26px}.formBlock{margin-bottom:21px}.fieldLabel,.field>span{color:#56604e;margin-bottom:9px;font-size:12px;font-weight:800;display:block}.chipRow{flex-wrap:wrap;gap:9px;display:flex}.airportChip{border:1px solid var(--line);color:#596154;background:#fff;border-radius:15px;align-items:baseline;gap:7px;padding:10px 14px;transition:all .18s;display:flex}.airportChip:hover{transform:translateY(-1px)}.airportChip strong{color:var(--ink);font-size:14px}.airportChip span{font-size:12px}.airportChip.active{background:#eff6d8;border-color:#b8ce72;box-shadow:0 0 0 2px #bfdc5d26}.dateModeRow{border:1px solid var(--line);background:#f1f4e8;border-radius:14px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:16px;padding:4px;display:inline-grid}.dateModeRow button{color:#697161;background:0 0;border:0;border-radius:10px;height:40px;padding:0 14px;font-size:11px;font-weight:800}.dateModeRow button span{margin-right:5px}.dateModeRow button.active{color:var(--ink);background:#fff;box-shadow:0 4px 12px #2c362712}.primaryGrid.monthMode{grid-template-columns:2.2fr 1fr 1fr 1fr}.flexibleHint{color:#5f6b42;background:#f2f7df;border:1px solid #dfe8bd;border-radius:14px;align-items:center;gap:10px;margin-top:12px;padding:11px 13px;display:flex}.flexibleHint>span{background:#e4efb9;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.flexibleHint div{flex-direction:column;display:flex}.flexibleHint b{color:#4c5831;font-size:11px}.flexibleHint small{margin-top:2px;font-size:10px;line-height:1.35}.flexibleResults{max-width:1180px;margin:42px auto 0;padding:0 28px}.dateOptionsGrid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.dateOption{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;padding:15px;transition:all .18s;display:grid;box-shadow:0 7px 22px #2c36270d}.dateOption:hover{transform:translateY(-2px);box-shadow:0 13px 30px #2c362717}.dateOption.best{background:linear-gradient(#f7fbe9 0%,#fff 100%);border-color:#b9cf69}.dateOptionTop{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.dateOptionTop span{text-transform:uppercase;letter-spacing:.6px;color:#73823e;font-size:9px;font-weight:900}.dateOptionTop small{color:#7b8475;font-size:9px}.dateOption strong{font-size:12px;line-height:1.25}.dateOption i{color:#9ca58f;font-style:normal}.dateOption em{color:#56672c;grid-column:1/-1;margin-top:6px;font-size:10px;font-style:normal;font-weight:850}.flexibleNote{color:var(--muted);margin:12px 2px 0;font-size:10px;line-height:1.5}.primaryGrid{grid-template-columns:2.2fr 1fr 1fr 1fr;gap:12px;display:grid}.field input,.field select,.timeGrid input,.selectGrid select{border:1px solid var(--line);width:100%;height:52px;color:var(--ink);background:#fbfcf8;border-radius:14px;outline:none;padding:0 14px;transition:all .18s}.field input:focus,.field select:focus,.timeGrid input:focus,.selectGrid select:focus{background:#fff;border-color:#a8c257;box-shadow:0 0 0 4px #bfdc5d29}.inputWithIcon{position:relative}.inputWithIcon i{color:#87916f;font-style:normal;position:absolute;top:16px;left:14px}.inputWithIcon input{padding-left:39px}.childrenBar{border:1px solid var(--line);background:#fbfcf8;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:13px 14px;display:flex}.childrenCopy{align-items:center;gap:10px;min-width:220px;display:flex}.childrenIcon{color:#738638;background:#edf4d8;border-radius:11px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.childrenCopy div{flex-direction:column;display:flex}.childrenCopy b{font-size:12px}.childrenCopy small{color:var(--muted);margin-top:2px;font-size:10px}.childrenControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.childAgeCard{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:6px;min-height:42px;padding:5px 6px 5px 10px;display:flex}.childAgeCard label{align-items:center;gap:6px;display:flex}.childAgeCard label>span{color:#697263;font-size:10px;font-weight:800}.childAgeCard select{height:30px;color:var(--ink);background:#f1f5e6;border:0;border-radius:8px;outline:none;padding:0 7px;font-size:11px}.childAgeCard button{color:#8c9586;background:0 0;border:0;border-radius:8px;width:28px;height:28px;font-size:19px;line-height:1}.childAgeCard button:hover{background:#f1f3ed}.addChildButton{color:#58672c;background:#f3f7e7;border:1px dashed #b9c59d;border-radius:12px;min-height:42px;padding:0 12px;font-size:11px;font-weight:850}.addChildButton span{margin-right:3px;font-size:16px}.addChildButton:disabled{opacity:.45;cursor:not-allowed}.quickControls{grid-template-columns:1fr auto;align-items:stretch;gap:12px;margin-top:18px;display:grid}.budgetBox{background:var(--soft);border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:10px 18px;padding:15px 17px 12px;display:grid}.budgetBox span{flex-direction:column;gap:2px;display:flex}.budgetBox b{font-size:13px}.budgetBox small{color:var(--muted)}.budgetBox strong{letter-spacing:-.7px;font-size:22px}.budgetBox input{width:100%;accent-color:var(--pistachio-deep);grid-column:1/-1}.filtersButton{border:1px solid var(--line);min-width:150px;color:var(--ink);background:#fff;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:800;display:flex}.filtersButton b{color:#7f913f}.filtersPanel{border:1px solid var(--line);background:#fbfcf8;border-radius:20px;grid-template-columns:1fr 1fr 1.2fr;gap:20px;margin-top:14px;padding:18px;display:grid}.filterGroup{padding:2px}.filterHeading{align-items:flex-start;gap:10px;margin-bottom:13px;display:flex}.filterHeading>span{background:#edf4d8;border-radius:10px;place-items:center;width:31px;height:31px;display:grid}.filterHeading div{flex-direction:column;display:flex}.filterHeading b{font-size:13px}.filterHeading small{color:var(--muted);margin-top:2px;font-size:11px}.timeGrid,.selectGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.timeGrid label,.selectGrid label{color:#6c7567;font-size:10px;font-weight:700}.timeGrid input,.selectGrid select{height:42px;margin-top:6px;padding:0 9px;font-size:12px}.switchList{gap:8px;margin-top:10px;display:grid}.toggleRow{justify-content:space-between;align-items:center;gap:10px;min-height:36px;font-size:12px;font-weight:650;display:flex;position:relative}.toggleRow input{opacity:0;pointer-events:none;position:absolute}.toggleRow i{background:#dfe4da;border-radius:20px;flex:none;width:40px;height:23px;transition:all .2s;position:relative}.toggleRow i:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000001f}.toggleRow input:checked+i{background:var(--pistachio-strong)}.toggleRow input:checked+i:after{transform:translate(17px)}.searchButton{background:var(--ink);color:#fff;border:0;border-radius:17px;justify-content:center;align-items:center;gap:12px;width:100%;height:60px;margin-top:18px;font-size:16px;font-weight:850;transition:all .18s;display:flex}.searchButton:hover{transform:translateY(-1px);box-shadow:0 12px 25px #18211729}.searchButton span:last-child{color:var(--pistachio);font-size:22px}.searchButton:disabled{opacity:.72;cursor:wait}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.resultsSection{max-width:1180px;margin:46px auto 0;padding:0 28px}.resultsHeader{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.resultsHeader h2{letter-spacing:-1.7px;margin:0;font-size:34px}.tripMeta{color:var(--muted);padding-bottom:5px;font-size:13px}.notice{background:#f4f8e8;border:1px solid #d8e5ad;border-radius:17px;flex-direction:column;gap:5px;margin-bottom:20px;padding:16px 18px;display:flex}.notice b{font-size:14px}.notice span{color:#68725e;font-size:13px}.hotelGrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.hotelCard{border:1px solid var(--line);background:#fff;border-radius:22px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 9px 28px #2c36270f}.hotelCard:hover{transform:translateY(-3px);box-shadow:0 18px 42px #2c36271a}.hotelPhoto{background-color:#e9efd8;background-image:radial-gradient(circle at 30% 25%,#ffffff8c,#0000 8rem),none;background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;height:190px;display:grid;position:relative;overflow:hidden}.hotelPhoto.withImage{background-color:#dde3d4;transition:transform .35s}.hotelCard:hover .hotelPhoto.withImage{background-size:105%}.hotelFallback{color:#82923f;font-size:46px}.photoShade{pointer-events:none;background:linear-gradient(#0000,#1019102e);position:absolute;inset:45% 0 0}.photoBadge{color:#5b702c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850;position:absolute;bottom:12px;left:12px;box-shadow:0 3px 12px #00000014}.hotelBody{padding:17px}.hotelTopline{justify-content:space-between;align-items:center;min-height:22px;display:flex}.hotelTopline span{color:#93a64a;letter-spacing:1px;font-size:12px}.hotelTopline b{background:var(--pistachio);border-radius:8px;padding:4px 7px;font-size:11px}.hotelBody h3{letter-spacing:-.5px;margin:6px 0 5px;font-size:18px}.address{color:var(--muted);min-height:31px;margin:0;font-size:11px;line-height:1.45}.tags{flex-wrap:wrap;gap:6px;min-height:23px;margin-top:13px;display:flex}.tags span{color:#687160;background:#f1f4eb;border-radius:8px;padding:5px 8px;font-size:9px;font-weight:750}.priceRow{border-top:1px solid #edf0e8;justify-content:space-between;align-items:end;gap:10px;margin-top:17px;padding-top:14px;display:flex}.priceRow div{flex-direction:column;display:flex}.priceRow small{color:var(--muted);font-size:10px}.priceRow strong{letter-spacing:-1px;font-size:23px}.priceRow button{background:var(--pistachio);color:#334013;border:0;border-radius:11px;padding:10px 12px;font-size:11px;font-weight:850}.emptyState{text-align:center;background:#ffffff73;border:1px dashed #ced6c4;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:30px;display:flex}.emptyState>div{font-size:38px}.emptyState h3{margin:8px 0 3px}.emptyState p{color:var(--muted);margin:0;font-size:13px}.ideaStrip{align-items:center;gap:13px;max-width:1180px;margin:30px auto 0;padding:0 28px;display:flex}.ideaIcon{background:#ebf3ce;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.ideaStrip b{font-size:13px}.ideaStrip p{color:var(--muted);margin:3px 0 0;font-size:12px}footer{border-top:1px solid var(--line);max-width:1180px;color:var(--muted);justify-content:space-between;margin:70px auto 0;padding:28px;display:flex}footer span{color:var(--ink);font-weight:850}@media (max-width:900px){.heroOrb{display:none}.primaryGrid,.primaryGrid.monthMode{grid-template-columns:1fr 1fr}.destinationField{grid-column:1/-1}.filtersPanel{grid-template-columns:1fr}.hotelGrid,.dateOptionsGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.topbar{height:64px;padding:0 17px}.brand{font-size:21px}.brandMark{width:31px;height:31px}.hero{margin:20px auto 18px;padding:0 17px}h1{letter-spacing:-3.3px;font-size:48px}.hero p{margin-top:13px;font-size:14px}.searchCard{border-left:0;border-right:0;border-radius:23px 23px 0 0;margin:0;padding:18px 17px 22px;box-shadow:0 -10px 30px #2e3d230a}.chipRow{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.airportChip{border-radius:12px;flex-direction:column;justify-content:center;gap:0;padding:9px 5px}.airportChip span{font-size:9px}.dateModeRow{width:100%;display:grid}.dateModeRow button{padding:0 8px}.primaryGrid,.primaryGrid.monthMode{grid-template-columns:1fr 1fr;gap:10px}.flexibleHint{align-items:flex-start}.flexibleResults{margin-top:30px;padding:0 17px}.dateOptionsGrid{grid-template-columns:1fr}.field input,.field select{height:49px;padding:0 11px;font-size:13px}.inputWithIcon input{padding-left:36px}.childrenBar{flex-direction:column;align-items:flex-start}.childrenControls{justify-content:flex-start;width:100%}.childAgeCard{flex:135px}.childAgeCard label{flex:1;justify-content:space-between}.addChildButton{flex:135px;min-height:42px}.quickControls{grid-template-columns:1fr}.filtersButton{height:48px}.filtersPanel{padding:15px}.searchButton{height:56px}.resultsSection{margin-top:30px;padding:0 17px}.resultsHeader{flex-direction:column;align-items:flex-start;gap:5px}.hotelGrid{grid-template-columns:1fr}.hotelPhoto{height:220px}.ideaStrip{padding:0 17px}footer{flex-direction:column;gap:7px;margin-top:45px;padding:22px 17px}}.hotelFilterGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hotelFilterGrid label{color:#6c7567;font-size:10px;font-weight:700}.hotelFilterGrid select{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);background:#fff;border-radius:12px;outline:none;margin-top:6px;padding:0 9px;font-size:12px}.hotelFilterGrid .boardFilter{grid-column:1/-1}.boardPriceList{gap:6px;margin-top:14px;display:grid}.boardPrice{background:#f6f8f1;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.boardPrice span{color:#65705e;font-size:10px;font-weight:700}.boardPrice strong{color:var(--ink);font-size:12px}.hotelModalBackdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10180f94;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.hotelModal{background:#fff;border-radius:28px;width:min(1020px,100%);max-height:min(900px,100vh - 44px);position:relative;overflow:auto;box-shadow:0 28px 90px #00000040}.modalClose{z-index:5;width:40px;height:40px;color:var(--ink);background:#fffffff0;border:0;border-radius:50%;place-items:center;margin:14px 14px -54px auto;font-size:25px;line-height:1;display:grid;position:sticky;top:14px;box-shadow:0 5px 18px #0000001f}.detailGallery{background:#eef2e6}.detailHeroPhoto{background-color:#e9efd8;background-position:50%;background-size:cover;height:390px}.detailThumbs{gap:8px;padding:10px 14px 12px;display:flex;overflow-x:auto}.detailThumbs button{background-position:50%;background-size:cover;border:2px solid #0000;border-radius:10px;flex:0 0 76px;height:54px}.detailThumbs button.active{border-color:var(--pistachio-deep)}.detailContent{padding:24px}.detailTitleRow{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.detailStars{color:#93a64a;letter-spacing:1px;font-size:13px}.detailTitleRow h2{letter-spacing:-1.3px;margin:5px 0 6px;font-size:30px}.detailTitleRow p{color:var(--muted);margin:0;font-size:12px}.detailRating{background:var(--pistachio);color:#415018;border-radius:12px;padding:8px 10px;font-size:14px;font-weight:900}.detailSection{margin-top:24px}.detailSection h3{margin:0 0 9px;font-size:16px}.detailDescription{color:#596253;white-space:pre-line;margin:0;font-size:13px;line-height:1.65}.detailTimes{gap:10px;margin-top:18px;display:flex}.detailTimes span{background:#f3f6ec;border-radius:13px;flex-direction:column;flex:none;min-width:135px;padding:10px 12px;display:flex}.detailTimes small{color:var(--muted);font-size:9px}.detailTimes b{margin-top:3px;font-size:12px}.facilityList{flex-wrap:wrap;gap:7px;display:flex}.facilityList span{color:#606a59;background:#f2f5ec;border:1px solid #e6ebdd;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:650}.ratesHeading{justify-content:space-between;gap:15px;display:flex}.ratesHeading h3{margin-bottom:3px}.ratesHeading p{color:var(--muted);margin:0;font-size:11px}.rateOptionList{gap:9px;margin-top:12px;display:grid}.rateOption{border:1px solid var(--line);background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.rateMain{flex-direction:column;min-width:0;display:flex}.rateMain>b{font-size:13px}.rateMain>span{color:var(--muted);margin-top:3px;font-size:10px}.rateMeta{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.rateMeta em{color:#71786b;background:#f2f3ef;border-radius:999px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:700}.rateMeta em.good{color:#65782d;background:#edf5d2}.ratePrice{text-align:right;flex-direction:column;flex:none;display:flex}.ratePrice small{color:var(--muted);font-size:9px}.ratePrice strong{letter-spacing:-.6px;margin-top:2px;font-size:20px}.importantInfo{border-top:1px solid var(--line);margin-top:22px;padding-top:15px}.importantInfo summary{cursor:pointer;font-size:12px;font-weight:800}.importantInfo p{color:var(--muted);white-space:pre-line;font-size:11px;line-height:1.55}.detailLoading,.detailError{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:420px;padding:30px;display:flex}.detailError span{color:var(--muted);font-size:12px}.spinner.dark{border-color:#18211726;border-top-color:var(--ink)}@media (max-width:700px){.hotelModalBackdrop{align-items:flex-end;padding:0}.hotelModal{border-radius:24px 24px 0 0;width:100%;max-height:94vh}.detailHeroPhoto{height:260px}.detailContent{padding:18px}.detailTitleRow h2{font-size:24px}.detailTimes{flex-wrap:wrap}.rateOption{flex-direction:column;align-items:flex-start}.ratePrice{text-align:left;border-top:1px solid var(--line);width:100%;padding-top:9px}}
