/* Master palette — single source of truth for every page. */

:root {
  --color-brand-primary: #003D45;
  --color-brand-primary-rgb: 0, 61, 69;
  --color-brand-dark: #002830;
  --color-brand-dark-rgb: 0, 40, 48;
  --color-brand-mint: #bce3de;
  --color-brand-gold: #9a7b4f;
  /* #9a7b4f drops below 4:1 on the emerald, so gold text on dark panels uses this lighter step. */
  --color-brand-gold-light: #c5a880;
  --color-brand-champagne: #e5c583;
  --color-brand-emerald-lift: #114b4c;
  --color-canvas-bg: #fafaf9;
  --color-card-bg: #ffffff;
  --color-border-hairline: #e5e7eb;
  --color-text-heading: #003D45;
  --color-text-main: #1f2937;
  --color-text-body: #1f2937;
  --color-text-muted: #6b7280;
  --color-on-dark-muted: #d1d5db;
  --color-on-dark-line: rgba(255, 255, 255, 0.15);

  /* Theme aliases (global.css, homepage.css) */
  --primary: var(--color-brand-primary);
  --secondary: var(--color-brand-mint);
  --navbar-bg: var(--color-brand-primary);

}

/* Title-case brand mark, even inside uppercase labels and breadcrumbs. */
.kd-brand {
  text-transform: none !important;
  letter-spacing: 0.04em;
}

/* ---------- header ---------- */

.header .section-bg,
.burger-menu {
  background: var(--color-brand-primary) !important;
}

.header .section-bg__image,
.burger-menu .section-bg__image {
  display: none !important;
}

.header .header__logo img,
.header [class*="social"] a,
.header [class*="social"] i {
  opacity: 1 !important;
  filter: none !important;
}

.header [class*="social"] a {
  color: #ffffff !important;
  transition: color 0.25s ease;
}

.header [class*="social"] a:hover {
  color: var(--color-brand-mint) !important;
}

.header__nav #nav > li > a {
  position: relative;
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: "Be Vietnam Pro", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 1.3px !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  transition: color 0.25s ease;
}

.header__nav #nav > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0.08em;
  bottom: 6px;
  height: 1px;
  background: var(--color-brand-mint);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  pointer-events: none;
}

.header__nav #nav > li:hover > a,
.header__nav #nav > li:focus-within > a,
.header__nav #nav > li.current-menu-item > a,
.header__nav #nav > li.current-menu-ancestor > a,
.header__nav #nav > li > a[aria-current="page"] {
  color: #ffffff !important;
}

.header__nav #nav > li:hover > a::after,
.header__nav #nav > li:focus-within > a::after,
.header__nav #nav > li.current-menu-item > a::after,
.header__nav #nav > li.current-menu-ancestor > a::after,
.header__nav #nav > li > a[aria-current="page"]::after {
  transform: scaleX(1);
}

.header__nav #nav .sub-menu {
  background: var(--color-brand-primary) !important;
  padding: 8px 0 !important;
}

.header__nav #nav > li.menu-item-34 > .sub-menu {
  width: max-content !important;
  min-width: 280px;
}

.header__nav #nav .sub-menu li a {
  display: block !important;
  background: transparent !important;
  color: #d1d5db !important;
  font-family: "Be Vietnam Pro", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-left: 2px solid transparent !important;
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease !important;
}

.header__nav #nav > li.menu-item-34 > .sub-menu li a {
  white-space: nowrap !important;
}

.header__nav #nav .sub-menu li:hover > a,
.header__nav #nav .sub-menu li:focus > a,
.header__nav #nav .sub-menu li.current-menu-item > a,
.header__nav #nav .sub-menu li.current-menu-ancestor > a,
.header__nav #nav .sub-menu li > a[aria-current="page"] {
  background: var(--color-brand-emerald-lift) !important;
  color: var(--color-brand-champagne) !important;
  border-left-color: var(--color-brand-champagne) !important;
}

/* ---------- theme literals (global.css / homepage.css load from the remote theme) ---------- */

.global-git__inner,
.vip-popup__inner {
  background: rgba(var(--color-brand-primary-rgb), 0.92) !important;
}

.vip-popup__form .form-fields__input small,
.hp-fl__item a .default-info .price,
.hp-wwwu__text-list .hp-wwwu__text h3,
.hp-follow__phone .phone-link a,
.hp-vc__top .top-right h3 {
  color: var(--color-brand-primary) !important;
}

.hp-about__photo > span {
  background: rgba(var(--color-brand-primary-rgb), 0.75) !important;
}

.hp-wwwu__text-list .hp-wwwu__text {
  border-bottom-color: rgba(var(--color-brand-primary-rgb), 0.2) !important;
}

.ip-blog__search input,
.ip-blog__similar-posts .default-info h3,
.ip-blog__similar-posts .default-info h3 a {
  color: var(--color-brand-primary) !important;
}

.ip-blog__search input {
  border-bottom-color: rgba(var(--color-brand-primary-rgb), 0.2) !important;
}

.ip-blog__search input:focus {
  border-bottom-color: var(--color-brand-primary) !important;
}

.footer__contacts .contact-item.smis {
  border-top-color: rgba(var(--color-brand-primary-rgb), 0.3) !important;
}

/* Primary teal CTA — shared type (uppercase, medium, tracked) */
:is(
  .loan-btn,
  .asset-btn,
  .legal-submit,
  .contact-btn,
  .lead-dossier__submit,
  .partner-board__btn,
  .brokerage-btn,
  .vh-intro-btn,
  .pd-btn:not(.pd-btn-ghost),
  .about-btn--dark,
  a.project-cta:not(.project-cta--ghost),
  .tour-panel a
):not(.pd-tour .pd-btn),
:is(
  .loan-btn,
  .asset-btn,
  .legal-submit,
  .contact-btn,
  .lead-dossier__submit,
  .partner-board__btn,
  .brokerage-btn,
  .vh-intro-btn,
  .pd-btn:not(.pd-btn-ghost),
  .about-btn--dark,
  a.project-cta:not(.project-cta--ghost),
  .tour-panel a
):not(.pd-tour .pd-btn) span:not([aria-hidden="true"]) {
  font-family: "Montserrat", "Be Vietnam Pro", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  font-synthesis: none !important;
  letter-spacing: 0.12em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

:is(
  .loan-btn,
  .asset-btn,
  .legal-submit,
  .contact-btn,
  .lead-dossier__submit,
  .partner-board__btn,
  .brokerage-btn,
  .vh-intro-btn,
  .pd-btn:not(.pd-btn-ghost),
  .about-btn--dark,
  a.project-cta:not(.project-cta--ghost),
  .tour-panel a
) :is(.loan-btn__arrow, .asset-btn__arrow, .contact-btn__arrow, .brokerage-arrow, span[aria-hidden="true"]) {
  display: inline-block !important;
  margin-left: 8px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* CTA reassurance footnotes — match /lien-he/ .contact-privacy */
:is(
  .contact-privacy,
  .loan-privacy,
  .asset-consign__note,
  .legal-meta,
  .pd-form__note
) {
  display: block !important;
  margin: 12px 0 0 !important;
  color: #a8a29e !important;
  font-family: "Be Vietnam Pro", sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-synthesis: none !important;
  letter-spacing: 0.025em !important;
  line-height: 1.6 !important;
  text-align: left !important;
  text-transform: none !important;
}

/* Permanently disable VIP List modal */
.vip-popup,
.vip-popup-trigger,
.vip-modal,
[id*="vip"],
[class*="vip-list"],
[class*="vip-popup"],
.modal-vip,
.aiosp-wrap:has(#vip-popup) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
