/* Bulgaria Property Concierge: listing page (/properties/<slug>). Brand layer of css/brand.css applies; this file only
   adds the listing layout. Everything is scoped under .lp so it cannot leak into other pages. Design source:
   the approved preview (preview/listing-design.html). */
:root{--navy:#0F1B2E;--navy-l:#1B2A44;--gold:#B8935A;--gold-d:#8F6F3E;--gold-l:#D9BE8A;--ivory:#FAF8F4;--cream:#F3EFE7;--beige:#E8E1D3;--ok:#2F7A4F;
--serif:Fraunces,Lora,Georgia,serif;--sans:Inter,system-ui,sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--pad:clamp(20px,4vw,40px)}
:where(.lp) *,:where(.lp) *::before,:where(.lp) *::after{box-sizing:border-box}
.lp{background:var(--ivory);color:var(--navy);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
:where(.lp) img{display:block;max-width:100%}:where(.lp) a{color:inherit}
.lp-wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font:500 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#7A5E33}
:where(.lp) :is(h1,h2,h3){font-family:var(--serif);font-weight:500;margin:0;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid var(--gold);background:var(--gold);color:var(--navy);padding:.95rem 1.4rem;font:500 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.4s var(--ease)}
.btn:hover{background:var(--gold-d);border-color:#7A5E33;color:var(--ivory)}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:var(--ivory)}
.btn.block{width:100%}
svg.i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ppm{display:inline-flex!important;align-items:center;margin-top:.7rem!important;background:var(--cream);border:1px solid var(--beige);padding:.45rem .7rem;font:500 .9rem/1 var(--sans)!important;color:var(--navy)!important}
.lp .hide{display:none!important}
[data-b=price].na{font-size:.62em;letter-spacing:0}.pm.na{font-size:.95rem}
/* Breadcrumb + page actions */
.crumbs{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0 1rem;font-size:.82rem;color:rgb(15 27 46/.7)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#7A5E33}
.tools{display:flex;gap:.4rem}
.tool{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--beige);padding:.55rem .85rem;font:500 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);cursor:pointer;transition:.3s}
.tool:hover{border-color:var(--navy)}
.tool.saved svg{fill:var(--gold);stroke:var(--gold)}
@media(max-width:560px){.tool span{display:none}.tool{padding:.6rem}}
/* Gallery */
.gal{position:relative;display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;height:min(62vh,560px);min-height:380px}
.gal .p{position:relative;overflow:hidden;cursor:zoom-in;background:var(--beige);border:0;padding:0}
.gal .p:first-child{grid-row:1/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal .p:hover img{transform:scale(1.04)}
.badges{position:absolute;left:14px;top:14px;display:flex;gap:6px;z-index:2}
.badge{background:var(--ivory);color:var(--navy);font:500 .66rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:.5rem .7rem}
.badge.tier{background:var(--gold);color:var(--navy)}
.badge.dark{background:var(--navy);color:var(--ivory)}
.allbtn{position:absolute;right:14px;bottom:14px;z-index:2;background:var(--ivory);border:0;padding:.75rem 1rem;font:500 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;display:flex;gap:.55rem;align-items:center;cursor:pointer;color:var(--navy)}
.allbtn:hover{background:var(--navy);color:var(--ivory)}
.mcount{display:none}
.gal .p.mob{display:none}
@media(max-width:820px){
 .gal .p.mob{display:block}
 .lp-wrap.gw{padding:0}
 .gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:auto;min-height:0;gap:0;scrollbar-width:none}
 .gal::-webkit-scrollbar{display:none}
 .gal .p,.gal .p:first-child{flex:0 0 100%;aspect-ratio:4/3;scroll-snap-align:center}
 .mcount{display:block;position:absolute;right:12px;bottom:12px;background:rgb(15 27 46/.82);color:var(--ivory);font:500 .72rem/1 var(--sans);padding:.5rem .7rem;z-index:2}
 .allbtn{display:none}
}
/* Title block */
.head{display:grid;gap:1.6rem;padding:2.2rem 0 2rem;grid-template-columns:1fr}
.head h1{font-size:clamp(1.7rem,3.2vw,2.35rem);line-height:1.18;margin:.9rem 0 .7rem}
.loc{display:flex;align-items:center;gap:.5rem;color:rgb(15 27 46/.78);font-size:.98rem}
.loc svg{color:#7A5E33}
.price{font:500 clamp(1.9rem,3.4vw,2.6rem)/1 var(--serif)}
.price small{display:block;margin-top:.55rem;font:400 .86rem/1.3 var(--sans);color:rgb(15 27 46/.68)}
.ref{font-size:.78rem;letter-spacing:.08em;color:rgb(15 27 46/.6);margin-top:.9rem}
@media(min-width:900px){.head{grid-template-columns:1fr auto;align-items:end}.price{text-align:right}}
/* Key facts */
.facts{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--beige);background:var(--cream)}
.fact{padding:1.15rem 1.2rem;display:flex;gap:.9rem;align-items:center;border-bottom:1px solid var(--beige)}
.fact svg{color:#7A5E33;width:26px;height:26px}
.fact b{display:block;font:500 1.15rem/1.1 var(--serif)}
.fact span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgb(15 27 46/.66)}
@media(min-width:760px){.facts{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.facts{grid-template-columns:repeat(6,1fr)}.fact{border-bottom:0;border-right:1px solid var(--beige)}.fact:last-child{border-right:0}}
/* Layout */
.layout{display:grid;gap:3rem;padding:3rem 0 4rem;grid-template-columns:1fr}
@media(min-width:1024px){.layout{grid-template-columns:minmax(0,1fr) 380px;gap:4rem}}
section.blk{padding:0 0 2.8rem;margin:0 0 2.8rem;border-bottom:1px solid var(--beige)}
section.blk:last-child{border-bottom:0;margin-bottom:0}
section.blk h2{font-size:1.5rem;margin:.7rem 0 1.3rem}
.desc p{margin:0 0 1rem;font-size:1.04rem;line-height:1.75;color:rgb(15 27 46/.9);max-width:68ch}
.desc .more{max-height:11.5rem;overflow:hidden;position:relative;transition:max-height .6s var(--ease)}
.desc .more::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5rem;background:linear-gradient(transparent,var(--ivory));transition:opacity .3s}
.desc .more.open{max-height:60rem}.desc .more.open::after{opacity:0}
.link{background:none;border:0;padding:0;font:500 .76rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#7A5E33;cursor:pointer;border-bottom:1px solid var(--gold);padding-bottom:.35rem}
/* Features */
.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem 1.2rem}
.feat div{display:flex;gap:.8rem;align-items:flex-start;font-size:.97rem}
.feat svg{color:#7A5E33;margin-top:2px}
@media(min-width:640px){.feat{grid-template-columns:repeat(3,1fr)}}
/* Spec table */
.spec{display:grid;grid-template-columns:1fr;column-gap:3rem}
@media(min-width:700px){.spec{grid-template-columns:1fr 1fr}}
.spec div{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--beige);font-size:.96rem}
.spec dt{color:rgb(15 27 46/.68)}.spec dd{margin:0;font-weight:500;text-align:right}
.spec{margin:0}
/* Tabs / plans */
.tabs{display:flex;gap:.4rem;margin-bottom:1.2rem;flex-wrap:wrap}
.tab{background:none;border:1px solid var(--beige);padding:.65rem 1rem;font:500 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);cursor:pointer}
.tab.on{background:var(--navy);color:var(--ivory);border-color:var(--navy)}
.plan{background:var(--cream);border:1px solid var(--beige);aspect-ratio:16/9;display:grid;place-items:center;position:relative;overflow:hidden}
.plan svg.pl{width:78%;height:auto;stroke:var(--navy);fill:none;stroke-width:2}
.plan em{position:absolute;left:14px;bottom:12px;font-style:normal;font-size:.76rem;color:rgb(15 27 46/.6)}
/* Video tile */
.video{position:relative;aspect-ratio:16/9;overflow:hidden;cursor:pointer;background:var(--navy)}
.video img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:.8s var(--ease)}
.video:hover img{transform:scale(1.03);opacity:.9}
.play{position:absolute;inset:0;display:grid;place-items:center}
.play i{width:76px;height:76px;border-radius:50%;background:var(--ivory);display:grid;place-items:center;color:var(--navy)}
.play svg{fill:currentColor;stroke:none;margin-left:4px}
.video .cap{position:absolute;left:16px;bottom:14px;color:var(--ivory);font:500 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
/* Map */
.map{position:relative;height:340px;background:#EDE7DA;overflow:hidden;border:1px solid var(--beige)}
.map svg.bg{position:absolute;inset:0;width:100%;height:100%}
.pin{position:absolute;left:52%;top:46%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:rgb(184 147 90/.22);border:1px solid var(--gold);display:grid;place-items:center}
.pin i{width:18px;height:18px;border-radius:50%;background:var(--navy);border:3px solid var(--ivory);box-shadow:0 2px 8px rgb(0 0 0/.3)}
.mnote{position:absolute;left:12px;bottom:12px;background:var(--ivory);padding:.55rem .75rem;font-size:.76rem;display:flex;gap:.5rem;align-items:center}
.near{display:grid;grid-template-columns:1fr;gap:0 3rem;margin-top:1.4rem}
@media(min-width:700px){.near{grid-template-columns:1fr 1fr}}
.near div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--beige);font-size:.95rem}
.near span:first-child{display:flex;gap:.7rem;align-items:center}.near svg{color:#7A5E33;width:18px;height:18px}
.near b{font-weight:500;white-space:nowrap}
/* Sidebar */
aside.side{position:relative}
.card{position:sticky;top:88px;background:#fff;border:1px solid var(--beige);padding:1.7rem;box-shadow:0 25px 60px -35px rgb(15 27 46/.35)}
.card .pr{font:500 1.9rem/1 var(--serif)}
.card .pr small{display:block;font:400 .82rem/1.3 var(--sans);color:rgb(15 27 46/.66);margin-top:.5rem}
.agent{display:flex;gap:.9rem;align-items:center;margin:1.4rem 0;padding:1.1rem 0;border-top:1px solid var(--beige);border-bottom:1px solid var(--beige)}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--gold-l);display:grid;place-items:center;font:500 1.2rem var(--serif)}
.agent b{display:block;font-weight:500}.agent span{font-size:.82rem;color:rgb(15 27 46/.66)}
.field{display:block;margin-bottom:.7rem}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--beige);background:var(--ivory);padding:.85rem .9rem;font:400 .95rem var(--sans);color:var(--navy);border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:-1px;background:#fff}
.chat{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem}
.chat a{display:flex;justify-content:center;gap:.6rem;align-items:center;padding:0 .8rem;color:#fff;font:500 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;text-align:center;transition:background .5s var(--ease)}
.chat a svg{flex:none}
.fine{font-size:.74rem;color:rgb(15 27 46/.6);margin:.9rem 0 0;line-height:1.5}
.dl{display:flex;gap:.6rem;align-items:center;justify-content:center;margin-top:1rem;font-size:.82rem;text-decoration:none;color:#7A5E33;font-weight:500}
/* Similar */
.sim{background:var(--cream);padding:4rem 0}
.sim h2{font-size:1.7rem;margin:.7rem 0 2rem}
.cards{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}
.lc{background:var(--ivory);border:1px solid var(--beige);text-decoration:none;display:block;transition:.5s var(--ease)}
.lc:hover{transform:translateY(-4px);box-shadow:0 25px 60px -35px rgb(15 27 46/.45)}
.lc .im{aspect-ratio:4/3;overflow:hidden}.lc img{width:100%;height:100%;object-fit:cover}
.lc .tx{padding:1.2rem 1.3rem 1.4rem}.lc .tx h3{font-size:1.1rem;margin:.5rem 0}.lc .tx p{margin:0;font-size:.9rem;color:rgb(15 27 46/.7)}
.lc .tx b{display:block;margin-top:.8rem;font:500 1.15rem var(--serif)}
/* CTA + footer */
.cta{background:var(--navy);color:var(--ivory);padding:4.5rem 0;text-align:center}
.cta h2{font-size:clamp(1.6rem,3vw,2.1rem);max-width:22ch;margin:.9rem auto 1rem}
.cta p{max-width:52ch;margin:0 auto 1.8rem;color:rgb(250 248 244/.75)}
.cta .eyebrow{color:var(--gold-l)}
footer.f{background:var(--navy);color:rgb(250 248 244/.55);border-top:1px solid rgb(250 248 244/.12);padding:1.6rem 0;font-size:.8rem}
/* Mobile bar */
.mbar{display:none}
@media(max-width:1023px){
 .mbar{display:grid;grid-template-columns:auto 1fr 1fr;gap:.5rem;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:35;background:var(--ivory);border-top:1px solid var(--beige);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom))}
 .mbar .pm{font:500 1.05rem/1 var(--serif);padding-right:.5rem}
 .mbar .btn{padding:.9rem .6rem;font-size:.68rem}
 body{padding-bottom:76px}
}
/* Share modal */
.modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:rgb(15 27 46/.6);padding:1rem}
.modal.on{display:flex}
.sheet{background:var(--ivory);width:min(520px,100%);padding:1.8rem;position:relative;max-height:92vh;overflow:auto}
.sheet h3{font-size:1.4rem;margin:.6rem 0 1.2rem}
.x{position:absolute;right:12px;top:12px;background:none;border:0;cursor:pointer;color:var(--navy);padding:.5rem}
.sharegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.3rem}
.sh{display:flex;flex-direction:column;gap:.55rem;align-items:center;padding:1rem .4rem;border:1px solid var(--beige);background:#fff;text-decoration:none;font-size:.78rem;cursor:pointer;color:var(--navy);transition:.3s;font-family:var(--sans)}
.sh:hover{border-color:var(--gold);transform:translateY(-2px)}
.sh i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font:600 .95rem var(--sans);font-style:normal}
.copy{display:flex;border:1px solid var(--beige);background:#fff}
.copy input{flex:1;border:0;padding:.85rem;font:400 .85rem var(--sans);color:rgb(15 27 46/.8);background:transparent;min-width:0}
.copy button{border:0;background:var(--navy);color:var(--ivory);padding:0 1.1rem;font:500 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.copy button.ok{background:var(--ok)}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:90;background:rgb(15 27 46/.96);display:none;flex-direction:column}
.lb.on{display:flex}
.lb .top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;color:var(--ivory);font-size:.85rem}
.lb .top button{background:none;border:0;color:var(--ivory);cursor:pointer;padding:.4rem}
.lb .stage{flex:1;display:grid;place-items:center;position:relative;min-height:0;padding:0 3.5rem}
.lb img{max-height:100%;max-width:100%;object-fit:contain}
.lb .nv{position:absolute;top:50%;transform:translateY(-50%);background:rgb(250 248 244/.12);border:0;color:var(--ivory);width:46px;height:46px;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.lb .nv:hover{background:var(--gold);color:var(--navy)}
.lb .prev{left:.8rem}.lb .next{right:.8rem}
.lb .thumbs{display:flex;gap:6px;padding:.9rem 1rem;overflow-x:auto;justify-content:center}
.lb .thumbs img{width:78px;height:56px;object-fit:cover;opacity:.5;cursor:pointer;border:2px solid transparent}
.lb .thumbs img.on{opacity:1;border-color:var(--gold)}
@media(max-width:600px){.lb .stage{padding:0}.lb .nv{width:38px;height:38px}}
.crumbs .sep{margin:0 .45rem;opacity:.5}
.lp .eyebrow::before{display:none}
.lp-page{background:var(--ivory)}
/* page-level: sticky header offset for anchor jumps, mobile bar clearance */
html{scroll-padding-top:90px}
.lp{overflow-x:clip}
/* map: lazy third-party embed, only loaded on click */
.mapbox{position:relative;height:340px;border:1px solid var(--beige);background:var(--cream);display:grid;place-items:center;overflow:hidden}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapbox .ph{text-align:center;padding:1.5rem;max-width:34ch}
.mapbox .ph b{display:block;font:500 1.1rem var(--serif);margin-bottom:.4rem}
.mapbox .ph p{margin:0 0 1rem;font-size:.9rem;color:rgb(15 27 46/.72)}
.mnote2{margin:.8rem 0 0;font-size:.8rem;color:rgb(15 27 46/.66)}
/* video: lazy iframe */
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* skip empty states */
.lp .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* form feedback */
.fmsg{margin:.7rem 0 0;font-size:.85rem}
.fmsg.ok{color:var(--ok)}.fmsg.err{color:#A8402F}
/* ===== Premium gallery: one large lead photo + a tight tile grid (no gaps for 1-5 photos), native smooth scrolling ===== */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.gal{display:grid;gap:6px;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);height:clamp(400px,62vh,620px);min-height:0}
.gal .p{border:0;padding:0;background:var(--beige);position:relative;overflow:hidden;cursor:zoom-in;outline-offset:-3px}
.gal .p::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgb(15 27 46/.18),transparent 45%);opacity:0;transition:opacity .6s var(--ease)}
.gal .p:hover::after,.gal .p:focus-visible::after{opacity:1}
.gal .p:focus-visible{outline:2px solid var(--gold)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.gal .p:hover img{transform:scale(1.045)}
.gal .p1{grid-column:1/3;grid-row:1/3}
.gal[data-n="1"] .p1{grid-column:1/5}
.gal[data-n="2"] .p2{grid-column:3/5;grid-row:1/3}
.gal[data-n="3"] .p2,.gal[data-n="3"] .p3{grid-column:3/5}
.gal[data-n="4"] .p2{grid-row:1/3}
.gal .p.mob{display:none}
.allbtn{box-shadow:0 8px 24px -10px rgb(15 27 46/.5)}
@media(max-width:820px){
 .gal{display:flex;gap:0;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .gal::-webkit-scrollbar{display:none}
 .gal .p,.gal .p.mob{display:block;flex:0 0 100%;aspect-ratio:4/3;scroll-snap-align:center;scroll-snap-stop:always;grid-column:auto!important;grid-row:auto!important}
 .gal .p::after{display:none}
}
/* lightbox: a native scroll-snap track (momentum, trackpad, touch and keyboard all feel the same, no JS animation) */
.lb .stage{display:block;padding:0;position:relative;min-height:0;flex:1}
.lb .track{display:flex;width:100%;max-width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lb .track::-webkit-scrollbar{display:none}
.lb .slide{flex:0 0 100%;width:100%;min-width:0;height:100%;box-sizing:border-box;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:0 clamp(12px,5vw,72px);overflow:hidden}
.lb .slide img{display:block;flex:0 1 auto;min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;transition:opacity .45s var(--ease);user-select:none;-webkit-user-drag:none}
.lb .slide img.ok{opacity:1}
.lb .nv{z-index:2;transition:background .3s,opacity .3s}
.lb .nv[disabled]{opacity:.25;pointer-events:none}
.lb .thumbs{scroll-behavior:smooth;scrollbar-width:none}
.lb .thumbs::-webkit-scrollbar{display:none}
.lb .thumbs img{transition:opacity .3s,border-color .3s;flex:none}
@media (prefers-reduced-motion:reduce){.lb .track,.lb .thumbs,.gal{scroll-behavior:auto}.gal img{transition:none}}
@media(max-width:600px){.lb .nv{display:none}.lb .slide{padding:0}}
/* ===== Features: icon badges (gold gradient disc) on cards ===== */
.feat{grid-template-columns:1fr;gap:.7rem}
@media(min-width:640px){.feat{grid-template-columns:repeat(2,1fr)}}
.feat div{display:flex;align-items:center;gap:.9rem;padding:.8rem 1rem;background:#fff;border:1px solid var(--beige);font-size:.95rem;line-height:1.35;transition:border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
.feat div:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 14px 30px -20px rgb(15 27 46/.45)}
.feat .fi{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-l),var(--gold));box-shadow:inset 0 1px 0 rgb(255 255 255/.55),0 6px 14px -8px rgb(143 111 62/.8)}
.feat .fi svg{width:19px;height:19px;margin:0;color:var(--navy);stroke-width:1.7}
@media (prefers-reduced-motion:reduce){.feat div{transition:none}.feat div:hover{transform:none}}
/* ===== Save / Share / PDF: solid navy chips (gold on hover / when saved) ===== */
.tool{background:var(--navy);color:var(--ivory);border:1px solid var(--navy);box-shadow:0 8px 20px -12px rgb(15 27 46/.55);transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.tool:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);transform:translateY(-1px)}
.tool:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.tool.saved{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.tool.saved svg{fill:var(--navy);stroke:var(--navy)}
/* phone: a gold pill under the price, a full-width button in the card, a call button in the mobile bar */
.call{display:inline-flex;align-items:center;gap:.6rem;margin-top:.9rem;padding:.65rem 1.05rem;background:var(--gold);color:var(--navy);border:1px solid var(--gold);font:500 .95rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.call:hover{background:var(--gold-d);border-color:var(--gold-d);color:var(--ivory)}
.call svg{width:18px;height:18px}
.price .call{display:flex;width:fit-content}
.callbtn{margin:1.1rem 0 0;gap:.8rem;padding:0 1rem;font:500 1.05rem/1 var(--sans);letter-spacing:.03em;text-transform:none;white-space:nowrap}
.callbtn svg{width:20px;height:20px}
.mbar .btn span{white-space:nowrap}
@media(max-width:1023px){.mbar{grid-template-columns:auto auto 1fr}.mbar .btn:last-child{font-size:.85rem;letter-spacing:.02em;text-transform:none;gap:.4rem;padding-inline:.5rem}.mbar .btn:last-child svg{width:18px;height:18px}}
.card .agent{margin-top:1.1rem}
@media(min-width:900px){.price .call{margin-left:auto}}
.card .pr{display:block;text-align:center;line-height:1}
.card .pr > span:first-child{display:block;font-size:2.2rem;line-height:1.05}
.card .pr .pm2{display:inline-flex;align-items:center;margin:.9rem 0 0;padding:.5rem .8rem;white-space:nowrap;background:var(--cream);border:1px solid var(--beige);font:500 .85rem/1 var(--sans);letter-spacing:.01em;color:var(--navy)}
/* labels are centred on the LEAD photo (the big tile = left half of the grid), not on the whole gallery */
.gal .badges{left:calc(25% - 1.5px);right:auto;transform:translateX(-50%);justify-content:center;width:max-content;max-width:calc(50% - 24px);flex-wrap:wrap}
.gal[data-n="1"] .badges{left:50%;max-width:calc(100% - 24px)}
/* desktop: larger labels with one even gap between them */
@media(min-width:821px){.gal .badges{gap:12px;top:18px}.gal .badge{font-size:.78rem;padding:.72rem 1.1rem;letter-spacing:.15em}}
@media(max-width:820px){.gal .badges{left:50%;max-width:calc(100% - 24px)}}
.fsub{margin:0 0 1rem;font-size:.86rem;line-height:1.45;color:rgb(15 27 46/.72)}
.card .agent span{display:block;line-height:1.35}
/* phones: all three labels in one centred row (same size as on the /properties card) */
@media(max-width:820px){.gal .badges{flex-wrap:nowrap;gap:5px;top:10px}.gal .badge{font-size:.6rem;padding:.42rem .5rem;letter-spacing:.1em;white-space:nowrap}}
/* the two action buttons in the card (call, send) share one height; chat buttons follow the same rhythm */
/* one control height (52px) for every field and button in the card */
.card .btn.block{min-height:52px;padding-top:0;padding-bottom:0}
.card .chat a{min-height:52px}
.card .field input,.card .field select{height:52px;padding-top:0;padding-bottom:0}
/* phone: solid gold everywhere (card and mobile bar); in the mobile bar "Оглед" is navy so the two buttons stay distinct */
.mbar .btn:not(.mcall){background:var(--navy);border-color:var(--navy);color:var(--ivory)}
.mbar .btn:not(.mcall):hover{background:var(--navy-l);border-color:var(--navy-l);color:var(--ivory)}
@media(max-width:1023px){
 .mbar{grid-template-columns:auto 1fr 1.7fr;align-items:center;gap:.6rem}
 .mbar .pm{font-size:1.4rem;padding-right:.2rem}
 .mbar .btn{min-height:52px;height:52px;padding-block:0;justify-content:center;text-align:center;font-size:.85rem;box-sizing:border-box}
}
/* "Заявете оглед" (send) is navy; the phone above it stays gold */
#inq button[type=submit].btn{background:var(--navy-l);border-color:var(--navy-l);color:var(--ivory)}
#inq button[type=submit].btn:hover:not(:disabled){background:var(--navy);border-color:var(--navy);color:var(--gold-l)}
#inq button[type=submit].btn:disabled{opacity:.7;cursor:progress}
/* video tour: label, heading and a PORTRAIT (9:16) player on one centred axis; a larger player makes YouTube serve a higher rendition */
#video{text-align:center}
#video .eyebrow{display:block}
.video.vertical{aspect-ratio:9/16;height:min(84vh,820px);width:auto;max-width:100%;margin-inline:auto}
.video.vertical img{object-position:center}
@media(max-width:820px){.video.vertical{height:auto;width:100%;max-width:420px;max-height:none}}
@media print{.art-header,.art-footer,.mbar,.tools,.cta,.side .card form,.chat,.dl,.allbtn{display:none!important}.layout{grid-template-columns:1fr}}
