:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{color:#172033;background:#f5f7fb;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.page{min-height:100vh}.hero{color:#fff;background-color:#0000;background-image:linear-gradient(#0714286b,#07142894),linear-gradient(135deg,#0f2743,#0ea5e9);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;padding:22px 28px 34px}.navbar{justify-content:space-between;align-items:flex-start;gap:18px;max-width:1180px;margin:0 auto;display:flex}.logo{letter-spacing:-.7px;font-size:25px;font-weight:900}.logoSub{color:#ffffffd1;margin:4px 0 0;font-size:13px;font-weight:700}.navLinks{gap:10px;font-weight:800;display:flex}.navLinks button{color:#fff;background:#ffffff29;border:0;border-radius:999px;padding:9px 13px;font-weight:900}.bookingPanel{grid-template-columns:.9fr 1.4fr;align-items:end;gap:28px;max-width:1180px;margin:72px auto 0;display:grid}.bookingIntro{max-width:430px}.eyebrow{color:#0ea5e9;text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;font-weight:900}.hero .eyebrow{color:#9ee7ff}h1{letter-spacing:-2.2px;margin:0;font-size:clamp(36px,5vw,62px);line-height:.98}.bookingIntro p:last-child{color:#ffffffe6;margin:16px 0 0;font-size:17px;line-height:1.55}.searchBox{background:#fffffff5;border-radius:22px;grid-template-columns:1.35fr 1fr 1fr .72fr auto;gap:10px;padding:12px;display:grid;box-shadow:0 22px 55px #00000038}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.searchBox label{color:#596274;font-size:12px;font-weight:900}.searchBox input{color:#172033;background:#fff;border:1px solid #dfe5ef;border-radius:13px;outline:none;width:100%;min-height:46px;padding:10px 11px;font-size:14px}.searchBox input:focus{border-color:#1daeea}.searchBox button,.cardFooter button,.bookNowButton{color:#fff;background:#0ea5e9;border:0;border-radius:14px;font-weight:900}.searchBox button{align-self:end;min-height:46px;padding:0 22px;font-size:15px}.content{max-width:1180px;margin:0 auto;padding:36px 28px 80px}.sectionTitle p{color:#0ea5e9;margin:0;font-weight:900}.sectionTitle h2,.detailHeader h2{letter-spacing:-1.3px;margin:7px 0 22px;font-size:34px}.villaGrid{grid-template-columns:minmax(0,1fr);gap:22px;display:grid}.villaCard{background:#fff;border-radius:24px;grid-template-columns:1.1fr .9fr;display:grid;overflow:hidden;box-shadow:0 16px 45px #101e3617}.villaImageButton{background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.villaImageButton img,.mainPhotoSlide img{object-fit:cover;width:100%;display:block}.villaImageButton img{height:390px;transition:transform .2s}.villaImageButton:hover img{transform:scale(1.03)}.villaImageButton span,.mainPhotoWrap>span{z-index:5;color:#fff;background:#071527bf;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:900;position:absolute;bottom:14px;right:14px}.villaInfo{flex-direction:column;justify-content:space-between;padding:24px;display:flex}.villaInfo h3{letter-spacing:-.8px;margin:0;font-size:28px}.villaInfo p{color:#667085;margin:9px 0 18px}.villaMeta{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.villaMeta span{color:#1976a3;background:#eef7ff;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:800}.cardFooter{justify-content:space-between;align-items:center;gap:12px;display:flex}.cardFooter strong{color:#0f172a;font-size:20px}.cardFooter button,.bookNowButton{padding:13px 18px}.emptyBox{color:#667085;background:#fff;border-radius:22px;padding:22px;font-weight:800}.backButton{color:#1976a3;background:#fff;border:0;border-radius:999px;margin-bottom:20px;padding:10px 14px;font-weight:900;box-shadow:0 10px 24px #101e3614}.detailHeader{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.detailHeader h2{margin-bottom:8px}.detailHeader p{color:#667085;margin:0;font-weight:700}.detailLayout{grid-template-columns:1.25fr .75fr;align-items:stretch;gap:20px;display:grid}.mainPhotoWrap{background:#fff;border-radius:26px;position:relative;overflow:hidden;box-shadow:0 16px 45px #101e3617}.mainPhotoScroller{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:none;display:flex;overflow:auto hidden}.mainPhotoScroller::-webkit-scrollbar{display:none}.mainPhotoSlide{scroll-snap-align:center;flex:0 0 100%;min-width:100%}.mainPhotoSlide img{height:520px}.swipeHint{z-index:5;color:#172033;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd6;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:900;position:absolute;bottom:14px;left:14px}.detailInfo{background:#fff;border-radius:26px;padding:24px;box-shadow:0 16px 45px #101e3617}.detailInfo h3{letter-spacing:-1px;margin:0;font-size:30px}.detailInfo p{color:#667085;font-weight:800}.detailNote{margin-top:18px;line-height:1.6}.galleryTitle{margin-top:42px}.photoGrid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.photoItem{background:#fff;border:3px solid #0000;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 12px 30px #101e3614}.photoItem.active{border-color:#0ea5e9}.photoItem img{object-fit:cover;width:100%;height:190px;transition:transform .2s;display:block}.photoItem:hover img{transform:scale(1.04)}@media (width<=900px){.hero{padding:14px 14px 18px}.navLinks{display:none}.logo{font-size:20px}.logoSub{font-size:12px}.bookingPanel{margin-top:26px;display:block}.bookingIntro{text-align:center;max-width:none;margin-bottom:14px}.eyebrow{margin-bottom:7px;font-size:12px}h1{letter-spacing:-1px;font-size:28px;line-height:1.05}.bookingIntro p:last-child{margin-top:8px;font-size:14px}.searchBox{border-radius:20px;grid-template-columns:1fr 1fr;gap:9px;padding:12px}.locationField{grid-column:1/-1}.guestField{grid-column:1/2}.searchBox label{font-size:11px}.searchBox input{border-radius:12px;min-height:42px;padding:9px 10px;font-size:13px}.searchBox button{border-radius:12px;grid-column:2/3;align-self:end;min-height:42px;padding:0 12px}.content{padding:22px 14px 60px}.sectionTitle h2,.detailHeader h2{margin-bottom:16px;font-size:25px}.villaCard{border-radius:20px;grid-template-columns:1fr}.villaImageButton img{height:230px}.villaInfo{gap:18px;padding:18px}.villaInfo h3{font-size:23px}.cardFooter{flex-direction:column;align-items:flex-start}.cardFooter button{width:100%}.detailHeader{display:block}.bookNowButton{width:100%;margin-top:14px}.detailLayout{grid-template-columns:1fr}.mainPhotoWrap{border-radius:20px}.mainPhotoSlide img{height:310px}.swipeHint{padding:7px 9px;font-size:11px;bottom:10px;left:10px}.mainPhotoWrap>span{padding:7px 9px;font-size:11px;bottom:10px;right:10px}.detailInfo{border-radius:20px;padding:18px}.detailInfo h3{font-size:24px}.galleryTitle{margin-top:34px}.photoGrid{grid-template-columns:repeat(2,1fr);gap:10px}.photoItem{border-radius:16px}.photoItem img{height:150px}}.searchError{color:#b42318;background:#fff0f1f5;border-radius:16px;max-width:1180px;margin:12px auto 0;padding:12px 14px;font-weight:900;box-shadow:0 12px 28px #0000001f}.availabilitySummary{background:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;padding:16px;display:flex;box-shadow:0 12px 30px #101e3614}.availabilitySummary strong{color:#0f172a;font-size:18px;display:block}.availabilitySummary span{color:#667085;margin-top:4px;font-weight:800;display:block}.availabilitySummary button{color:#1976a3;background:#eef7ff;border:0;border-radius:999px;padding:10px 14px;font-weight:900}.villaTitleRow{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.availableBadge{color:#137a3a;background:#dff8e8;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:900}.availableNote{color:#137a3a;margin:0 0 14px;font-weight:900}.blockedDates{background:#f7fbff;border:1px solid #e6edf5;border-radius:18px;margin-top:18px;padding:14px}.blockedDates>strong{color:#172033;margin-bottom:10px;display:block}.blockedDates p{color:#667085;margin:0}.blockedDate{border-top:1px solid #e6edf5;gap:3px;padding:10px 0;display:grid}.blockedDate:first-of-type{border-top:0}.blockedDate span{color:#172033;font-weight:900}.blockedDate small{color:#667085;font-weight:800}@media (width<=900px){.availabilitySummary{flex-direction:column;align-items:stretch;gap:12px}.availabilitySummary button{width:100%}.villaTitleRow{display:block}.availableBadge{margin-top:8px;display:inline-block}}.bookingSuccess{color:#137a3a;background:#dff8e8;border-radius:20px;margin:0 0 20px;padding:15px 16px;font-weight:900;box-shadow:0 12px 30px #101e3614}.bookingCardFooter{align-items:flex-end}.cardActions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.cardActions button{min-width:128px}.cardActions .secondaryButton{color:#1976a3;background:#eef7ff}.modalOverlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0715279e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.bookingModal{background:#fff;border-radius:28px;width:min(620px,100%);max-height:min(92vh,860px);overflow:auto;box-shadow:0 28px 80px #00000047}.modalHeader{z-index:2;background:#fff;border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 14px;display:flex;position:sticky;top:0}.modalHeader h2{color:#0f172a;letter-spacing:-.8px;margin:4px 0 6px;font-size:25px}.modalHeader span{color:#667085;font-weight:900}.modalCloseButton{color:#172033;background:#eef4fb;border:0;border-radius:999px;width:42px;height:42px;font-size:28px;font-weight:700;line-height:1}.bookingForm{gap:13px;padding:18px 22px 22px;display:grid}.modalGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modalField{gap:7px;display:grid}.modalField label{color:#596274;font-size:13px;font-weight:900}.modalField input,.modalField textarea{color:#172033;background:#fff;border:1px solid #dfe5ef;border-radius:15px;outline:none;width:100%;padding:12px 13px;font-size:15px}.modalField textarea{resize:vertical}.modalField input:focus,.modalField textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e91f}.modalError{color:#b42318;background:#fff0f1;border-radius:15px;padding:12px;font-weight:900}.submitBookingButton{color:#fff;background:#0ea5e9;border:0;border-radius:16px;padding:15px;font-size:16px;font-weight:900}.modalHint{color:#667085;margin:0;font-size:13px;font-weight:700;line-height:1.5}@media (width<=900px){.modalOverlay{align-items:end;padding:0}.bookingModal{border-radius:26px 26px 0 0;width:100%;max-height:92vh}.modalGrid{grid-template-columns:1fr}.bookingCardFooter{align-items:stretch}.cardActions{grid-template-columns:1fr;width:100%;display:grid}.cardActions button{width:100%}}.priceSummaryBox{background:#f7fbff;border:1px solid #e6edf5;border-radius:18px;gap:10px;padding:14px;display:grid}.priceSummaryBox div{border-bottom:1px solid #e6edf5;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.priceSummaryBox div:last-child{border-bottom:0;padding-bottom:0}.priceSummaryBox span{color:#667085;font-size:13px;font-weight:900}.priceSummaryBox strong{color:#172033;text-align:right;font-size:15px;font-weight:900}.priceSummaryTotal{margin-top:2px;padding-top:12px}.priceSummaryTotal strong{color:#0ea5e9;font-size:20px}@media (width<=430px){.priceSummaryBox div{flex-direction:column;align-items:flex-start;gap:4px}.priceSummaryBox strong{text-align:left}}.bedroomOptions{flex-wrap:wrap;gap:7px;display:flex}.searchBox .bedroomOptionButton{color:#1976a3;background:#eef7ff;border:1px solid #dbe8f4;border-radius:13px;min-height:46px;padding:0 13px;font-size:14px;font-weight:900}.searchBox .bedroomOptionButton.active{color:#fff;background:#0ea5e9;border-color:#0ea5e9;box-shadow:0 8px 18px #0ea5e938}.searchSubmitButton{min-width:88px}.modalField input[readonly]{color:#172033;background:#f7fbff;font-weight:900}@media (width<=900px){.bedroomField{grid-column:1/2}.bedroomOptions{gap:6px}.searchBox .bedroomOptionButton{border-radius:12px;min-height:42px;padding:0 10px;font-size:13px}}.datePickerField{gap:8px}.datePickerCard{background:#fff;border:1px solid #dfe5ef;border-radius:16px;flex-direction:column;justify-content:center;gap:7px;min-height:92px;padding:14px 16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.datePickerCard span{color:#667085;font-size:13px;font-weight:900;line-height:1.2}.datePickerCard strong{color:#172033;letter-spacing:-.35px;font-size:20px;line-height:1.3}.dateInputOverlay{z-index:3;opacity:0;cursor:pointer;background:0 0;border:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.dateInputOverlay::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.searchBox .dateInputOverlay,.modalGrid .dateInputOverlay{border:0;min-height:0;padding:0}@media (width<=900px){.datePickerCard{border-radius:14px;min-height:98px;padding:14px 12px}.datePickerCard strong{font-size:17px;line-height:1.35}.datePickerCard span{font-size:12px}}.contentDetailTop{max-width:1180px;padding-top:18px}.detailDateAdjustSection{margin-top:34px}.detailDateTitle h2{margin-bottom:16px}.detailDateAdjustBox{background:#fff;border-radius:28px;padding:20px;box-shadow:0 16px 45px #101e3617}.detailDateGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.detailBookingSummary{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.detailBookingSummary div{background:#f7fbff;border:1px solid #e6edf5;border-radius:18px;padding:14px}.detailBookingSummary span{color:#667085;font-size:13px;font-weight:900;display:block}.detailBookingSummary strong{color:#172033;margin-top:6px;font-size:18px;font-weight:900;display:block}.detailAvailableBox{border-radius:18px;gap:4px;margin-top:14px;padding:14px;font-weight:900;display:grid}.detailAvailableBox.available{color:#137a3a;background:#dff8e8}.detailAvailableBox.unavailable{color:#b42318;background:#fff0f1}.detailAvailableBox span{opacity:.85;font-size:13px}.detailBookWithDateButton{color:#fff;background:#0ea5e9;border:0;border-radius:18px;width:100%;margin-top:14px;padding:16px;font-size:17px;font-weight:900}.detailBookWithDateButton:disabled{cursor:not-allowed;color:#64748b;background:#cbd5e1}@media (width<=900px){.contentDetailTop{padding-top:14px}.detailDateAdjustSection{margin-top:26px}.detailDateAdjustBox{border-radius:24px;padding:16px}.detailDateGrid{grid-template-columns:1fr 1fr;gap:10px}.detailBookingSummary{grid-template-columns:1fr;gap:10px}.detailBookingSummary div{padding:13px}.detailBookingSummary strong{font-size:17px}}.detailAvailableBox.booked{color:#137a3a;background:#dff8e8}.bookingSuccessOverlay{z-index:1200}.bookingConfirmedModal{text-align:center;background:#fff;border-radius:30px;width:min(560px,100%);padding:26px;box-shadow:0 28px 80px #00000047}.successIcon{color:#137a3a;background:#dff8e8;border-radius:999px;place-items:center;width:72px;height:72px;margin:0 auto 14px;font-size:42px;font-weight:900;display:grid}.bookingConfirmedModal h2{color:#0f172a;letter-spacing:-1px;margin:8px 0 10px;font-size:30px}.confirmedMessage{color:#667085;max-width:430px;margin:0 auto 18px;font-weight:800;line-height:1.55}.confirmedSummary{text-align:left;gap:10px;margin:18px 0;display:grid}.confirmedSummary div{background:#f7fbff;border:1px solid #e6edf5;border-radius:18px;padding:14px}.confirmedSummary span{color:#667085;font-size:13px;font-weight:900;display:block}.confirmedSummary strong{color:#172033;word-break:break-word;margin-top:5px;font-size:16px;font-weight:900;display:block}.confirmedDoneButton{color:#fff;background:#0ea5e9;border:0;border-radius:18px;width:100%;padding:16px;font-size:17px;font-weight:900}@media (width<=900px){.bookingConfirmedModal{border-radius:28px 28px 0 0;width:100%;padding:24px 18px 22px}.bookingConfirmedModal h2{font-size:26px}}.blockedDatesHeader{justify-content:center;align-items:center;gap:10px;display:flex}.blockedDatesHeader>strong{color:#172033}.blockedDatesHeader>span{color:#0a88b8;background:#eaf7ff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.blockedDatesSub{text-align:center;font-size:13px;line-height:1.45;color:#0a88b8!important;margin:8px 0 10px!important;font-weight:900!important}.blockedDate.browserBooking{background:#eaf7ff;border:1px solid #0ea5e947;border-radius:16px;margin:8px 0;padding:12px}.blockedDate.browserBooking span{color:#0369a1}.blockedDate.browserBooking small{color:#0284c7}.blockedDatesExpandButton{color:#1976a3;background:#eef7ff;border:0;border-radius:999px;width:100%;margin-top:12px;padding:12px 14px;font-size:15px;font-weight:900}@media (width<=900px){.blockedDatesHeader{flex-direction:column;gap:6px}.blockedDatesExpandButton{padding:13px 14px}}.detailHeaderCompact{text-align:center;justify-content:center;margin-bottom:18px;padding:10px 10px 0}.detailHeaderCompact .eyebrow{color:#6b7280;letter-spacing:.12em;margin-bottom:8px;font-size:15px}.detailHeaderCompact h2{letter-spacing:-1.5px;margin:0;font-size:clamp(34px,6vw,48px);line-height:1.05}.detailPriceBox{text-align:center;padding-bottom:18px}.detailInfoLabel{color:#7b8495;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:14px;font-weight:900}.detailPriceBox h3{letter-spacing:-1.6px;margin:0 0 14px;font-size:clamp(34px,7vw,52px);line-height:1}.detailInfoRows{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.detailInfoRows>div{background:#f3f9fd;border:1px solid #0f172a0f;border-radius:18px;padding:14px 12px}.detailInfoRows span{color:#7b8495;margin-bottom:6px;font-size:13px;font-weight:900;display:block}.detailInfoRows strong{color:#162033;font-size:17px;font-weight:950;line-height:1.25;display:block}.detailMetaChips{justify-content:center;margin:4px 0 20px}@media (width<=900px){.detailHeaderCompact{margin-top:6px;margin-bottom:16px}.detailInfoModern{padding:24px 18px}.detailInfoRows{grid-template-columns:1fr}.detailPriceBox h3{font-size:42px}.detailInfoRows strong{font-size:18px}}.detailInfoModern{padding:18px 14px 20px}.detailSummaryGrid{grid-template-columns:1fr 1.18fr .92fr;gap:8px;width:100%;margin:0 0 14px;display:grid}.detailSummaryItem{text-align:center;background:#f3f9fd;border:1px solid #0f172a12;border-radius:16px;min-width:0;padding:12px 8px}.detailSummaryItem span{color:#7b8495;margin-bottom:5px;font-size:12px;font-weight:900;line-height:1.1;display:block}.detailSummaryItem strong{color:#162033;letter-spacing:-.2px;white-space:normal;font-size:15px;font-weight:950;line-height:1.2;display:block}.detailSummaryPrice strong{letter-spacing:-.35px;font-size:16px}.detailMetaChips{gap:8px;margin:2px 0 16px}.detailMetaChips span{padding:9px 12px;font-size:14px}@media (width<=900px){.detailInfoModern{padding:16px 12px 18px}.detailSummaryGrid{grid-template-columns:1fr 1.12fr .88fr;gap:7px}.detailSummaryItem{border-radius:14px;padding:10px 6px}.detailSummaryItem span{font-size:11px}.detailSummaryItem strong{font-size:13px}.detailSummaryPrice strong{font-size:14px}}.contentDetailTop{padding-top:0!important}.detailPage,.detailLayoutLifted{margin-top:0!important}.mainPhotoWrap{position:relative}.mainPhotoTitleBadge{z-index:8;color:#fff;letter-spacing:-.15px;-webkit-backdrop-filter:blur(10px);white-space:nowrap;text-overflow:ellipsis;background:#0f172aad;border-radius:999px;max-width:calc(100% - 100px);padding:7px 11px;font-size:13px;font-weight:900;line-height:1.1;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 10px 22px #0f172a2e}.villaScheduleChip{color:#087da9;cursor:pointer;box-shadow:none;background:#eaf7ff;border:0;border-radius:999px;padding:9px 12px;font-size:14px;font-weight:950}.villaScheduleChip.active{color:#fff;background:#0ea5e9}.villaSchedulePanel{background:#fff;border:1px solid #0f172a14;border-radius:18px;margin:8px 0 18px;padding:13px;box-shadow:0 14px 28px #0f172a14}.villaScheduleHeader{text-align:center;gap:4px;margin-bottom:10px;display:grid}.villaScheduleHeader strong{color:#172033;font-size:17px;font-weight:950}.villaScheduleHeader span{color:#6b7280;font-size:12px;font-weight:850}.villaScheduleList{grid-template-columns:1fr 1fr;gap:8px;max-height:310px;padding-right:2px;display:grid;overflow:auto}.villaScheduleDay{border-radius:14px;gap:4px;min-width:0;padding:10px 9px;display:grid}.villaScheduleDay span{color:#172033;font-size:12px;font-weight:900;line-height:1.25}.villaScheduleDay strong{font-size:13px;font-weight:950}.villaScheduleDay.available{background:#eafaf0;border:1px solid #22c55e38}.villaScheduleDay.available strong{color:#15803d}.villaScheduleDay.booked{background:#fff0f0;border:1px solid #ef444438}.villaScheduleDay.booked strong{color:#b91c1c}@media (width<=900px){.villaScheduleChip{padding:9px 12px;font-size:14px}.villaSchedulePanel{margin-top:4px;padding:12px}.villaScheduleList{grid-template-columns:1fr;max-height:340px}}.villaSchedulePanel{padding:14px}.villaCalendarHeader{grid-template-columns:42px 1fr 42px;align-items:center;column-gap:8px}.villaCalendarHeader strong{text-transform:lowercase}.villaCalendarHeader button{color:#0284c7;cursor:pointer;background:#eaf7ff;border:0;border-radius:999px;width:38px;height:38px;font-size:30px;font-weight:900;line-height:1}.villaCalendarHeader button:disabled{opacity:.25;cursor:not-allowed}.villaCalendarHeader span{grid-column:1/-1;margin-top:2px}.villaCalendarWeekdays,.villaCalendarGrid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.villaCalendarWeekdays{margin:10px 0 7px}.villaCalendarWeekdays span{color:#a5adbb;text-align:center;font-size:11px;font-weight:950}.villaCalendarDay{text-align:center;border:1px solid #0000;border-radius:14px;align-content:center;place-items:center;gap:3px;min-height:54px;padding:7px 4px;display:grid}.villaCalendarDay strong{color:#111827;font-size:18px;font-weight:900;line-height:1}.villaCalendarDay span{font-size:10px;font-weight:950;line-height:1.1}.villaCalendarDay.blank{background:0 0;border-color:#0000}.villaCalendarDay.past{opacity:.38;background:#f3f4f6;border-color:#edf0f4}.villaCalendarDay.available{background:#eafaf0;border-color:#22c55e47}.villaCalendarDay.available span{color:#15803d}.villaCalendarDay.booked{background:#fff0f0;border-color:#ef444447}.villaCalendarDay.booked span{color:#b91c1c}@media (width<=900px){.villaSchedulePanel{padding:13px}.villaCalendarWeekdays,.villaCalendarGrid{gap:5px}.villaCalendarDay{border-radius:12px;min-height:48px;padding:6px 2px}.villaCalendarDay strong{font-size:17px}.villaCalendarDay span{font-size:9px}}.detailLayoutPhotoOnly{display:block!important}.detailLayoutPhotoOnly .mainPhotoWrap{width:100%}.detailVillaCalendarRow{justify-content:center;margin:10px 0 16px;display:flex}.detailVillaCalendarRow .villaScheduleChip{color:#1d8fd2!important;box-shadow:none!important;background:#eef8ff!important;border:0!important;border-radius:999px!important;padding:12px 22px!important;font-size:16px!important;font-weight:950!important;line-height:1.1!important}.detailVillaCalendarRow .villaScheduleChip.active{color:#fff!important;background:#0ea5e9!important}.detailVillaSchedulePanel{max-width:760px;margin:0 auto 18px}@media (width<=900px){.detailVillaCalendarRow{margin:8px 0 14px}.detailVillaCalendarRow .villaScheduleChip{padding:11px 20px!important;font-size:15px!important}}.agodaBookingSection{margin-top:18px!important}.agodaBookingCard{background:#fff;border:1px solid #0f172a14;border-radius:26px;grid-template-columns:1fr 190px;gap:12px;padding:12px;display:grid;box-shadow:0 16px 42px #101e361a}.agodaBookingLeft{gap:9px;min-width:0;display:grid}.agodaDateRow{grid-template-columns:1fr 1fr;gap:8px;display:grid}.agodaDateCell{background:#f7fbff;border:1px solid #dfe7f0;border-radius:16px;min-width:0;padding:10px 11px;position:relative;overflow:hidden}.agodaDateCell span,.agodaInfoGrid span,.agodaBookingRight span{color:#6b7280;font-size:12px;font-weight:900;line-height:1.15;display:block}.agodaDateCell strong{color:#172033;letter-spacing:-.25px;margin-top:4px;font-size:15px;font-weight:950;line-height:1.22;display:block}.agodaDateInput{z-index:3;opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;inset:0}.agodaDateInput::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.agodaInfoGrid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.agodaInfoGrid>div{background:#f8fbff;border:1px solid #e5edf6;border-radius:15px;min-width:0;padding:9px}.agodaInfoGrid strong{color:#172033;letter-spacing:-.2px;margin-top:4px;font-size:13px;font-weight:950;line-height:1.18;display:block}.agodaStatus.available{background:#eafaf0;border-color:#22c55e40}.agodaStatus.available strong{color:#15803d}.agodaStatus.unavailable{background:#fff0f0;border-color:#ef444440}.agodaStatus.unavailable strong{color:#b91c1c}.agodaStatus.booked{background:#eaf7ff;border-color:#0ea5e94d}.agodaStatus.booked strong{color:#0284c7}.agodaBookingNote{border-radius:14px;margin:0;padding:9px 11px;font-size:12px;font-weight:900;line-height:1.35}.agodaBookingNote.unavailable{color:#b91c1c;background:#fff0f0}.agodaBookingNote.booked{color:#0284c7;background:#eaf7ff}.agodaBookingRight{background:#f8fbff;border:1px solid #e5edf6;border-radius:20px;align-content:stretch;gap:8px;padding:10px;display:grid}.agodaBookingRight>div{background:#fff;border:1px solid #0f172a0f;border-radius:14px;align-content:center;padding:8px;display:grid}.agodaBookingRight strong{color:#172033;letter-spacing:-.3px;margin-top:4px;font-size:16px;font-weight:950;line-height:1.16;display:block}.agodaBookButton{width:100%;min-height:50px;border-radius:999px!important;margin-top:0!important;padding:12px 14px!important;font-size:18px!important}@media (width<=900px){.agodaBookingCard{border-radius:22px;grid-template-columns:1fr 128px;gap:8px;padding:8px}.agodaDateRow{gap:6px}.agodaDateCell{border-radius:14px;padding:8px}.agodaDateCell span,.agodaInfoGrid span,.agodaBookingRight span{font-size:10.5px}.agodaDateCell strong{font-size:12px}.agodaInfoGrid{grid-template-columns:1fr 1fr;gap:6px}.agodaInfoGrid>div{border-radius:13px;padding:8px 7px}.agodaInfoGrid strong{font-size:12px}.agodaBookingRight{border-radius:18px;gap:6px;padding:8px}.agodaBookingRight>div{border-radius:12px;padding:7px}.agodaBookingRight strong{font-size:13px}.agodaBookButton{min-height:46px;font-size:17px!important}}.agodaInfoBullets{color:#172033;background:#f8fbff;border:1px solid #e5edf6;border-radius:16px;margin:0;padding:10px 12px 10px 28px;font-size:13px;font-weight:850;line-height:1.42}.agodaInfoBullets li{margin:4px 0;padding-left:2px}.agodaInfoBullets strong{color:#0f172a;font-weight:950}.agodaBulletStatus.available strong{color:#15803d}.agodaBulletStatus.unavailable strong{color:#b91c1c}.agodaBulletStatus.booked strong{color:#0284c7}@media (width<=900px){.agodaInfoBullets{border-radius:14px;padding:9px 10px 9px 24px;font-size:11.5px;line-height:1.36}.agodaInfoBullets li{margin:3px 0}}.detailVillaActionRow{grid-template-columns:1fr 1fr;gap:10px;width:min(520px,100% - 32px);margin:10px auto 16px;display:grid}.detailVillaActionRow .villaScheduleChip,.detailVillaActionRow .villaDescriptionChip{text-align:center;cursor:pointer;color:#1d8fd2!important;box-shadow:none!important;background:#eef8ff!important;border:0!important;border-radius:999px!important;padding:12px 16px!important;font-size:16px!important;font-weight:950!important;line-height:1.1!important}.detailVillaActionRow .villaScheduleChip.active,.detailVillaActionRow .villaDescriptionChip.active{color:#fff!important;background:#0ea5e9!important}.villaDescriptionPanel{background:#fff;border:1px solid #0f172a14;border-radius:22px;width:min(760px,100% - 32px);margin:0 auto 18px;padding:15px 16px;box-shadow:0 14px 30px #101e3614}.villaDescriptionHeader{text-align:center;gap:4px;margin-bottom:10px;display:grid}.villaDescriptionHeader strong{color:#172033;font-size:18px;font-weight:950}.villaDescriptionHeader span{color:#6b7280;font-size:12px;font-weight:850}.villaDescriptionList{color:#172033;margin:0;padding:0 0 0 22px;font-size:14px;font-weight:850;line-height:1.45}.villaDescriptionList li{margin:6px 0}@media (width<=900px){.detailVillaActionRow{gap:8px;width:min(420px,100% - 34px);margin:8px auto 14px}.detailVillaActionRow .villaScheduleChip,.detailVillaActionRow .villaDescriptionChip{padding:11px 10px!important;font-size:15px!important}.villaDescriptionPanel{border-radius:20px;width:calc(100% - 32px);padding:14px}.villaDescriptionList{font-size:13px;line-height:1.42}}.adminPage{color:#102033;background:radial-gradient(circle at 0 0,#0ea5e92e,#0000 34%),linear-gradient(#f4fbff 0%,#fff 100%);min-height:100vh;padding:28px}.adminLoginCard,.adminShell{width:min(1180px,100%);margin:0 auto}.adminLoginCard{background:#fff;border-radius:30px;margin-top:10vh;padding:28px;box-shadow:0 24px 80px #0f172a1f}.adminLoginCard h1,.adminTopbar h1{letter-spacing:-1.8px;margin:4px 0 8px;font-size:clamp(32px,7vw,54px)}.adminLoginCard p,.adminTopbar span{color:#667085;font-weight:800}.adminLoginForm{gap:12px;margin-top:22px;display:grid}.adminLoginForm input,.adminField textarea,.adminField select{color:#132238;background:#f8fcff;border:1px solid #dce8f4;border-radius:18px;outline:none;width:100%;padding:14px 15px;font-weight:850}.adminLoginForm button,.adminTopActions button,.adminPrimaryButton,.adminItemList button{color:#fff;background:#0ea5e9;border:0;border-radius:18px;padding:13px 16px;font-weight:950;box-shadow:0 12px 26px #0ea5e938}.adminTopbar{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.adminTopActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.adminTopActions .adminLogoutButton{color:#0f5f82;box-shadow:none;background:#eaf3fb}.adminMessage{border-radius:18px;margin:12px 0;padding:13px 15px;font-weight:900}.adminMessage.error{color:#b42318;background:#fff0f0}.adminMessage.success{color:#137a3a;background:#eafaf0}.adminLayout{grid-template-columns:290px 1fr;align-items:start;gap:18px;display:grid}.adminVillaList,.adminCalendarCard{background:#fff;border-radius:30px;box-shadow:0 24px 80px #0f172a17}.adminVillaList{gap:10px;padding:18px;display:grid;position:sticky;top:18px}.adminVillaList>strong{color:#102033;margin-bottom:4px;font-size:18px}.adminVillaList button{color:#172033;text-align:left;background:#f8fcff;border:1px solid #dfeaf5;border-radius:20px;padding:13px 14px}.adminVillaList button.active{background:#e8f7ff;border-color:#0ea5e9}.adminVillaList button span,.adminVillaList button small{display:block}.adminVillaList button span{font-weight:950}.adminVillaList button small{color:#667085;margin-top:4px;font-weight:800}.adminCalendarCard{padding:18px}.adminCalendarHeader{text-align:center;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;display:grid}.adminCalendarHeader button{color:#0ea5e9;background:#eaf8ff;border:0;border-radius:999px;width:46px;height:46px;font-size:34px;font-weight:950}.adminCalendarHeader strong,.adminCalendarHeader span{display:block}.adminCalendarHeader strong{color:#102033;text-transform:lowercase;font-size:clamp(24px,5vw,36px)}.adminCalendarHeader span{color:#667085;margin-top:4px;font-weight:900}.adminLegend{color:#667085;flex-wrap:wrap;justify-content:center;gap:12px;margin:12px 0;font-weight:900;display:flex}.adminLegend span:before{content:"";border-radius:999px;width:10px;height:10px;margin-right:7px;display:inline-block}.adminLegend .greenDot:before{background:#22c55e}.adminLegend .redDot:before{background:#ef4444}.adminWeekdays,.adminCalendarGrid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.adminWeekdays{margin:12px 0 8px}.adminWeekdays span{text-align:center;color:#a5adbb;font-size:12px;font-weight:950}.adminCalendarDay{text-align:center;border:1px solid #0000;border-radius:18px;min-height:76px;padding:9px 5px}.adminCalendarDay.blank{background:0 0}.adminCalendarDay.available{background:#eafaf0;border-color:#22c55e47}.adminCalendarDay.booked{background:#fff0f0;border-color:#ef44444d}.adminCalendarDay.past{opacity:.42}.adminCalendarDay strong,.adminCalendarDay span,.adminCalendarDay small{display:block}.adminCalendarDay strong{color:#111827;font-size:24px;font-weight:950}.adminCalendarDay span{margin-top:4px;font-size:12px;font-weight:950;line-height:1.08}.adminCalendarDay.available span{color:#15803d}.adminCalendarDay.booked span{color:#b91c1c}.adminCalendarDay small{color:#92400e;margin-top:2px;font-size:10px;font-weight:950}.adminModalOverlay{z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a7a;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.adminModal{background:#fff;border-radius:30px;width:min(620px,100%);max-height:min(90vh,820px);overflow:auto;box-shadow:0 28px 90px #0f172a33}.adminModal header{z-index:2;background:#fffffff5;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 14px;display:flex;position:sticky;top:0}.adminModal header h2{color:#102033;margin:4px 0 0;font-size:28px}.adminModal header button{color:#0f5f82;background:#eef7ff;border:0;border-radius:999px;width:42px;height:42px;font-size:28px;font-weight:900}.adminModalBody{gap:14px;padding:0 22px 22px;display:grid}.adminStatusCard{border-radius:20px;gap:4px;padding:15px;display:grid}.adminStatusCard strong,.adminStatusCard span{display:block}.adminStatusCard strong{font-size:18px}.adminStatusCard.available{color:#137a3a;background:#eafaf0}.adminStatusCard.booked{color:#b91c1c;background:#fff0f0}.adminField{gap:7px;display:grid}.adminField span{color:#596274;font-size:13px;font-weight:950}.adminField textarea{resize:vertical}.adminPrimaryButton{width:100%;min-height:52px}.adminPrimaryButton:disabled,.adminItemList button:disabled,.adminTopActions button:disabled{opacity:.65;cursor:wait}.adminItemList{gap:10px;display:grid}.adminItemList article{background:#fbfdff;border:1px solid #e5eef6;border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.adminItemList article strong,.adminItemList article span,.adminItemList article small{display:block}.adminItemList article strong{color:#102033;font-size:17px}.adminItemList article span,.adminItemList article small,.adminItemList article p{color:#667085;font-weight:800}.adminItemList article p{margin:8px 0 0;line-height:1.45}.adminItemList button{background:#ef4444;box-shadow:0 12px 26px #ef44442e}@media (width<=900px){.adminPage{padding:16px}.adminTopbar{display:grid}.adminTopActions{justify-content:stretch}.adminTopActions button{flex:1}.adminLayout{grid-template-columns:1fr}.adminVillaList{position:static}.adminCalendarCard{padding:14px}.adminWeekdays,.adminCalendarGrid{gap:5px}.adminCalendarDay{border-radius:13px;min-height:58px;padding:7px 2px}.adminCalendarDay strong{font-size:18px}.adminCalendarDay span{font-size:9px}.adminItemList article{grid-template-columns:1fr}.adminItemList button{width:100%}.adminModalOverlay{align-items:flex-end;padding:0}.adminModal{border-radius:28px 28px 0 0;width:100%;max-height:92vh}}.adminTabs{gap:10px;margin:14px 0 18px;display:flex;overflow:auto}.adminTabs button{color:#0f5f82;white-space:nowrap;background:#eaf3fb;border:0;border-radius:999px;padding:12px 18px;font-weight:950}.adminTabs button.active{color:#fff;background:#0ea5e9;box-shadow:0 12px 26px #0ea5e938}.adminVillaManager{grid-template-columns:300px 1fr;align-items:start;gap:18px;display:grid}.adminProductListHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.adminProductListHeader button{color:#fff;background:#0ea5e9;border:0;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:950}.adminVillaEditor{background:#fff;border-radius:30px;padding:20px;box-shadow:0 24px 80px #0f172a17}.adminEditorHeader,.adminImageHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.adminEditorHeader h2,.adminImageHeader h3{color:#102033;letter-spacing:-1px;margin:4px 0 6px;font-size:clamp(26px,5vw,38px)}.adminEditorHeader span,.adminImageHeader span{color:#667085;font-weight:800}.adminEditorActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.adminEditorActions button,.adminUploadButton{color:#fff;background:#0ea5e9;border:0;border-radius:18px;padding:13px 16px;font-weight:950;box-shadow:0 12px 26px #0ea5e938}.adminEditorActions .adminGhostButton{color:#0f5f82;box-shadow:none;background:#eaf3fb}.adminVillaFormGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.adminField input{color:#132238;background:#f8fcff;border:1px solid #dce8f4;border-radius:18px;outline:none;width:100%;padding:14px 15px;font-weight:850}.adminWideField{grid-column:1/-1}.adminImagePanel{border-top:1px solid #edf2f7;margin-top:18px;padding-top:18px}.adminUploadButton{cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.adminUploadButton input{opacity:0;cursor:pointer;position:absolute;inset:0}.adminHintBox{color:#0f5f82;background:#f0f9ff;border-radius:18px;margin:0 0 14px;padding:12px 14px;font-weight:900}.adminImageGrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.adminImageCard{background:#fbfdff;border:1px solid #e5eef6;border-radius:22px;overflow:hidden}.adminImageCard img{object-fit:cover;background:#eef3f8;width:100%;height:160px;display:block}.adminImageCard>div{padding:11px}.adminImageCard strong,.adminImageCard span{display:block}.adminImageCard strong{color:#102033;font-size:15px}.adminImageCard span{color:#667085;margin-top:3px;font-size:12px;font-weight:850}.adminImageActions{grid-template-columns:1fr 1fr;gap:7px;display:grid;padding:0 11px 11px!important}.adminImageActions button{color:#0f5f82;background:#eaf3fb;border:0;border-radius:13px;padding:10px 8px;font-size:12px;font-weight:950}.adminImageActions button.danger{color:#b91c1c;background:#fff0f0}.adminImageActions button:disabled{opacity:.42;cursor:not-allowed}.adminEmptyImages{color:#667085;text-align:center;background:#f8fcff;border-radius:20px;grid-column:1/-1;padding:22px;font-weight:900}@media (width<=900px){.adminVillaManager{grid-template-columns:1fr}.adminEditorHeader,.adminImageHeader{display:grid}.adminEditorActions{justify-content:stretch}.adminEditorActions button,.adminUploadButton{width:100%}.adminVillaFormGrid{grid-template-columns:1fr}.adminImageGrid{grid-template-columns:repeat(2,1fr)}.adminImageCard img{height:130px}}
