/* Realtimo Luxury: additions to the approved mockup stylesheet (lux.css). Nothing here changes the approved look;
   it adds self-hosted fonts and the components the mockup did not have (phone field, photo categories, document pages). */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/HankenGrotesk_normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300 400;font-display:swap;src:url(/assets/fonts/Newsreader_normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:300 400;font-display:swap;src:url(/assets/fonts/Newsreader_italic.woff2) format('woff2')}
/* Cyrillic: Newsreader and Hanken Grotesk have no Cyrillic letters, so the Russian pages used to fall back to Georgia / Segoe UI (heavier, a different style).
   Source Serif 4 Light is the closest light serif and Manrope the closest sans; same family names + unicode-range, so Latin letters and the English pages are untouched. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300 400;font-display:swap;src:url(/assets/fonts/SourceSerif4_cyr_normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:300 400;font-display:swap;src:url(/assets/fonts/SourceSerif4_cyr_italic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/Manrope_cyr_normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* ---- phone field: country code with flag + national number ---- */
.phone{display:flex;position:relative;border:1px solid var(--line-2);border-radius:var(--r);background:#fff}
.phone:focus-within{outline:2px solid var(--lagoon);border-color:var(--lagoon)}
.phone.bad{border-color:#b3463a}.phone.good{border-color:var(--lagoon)}
.ph-btn{display:flex;align-items:center;gap:8px;padding:0 10px 0 12px;border-right:1px solid var(--line);color:var(--ink);font:inherit;font-size:.94rem;white-space:nowrap;border-radius:var(--r) 0 0 var(--r)}
.ph-btn:hover{background:var(--mist)}
.ph-flag{width:22px;height:16px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(26,33,31,.14);flex:none}
.ph-dial{font-variant-numeric:tabular-nums;color:var(--muted)}
.ph-chev{width:12px;height:12px;opacity:.55}
.phone input.ph-num{border:0;outline:0!important;background:transparent;flex:1;min-width:0;padding:13px 14px;font:inherit;font-size:.96rem;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.ph-pop{position:absolute;z-index:30;left:0;top:calc(100% + 6px);width:min(340px,92vw);background:#fff;border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 22px 48px -18px rgba(10,20,20,.45)}
.ph-pop[hidden]{display:none}
.ph-pop .ph-search{width:100%;border:0;border-bottom:1px solid var(--line);padding:12px 14px;font:inherit;font-size:.92rem;border-radius:var(--r) var(--r) 0 0;outline:0}
.ph-list{list-style:none;margin:0;padding:4px 0;max-height:280px;overflow:auto}
.ph-list li{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;font-size:.92rem}
.ph-list li:hover,.ph-list li[aria-selected="true"],.ph-list li.act{background:var(--mist)}
.ph-list li .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-list li .d{color:var(--muted);font-variant-numeric:tabular-nums}
.ph-list li.sep{border-top:1px solid var(--line);margin-top:4px;padding:0;height:0;cursor:default}
.ph-msg{display:block;min-height:1.2em;margin-top:6px;font-size:.78rem;color:var(--muted)}
.ph-msg.bad{color:#b3463a}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- gallery categories inside the lightbox ---- */
.lb .cats{position:absolute;top:22px;left:50%;transform:translateX(-50%);display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100vw - 140px);z-index:2}
.lb .cats button{position:static;display:inline-flex;align-items:center;gap:6px;width:auto;height:auto;border-radius:99px;padding:7px 12px;font-size:.76rem;font-weight:600;letter-spacing:.03em;background:rgba(255,255,255,.12);color:#fff;white-space:nowrap}
.lb .cats button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.lb .cats button small{opacity:.7;font-weight:500}
.lb img{touch-action:pan-y;user-select:none;-webkit-user-drag:none}
@media (max-width:560px){.lb{padding:64px 0 54px}.lb img{max-width:100vw;border-radius:0;max-height:72vh}.lb .pv,.lb .nx{top:auto;bottom:6px;width:42px;height:42px}.lb .pv{left:14px}.lb .nx{right:14px}.lb .x{right:12px;top:12px}}
.lb img{max-height:78vh}
.note-photos{margin:10px 0 0;font-size:.84rem;color:var(--muted)}

/* ---- destination page and document pages ---- */
.dest-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--r);margin:26px 0 8px;overflow:hidden}
.dest-facts div{padding:16px 18px;border-right:1px solid var(--line)}.dest-facts div:last-child{border-right:0}
.dest-facts span{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.dest-facts b{font-family:var(--serif);font-weight:400;font-size:1.5rem}
.coll.c4{grid-template-rows:none;grid-auto-rows:300px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.doc{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start;padding-bottom:72px}
.doc nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;font-size:.92rem}
.doc nav a{padding:9px 12px;border-radius:var(--r);color:var(--muted)}.doc nav a:hover{background:var(--mist);color:var(--ink)}.doc nav a.cur{background:var(--sage);color:var(--ink);font-weight:600}
.doc nav h4{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 8px 12px}
.doc article{max-width:760px}
.doc article h2{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin:34px 0 10px}
.doc article p,.doc article li{line-height:1.7;color:#2b3532}
.doc .eff{color:var(--muted);font-size:.86rem;margin:6px 0 24px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.cta-row .btn{width:auto}
.fine{font-size:.82rem;color:var(--muted)}
@media (max-width:900px){.doc{grid-template-columns:1fr;gap:24px}.doc nav{position:static;flex-direction:row;flex-wrap:wrap}.coll.c4{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:240px}.dest-facts{grid-template-columns:1fr}.dest-facts div{border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:560px){.lb .cats{top:14px;max-width:calc(100vw - 110px)}.lb .cats button{padding:6px 10px}.coll.c4{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:200px}}

/* mobile gallery shows 3 tiles: the "all photos" button moves to the third */
.gal .all.m{display:none}
@media (max-width:860px){.gal .all.m{display:inline-flex}}

/* the form label style (.field span) must not leak into the phone widget */
.phone span,.ph-pop span{display:inline!important;text-transform:none!important;letter-spacing:0!important;font-size:.92rem!important;font-weight:400!important;margin:0!important;color:inherit}
.ph-btn .ph-dial,.ph-list li .d{color:var(--muted)}
#rq{scroll-margin-top:96px}
/* mobile enquiry bar (residence pages) */
.mbar{display:none}
@media (max-width:860px){
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(251,251,248,.98);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;transition:transform .3s var(--ease)}
 .mbar.hide{transform:translateY(110%)}
 .mbar b{display:block;font-family:var(--serif);font-weight:400;font-size:1.4rem;line-height:1.1}
 .mbar small{color:var(--muted);font-size:.74rem}
 .mbar .btn{width:auto;padding:13px 24px;flex:none}
 body.has-mbar{padding-bottom:76px}
}

/* header menu for phones and tablets */
.hdr .menu{align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px;color:inherit}
.hdr .menu .i{width:26px;height:26px}
.mpanel{display:none}
@media (max-width:960px){
 .hdr.open .mpanel{display:flex;flex-direction:column;background:rgba(251,251,248,.99);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(10,20,20,.35);padding:6px 20px 14px}
 .mpanel a{padding:15px 2px;font-size:1.05rem;border-bottom:1px solid var(--line)}.mpanel a:last-child{border-bottom:0;color:var(--lagoon);font-weight:600}
}

/* area photo grid on destination pages */
.agrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:10px}
.agrid button{position:relative;overflow:hidden;border-radius:var(--r);background:var(--sage);padding:0}
.agrid button:nth-child(1){grid-column:span 2;grid-row:span 2}
.agrid button:nth-child(6){grid-column:span 2}
.agrid img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.agrid button:hover img{transform:scale(1.03)}
.agrid .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;font-size:.8rem;font-weight:500;text-align:left;background:linear-gradient(180deg,rgba(10,18,20,0),rgba(10,18,20,.62));opacity:0;transition:opacity .3s}
.agrid button:hover .cap,.agrid button:focus-visible .cap{opacity:1}
.agrid .all{position:absolute;right:12px;bottom:12px;background:rgba(251,251,248,.96);color:var(--ink);font-size:.8rem;font-weight:700;padding:9px 14px;border-radius:4px;display:inline-flex;gap:8px;align-items:center}
@media (max-width:860px){.agrid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.agrid button:nth-child(1){grid-column:span 2;grid-row:span 2}.agrid button:nth-child(6){grid-column:auto}.agrid .cap{opacity:1;font-size:.72rem;padding:26px 10px 8px}}

/* advisor photo in the circle: fills it edge to edge, no ring */
.adv .who span.av{width:64px;height:64px;flex:none;padding:0;border:0;border-radius:0;background:none;display:block}
.adv .who span.av img{display:block;width:64px;height:64px}

/* floor plans: own section on the residence page + a "Floor plan" category in the lightbox */
.plans{display:grid;gap:14px;margin:6px 0 10px}
.plans.p2{grid-template-columns:repeat(2,1fr)}
.plans button{position:relative;display:block;padding:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;cursor:zoom-in;text-align:center}
.plans img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#fff;padding:10px}
.plans .all{position:absolute;right:12px;bottom:12px;background:rgba(251,251,248,.96);color:var(--ink);font-size:.78rem;font-weight:700;padding:8px 12px;border-radius:4px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line)}
.plans .all .i{width:15px;height:15px}
.plan-note{margin:0 0 6px;font-size:.82rem;color:var(--muted)}
.lb img.plan{background:#fff;padding:14px;max-width:min(1500px,94vw)}
@media (max-width:700px){.plans.p2{grid-template-columns:1fr}.plans img{max-height:420px;padding:6px}.lb img.plan{padding:6px}}

/* ---- polish round 2: filter row, shortlist back / clear, numerals as icons, air above the footer ---- */
.rowbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.rowbar .count{padding:22px 0 24px;margin:0}
.rowbar .sp{margin-left:auto}
.rowbar .sp select{padding-top:8px;padding-bottom:8px}
.rowbar .clear{font:inherit;font-size:.84rem;font-weight:600;color:var(--lagoon);background:none;border:0;padding:6px 2px;border-bottom:1px solid currentColor;cursor:pointer}
.rowbar .clear[hidden]{display:none}
.rowbar .clear:hover{color:var(--brass)}
.headrow{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.backlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--ink);padding:9px 14px;border:1px solid var(--line-2);border-radius:var(--r);margin-bottom:10px}
.backlink .arr{display:inline-flex;transform:rotate(180deg)}.backlink .arr .i{width:16px;height:16px}
.backlink:hover{border-color:var(--lagoon);color:var(--lagoon)}
.points .n{display:inline-flex;align-items:flex-start;color:var(--brass)}
.points .n .i{width:26px;height:26px;stroke-width:1.6}
.grid.g3+.empty,#res{scroll-margin-bottom:40px}

/* contact page sits higher: less air above the title and inside the form band */
.pg-head.tight{padding:104px 0 16px}
.band.tight{padding:clamp(22px,3.2vw,36px) clamp(22px,4vw,48px);align-items:start}
.band.tight>div:first-child{padding-top:clamp(0px,4vw,56px)}
@media (max-width:900px){.pg-head.tight{padding:96px 0 12px}.band.tight>div:first-child{padding-top:0}}

.plans .plabel{position:absolute;left:12px;top:12px;background:rgba(251,251,248,.96);color:var(--ink);font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:4px;border:1px solid var(--line)}

.lb{overscroll-behavior:contain;touch-action:pan-y}.lb img{cursor:grab}.lb img:active{cursor:grabbing}

/* project map (click to load) */
.mapbox{margin-top:20px}
.locmap{height:auto;position:static;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:240px;padding:28px 20px;text-align:center;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(135deg,var(--sage),var(--mist))}
.locmap .mapicon{display:block;line-height:0}.locmap .mapicon svg{display:block}
.locmap b{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--ink)}
.locmap .sub{color:var(--muted);font-size:.9rem}
.locmap .mapact{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center;margin-top:10px}
.locmap.live{display:block;padding:0;min-height:0;overflow:hidden;background:none}
.locmap iframe{display:block;width:100%;height:360px;border:0}
@media (max-width:600px){.locmap iframe{height:300px}}

/* ---- premium dropdowns (home finder + Residences filters), see LUX.dropdown ---- */
.dd{position:relative}
.dd .dd-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;top:0}
.dd-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:none;border:0;padding:0}
.dd-car{flex:none;color:var(--brass);transition:transform .2s ease}
.dd.open .dd-car{transform:rotate(180deg)}
.dd-btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}
.dd-pop{position:absolute;left:0;top:calc(100% + 8px);min-width:max(100%,220px);max-height:min(360px,60vh);overflow:auto;margin:0;padding:8px;list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 28px 56px -24px rgba(10,20,22,.45),0 4px 14px -6px rgba(10,20,22,.12);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility 0s .16s;z-index:60}
.dd.open .dd-pop{opacity:1;visibility:visible;transform:none;transition:opacity .16s ease,transform .16s ease}
.dd-pop li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:8px;font-size:.94rem;font-weight:400;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .12s ease}
.dd-pop li:hover{background:var(--mist)}
.dd-pop li[aria-selected="true"]{color:var(--lagoon);font-weight:600}
.dd-pop .dd-ck{color:var(--brass);opacity:0;flex:none}
.dd-pop li[aria-selected="true"] .dd-ck{opacity:1}
.dd-pop .dd-clear{justify-content:flex-start;margin-top:4px;padding-top:12px;border-top:1px solid var(--line);border-radius:0 0 8px 8px;font-size:.8rem;letter-spacing:.04em;color:var(--muted)}
.dd-pop .dd-clear[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.dd-pop,.dd-car{transition:none}}

