/* Vision Realty Projects — single project page styles */

.vrp-container{max-width:1160px;margin:0 auto;padding:0 32px;}
.vrp-hero,.vrp-section,.vrp-cta-strip{
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif;
  --green-900:#122d24;--green-800:#1c4436;--green-700:#24523f;
  --gold-500:#c9a03e;--gold-400:#dcb95a;--gold-100:#f3e6bf;
  --cream-100:#f6f2e7;--ink-900:#1a2420;--ink-600:#4d5a54;--ink-400:#7c8a83;--white:#fff;
  --shadow-card:0 12px 30px -14px rgba(18,45,36,.35);--ease:cubic-bezier(.4,0,.2,1);
}
.vrp-hero *,.vrp-section *,.vrp-cta-strip *{box-sizing:border-box;}
.vrp-hero h1,.vrp-section h2,.vrp-highlight-item h4{
  font-family:'Fraunces',Georgia,serif;margin:0 0 .5em;line-height:1.15;color:var(--green-900);font-weight:600;
}
.vrp-eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-500);font-weight:600;margin-bottom:.75rem;display:block;}

/* hero */
.vrp-hero{background:linear-gradient(135deg,var(--green-900) 0%,var(--green-800) 55%,var(--green-700) 100%);color:var(--white);padding:64px 0 0;overflow:hidden;}
.vrp-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap;padding-bottom:40px;}
.vrp-badges{display:flex;gap:10px;margin-bottom:1rem;flex-wrap:wrap;}
.vrp-badge{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;padding:7px 14px;}
.vrp-badge.gold{background:var(--gold-500);color:var(--green-900) !important;}
.vrp-badge.outline{border:1px solid rgba(255,255,255,.4);color:var(--white) !important;}
.vrp-hero h1{color:var(--white) !important;font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:.2em;}
.vrp-loc{color:rgba(255,255,255,.8) !important;font-size:1.02rem;display:flex;align-items:center;gap:8px;}
.vrp-price-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:22px 28px;min-width:230px;}
.vrp-price-box .from{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.65) !important;margin-bottom:.3em;}
.vrp-price-box .amt{font-family:'Fraunces',Georgia,serif;font-size:1.9rem;font-weight:600;color:var(--white) !important;}
.vrp-price-box .amt small{font-size:.8rem;font-weight:400;color:rgba(255,255,255,.6) !important;}

.vrp-hero-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;}
.vrp-hero-gallery img{width:100%;height:280px;object-fit:cover;}
.vrp-stack{display:grid;grid-template-rows:1fr 1fr;gap:6px;}
.vrp-stack img{height:137px;}

/* facts */
.vrp-fact-strip{background:var(--white);box-shadow:var(--shadow-card);margin-top:-30px;position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);}
.vrp-fact-strip div{padding:26px 20px;text-align:center;border-right:1px solid var(--cream-100);}
.vrp-fact-strip div:last-child{border-right:none;}
.vrp-fact-strip b{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.6rem;color:var(--green-800);margin-bottom:.15em;}
.vrp-fact-strip span{font-size:.75rem;color:var(--ink-400);text-transform:uppercase;letter-spacing:.06em;}

/* sections */
.vrp-section{padding:70px 0;}
.vrp-section-alt{background:#102530;}
.vrp-section-head{max-width:640px;margin-bottom:36px;}

/* config table */
.vrp-config-table{width:100%;border-collapse:collapse;background:var(--white);box-shadow:var(--shadow-card);}
.vrp-config-table th,.vrp-config-table td{padding:18px 24px;text-align:left;border-bottom:1px solid var(--cream-100);}
.vrp-config-table thead th{background:var(--green-900);color:var(--white);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;}
.vrp-config-table tbody tr:last-child td{border-bottom:none;}
.vrp-config-table td.config-name{font-family:'Fraunces',Georgia,serif;font-weight:600;color:var(--green-800);font-size:1.05rem;}
.vrp-config-table td.price{font-family:'Fraunces',Georgia,serif;font-weight:600;color:var(--gold-500);font-size:1.05rem;}

/* highlights */
.vrp-highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.vrp-highlight-item{background:var(--white);box-shadow:var(--shadow-card);padding:24px 26px;display:flex;gap:16px;align-items:flex-start;}
.vrp-highlight-item .num{font-family:'Fraunces',Georgia,serif;font-size:1.4rem;color:var(--gold-500);font-weight:600;flex-shrink:0;}
.vrp-highlight-item h4{font-size:1.02rem;margin-bottom:.3em;}
.vrp-highlight-item p{color:var(--ink-600);font-size:.9rem;margin:0;}

/* gallery */
.vrp-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.vrp-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow-card);}

/* CTA */
.vrp-cta-strip{background:var(--green-900);color:var(--white);padding:60px 0;text-align:center;}
.vrp-cta-strip h2{color:var(--white) !important;}
.vrp-cta-strip p{color:rgba(255,255,255,.72) !important;max-width:520px;margin:0 auto 24px;}
.vrp-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.vrp-btn-gold{background:var(--gold-500);color:var(--green-900) !important;padding:12px 26px;font-weight:600;font-size:.86rem;text-decoration:none;border:none;cursor:pointer;font-family:inherit;}
.vrp-btn-gold:hover{background:var(--gold-400);color:var(--green-900) !important;}
.vrp-btn-outline{border:1px solid rgba(255,255,255,.4);background:transparent;color:var(--white) !important;padding:12px 26px;font-weight:600;font-size:.86rem;cursor:pointer;font-family:inherit;}
.vrp-btn-outline:hover{border-color:var(--gold-400);color:var(--gold-400) !important;}

