/* SunlandSG shell: header, mobile navigation, footer, admin bar and global lead modal. */
.sunland-skip-link {
    position: fixed;
    left: 16px;
    top: -100px;
    z-index: 100000;
    padding: 10px 16px;
    background: #fff;
    color: #111;
}
.sunland-skip-link:focus { top: 16px; }

.sunland-site-header {
    position: sticky;
    top: 0;
    z-index: 10000;
    width: 100%;
    background: rgba(0, 77, 74, .97);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 8px 28px rgba(0, 32, 31, .12);
}
.home .sunland-site-header {
    position: sticky;
    top: 0;
    z-index: 10000;
    background: rgba(0, 77, 74, .97);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 8px 28px rgba(0, 32, 31, .12);
}
.admin-bar .sunland-site-header { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar .sunland-site-header { top: 0 !important; }
}
.sunland-header-inner {
    width: min(var(--sl-content-width), calc(100% - 48px));
    min-height: var(--sl-header-height);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: clamp(16px, 2.2vw, 36px);
}
.sunland-logo { display: block; flex: 0 0 clamp(190px, 19vw, 300px); }
.sunland-logo img, .sunland-mobile-logo img, .sunland-footer-brand img {
    display: block;
    width: 100%;
    height: auto;
}
.sunland-desktop-nav { margin-left: auto; }
.sunland-desktop-nav ul, .sunland-mobile-panel ul, .sunland-footer-links ul, .sunland-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sunland-desktop-nav ul { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 28px); }
.sunland-desktop-nav a {
    display: block;
    position: relative;
    padding: 32px 0 29px;
    color: #fff !important; /* header nav surface-dark */
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .025em;
    text-decoration: none;
    white-space: nowrap;
}
.sunland-desktop-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 22px;
    height: 2px;
    background: var(--sl-gold);
    transition: right .25s ease;
}
.sunland-desktop-nav a:hover::after, .sunland-desktop-nav .is-current a::after { right: 0; }
.sunland-desktop-nav .is-current a { color: var(--sl-gold-light, #e2af81) !important; }
.sunland-desktop-nav li.has-submenu { position: relative; }
.sunland-desktop-nav .sunland-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10001;
    min-width: 220px;
    padding: 8px 0;
    margin: 0;
    list-style: none;
    background: var(--sl-teal-dark, #00332f);
    box-shadow: 0 12px 28px rgba(0, 32, 31, .28);
    opacity: 0; /* submenu transition */
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.sunland-desktop-nav li.has-submenu:hover .sunland-submenu,
.sunland-desktop-nav li.has-submenu:focus-within .sunland-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.sunland-desktop-nav .sunland-submenu a {
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}
.sunland-desktop-nav .sunland-submenu a::after { display: none; }
.sunland-header-cta {
    flex: 0 0 auto;
    padding: 12px 17px;
    border: 1px solid var(--sl-gold);
    color: #111 !important;
    background: var(--sl-gold);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.sunland-menu-toggle {
    display: none;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    padding: 10px;
    border: 0;
    background: transparent !important;
    color: #fff !important; /* header button surface-dark */
}
.sunland-menu-toggle-lines { width: 24px; display: grid; gap: 5px; }
.sunland-menu-toggle-lines i { display: block; height: 2px; background: currentColor; }
.sunland-menu-toggle-label { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }

.sunland-mobile-overlay {
    position: fixed;
    inset: 0;
    z-index: 10010;
    background: rgba(0, 0, 0, .58);
}
.sunland-mobile-panel {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10020;
    width: min(420px, 90vw);
    height: 100dvh;
    padding: 70px 34px 34px;
    overflow-y: auto;
    background: var(--sl-teal-dark);
    transform: translateX(102%);
    transition: transform .3s ease;
    box-shadow: -20px 0 50px rgba(0, 0, 0, .22);
}
.sunland-mobile-panel.is-open { display: block; transform: translateX(0); }
.sunland-mobile-close {
    position: absolute;
    right: 24px;
    top: 18px;
    padding: 4px 10px;
    border: 0;
    background: transparent !important;
    color: #fff !important; /* button surface-dark */
    font-size: 34px;
    line-height: 1;
}
.sunland-mobile-logo { display: block; width: 245px; max-width: 78%; margin-bottom: 40px; }
.sunland-mobile-panel nav li { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.sunland-mobile-panel nav a {
    display: block;
    padding: 16px 0;
    color: #fff !important; /* nav surface-dark */
    font-size: 17px;
    text-decoration: none;
}
.sunland-mobile-panel .is-current a { color: var(--sl-gold-light, #e2af81) !important; }
.sunland-mobile-submenu { list-style: none; margin: 0; padding: 0 0 8px 18px; }
.sunland-mobile-submenu li { border-bottom: 0; }
.sunland-mobile-submenu a { padding: 10px 0; font-size: 14px; opacity: .82; }
.sunland-mobile-cta {
    display: block;
    margin-top: 24px;
    padding: 14px 18px;
    border: 1px solid var(--sl-gold);
    background: var(--sl-gold);
    color: #111 !important;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.sunland-mobile-contact { display: grid; gap: 10px; margin-top: 20px; }
.sunland-mobile-contact a { color: #fff !important; /* mobile surface-dark */ text-decoration: none; }

.sunland-site-footer {
    position: relative;
    z-index: 5;
    padding-top: 76px;
    background: var(--sl-teal-dark);
    color: #fff; /* footer surface-dark */
}
.sunland-footer-grid {
    width: min(var(--sl-content-width), calc(100% - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
    gap: clamp(36px, 5vw, 76px);
}
.sunland-site-footer h2 { margin: 0 0 18px; color: var(--sl-gold-light, #e2af81); font-size: 22px; }
.sunland-site-footer p, .sunland-site-footer li, .sunland-site-footer label { color: rgba(255, 255, 255, .9); }
.sunland-site-footer a { color: #fff !important; }
.sunland-footer-brand > a { display: block; width: min(360px, 100%); margin-bottom: 26px; }
.sunland-footer-brand > p { max-width: 560px; line-height: 1.7; }
.sunland-contact-list { display: grid; gap: 12px; margin-top: 24px; line-height: 1.55; }
.sunland-footer-links li + li { margin-top: 13px; }
.sunland-footer-links a { text-decoration: none; }

.sunland-inquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sunland-inquiry-form label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; }
.sunland-label-title { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.sunland-inquiry-form label:nth-last-of-type(2) { grid-column: 1 / -1; }
.sunland-inquiry-form input, .sunland-inquiry-form select, .sunland-inquiry-form textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 0;
    background: rgba(255, 255, 255, .08);
    color: #fff; /* footer surface-dark */
}
/* FIX 2026-07 (MOB-GLOBAL-002): select trong footer tối dựa vào style mặc định
   của trình duyệt nên chữ có thể ra đen-trên-đen (rõ nhất trên Chrome Android).
   Ép nền/chữ tường minh và tự vẽ mũi tên. */
.sunland-inquiry-form select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 34px;
    background-color: rgba(255, 255, 255, .12); /* surface-dark */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); /* surface-dark */
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 8px;
    color: #fff; /* surface-dark */
}
.sunland-inquiry-form select option { color: #111; background: #fff; }
.sunland-inquiry-form textarea { resize: vertical; }
.sunland-inquiry-form input:focus, .sunland-inquiry-form select:focus, .sunland-inquiry-form textarea:focus {
    outline: 2px solid var(--sl-gold);
    outline-offset: 1px;
}
.sunland-inquiry-form button {
    grid-column: 1 / -1;
    min-height: 48px;
    border: 0;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.sunland-honeypot { position: absolute !important; left: -9999px !important; }
.sunland-form-notice { margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid; background: rgba(255, 255, 255, .1); }
.sunland-form-notice.is-success { border-color: #6ee7b7; }
.sunland-form-notice.is-error { border-color: #fca5a5; }
.sunland-footer-bottom { margin-top: 64px; padding: 20px 24px; border-top: 1px solid rgba(255, 255, 255, .14); text-align: center; }
.sunland-footer-bottom p { margin: 0; font-size: 13px; }
/* GO4AI credit — logo cạnh nội dung, cùng hàng ở desktop nếu đủ chỗ. */
.sunland-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 22px; }
.sunland-footer-credit { display: inline-flex; align-items: center; gap: 10px; }
.sunland-footer-credit-logo { display: inline-flex; flex: 0 0 auto; line-height: 0; }
.sunland-footer-credit-logo img { height: 36px; width: auto; display: block; }
.sunland-footer-credit span a { text-decoration: none; color: var(--sl-gold-light, #E2AF81) !important; font-weight: 600; }
.sunland-footer-credit span a:hover { text-decoration: underline; }
@media (max-width: 767px) {
    .sunland-footer-bottom { flex-direction: column; gap: 12px; }
    .sunland-footer-credit { flex-direction: column; gap: 6px; }
    .sunland-footer-credit-logo img { height: 30px; }
}

@media (max-width: 1180px) {
    .sunland-logo { flex-basis: 250px; }
    .sunland-footer-grid { grid-template-columns: 1fr 1fr; }
    .sunland-footer-form { grid-column: 1 / -1; }
}

/* FIX 2026-07 (MOB-GLOBAL-001): trước đây desktop nav bị ẩn từ 1180px nên
   toàn bộ tablet 768–1180px (iPad, Surface) phải dùng menu toggle. Hạ ngưỡng
   xuống 1024px và nén nav trong dải 1025–1180px để vừa chỗ. */
@media (max-width: 1180px) and (min-width: 1025px) {
    .sunland-logo { flex-basis: 200px; }
    .sunland-header-inner { gap: 16px; }
    .sunland-desktop-nav ul { gap: 14px; }
    .sunland-desktop-nav a { font-size: 12px; letter-spacing: .01em; }
    .sunland-header-cta { padding-left: 14px; padding-right: 14px; font-size: 12px; }
}

@media (max-width: 1024px) {
    .sunland-desktop-nav, .sunland-header-cta { display: none; }
    .sunland-menu-toggle { display: flex; }
}

@media (max-width: 767px) {
    :root { --sl-header-height: 72px; }
    .sunland-header-inner { width: calc(100% - 28px); }
    .sunland-logo { flex-basis: 205px; }
    .sunland-menu-toggle-label { display: none; }
    /* Hero mobile: kích thước do file owner của trang quyết định. */
    .sunland-site-footer { padding-top: 54px; }
    .sunland-footer-grid { width: calc(100% - 36px); grid-template-columns: 1fr; }
    .sunland-footer-form { grid-column: auto; }
    .sunland-inquiry-form { grid-template-columns: 1fr; }
    .sunland-inquiry-form label:nth-last-of-type(2), .sunland-inquiry-form button { grid-column: auto; }
}

@media (max-width: 782px) {
    .admin-bar .sunland-site-header { top: 46px; }
    .admin-bar .sunland-mobile-overlay,
    .admin-bar .sunland-mobile-panel { top: 46px; height: calc(100dvh - 46px); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    /* Carousel tracks are excluded: slick/splide drive them with an inline
       transition (e.g. transform 3000ms linear) and clamping it to .01ms makes
       the track teleport between frames instead of gliding — jerkier than the
       motion this rule is meant to suppress. */
    *:not(.slick-track):not(.slick-list):not(.splide__list):not(.splide__track),
    *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================================
   UNIVERSAL LEAD MODAL & FORM NOTICE STYLES (SOLUTION 2 & RULE-UI-001)
   ========================================================================= */
body.sl-lead-modal-open {
    overflow: hidden !important;
}

.sl-lead-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0; /* overlay transition */
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.sl-lead-modal-overlay.is-visible {
    visibility: visible;
    opacity: 1;
}

.sl-lead-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(4px);
}

.sl-lead-modal-card {
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 460px;
    background: #ffffff;
    color: #0f172a;
    border-radius: 16px;
    padding: 32px 24px;
    text-align: center;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transform: scale(0.95);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.sl-lead-modal-overlay.is-visible .sl-lead-modal-card {
    transform: scale(1);
}

.sl-lead-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border: none;
    background: #f1f5f9;
    color: #64748b;
    border-radius: 50%;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
}

.sl-lead-modal-close:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.sl-lead-modal-icon {
    margin: 0 auto 16px auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sl-lead-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.sl-lead-modal-desc {
    font-size: 14px;
    font-weight: 400;
    color: #475569;
    margin: 0 0 24px 0;
    line-height: 1.6;
}

.sl-lead-modal-actions .sl-lead-modal-btn {
    width: 100%;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 40, 85, 0.15);
}

.sl-form-notice-box {
    padding: 12px 16px;
    margin-bottom: 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}

.sl-form-notice-box.is-error {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.sl-form-notice-box.is-info {
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

/* =========================================================================
   NHÓM 1 FIXES (TASK 1.1, 1.2, 1.3)
   ========================================================================= */

/* Task 1.1: Footer Navigation Bar at Bottom */
/* Footer Navigation Inline (Nằm dưới Hotline & Email) */
.sunland-footer-inline-nav {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .14);
}
.sunland-footer-inline-nav h2 {
    margin: 0 0 12px;
    color: var(--sl-gold-light, #e2af81);
    font-size: 18px;
    font-weight: 600;
}
.sunland-footer-inline-nav ul,
.sunland-footer-nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.sunland-footer-inline-nav a,
.sunland-footer-nav-list a {
    color: #fff !important; /* footer surface-dark */
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color .2s;
}
.sunland-footer-inline-nav a:hover,
.sunland-footer-nav-list a:hover {
    color: var(--sl-gold-light, #e2af81) !important;
}

/* Task 1.1: Required star formatting in forms */
.sunland-required-star,
.sunland-inquiry-form label .sunland-required-star,
.ma-inquiry-form label .sunland-required-star,
.sl-lead-form label .sunland-required-star {
    display: inline !important;
    color: var(--sl-gold-light, #e2af81) !important;
    margin-left: 2px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Task 1.2: Mobile Menu Toggle Z-Index & Touch Fixes */
.sunland-menu-toggle {
    position: relative;
    z-index: 10001 !important;
    min-width: 44px;
    min-height: 44px;
    padding: 8px;
    cursor: pointer !important;
    touch-action: manipulation;
    pointer-events: auto !important;
}

@media only screen and (max-width: 767px) {
/* Lead Modal mobile optimization */
    .sl-lead-modal-card {
        width: calc(100% - 32px);
        padding: 28px 20px;
        border-radius: 14px;
    }
    .sl-lead-modal-title {
        font-size: 18px;
    }
    .sl-lead-modal-desc {
        font-size: 13px;
        margin-bottom: 20px;
    }
    .sl-lead-modal-actions .sl-lead-modal-btn {
        padding: 12px 16px;
        font-size: 14px;
    }
}



/* =========================================================================
   3. FOOTER INQUIRY FORM COLLAPSIBLE (MOBILE)
   ========================================================================= */
.sunland-footer-form-toggle {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: default;
}
.sunland-footer-form-header-text h2 {
    margin: 0 0 10px;
    color: var(--sl-gold-light, #e2af81);
    font-size: 22px;
}
.sunland-footer-form-header-text p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .9); /* surface-dark footer */
    line-height: 1.55;
}
.sunland-footer-form-icon {
    display: none !important;
}
.sunland-footer-form-body {
    display: block;
}

@media (max-width: 767px) {
    .sunland-footer-form {
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 8px;
        margin-top: 24px;
        overflow: hidden;
        transition: background 0.2s ease, border-color 0.2s ease;
    }
    .sunland-footer-form.is-open {
        background: rgba(255, 255, 255, 0.08);
        border-color: rgba(226, 175, 129, 0.4);
    }
    .sunland-footer-form-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 16px 18px;
        cursor: pointer;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
    }
    .sunland-footer-form-header-text h2 {
        margin: 0;
        font-size: 18px;
        color: var(--sl-gold-light, #e2af81);
    }
    .sunland-footer-form-header-text p {
        margin: 4px 0 0;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.82); /* surface-dark footer */
    }
    .sunland-footer-form-icon {
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 32px;
        height: 32px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.12);
        color: var(--sl-gold-light, #e2af81);
        transition: transform 0.3s ease, background 0.2s ease;
    }
    .sunland-footer-form-icon svg {
        display: block;
    }
    .sunland-footer-form.is-open .sunland-footer-form-icon {
        transform: rotate(180deg);
        background: var(--sl-gold-light, #e2af81);
        color: #012b2e;
    }
    .sunland-footer-form-body {
        display: none;
        padding: 0 18px 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin-top: 4px;
        padding-top: 16px;
    }
    .sunland-footer-form.is-open .sunland-footer-form-body {
        display: block;
        animation: sunlandFooterSlideDown 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
}

@keyframes sunlandFooterSlideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================================================
   HERO TAGLINE CENTERING: Always center hero text box vertically & horizontally
   ========================================================================= */
#sunland-hero .sunland-hero-tagline,
#sunland-hero .sunland-hero-tagline.position-bottom,
#sunland-hero .sunland-hero-tagline.position-center,
.sunland-hero-tagline,
.sunland-hero-tagline.position-bottom,
.sunland-hero-tagline.position-center {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    bottom: auto !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    z-index: 3 !important;
    margin: 0 !important;
    pointer-events: none !important;
}

/* Chữ hero đặt trần trên ảnh theo quy chuẩn GO4AI/SunlandSG — bỏ thẻ nền tối
   bo góc + blur trước đây. Độ tương phản do lớp phủ gradient trên ảnh và
   text-shadow đảm nhiệm. Thang chữ hero do assets/css/home.css quy định
   (khối "HERO — QUY CHUẨN GO4AI/SUNLANDSG"), file này không đặt font-size cho hero. */
#sunland-hero .sunland-hero-tagline-title,
.sunland-hero-tagline-title {
    position: relative !important;
    z-index: 4 !important;
    display: block !important;
    width: 100% !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
}

/* Nổi bật Tên Dự án / Sản phẩm BĐS & Giá tiền trên các thẻ hiển thị */
.sl-project-card h3 a,
.sl-listing-card h3 a,
.property-card h3 a,
.project-card h3 a,
.listing-card h3 a,
.sl-listing-price,
.sl-card-price,
.property-card .price,
.listing-card .price,
.project-card .price,
.ip-nd-listings-item-content-price,
.sunlandsg-properties-item-content-price,
.sl-project-card__facts strong {
    color: var(--sl-gold-dark, #9f6723) !important;
    font-weight: 700 !important;
}

.sl-project-card h3 a,
.sl-listing-card h3 a,
.property-card h3 a,
.project-card h3 a,
.listing-card h3 a {
    transition: color 0.25s ease;
}

.sl-project-card:hover h3 a,
.sl-listing-card:hover h3 a,
.property-card:hover h3 a,
.project-card:hover h3 a,
.listing-card:hover h3 a {
    color: var(--sl-teal-dark, #004d4a) !important;
}