/* home finder */
.hero{z-index:4}
.finder{overflow:visible;border-radius:12px;box-shadow:0 34px 70px -30px rgba(10,20,22,.6)}
.finder .fld{padding:18px 28px 16px;border-right:1px solid var(--line)}
.finder .fld>span{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:5px}
.finder .fld:first-child{border-radius:12px 0 0 12px}
.finder .btn{border-radius:0 12px 12px 0}
.finder .dd-btn{width:100%;font-size:1rem}
.finder .dd-pop{left:12px;right:12px;min-width:210px}
@media (max-width:860px){.finder .fld{border-bottom:1px solid var(--line)}.finder .fld:first-child{border-radius:12px 0 0 0}.finder .btn{border-radius:0 0 12px 12px}}
@media (max-width:520px){.finder .fld{padding:16px 22px 14px;border-right:0}.finder .fld:first-child{border-radius:12px 12px 0 0}.finder .dd-pop{left:8px;right:8px}}

/* Residences filters: same look as a pill */
.filters .sel::after{display:none}
.filters .sel .dd-btn,.rowbar .sel .dd-btn{padding:10px 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper);font-size:.86rem;font-weight:600;gap:14px;transition:border-color .2s,background .2s}
.filters .sel .dd-btn:hover,.rowbar .sel .dd-btn:hover{border-color:var(--ink)}
.filters .sel.has-val .dd-btn{border-color:var(--lagoon);background:var(--mist);color:var(--lagoon)}
.filters .sel.dd.open .dd-btn,.rowbar .sel.dd.open .dd-btn{border-color:var(--brass)}
.rowbar .sel::after{display:none}
.rowbar .sp .dd-pop{left:auto;right:0}

