
:root{--bg:#080b09;--panel:#101612;--line:#29332c;--gold:#f0aa42;--cream:#fff5e4;--muted:#aab4ad;--green:#9bcf78}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#fff;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.wrap{width:min(1180px,92%);margin:auto}
.top{position:absolute;z-index:5;left:0;right:0}nav{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.brand{font-weight:950;font-size:21px}.brand em{font-style:normal;color:var(--gold)}.owner{border:1px solid #ffffff55;border-radius:999px;padding:10px 14px;font-weight:850;background:#0005}
.hero{min-height:680px;background:linear-gradient(90deg,#07100be8 0%,#07100bc5 45%,#07100b40),linear-gradient(0deg,#080b09 0%,transparent 35%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=85') center/cover;display:flex;align-items:flex-end;padding:110px 0 72px}
.ey{color:var(--gold);font-size:11px;letter-spacing:.16em;font-weight:950}h1{font-size:clamp(50px,8vw,94px);line-height:.92;margin:14px 0}h1 span,h2 span{color:var(--gold)}.lead{color:#d2d8d3;max-width:720px;font-size:18px;line-height:1.6}
.search{display:grid;grid-template-columns:1.5fr 1fr .8fr auto;gap:8px;background:#0a0d0bdd;border:1px solid #ffffff2b;padding:9px;border-radius:18px;margin-top:26px;max-width:980px;backdrop-filter:blur(10px)}.field{background:#fff;color:#151a16;border-radius:12px;padding:10px 13px}.field small{display:block;color:#6e766f;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:4px}.field input,.field select{width:100%;border:0;outline:0;background:transparent}.go{border:0;border-radius:12px;background:var(--gold);font-weight:950;padding:0 22px}
.section{padding:55px 0}.head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}h2{font-size:clamp(30px,5vw,48px);margin:6px 0}.muted{color:var(--muted)}
.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,34%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.deal{min-height:360px;border-radius:22px;overflow:hidden;position:relative;scroll-snap-align:start;background-size:cover;background-position:center;border:1px solid #ffffff20}.shade{position:absolute;inset:0;background:linear-gradient(0deg,#050806f5 0%,#05080615 72%)}.dealtext{position:absolute;left:18px;right:18px;bottom:18px}.flag{display:inline-block;background:var(--gold);color:#1c1204;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:950;letter-spacing:.08em}.promoted{font-size:10px;color:#d6d9d7;margin-left:7px}.deal h3{font-size:25px;margin:10px 0 4px}.dealprice{font-size:21px;font-weight:950}.dealprice small{font-size:12px;color:#c2c9c3}
.hidden{background:linear-gradient(135deg,#25190c,#152016);border:1px solid #514023;border-radius:28px;padding:30px;display:grid;grid-template-columns:1.1fr .9fr;gap:25px;align-items:center}.moods{display:flex;gap:8px;flex-wrap:wrap}.mood{border:1px solid #5d523c;background:#0d120e;color:#fff;border-radius:999px;padding:10px 13px;cursor:pointer}.mood.on{background:var(--gold);color:#171006;border-color:var(--gold)}.surprise{margin-top:15px;border:0;background:var(--gold);padding:13px 18px;border-radius:12px;font-weight:950}
.stays{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stay{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden}.stayimg{height:220px;background-size:cover;background-position:center;position:relative}.save{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#090c09cc;color:#fff;font-size:20px}.staybody{padding:16px}.staybody h3{font-size:21px;margin:3px 0}.meta{font-size:12px;color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.tag{font-size:10px;border:1px solid var(--line);padding:6px 8px;border-radius:999px}.price{font-weight:950;font-size:19px}.price small{font-weight:normal;color:var(--muted);font-size:11px}
.ecos{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.eco{border:1px solid var(--line);background:#101512;border-radius:16px;padding:17px}.eco b{display:block;margin-bottom:7px}.eco span{font-size:12px;color:var(--muted);line-height:1.4}
.bottomnav{display:none}footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted)}
@media(max-width:800px){.hero{min-height:700px}.search{grid-template-columns:1fr 1fr}.go{min-height:54px}.carousel{grid-auto-columns:82%}.hidden{grid-template-columns:1fr}.stays{grid-template-columns:1fr}.ecos{grid-template-columns:1fr 1fr}.bottomnav{display:flex;position:sticky;bottom:0;z-index:10;background:#090d0df5;border-top:1px solid var(--line);justify-content:space-around;padding:12px 4px;font-size:11px}} 

.nl-ecosystem{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.nl-feature{grid-column:1/-1;min-height:145px;background:linear-gradient(135deg,#1d2419,#33281a);border:1px solid #655033;border-radius:20px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}
.nl-feature b{font-size:25px;margin-bottom:7px}.nl-feature span,.nl-small span{color:var(--muted);font-size:13px;line-height:1.45}
.nl-small{background:#101512;border:1px solid var(--line);border-radius:16px;padding:17px;min-height:105px}.nl-small b{display:block;margin-bottom:7px}

/* V1.4 Functional Layer */
.func-panel{background:#111713;border:1px solid var(--line);border-radius:22px;padding:20px;margin-top:18px}
.func-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stay-action{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.stay-action button,.stay-action a{border:0;border-radius:999px;padding:10px 13px;font-weight:900}
.save-btn{background:#f6ede0;color:#2a2118}.book-btn{background:#d8954f;color:#1a1009}.ghost-btn{background:#1b211d;color:#fff;border:1px solid var(--line)!important}
.hidden-result{margin-top:14px;padding:16px;border-radius:16px;background:#0d120f;border:1px solid var(--line)}
.booking{display:none}.booking.on{display:block}
.booking label{display:block;font-size:12px;color:var(--muted);margin:10px 0 5px}
.booking input,.booking select{width:100%;background:#0a0f0c;color:#fff;border:1px solid var(--line);padding:12px;border-radius:11px}
.trip-list{display:grid;gap:8px}.trip-item{display:flex;justify-content:space-between;gap:10px;background:#0d120f;border:1px solid var(--line);padding:12px;border-radius:13px}
.owner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.owner-stat{background:#0c110e;border:1px solid var(--line);border-radius:14px;padding:14px}.owner-stat b{font-size:22px;display:block}
@media(max-width:760px){.func-grid{grid-template-columns:1fr}.owner-stats{grid-template-columns:1fr 1fr}}

/* V1.5 interaction + owner UI polish */
.stay-card-link{display:block;color:inherit;text-decoration:none}
.stay-card-link .card{transition:transform .16s ease,border-color .16s ease}
.stay-card-link:active .card{transform:scale(.985)}
.place-more{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:900;color:#f3b45b}
#escapeResultPanel{display:none;margin-top:18px;padding:18px;border-radius:18px;background:#0e1511;border:1px solid var(--line)}
#escapeResultPanel.on{display:block}
.owner-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.owner-action{appearance:none;border:1px solid #6b5435;background:linear-gradient(180deg,#2b2116,#1b1711);color:#fff;padding:14px 16px;border-radius:14px;font-weight:900;text-align:center;box-shadow:none}
.owner-action.primary{grid-column:1/-1;background:linear-gradient(180deg,#f2b24f,#d88b32);color:#171008;border-color:#f2b24f}
.owner-action:active{transform:scale(.985)}
@media(max-width:560px){.owner-actions{grid-template-columns:1fr}.owner-action.primary{grid-column:auto}}

/* V1.6 booking/profile/map preview */
.profile-shell{margin-top:24px;background:#101612;border:1px solid var(--line);border-radius:24px;overflow:hidden}
.profile-hero{min-height:280px;padding:22px;display:flex;align-items:flex-end;background:
radial-gradient(circle at 78% 20%,rgba(242,178,79,.34),transparent 18%),
linear-gradient(145deg,#35452f,#171b16)}
.profile-hero .badge{background:#0c110ddd;border:1px solid #665136;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em}
.profile-content{padding:20px}.profile-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.profile-price{text-align:right;font-weight:900}.profile-price strong{font-size:28px;color:#f3b45b}
.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.icon-card{background:#0b100d;border:1px solid var(--line);border-radius:14px;padding:12px;font-size:12px}
.info-block{margin-top:14px;padding:15px;background:#0c120e;border:1px solid var(--line);border-radius:16px}.info-block h4{margin:0 0 8px}
.booking-page{display:none;margin-top:22px}.booking-page.on{display:block}
.booking-step{padding:18px;background:#101612;border:1px solid var(--line);border-radius:20px;margin-bottom:12px}
.booking-summary{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}.pricebox{background:#0a0e0b;border:1px solid var(--line);border-radius:16px;padding:15px}
.price-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.price-row:last-child{border-bottom:0}
.map-preview{position:relative;height:280px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:
linear-gradient(35deg,transparent 47%,#2c4438 48% 51%,transparent 52%),
linear-gradient(145deg,#18261f,#24342c)}
.road{position:absolute;background:#d8c39a33;border-radius:99px}.r1{width:75%;height:10px;left:5%;top:45%;transform:rotate(-16deg)}.r2{width:60%;height:8px;left:35%;top:56%;transform:rotate(29deg)}
.map-pin{position:absolute;left:58%;top:40%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50% 50% 50% 0;transform-origin:center;background:#f3b45b;rotate:-45deg;border:4px solid #fff}.map-pin:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#18231d;left:12px;top:12px}
.map-label{position:absolute;left:16px;bottom:16px;background:#09100ddd;border:1px solid #ffffff22;padding:10px 12px;border-radius:12px;font-weight:900}
.map-controls{position:absolute;right:12px;top:12px;display:grid;gap:7px}.map-controls button{width:38px;height:38px;border-radius:10px;border:1px solid #ffffff22;background:#08100ddd;color:#fff;font-size:20px}
.place-detail{display:none}.place-detail.on{display:block}
@media(max-width:720px){.booking-summary{grid-template-columns:1fr}.icon-grid{grid-template-columns:1fr 1fr}.profile-top{display:block}.profile-price{text-align:left;margin-top:8px}}

#top,#places,#hiddenAway,#mapSection,#stayDetails,#bookingPage,#saved{scroll-margin-top:20px}
.place-more{display:inline-flex;margin-top:10px;font-size:12px;font-weight:950;color:#f2b24f}
.result-panel{display:none;margin-top:16px;padding:18px;border-radius:18px;background:#0d140f;border:1px solid var(--line)}
.result-panel.on{display:block}
.map-box{height:300px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(28deg,transparent 47%,#344b3d 48% 51%,transparent 52%),linear-gradient(142deg,#15231c,#29392f)}
.map-road{position:absolute;height:9px;border-radius:99px;background:#d9c79b33}.map-road.one{width:80%;left:2%;top:50%;transform:rotate(-14deg)}.map-road.two{width:64%;left:30%;top:58%;transform:rotate(29deg)}
.map-dot{position:absolute;left:58%;top:40%;width:42px;height:42px;border-radius:50%;background:#f2b24f;border:5px solid #fff}
.map-label{position:absolute;left:14px;bottom:14px;background:#07100ddd;border:1px solid #ffffff22;border-radius:12px;padding:10px;font-weight:900}
.map-controls{position:absolute;right:12px;top:12px;display:grid;gap:7px}.map-controls button{width:40px;height:40px;border:1px solid #ffffff22;border-radius:11px;background:#07100ddd;color:#fff;font-size:20px}
.detail-shell{background:#101612;border:1px solid var(--line);border-radius:24px;overflow:hidden}.detail-hero{height:285px;padding:20px;display:flex;align-items:flex-end;background:radial-gradient(circle at 76% 22%,rgba(242,178,79,.38),transparent 18%),linear-gradient(145deg,#40513a,#171c17)}
.detail-badge{background:#08100ddd;border:1px solid #ffffff22;border-radius:999px;padding:8px 10px;font-size:10px;font-weight:950}.detail-body{padding:20px}.detail-head{display:flex;justify-content:space-between;gap:16px}.detail-price{text-align:right}.detail-price strong{display:block;color:#f2b24f;font-size:29px}
.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.facility{padding:12px;background:#0b100d;border:1px solid var(--line);border-radius:14px;font-size:12px}
.detail-info{padding:15px;background:#0b100d;border:1px solid var(--line);border-radius:15px;margin:11px 0}
.booking-page{display:none}.booking-page.on{display:block}.booking-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}.booking-step,.booking-summary{padding:18px;background:#101612;border:1px solid var(--line);border-radius:20px;margin-bottom:12px}
.booking-step label{display:block;color:var(--muted);font-size:12px;margin:9px 0 5px}.booking-step input,.booking-step select{width:100%;background:#080e0a;color:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.price-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.bottomnav a{color:inherit;text-decoration:none;text-align:center}
.owner-actions-wrap{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.owner-actions-wrap p{max-width:650px;margin-left:auto;margin-right:auto}
.owner-actions{display:flex!important;flex-direction:column!important;align-items:center!important;gap:14px!important;width:min(100%,520px)!important;margin:24px auto 0!important}
.owner-action,.owner-action.primary{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:15px 22px!important;margin:0!important;border:0!important;border-radius:18px!important;background:#f0aa42!important;color:#10100d!important;font-weight:950!important;font-size:17px!important;text-align:center!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
.owner-tool{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#0d120f}.owner-tool input,.owner-tool textarea{width:100%;background:#090d0a;color:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:8px}
@media(max-width:720px){.detail-head{display:block}.detail-price{text-align:left;margin-top:10px}.facility-grid{grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:1fr}}

/* V2.0 Map/List + offer-first carousel */
.view-switch{display:flex;gap:8px;align-items:center}
.view-switch button{border:1px solid var(--line);background:#0d120f;color:var(--muted);padding:9px 13px;border-radius:999px;font-weight:900}
.view-switch button.on{background:#f0aa42;color:#10100d;border-color:#f0aa42}
#listPanel.hidden,#realMapPanel.hidden{display:none}
#realMapPanel{margin-top:18px}
.real-map{height:480px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:
radial-gradient(circle at 78% 18%,#244038 0 8%,transparent 9%),
linear-gradient(33deg,transparent 46%,#345445 47% 49%,transparent 50%),
linear-gradient(-21deg,transparent 46%,#324b40 47% 49%,transparent 50%),
linear-gradient(145deg,#14231d,#26382f)}
.real-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:44px 44px}
.map-marker{position:absolute;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50% 50% 50% 0;rotate:-45deg;background:#f0aa42;border:4px solid #fff;box-shadow:0 8px 18px #0008;cursor:pointer;z-index:3}
.map-marker:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#19251f;left:10px;top:10px}
.map-bubble{display:none;position:absolute;z-index:6;width:min(280px,75vw);background:#0c120fee;border:1px solid #6f5a3b;border-radius:17px;padding:14px;box-shadow:0 16px 40px #000a}
.map-bubble.on{display:block}.map-bubble h4{font-size:20px;margin:3px 0}.map-bubble .bubble-offer{color:#f0aa42;font-weight:950;font-size:12px;margin-bottom:6px}.map-bubble button{width:100%;margin-top:10px;border:0;border-radius:12px;background:#f0aa42;color:#10100d;padding:11px;font-weight:950}
.map-help{position:absolute;left:14px;bottom:14px;z-index:2;background:#08100ddd;border:1px solid #ffffff20;border-radius:12px;padding:10px 12px;font-size:11px;color:#d5ddd8}

/* carousel offer hierarchy */
.carousel .deal{cursor:pointer;min-height:360px}
.dealtext{display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:18px}
.deal .offer-kicker{font-size:11px;letter-spacing:.13em;font-weight:950;color:#f0aa42}
.deal .offer-main{font-size:32px;line-height:.95;font-weight:950;margin:7px 0;color:#fff;text-shadow:0 3px 18px #000}
.deal .offer-sub{font-size:14px;font-weight:800;color:#fff;margin-bottom:12px}
.deal .offer-place{display:flex;justify-content:space-between;gap:10px;align-items:end;border-top:1px solid #ffffff30;padding-top:11px}
.deal .offer-place b{font-size:15px}.deal .offer-price{font-size:25px;font-weight:950;color:#f0aa42}
.deal .promoted{position:absolute;top:14px;right:14px;background:#080d0bcc;border:1px solid #ffffff35;border-radius:999px;padding:6px 8px;font-size:9px}
.deal .shade{background:linear-gradient(180deg,#00000012 15%,#000000d9 82%)}

/* dynamic advert */
#placeAdvert{display:none}#placeAdvert.on{display:block}
.advert-title-row{display:flex;justify-content:space-between;gap:14px}.advert-price{text-align:right}.advert-price strong{display:block;color:#f0aa42;font-size:30px}
.advert-offer{margin:14px 0;padding:15px;background:linear-gradient(135deg,#2b2115,#15130f);border:1px solid #74572d;border-radius:17px}.advert-offer b{color:#f0aa42;font-size:23px;display:block}
@media(max-width:700px){.real-map{height:410px}.advert-title-row{display:block}.advert-price{text-align:left;margin-top:8px}}

/* V2.1 map popover containment + dedicated stay page */
.real-map{overflow:hidden}
.map-bubble{
  position:absolute;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:18px!important;
  transform:translateX(-50%);
  width:calc(100% - 28px);
  max-width:360px;
  max-height:44%;
  overflow:auto;
  z-index:10;
  box-sizing:border-box;
}
.map-bubble h4{white-space:normal;overflow-wrap:anywhere}
.map-bubble p{white-space:normal;overflow-wrap:anywhere}
.map-help{bottom:auto;top:14px;left:14px;right:14px;text-align:center}
.map-marker.active{background:#fff;border-color:#f0aa42}
.stay-page{padding-bottom:40px}
.stay-page .backlink{display:inline-flex;align-items:center;gap:7px;margin:18px 0;color:#f0aa42;font-weight:900}
.stay-page .gallery{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-top:14px}
.stay-page .photo{min-height:240px;border-radius:22px;background:radial-gradient(circle at 72% 20%,rgba(240,170,66,.3),transparent 18%),linear-gradient(145deg,#40513a,#171c17);border:1px solid var(--line)}
.stay-page .photo.small{min-height:115px}
.stay-page .sidephotos{display:grid;gap:10px}
.stay-page .hero-info{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;margin-top:20px}
.stay-page .hero-info h1{font-size:clamp(38px,8vw,68px);line-height:.95;margin:5px 0}
.stay-page .price strong{display:block;color:#f0aa42;font-size:34px}
.stay-page .offer-box{margin:18px 0;padding:18px;border-radius:20px;background:linear-gradient(135deg,#2d2114,#15120e);border:1px solid #74572d}
.stay-page .offer-box b{display:block;color:#f0aa42;font-size:26px;margin:5px 0}
.stay-page .detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}
.stay-page .panel{background:#101612;border:1px solid var(--line);border-radius:20px;padding:18px}
.stay-page .cta-stack{display:grid;gap:10px}
.stay-page .cta-stack button,.stay-page .cta-stack a{width:100%;border-radius:15px;padding:14px 16px;font-weight:950;text-align:center;border:0}
.stay-page .primary{background:#f0aa42;color:#10100d}
.stay-page .secondary{background:#151c18;color:#fff;border:1px solid var(--line)!important}
.stay-page .book-panel{display:none;margin-top:18px}.stay-page .book-panel.on{display:block}
.stay-page .book-panel input,.stay-page .book-panel select{width:100%;padding:12px;border-radius:12px;background:#090e0b;color:#fff;border:1px solid var(--line);margin-top:6px}
@media(max-width:700px){
 .stay-page .gallery,.stay-page .detail-grid{grid-template-columns:1fr}
 .stay-page .sidephotos{grid-template-columns:1fr 1fr}
 .stay-page .hero-info{grid-template-columns:1fr}
 .map-bubble{max-height:52%}
}

/* V2.2 public commercial pricing privacy */
.price-private{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#111713;border:1px solid var(--line);color:#f0aa42;font-weight:900;font-size:12px}
