/* Vardha Prime theme: colors + fonts + dark navbar + home banner.
   Loaded AFTER the compiled app css, so it overrides it. */

html:root {
    --vpp-navy: #13203e;
    --sea: #13203e;
    --vpp-gold: #c89d48;
    --terracotta: #c89d48;
    --vpp-font-serif: 'Fraunces', Georgia, serif;
    --vpp-font-sans: 'Manrope', system-ui, sans-serif;
    --vpp-line: #e3dbc9;
}

/* ---------- Fonts (site-wide) ---------- */
html body { font-family: 'Manrope', system-ui, sans-serif; background: #fdfcf9; }
body h1, body h2, body h3, body h4, body h5, body h6,
body .vpp-serif, body .accordion-button, body .display-1, body .display-2,
body .display-3, body .display-4, body .display-5, body .display-6 {
    font-family: 'Fraunces', Georgia, serif;
    color: inherit;
}
body .btn, body .form-control, body .form-select, body .badge { font-family: 'Manrope', system-ui, sans-serif; }

/* ---------- Container ---------- */
body .container, body .container-nar { max-width: 1240px; }

/* ---------- Buttons ---------- */
.btn-vpp-gold { background: #c89d48; border: 1px solid #c89d48; color: #13203e; font-weight: 500;font-size: 14px;}
.btn-vpp-gold:hover, .btn-vpp-gold:focus { background: #b58a38; border-color: #b58a38; color: #13203e; }
.btn-vpp-outline { background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; font-weight:500;font-size: 14px; }
.btn-vpp-outline:hover, .btn-vpp-outline:focus { background: #fff; color: #13203e; border-color: #fff; }
.btn-vpp-navy { background: #13203e; border: 1px solid #13203e; color: #fff; }
.btn-vpp-navy:hover, .btn-vpp-navy:focus { background: #0c1630; color: #fff; }

/* ---------- Navbar ---------- */
body .vpp-navbar-new { background: #13203e; border-bottom: 0; }
body .vpp-navbar-new .navbar-brand { color: #fff !important; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.3rem; }
body .vpp-navbar-new .brand-text .sub { color: #c89d48; font-family: 'Manrope', system-ui, sans-serif; font-size: .68rem; font-weight: 600; letter-spacing: .18em; margin-top: 6px; }
body .vpp-navbar-new .logo-mark { background: #fff; color: #13203e; }
body .vpp-navbar-new .vpp-logo { height: 68px; width: auto; border-radius: 8px; }
@media (max-width: 575.98px) { body .vpp-navbar-new .vpp-logo { height: 54px; } }
.vpp-logo-foot { height: 92px; width: auto; border-radius: 10px; }
body .vpp-navbar-new .nav-link { color: #dfe3ec !important; font-family: 'Manrope', system-ui, sans-serif; font-weight: 500; font-size: 14px; margin: 0; padding: .05rem .7rem; letter-spacing: 0.02rem; }
body .vpp-navbar-new .nav-link:hover, body .vpp-navbar-new .nav-link:focus { color: #c89d48 !important; }
body .vpp-navbar-new .navbar-toggler { border-color: rgba(255,255,255,.35); }
body .vpp-navbar-new .navbar-collapse { background: transparent; margin-top: 0; padding-top: 0; border-top: 0; }
@media (max-width: 1199.98px) {
    body .vpp-navbar-new .navbar-collapse { border-top: 1px solid rgba(255,255,255,.12); margin-top: 12px; }
    body .vpp-navbar-new .nav-link { padding: .65rem 0; }
}

/* ---------- Home banner ---------- */
.vpp-banner { min-height: clamp(520px, 100vh, 720px); padding-bottom: 130px; background-size: cover; background-position: center; background-color: #13203e; }
.vpp-kicker { color: #c89d48; letter-spacing: .25em; font-size: 12px; font-weight: 600; }
.vpp-banner h1 { letter-spacing: -.01em; line-height: 1.08; }
.hero-des{color:color-mix(in oklab, #fcf7f8 80%, transparent);line-height: 1.7em;letter-spacing: 0.03rem;}
.vpp-search-wrap { z-index: 5; margin-top: -135px; margin-bottom: 0; }
.vpp-tab{font-size: 14px;}
.vpp-search-wrap form { border-color: var(--vpp-line) !important; }
.vpp-label { font-size: .7rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #5b6070; margin-bottom: .45rem; }
.vpp-search-wrap .form-select { border-color: var(--vpp-line); font-size: 14px; }
.vpp-search-wrap .form-select:focus, .vpp-callback .form-control:focus { border-color: #c89d48; box-shadow: 0 0 0 .2rem rgba(200,157,72,.2); }
.vpp-tab { border: 1px solid var(--vpp-line); background: #fff; color: #444; font-weight: 600; border-radius: 0 !important; }
.vpp-tab.active { background: #13203e; border-color: #13203e; color: #fff; }
.vpp-search-btn { font-weight: 600; min-width: 230px; }
@media (max-width: 991.98px) { .vpp-search-btn { min-width: 0; } }
@media (max-width: 575.98px) {
    .vpp-banner { padding-bottom: 110px; min-height: 480px; }
    .vpp-search-wrap { margin-top: -80px; }
    .vpp-banner h1 { font-size: 2.2rem; }
}

/* ---------- Callback band ---------- */
.vpp-callback { background: #13203e; }

/* ---------- Lower home sections polish ---------- */
body.vpp-home .container.py-5 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
body.vpp-home .container.py-5 .card { border-radius: 0; transition: transform .2s ease, box-shadow .2s ease; }
body.vpp-home .container.py-5 a:hover > .card { transform: translateY(-4px); box-shadow: 0 .75rem 1.5rem rgba(19,32,62,.12) !important; }
body.vpp-home .container.py-5 .rounded-3 { border-radius: 0 !important; }
body.vpp-home h2.h3 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 500; color: #13203e; }
body.vpp-home .accordion-button:not(.collapsed) { background: #fbf5e8; color: #13203e; box-shadow: none; }
body.vpp-home .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(200,157,72,.25); }

/* ---------- Navbar on scroll (frosted light) ---------- */
body .vpp-navbar-new { transition: background-color .3s ease, box-shadow .3s ease; }
body .vpp-navbar-new.scrolled { background: rgba(244, 242, 238, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 2px 14px rgba(19, 32, 62, .12); }
body .vpp-navbar-new.scrolled .navbar-brand { color: #13203e !important; }
body .vpp-navbar-new.scrolled .nav-link { color: #3a4256 !important; }
body .vpp-navbar-new.scrolled .nav-link:hover { color: #c89d48 !important; }
body .vpp-navbar-new.scrolled .btn-vpp-outline { color: #13203e; border-color: rgba(19, 32, 62, .3); background: #fff; }
body .vpp-navbar-new.scrolled .btn-vpp-outline:hover { background: #13203e; color: #fff; }
body .vpp-navbar-new.scrolled .navbar-toggler { border-color: rgba(19, 32, 62, .35); }
body .vpp-navbar-new.scrolled .navbar-toggler-icon { filter: invert(1); }
@media (max-width: 1199.98px) {
    body .vpp-navbar-new.scrolled .navbar-collapse { border-top-color: rgba(19, 32, 62, .12); }
}

/* ---------- Property Types cards ---------- */
.vpp-eyebrow { color: #c89d48; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; font-size: .75rem; }
.vpp-cat { border-color: var(--vpp-line) !important; transition: transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease, border-color .45s ease; }
.vpp-cat-img { overflow: hidden; background: #13203e; }
.vpp-cat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,.61,.36,1); }
.vpp-cat-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(19,32,62,.35)); opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.vpp-cat-ph { background: linear-gradient(135deg, #13203e, #1f3466); }
.vpp-cat-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 4.5em; }
.vpp-cat-link i { transition: transform .35s ease; }
.vpp-cat:hover { transform: translateY(-6px); box-shadow: 0 1.25rem 2.5rem rgba(19,32,62,.16); border-color: #c89d48 !important; }
.vpp-cat:hover .vpp-cat-img img { transform: scale(1.08); }
.vpp-cat:hover .vpp-cat-img::after { opacity: 1; }
.vpp-cat:hover .vpp-cat-link i { transform: translateX(6px); color: #c89d48; }
@media (prefers-reduced-motion: reduce) { .vpp-cat, .vpp-cat-img img, .vpp-cat-link i { transition: none; } }

/* ---------- Property cards ---------- */
.vpp-prop { border-color: var(--vpp-line) !important; transition: transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease, border-color .45s ease; }
.vpp-prop-img { overflow: hidden; background: #13203e; }
.vpp-prop-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,.61,.36,1); }
.vpp-tag { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .38rem .6rem; line-height: 1; }
.vpp-tag-navy { background: #13203e; color: #fff; }
.vpp-tag-gold { background: #c89d48; color: #13203e; }
.vpp-verified { background: #fff; color: #13203e; font-size: .72rem; font-weight: 700; padding: .38rem .6rem; line-height: 1; box-shadow: 0 2px 8px rgba(19,32,62,.15); }
.vpp-verified i { color: #2e9e5b; }
.vpp-prop-title { font-family: 'Fraunces', Georgia, serif; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; line-height: 1.3; color: #13203e; }
.vpp-prop-meta { min-height: 3.4rem; align-content: flex-start; border-color: var(--vpp-line) !important; }
.vpp-prop-meta i { color: #13203e; }
.vpp-prop-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 4.5em; }
.vpp-prop-link { color: #13203e; border-bottom: 1px solid #13203e; padding-bottom: 2px; }
.vpp-prop-link i { transition: transform .35s ease; }
.vpp-prop:hover { transform: translateY(-6px); box-shadow: 0 1.25rem 2.5rem rgba(19,32,62,.16); border-color: #c89d48 !important; }
.vpp-prop:hover .vpp-prop-img img { transform: scale(1.07); }
.vpp-prop:hover .vpp-prop-link i { transform: translateX(5px); }
@media (prefers-reduced-motion: reduce) { .vpp-prop, .vpp-prop-img img, .vpp-prop-link i { transition: none; } }

/* ---------- Location cards ---------- */
.vpp-loc { background: #13203e; }
.vpp-loc img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,.61,.36,1); }
.vpp-loc::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(19,32,62,.88) 100%); transition: opacity .5s ease; pointer-events: none; }
.vpp-loc-text { z-index: 2; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.vpp-loc:hover img { transform: scale(1.08); }
.vpp-loc:hover .vpp-loc-text { transform: translateY(-6px); }
@media (prefers-reduced-motion: reduce) { .vpp-loc img, .vpp-loc-text { transition: none; } }

/* ---------- Why Us (dark band) ---------- */
.vpp-why { background: #101a33; }
.vpp-why-sub { color: rgba(255,255,255,.68); line-height: 1.7;font-size: 14px; }
.vpp-why-item { border-top: 1px solid rgba(255,255,255,.16); padding-top: 1.75rem; }
.vpp-why-item i { color: #c89d48; }

/* ---------- Partners ---------- */
.vpp-partners { background: #f4f2ed; }
.vpp-partner { border-color: var(--vpp-line) !important; transition: transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease, border-color .45s ease; }
.vpp-partner h3 { font-family: 'Fraunces', Georgia, serif; }
.subheading-partner {font-size: 16px;}
.vpp-partner-badge { width: 55px; height: 55px; background: #eeebe4; border: 1px solid var(--vpp-line); font-family: 'Fraunces', Georgia, serif; font-size: 1.2rem; color: #13203e; transition: background .35s ease, color .35s ease; }
.vpp-partner-link i { transition: transform .35s ease; }
.vpp-partner:hover { transform: translateY(-6px); box-shadow: 0 1.25rem 2.5rem rgba(19,32,62,.14); border-color: #c89d48 !important; }
.vpp-partner:hover .vpp-partner-badge { background: #13203e; color: #c89d48; }
.vpp-partner:hover .vpp-partner-link i { transform: translateX(5px); }
@media (prefers-reduced-motion: reduce) { .vpp-partner, .vpp-partner-badge, .vpp-partner-link i { transition: none; } }

/* ---------- FAQ ---------- */
body .vpp-faq { border-top: 1px solid var(--vpp-line); }
body .vpp-faq .accordion-item { background: transparent; border: 0; border-bottom: 1px solid var(--vpp-line); border-radius: 0; }
body .vpp-faq .accordion-button { background: transparent !important; box-shadow: none !important; color: #13203e; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.05rem; padding: 1.5rem 0; border-radius: 0; gap: 1rem; }
body .vpp-faq .accordion-button:hover { color: #c89d48; }
body .vpp-faq .accordion-button::after { width: 1rem; height: 1rem; background-size: 1rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23c89d48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E"); }
body .vpp-faq .accordion-button:not(.collapsed)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23c89d48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E"); transform: rotate(-180deg); }
body .vpp-faq .accordion-body { padding: 0 2.5rem 1.5rem 0; color: #5b6070; font-size: .95rem; line-height: 1.7; }

/* ---------- Owners CTA banner ---------- */
.vpp-cta { background: #101a33; }
.vpp-cta-link { color: #c89d48; text-decoration: none; border-bottom: 1px solid rgba(200,157,72,.5); }
.vpp-cta-link:hover { color: #fff; border-color: #fff; }
@media (min-width: 992px) { .w-lg-auto { width: auto !important; } }

/* ---------- Contact page ---------- */
.vpp-page-head { background: #101a33; padding-bottom: 7rem !important; }
.vpp-contact-wrap { margin-top: -4rem; position: relative; z-index: 5; }
.vpp-contact-item { border-color: var(--vpp-line) !important; }
.vpp-contact-icon { width: 46px; height: 46px; background: #eeebe4; color: #c89d48; font-size: 1.05rem; }
.vpp-map iframe { filter: grayscale(.25); }

/* ---------- Prime Collection ---------- */
.vpp-prime-img { background: #13203e; }
.vpp-prime-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.22,.61,.36,1); }
.vpp-prime-title { font-family: 'Fraunces', Georgia, serif; color: #13203e; transition: color .3s ease; }
.vpp-prime-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vpp-prime:hover .vpp-prime-img img { transform: scale(1.06); }
.vpp-prime:hover .vpp-prime-title { color: #c89d48; }
.vpp-prime:hover .vpp-prop-link i { transform: translateX(5px); }
.vpp-prime .vpp-prop-link i { transition: transform .35s ease; }
@media (prefers-reduced-motion: reduce) { .vpp-prime-img img, .vpp-prime-title, .vpp-prime .vpp-prop-link i { transition: none; } }

/* ---------- Footer ---------- */
body .vpp-footer2 { background: #101a33; color: #cfd5e3; margin-top: 0; }
.vpp-footer2 .logo-mark { background: #fff; color: #13203e; }
.vpp-foot-brand { font-family: 'Fraunces', Georgia, serif; font-size: 1.35rem; font-weight: 600; color: #fff; }
.vpp-foot-sub { color: #c89d48; font-size: .68rem; font-weight: 600; letter-spacing: .18em; margin-top: 6px; }
.vpp-foot-text { color: rgba(255,255,255,.68); line-height: 1.75; font-size:14px;font-weight: 400;letter-spacing: 0.02rem; }
.vpp-foot-h { color: #c89d48; font-family: 'Fraunces', Georgia, serif; font-size: .78rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; margin-bottom: 1.25rem; }
.vpp-footer2 ul a { color: rgba(255,255,255,.78); text-decoration: none; font-size:13px;letter-spacing: 0.02rem; transition: color .25s ease, padding-left .25s ease; }
.vpp-footer2 ul a:hover { color: #c89d48; }
.vpp-social { width:25px; height:25px; padding: 15px!important; border: 1px solid rgba(255,255,255,.22); color:#ffffffad; text-decoration: none; transition: all .3s ease; }
.vpp-social:hover { background: #c89d48; border-color: #c89d48; color: #13203e; }
.vpp-foot-bottom { border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.6); }
.vpp-foot-bottom div span{font-size: 12px;letter-spacing: 0.02rem;}
.vpp-foot-bottom div span a{color:#c89d48;text-decoration: none;}