.dd.dd-end .dd-pop{left:auto;right:0}
.finder .dd.dd-end .dd-pop{left:12px;right:12px}

/* residence page: link to the area (destination) */
.destcard{display:grid;grid-template-columns:132px 1fr auto;align-items:center;gap:20px;margin:22px 0 4px;padding:10px 22px 10px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.destcard:hover{border-color:var(--brass);box-shadow:0 18px 40px -26px rgba(10,20,22,.4);transform:translateY(-1px)}
.destcard img{width:132px;height:92px;object-fit:cover;border-radius:8px;display:block}
.destcard .dc-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.destcard small{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600}
.destcard b{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.2}
.destcard .dc-t>span{font-size:.88rem;color:var(--muted);line-height:1.45}
.destcard .dc-go{color:var(--brass);display:flex}
.destcard:hover .dc-go{transform:translateX(3px)}
.destcard .dc-go{transition:transform .2s}
@media (max-width:560px){.destcard{grid-template-columns:96px 1fr;gap:14px;padding-right:14px}.destcard img{width:96px;height:80px}.destcard .dc-go{display:none}}

/* quiet return link on detail pages */
.crumbrow{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;margin-bottom:14px}
.crumbrow .crumb{margin:0}
.backlink.soft{margin:0;padding:6px 14px 6px 10px;font-size:.84rem;font-weight:500;color:var(--lagoon);border:1px solid var(--line-2);border-radius:999px;background:var(--paper);max-width:100%;transition:border-color .2s,color .2s,background .2s}
.backlink.soft[hidden]{display:none}
.backlink.soft .arr .i{width:15px;height:15px;color:var(--brass)}
.backlink.soft .bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,320px)}
.backlink.soft:hover{border-color:var(--brass);color:var(--ink);background:var(--mist)}
.backlink.soft:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.headrow .backlink.soft{margin-bottom:0}

