/* Mini Villas V2: inner pages. Same tokens as demo.css; components re-skinned from the current site. */

/* ---------- page hero (no photo: aurora + gold dust, so no image repeats on the page) ---------- */
.page-hero,.prop-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:180px 0 80px;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
.prop-hero{min-height:58vh;padding-bottom:64px}
.ph-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 140% at 85% -10%,rgba(200,162,76,.16),transparent 55%),linear-gradient(180deg,var(--ink-2),var(--ink))}
.ph-bg .aurora{opacity:.45}
.ph-bg canvas{position:absolute;inset:0;width:100%;height:100%}
.page-hero .container,.prop-hero .container{position:relative}
.page-hero h1,.prop-hero h1{font-size:clamp(42px,6vw,84px);max-width:960px;line-height:1.04}
.page-hero h1{margin-bottom:0}
.page-hero p{color:var(--muted);max-width:660px;margin-top:24px;font-size:clamp(16px,1.4vw,19px)}
.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.crumb a{color:var(--gold-1);transition:color .3s}
.crumb a:hover{color:var(--gold-hi)}
.crumb .sep{width:6px;height:6px;background:var(--gold-2);transform:rotate(45deg);opacity:.7}
.prop-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.prop-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:8px 16px;border-radius:50px}
.prop-badge--gold{background:var(--gold-grad);color:var(--ink);box-shadow:0 0 22px -4px rgba(232,208,139,.6)}
.prop-badge--ghost{background:rgba(15,13,10,.55);border:1px solid rgba(232,208,139,.4);color:var(--ivory);backdrop-filter:blur(8px)}
.prop-hero h1{margin-bottom:14px}
.inner .prop-hero .loc{display:inline-flex;align-items:center;gap:10px;color:#e9e1d0;font-size:18px;transition:color .3s}
.inner .prop-hero .loc:hover{color:var(--gold-1)}
.inner .prop-hero .loc svg{width:22px;height:22px;stroke:var(--gold-1);fill:none;flex-shrink:0;color:var(--gold-1)}

/* ---------- generic blocks ---------- */
.section--tight{padding:clamp(56px,7vw,80px) 0}
.center{text-align:center}
.band{background:linear-gradient(180deg,var(--ink-2),var(--ink-3));border-block:1px solid var(--line)}
.inner .gold{color:var(--gold-1);text-shadow:0 0 24px rgba(232,208,139,.25)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn>span{display:inline-flex;align-items:center;gap:10px}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none}
.inner .head{margin-bottom:54px}
.inner .head.center .lead{margin-inline:auto}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.inner .card .ico{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin-bottom:26px;color:var(--gold-1);background:radial-gradient(circle at 30% 20%,rgba(232,208,139,.22),rgba(232,208,139,.04));border:1px solid rgba(232,208,139,.25);box-shadow:0 0 30px -10px rgba(232,208,139,.5);transition:transform .6s var(--ease),box-shadow .4s}
.inner .card:hover .ico{transform:rotate(-8deg) scale(1.08);box-shadow:0 0 40px -6px rgba(232,208,139,.8)}
.inner .card .ico svg{width:28px;height:28px;stroke:currentColor;fill:none}
.inner .card h3{font-size:26px}
.inner .card .num{line-height:1;margin-bottom:10px}
.prop-loc{color:var(--muted);font-size:14px}

/* split: photo + text (current-site layout, new motion) */
.inner .osplit{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.inner .osplit.rev .osplit-media{order:2}
.inner .osplit-media{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.9);border:1px solid var(--line)}
.inner .osplit-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transform:scale(1.1)}
.inner .badge{position:absolute;left:22px;bottom:22px;background:rgba(16,13,9,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:14px 20px;overflow:hidden}
.inner .badge::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang),transparent 0 70%,var(--gold-1) 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 4s linear infinite}
.inner .badge b{font-family:var(--serif);font-size:26px;display:block;background:linear-gradient(110deg,var(--gold-3),var(--gold-1) 35%,var(--gold-hi) 50%,var(--gold-1) 65%,var(--gold-3));background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 4.5s linear infinite}
.inner .badge span{font-size:12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}
.inner .ticks{list-style:none;margin:26px 0 32px}
.inner .ticks li{position:relative;padding:12px 0 12px 40px;border-bottom:1px solid var(--line);color:#e6ddca;font-size:16px}
.inner .ticks li:last-child{border-bottom:0}
.inner .ticks li::before{content:"";position:absolute;left:0;top:13px;width:24px;height:24px;border-radius:50%;background:rgba(200,162,76,.14);border:1px solid rgba(200,162,76,.35)}
.inner .ticks li::after{content:"";position:absolute;left:9px;top:17px;width:6px;height:11px;border:solid var(--gold-1);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* CTA box */
.cta-box{position:relative;text-align:center;overflow:hidden;border-radius:28px;max-width:var(--maxw);margin:0 auto;padding:clamp(60px,8vw,96px) 24px;background:linear-gradient(135deg,#221b10,#120f0a);isolation:isolate}
.cta-box::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang),rgba(200,162,76,.25) 0 60%,var(--gold-hi) 78%,rgba(200,162,76,.25) 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 6s linear infinite}
.cta-box::after{content:"";position:absolute;left:50%;top:50%;width:700px;height:700px;margin:-350px 0 0 -350px;z-index:-1;background:radial-gradient(circle,rgba(200,162,76,.2),transparent 60%);animation:breathe 6s ease-in-out infinite}
.cta-box h2{font-size:clamp(32px,4.4vw,54px);margin:0 auto 18px;max-width:820px}
.cta-box p{color:var(--muted);max-width:580px;margin:0 auto 34px}
.section>.cta-box{margin-inline:24px}
@media (min-width:1290px){.section>.cta-box{margin-inline:auto}}

/* contact */
.info-row{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:0}
.info-row .ico{width:48px;height:48px;border-radius:14px;background:rgba(200,162,76,.12);border:1px solid rgba(200,162,76,.3);display:grid;place-items:center;flex-shrink:0;color:var(--gold-1)}
.info-row .ico svg{width:21px;height:21px;stroke:currentColor;fill:none}
.info-row h4{font-family:var(--sans);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:600}
.info-row p{font-size:17px}
.info-row a:hover{color:var(--gold-1)}
.form{position:relative;background:linear-gradient(180deg,var(--ink-2),var(--ink-3));border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.field{margin-bottom:18px}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.field input,.field textarea,.field select{width:100%;background:rgba(15,13,10,.7);border:1px solid var(--line);border-radius:12px;padding:15px 16px;color:var(--ivory);font:inherit;font-size:15px;transition:border-color .3s,box-shadow .3s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 4px rgba(200,162,76,.12),0 0 24px -6px rgba(232,208,139,.5)}
.field textarea{min-height:140px;resize:vertical}
.form .btn{width:100%}
.map-frame{border-radius:24px;overflow:hidden;border:1px solid var(--line);filter:saturate(.85)}

/* ---------- property page ---------- */
.bento-item .val,.prop-price-block .amt,.inner .card .num,.price,.stat b,.ring-txt b,.hero-stats b{font-variant-numeric:lining-nums}
.prop-summary{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;padding:40px 0;border-bottom:1px solid var(--line);margin-bottom:48px}
.prop-summary h2{font-size:clamp(28px,3vw,38px);margin-bottom:8px}
.prop-summary .sub{color:var(--muted);font-size:15.5px;max-width:640px}
.prop-summary>div:first-child{flex:1 1 480px}
.prop-price-block{text-align:right;margin-left:auto}
.prop-price-block .lbl{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:block}
.prop-price-block .amt{font-family:var(--serif);font-size:clamp(36px,4vw,52px);line-height:1;background:linear-gradient(110deg,var(--gold-3),var(--gold-1) 35%,var(--gold-hi) 50%,var(--gold-1) 65%,var(--gold-3));background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s linear infinite}
.prop-price-block .amt small{font-family:var(--sans);font-size:16px;color:var(--muted);-webkit-text-fill-color:var(--muted);font-weight:500}
.prop-layout{display:grid;grid-template-columns:1fr 370px;gap:56px;align-items:start}
.prop-layout h3{font-family:var(--serif)}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:60px}
.bento-item{position:relative;background:linear-gradient(180deg,var(--ink-2),var(--ink-3));border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:30px 16px;text-align:center;overflow:hidden;transition:transform .5s var(--ease),border-color .4s}
.bento-item:hover{transform:translateY(-6px)}
.bento-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin:0 auto 16px;background:radial-gradient(circle at 30% 20%,rgba(232,208,139,.22),rgba(232,208,139,.04));border:1px solid rgba(232,208,139,.28);color:var(--gold-1)}
.bento-item svg{width:28px;height:28px;stroke:currentColor;fill:none}
.bento-item .val{font-family:var(--serif);font-size:30px;display:block;margin-bottom:4px;color:var(--ivory)}
.bento-item .lbl{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:600}
.bento-item .val.unknown{color:var(--muted);font-size:16px;font-family:var(--sans)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:14px;margin-bottom:18px}
.gallery-grid .g1{grid-column:span 2;grid-row:span 2}
.gallery-item{border-radius:16px;overflow:hidden;position:relative;border:1px solid var(--line)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);cursor:zoom-in}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item:has(img)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(15,13,10,.45),transparent 40%);opacity:0;transition:opacity .4s}
.gallery-item:has(img):hover::after{opacity:1}
.gallery-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 50% 40%,#2a2319,#15120e);color:var(--muted);text-align:center;padding:14px}
.gallery-placeholder svg{width:34px;height:34px;stroke:var(--gold-1);fill:none;opacity:.85}
.gallery-placeholder span{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;max-width:180px}
.gallery-note{color:var(--muted);font-size:14px;margin-bottom:56px}
.chip-row{display:flex;flex-wrap:wrap;gap:12px}
.achip{display:flex;align-items:center;gap:12px;padding:13px 22px;border-radius:50px;border:1px solid var(--line);background:var(--ink-2);font-size:15px;font-weight:500;color:var(--ivory);transition:border-color .3s,background .3s,transform .4s var(--ease),box-shadow .4s}
.achip:hover{border-color:rgba(232,208,139,.55);background:var(--ink-3);transform:translateY(-3px);box-shadow:0 10px 26px -12px rgba(232,208,139,.55)}
.achip svg{width:22px;height:22px;stroke:var(--gold-1);fill:none;flex-shrink:0}
.sticky-card{position:sticky;top:110px;background:linear-gradient(180deg,var(--ink-2),var(--ink-3));border-radius:24px;padding:32px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9);isolation:isolate}
.sticky-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:-1;background:conic-gradient(from var(--ang),rgba(200,162,76,.25) 0 60%,var(--gold-hi) 78%,rgba(200,162,76,.25) 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 6s linear infinite}
.sticky-card h3{font-size:24px;margin-bottom:6px}
.sticky-card .sub{color:var(--muted);font-size:14px;margin-bottom:24px}
.sticky-card .btn{width:100%;margin-bottom:12px}
.sticky-card .info-row{padding:16px 0}
.broker-card{display:flex;align-items:center;gap:32px;flex-wrap:wrap;background:linear-gradient(180deg,var(--ink-2),var(--ink-3));border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.broker-photo-wrap{position:relative;flex-shrink:0;padding-bottom:16px}
.broker-photo{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:var(--ink-3);border:2px solid rgba(200,162,76,.4);overflow:hidden;color:var(--gold-2);box-shadow:0 0 30px -10px rgba(232,208,139,.6)}
.broker-photo svg{width:48px;height:48px;stroke:currentColor;fill:none}
.broker-photo-wrap .pending{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:var(--ink);border:1px solid var(--line);border-radius:50px;padding:3px 10px;font-size:10px;letter-spacing:.3px;color:var(--muted);white-space:nowrap}
.broker-info{flex:1 1 200px;min-width:160px}
.broker-info h4{font-family:var(--serif);font-size:30px;margin-bottom:4px;font-weight:600}
.broker-info .role{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-2);font-weight:700}
.broker-contacts{display:flex;gap:12px;flex-wrap:wrap}
.broker-contact{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 30% 20%,rgba(232,208,139,.16),rgba(232,208,139,.03));border:1px solid rgba(232,208,139,.3);transition:transform .45s var(--ease),box-shadow .45s,background .45s,border-color .45s}
.broker-contact::before{content:"";position:absolute;inset:-2px;border-radius:inherit;z-index:-1;background:conic-gradient(from var(--ang),transparent 0 65%,var(--gold-hi) 80%,transparent 95%);animation:spin 3.2s linear infinite;opacity:0;transition:opacity .4s}
.broker-contact:hover{transform:translateY(-4px);background:var(--gold-grad);border-color:transparent;box-shadow:0 10px 26px -6px rgba(232,208,139,.7)}
.broker-contact:hover::before{opacity:1}
.broker-contact svg{width:22px;height:22px;stroke:var(--gold-1);fill:none;transition:stroke .3s,fill .3s}
.broker-contact svg.brand{fill:var(--gold-1);stroke:none}
.broker-contact:hover svg{stroke:var(--ink)}
.broker-contact:hover svg.brand{fill:var(--ink)}
.location-card{background:linear-gradient(180deg,var(--ink-2),var(--ink-3));border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.map-embed{width:100%;height:400px;border-radius:16px;overflow:hidden;filter:saturate(.8) contrast(1.05)}
.map-embed iframe{width:100%;height:100%;border:0}

/* properties list page uses the home listing cards */
.inner .props{margin-bottom:10px}

/* 404 */
.notfound{min-height:80vh;display:grid;place-items:center;align-content:center;text-align:center;padding:160px 24px 80px;background:radial-gradient(60% 50% at 50% 45%,rgba(200,162,76,.14),transparent 70%)}
.notfound h1{font-size:clamp(52px,8vw,110px);margin-bottom:18px}
.notfound p{color:var(--muted);font-size:18px}
.notfound a{color:var(--gold-1);border-bottom:1px solid rgba(232,208,139,.4)}

/* gallery lightbox */
.lb{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:rgba(10,8,6,.92);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.lb.open{opacity:1;visibility:visible}
.lb img{max-width:min(92vw,1200px);max-height:84vh;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.8);transform:scale(.94);transition:transform .5s var(--ease)}
.lb.open img{transform:none}
.lb button{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(232,208,139,.4);color:var(--gold-1);font-size:22px;display:grid;place-items:center;background:rgba(20,17,13,.6);transition:background .3s,color .3s}
.lb button:hover{background:var(--gold-grad);color:var(--ink)}
.lb .lb-x{top:24px;right:24px}
.lb .lb-p{left:24px;top:50%;margin-top:-26px}
.lb .lb-n{right:24px;top:50%;margin-top:-26px}

/* page transition curtain */
.pfx{position:fixed;inset:0;z-index:105;pointer-events:none;background:var(--ink);visibility:hidden;transform:translateY(101%);transition:transform .55s cubic-bezier(.76,0,.24,1)}
.pfx::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold-grad);box-shadow:0 0 18px var(--gold-1)}
.pfx.cover{transform:translateY(0);visibility:visible}
.pfx.leave{transform:translateY(-101%);visibility:visible}