@media (max-width:900px){
  .vrp-hero-gallery{grid-template-columns:1fr;}
  .vrp-stack{grid-template-rows:1fr 1fr;}
  .vrp-fact-strip{grid-template-columns:repeat(2,1fr);}
  .vrp-highlight-grid{grid-template-columns:1fr;}
  .vrp-gallery-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .vrp-gallery-grid{grid-template-columns:1fr;}
  .vrp-config-table{font-size:.85rem;}
  .vrp-config-table th,.vrp-config-table td{padding:12px 14px;}
}

/* ---------- clickable gallery images ---------- */
[data-vrp-index]{cursor:zoom-in;transition:transform .35s var(--ease,ease),filter .35s ease;}
.vrp-gallery-grid img[data-vrp-index]:hover,
.vrp-hero-gallery img[data-vrp-index]:hover{filter:brightness(1.08);}
[data-vrp-index]:focus-visible{outline:3px solid #c9a03e;outline-offset:-3px;}

/* ---------- lightbox + slider ---------- */
html.vrp-lb-lock{overflow:hidden !important;}
.vrp-lb{position:fixed;inset:0;z-index:2147483000;display:none;flex-direction:column;background:rgba(10,14,12,.94);
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;}
.vrp-lb.is-open{display:flex;animation:vrpLbFade .25s ease;}
.vrp-lb *{box-sizing:border-box;}
.vrp-lb-top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;flex:0 0 auto;}
.vrp-lb-counter{font-size:.85rem;letter-spacing:.08em;color:rgba(255,255,255,.8);}
.vrp-lb .vrp-lb-btn{background:transparent !important;border:0 !important;color:#fff !important;cursor:pointer;
  line-height:1;padding:0;margin:0;box-shadow:none !important;border-radius:0;text-transform:none;letter-spacing:0;}
.vrp-lb .vrp-lb-close{font-size:2.4rem;width:44px;height:44px;opacity:.85;transition:opacity .2s,color .2s;}
.vrp-lb .vrp-lb-close:hover{opacity:1;color:#dcb95a !important;}
.vrp-lb-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;
  padding:0 70px;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.vrp-lb-imgwrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.vrp-lb .vrp-lb-img{max-width:100% !important;max-height:100% !important;width:auto !important;height:auto !important;
  object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);-webkit-user-drag:none;cursor:default;}
.vrp-lb-in-next{animation:vrpLbInNext .35s cubic-bezier(.4,0,.2,1);}
.vrp-lb-in-prev{animation:vrpLbInPrev .35s cubic-bezier(.4,0,.2,1);}
.vrp-lb .vrp-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:1.6rem;
  background:rgba(255,255,255,.1) !important;border-radius:50% !important;transition:background .2s,color .2s;z-index:2;}
.vrp-lb .vrp-lb-nav:hover{background:#c9a03e !important;color:#122d24 !important;}
.vrp-lb .vrp-lb-prev{left:12px;}
.vrp-lb .vrp-lb-next{right:12px;}
.vrp-lb-thumbs{flex:0 0 auto;display:flex;gap:8px;overflow-x:auto;padding:14px 20px 18px;justify-content:safe center;scrollbar-width:thin;}
.vrp-lb .vrp-lb-thumb{flex:0 0 auto;width:72px;height:52px;padding:0;border:2px solid transparent !important;background:#000 !important;
  opacity:.5;cursor:pointer;transition:opacity .2s,border-color .2s;}
.vrp-lb .vrp-lb-thumb img{width:100% !important;height:100% !important;object-fit:cover;display:block;margin:0 !important;}
.vrp-lb .vrp-lb-thumb:hover{opacity:.85;}
.vrp-lb .vrp-lb-thumb.is-active{opacity:1;border-color:#c9a03e !important;}
.vrp-lb-single .vrp-lb-nav,.vrp-lb-single .vrp-lb-thumbs{display:none;}
.vrp-lb-loading .vrp-lb-imgwrap::after{content:"";position:absolute;width:38px;height:38px;border:3px solid rgba(255,255,255,.25);
  border-top-color:#c9a03e;border-radius:50%;animation:vrpLbSpin .8s linear infinite;}
.vrp-lb-loading .vrp-lb-img{opacity:0;}

@keyframes vrpLbFade{from{opacity:0}to{opacity:1}}
@keyframes vrpLbInNext{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:none}}
@keyframes vrpLbInPrev{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:none}}
@keyframes vrpLbSpin{to{transform:rotate(360deg)}}

@media (max-width:700px){
  .vrp-lb-stage{padding:0 8px;}
  .vrp-lb .vrp-lb-nav{width:40px;height:40px;font-size:1.2rem;background:rgba(0,0,0,.45) !important;}
  .vrp-lb .vrp-lb-prev{left:6px;}
  .vrp-lb .vrp-lb-next{right:6px;}
  .vrp-lb-thumbs{padding:10px 12px 14px;}
  .vrp-lb .vrp-lb-thumb{width:56px;height:42px;}
}
@media (prefers-reduced-motion:reduce){
  .vrp-lb.is-open,.vrp-lb-in-next,.vrp-lb-in-prev{animation:none;}
}