.dgroup{margin-top:44px}.dgroup .sec-head{margin-bottom:20px}
.dgroup .coll.c4{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media (max-width:900px){.dgroup .coll.c4{grid-template-columns:1fr 1fr}}@media (max-width:560px){.dgroup .coll.c4{grid-template-columns:1fr}}

/* ---- slim scrollbars in the site palette (all pages, and inner scroll areas) ---- */
::-webkit-scrollbar{width:8px;height:8px;background:var(--paper)}
::-webkit-scrollbar-track{background:var(--paper)}
::-webkit-scrollbar-thumb{background:#d9d0bc;border-radius:8px;border:2px solid var(--paper);min-height:48px}
::-webkit-scrollbar-thumb:hover{background:#c5b896}
::-webkit-scrollbar-button,::-webkit-scrollbar-corner{display:none;width:0;height:0}
@supports (-moz-appearance:none){*{scrollbar-width:thin;scrollbar-color:#d9d0bc transparent}}

.dcountry{margin-top:56px}.dcountry .dc-h{margin-bottom:6px}.dcountry .dgroup{margin-top:26px}.dc-city{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--muted)}

/* ---- currency switcher (header) and price notes ---- */
.cur-wait .px,.cur-wait .pxnote{visibility:hidden}
.cur{position:relative}
.hdr .right .cur-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.06em;opacity:.92;cursor:pointer;transition:opacity .2s,border-color .2s}
.hdr .right .cur-btn:hover{opacity:1}
.hdr .right .cur-btn .dd-car{color:var(--brass)}
.cur .cur-pop{left:auto;right:0;min-width:236px;color:var(--ink);max-height:none;overflow:visible}
.cur.open .cur-pop{opacity:1;visibility:visible;transform:none;transition:opacity .16s ease,transform .16s ease}
.cur-pop li[data-c]{justify-content:flex-start;gap:12px}
.cur-pop li b{min-width:38px;font-weight:600;letter-spacing:.04em}
.cur-pop li span{color:var(--muted);font-size:.86rem}
.cur-pop li[aria-selected="true"]{background:var(--mist)}
.cur-pop li[aria-selected="true"] b{color:var(--lagoon)}
.cur-pop li[aria-disabled="true"]{opacity:.45;cursor:default}
.cur-pop .cur-fine{display:block;margin-top:4px;padding:10px 14px 6px;border-top:1px solid var(--line);border-radius:0;font-size:.74rem;line-height:1.45;color:var(--muted);white-space:normal;cursor:default}
.cur-pop .cur-fine:hover{background:none}
.pricebar .pxnote{display:block;font-size:.8rem;color:var(--muted);margin:2px 0 6px}
.price-fine{font-size:.78rem;line-height:1.5;color:var(--muted);margin:0 0 16px}
.pricebar + .price-fine{margin:-2px 0 18px}
.ftr .cur-foot{display:block;margin-bottom:6px}
@media (max-width:960px){.hdr .right{gap:14px}.hdr .right .cur-btn{padding:5px 9px}}

@media (max-width:520px){.hdr .right{gap:10px}.hdr .right a[href$="/shortlist/"]>span{font-size:0}.hdr .right a[href$="/shortlist/"] #savedCount{font-size:.82rem}}

/* closed pop-ups take no space (a hidden but laid-out list can widen the whole page on a phone) */
.dd .dd-pop{display:none}
.dd.open .dd-pop{display:block;animation:ddin .16s ease}
@keyframes ddin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dd.open .dd-pop{animation:none}}

/* ---- enquiry: WhatsApp next to every form, one contact is enough ---- */
/* shortlist: send / share */
.sharebar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 26px;padding:16px 18px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff}
.sharebar b{font-weight:600;margin-right:6px}
.sharebar .btn{padding:11px 18px;font-size:.84rem}
.sharebar .btn.copied{background:var(--lagoon);color:#fff}
.sharebanner{margin:0 0 22px;padding:14px 18px;border-radius:var(--r);background:var(--mist,#f1eee6);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.sharebanner p{margin:0;flex:1 1 260px}

/* ---- fixes after the owner's review: hidden blocks, enquiry panel that always fits, WhatsApp beside the price ---- */
.sharebar[hidden],.sharebanner[hidden]{display:none}
/* the enquiry panel stays within the screen: it scrolls inside itself and the send button stays pinned at the bottom */
@media (min-width:1001px){
 .adv{max-height:calc(100vh - 124px);overflow-y:auto;overscroll-behavior:contain;padding:20px 22px 0}
 .adv .who{margin-bottom:0}
 .adv .exc{padding:10px 0;margin:8px 0 12px}
 .adv .field{margin-bottom:9px}
 .adv .field span{margin-bottom:4px}
 .adv .field input,.adv .field select{padding:10px 12px}
 .adv .consent{font-size:.72rem;margin:4px 0 10px;line-height:1.45}
 .adv form .btn.primary{position:sticky;bottom:0;box-shadow:0 -16px 14px -8px #fff,0 8px 0 0 #fff;margin-bottom:0}
 .adv form{padding-bottom:6px}
}
@media (min-width:1001px) and (max-height:840px){.adv .exc{display:none}.adv .who{margin-bottom:8px}.adv .who span.av,.adv .who span.av img{width:52px;height:52px}}
.wa-link{margin:10px 0 0;text-align:center;font-size:.84rem;color:var(--muted)}
.wa-link a{color:var(--lagoon);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.sharebar .fine{flex:1 1 220px}

/* ---- search row on /residences/ ---- */
.searchrow{position:relative;margin:2px 0 18px}
.searchrow input{width:100%;height:54px;padding:0 48px 0 50px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff;font:inherit;font-size:1rem;color:var(--ink);-webkit-appearance:none;appearance:none}
.searchrow input::placeholder{color:var(--muted);opacity:.85}
.searchrow input:focus{outline:2px solid var(--lagoon);border-color:var(--lagoon)}
.searchrow input::-webkit-search-cancel-button{display:none}
.searchrow .sr-ic{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:var(--muted);display:flex;pointer-events:none}
.searchrow .sr-ic .i{width:20px;height:20px}
.searchrow .sr-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:22px;line-height:34px;cursor:pointer}
.searchrow .sr-x:hover{background:var(--mist,#f1eee6);color:var(--ink)}
.searchrow .sr-x[hidden]{display:none}
@media (max-width:640px){.searchrow input{height:50px;font-size:16px;padding-left:46px}.searchrow input::placeholder{font-size:.88rem}}

/* ---- in-style dialog ---- */
.dlg{position:fixed;inset:0;z-index:140;overscroll-behavior:contain;touch-action:none;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(14,20,19,.5);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease}
.dlg.open{opacity:1}
.dlg-card{width:100%;max-width:430px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px 30px 26px;box-shadow:0 40px 80px -30px rgba(10,20,18,.55);transform:translateY(10px) scale(.985);transition:transform .22s var(--ease)}
.dlg.open .dlg-card{transform:none}
.dlg-card h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.15;margin:0 0 10px;color:var(--ink)}
.dlg-card p{color:var(--muted);line-height:1.55;margin:0 0 22px;font-size:.95rem}
.dlg-val{width:100%;margin:0 0 20px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);font:inherit;font-size:.86rem;color:var(--ink);background:var(--mist,#f1eee6)}
.dlg-act{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.dlg-act .btn{padding:12px 22px;font-size:.88rem}
@media (max-width:480px){.dlg{align-items:flex-end;padding:12px}.dlg-act .btn{flex:1}}
@media (prefers-reduced-motion:reduce){.dlg,.dlg-card{transition:none}}

/* language switcher: same pill as the currency one, with a small flag */
.hdr .right .lang .cur-btn{gap:7px}
.fl{display:block;width:18px;height:13px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.14);flex:none}
.cur .cur-pop.lang-pop,.lang .cur-pop{min-width:168px}
.lang .cur-pop li[data-l]{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.lang .cur-pop li .ln{color:var(--ink);font-size:.9rem}
.lang .cur-pop li[aria-selected="true"] .ln{color:var(--lagoon);font-weight:600}

/* the price inside the area facts follows the same type as the other figures (the generic .dest-facts span label style must not reach it) */
.dest-facts b .px,.dest-facts b span{display:inline;font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;font-weight:inherit}

.u{text-transform:none}

/* home hero: six photographs, a slow crossfade (the new one fades in over the old one, so the picture never dips to the dark ground), a caption for each */
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#2b3a40}
.hero .hs{position:absolute;inset:0;background:#2b3a40 50% 50%/cover no-repeat;opacity:0;transition:opacity 2.6s ease-in-out}
.hero .hs.on{opacity:1;z-index:2}
.hero .hs.prev{opacity:1;z-index:1;transition:none}
.hero::before{z-index:3}
.hero .wrap,.hero-meta{z-index:4}
.hero-meta{bottom:18px;display:flex;flex-direction:row;align-items:center;gap:20px;font-size:.8rem;letter-spacing:.04em;opacity:1;text-align:right}
.hero-meta .hc{display:flex;flex-direction:column;gap:3px;color:#fff;text-decoration:none;text-shadow:0 1px 14px rgba(10,20,22,.5);transition:opacity .5s}
.hero-meta .hc1{font-weight:600;letter-spacing:.06em}
.hero-meta .hc2{opacity:.92}
.hero-meta .hc:hover .hc2{text-decoration:underline;text-underline-offset:3px}
.hero-meta .hcap.swap .hc{opacity:0}
.hdots{display:flex;gap:6px}
.hdots button{width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.hdots button::before{content:'';width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);transition:background .3s,transform .3s}
.hdots button.on::before{background:#fff;transform:scale(1.25)}
.hdots button:focus-visible{outline:2px solid #fff;outline-offset:1px;border-radius:50%}
/* the photograph itself opens the residence (taps fall through the text block, only its own children catch them) */
.hero-open{position:absolute;inset:0;z-index:4;display:block}
.hero::before{pointer-events:none}
.hero .wrap{pointer-events:none;padding-bottom:92px}
.hero .wrap>*{pointer-events:auto}
@media (max-width:860px){
 .hero .wrap{padding-bottom:116px}
 .hero-meta{left:24px;right:24px;bottom:12px;flex-direction:column;align-items:stretch;gap:0}
 .hero-meta .hcap{min-width:0;text-align:left}
 .hero-meta .hc{align-items:flex-start;text-align:left;justify-content:center;font-size:.8rem;gap:2px;padding:4px 0}
 .hero-meta .hc1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
 .hero-meta .hc2{white-space:nowrap}
 .hdots{justify-content:flex-start;margin-left:-6px}
}
@media (max-width:700px){.hero .hs{background-position:var(--mx,50%) 50%}}
@media (prefers-reduced-motion:reduce){.hero .hs{transition:opacity .8s ease!important}}
.ftr .bot .pnote{flex:0 0 100%;margin:6px 0 0;font-size:.74rem;line-height:1.55;color:#9fb3ad;max-width:none}
.ftr .bot .sample{color:#9fb3ad;font-size:.78rem}
/* a phone held sideways: the whole hero (photograph, search, caption) fits one screen */
@media (max-height:520px) and (orientation:landscape){
 .hero{min-height:0}
 .hero .wrap{padding:84px 0 96px}
 .hero h1{font-size:2rem;margin:8px 0 8px;max-width:none}
 .hero .sub{font-size:.95rem;max-width:none}
 .finder{margin-top:14px;grid-template-columns:1.3fr 1fr 1fr auto}
 .finder .fld{padding:10px 16px 8px;border-bottom:0}
 .finder .fld:first-child{border-radius:12px 0 0 12px}
 .finder .fld:nth-child(3){border-right:1px solid var(--line)}
 .finder .btn{grid-column:auto;padding:0 24px;border-radius:0 12px 12px 0}
 .hero-meta{flex-direction:row;align-items:center;justify-content:space-between;bottom:10px}
 .hero-meta .hc{min-height:0}
}
@media (max-width:520px){#q::placeholder{font-size:.86rem}}
/* tablet and large phones held upright: the three search fields stand in one row, the button under them (no empty fourth cell) */
@media (min-width:521px) and (max-width:860px) and (min-height:521px){
 .finder{grid-template-columns:repeat(3,minmax(0,1fr))}
 .finder .fld{padding:14px 18px 12px;border-bottom:1px solid var(--line)}
 .finder .fld:nth-child(3){border-right:0}
 .finder .fld:first-child{border-radius:12px 0 0 0}
 .finder .btn{grid-column:1/-1;padding:16px;border-radius:0 0 12px 12px}
}

/* iPhone in landscape otherwise enlarges some texts on its own */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* 3D tour: a pill link in the lightbox category row (straight to the tour) and the link under the gallery */
.lb .cats a.tourtab{position:static;display:inline-flex;align-items:center;gap:8px;border-radius:99px;padding:7px 12px;font-size:.76rem;font-weight:600;letter-spacing:.03em;background:var(--brass-lt);color:var(--ink);white-space:nowrap}
.lb .cats a.tourtab:hover{background:#fff}.lb .cats a.tourtab .i{width:14px;height:14px}
.tourbar{margin:12px 0 0}
.tourbtn{display:inline-flex;align-items:center;gap:12px;padding:11px 20px;border:1px solid var(--line-2);border-radius:99px;background:var(--paper);color:var(--ink);font-size:.9rem;transition:border-color .25s,background .25s}
.tourbtn:hover{border-color:var(--lagoon);background:var(--mist)}
.tourbtn b{font-weight:600;letter-spacing:.04em}.tourbtn span{color:var(--muted)}.tourbtn .i{width:18px;height:18px;color:var(--lagoon)}
@media (max-width:560px){.tourbtn span{display:none}}

/* description text of residences and destinations: the paragraphs fill their column (they were held to 62ch, about three quarters of it, which left the right edge ragged) and are justified from tablet width up,
   with hyphenation (the page language is set on <html>) and balanced last lines; phones keep the ragged edge, because a narrow measure would open wide gaps between the words */
.det .prose p{max-width:none;overflow-wrap:break-word}
@media (min-width:700px){
  .det .prose p{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty}
  .det .prose p:not(.fine){font-size:1.05rem;line-height:1.66}
}