@media (max-width:980px){
  .prop-layout{grid-template-columns:1fr}
  .sticky-card{position:relative;top:0}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .inner .osplit{grid-template-columns:1fr;gap:40px}
  .inner .osplit.rev .osplit-media{order:0}
}
@media (max-width:760px){
  .bento{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .prop-price-block{text-align:left}
  .form{padding:26px}
  .broker-card{padding:28px}
}

/* language pill inside the mobile menu */
.mm-lang{display:flex;gap:4px;border:1px solid var(--line);border-radius:50px;padding:4px;margin-top:18px}
.mobile-menu .mm-lang a{padding:7px 16px;border-radius:50px;font-family:var(--sans);font-size:13px;line-height:1.2;font-weight:700;color:var(--muted)}
.mm-lang a.active{background:var(--gold-grad);color:var(--ink)}

/* page-wide gold dust on inner pages; the hero only adds a soft aurora that fades out */
.page-dust{position:fixed;inset:0;width:100%;height:100lvh;z-index:-1;pointer-events:none}
.ph-bg canvas{display:none}
.ph-bg{background:radial-gradient(120% 140% at 85% -10%,rgba(200,162,76,.14),transparent 55%);-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.page-hero,.prop-hero{border-bottom:0}
.band{background:linear-gradient(180deg,rgba(23,20,15,.82),rgba(33,28,21,.82))}
@media (max-width:760px){
  .page-hero,.prop-hero{min-height:0;padding:118px 0 44px}
  .prop-price-block{margin-left:0}
  .prop-summary{padding:28px 0;margin-bottom:34px}
}
