/**
 * RULE-UI-001 — Màu chữ do Surface quyết định, không do component tự quyết.
 * File này luôn được tải sau foundation.css/shell.css để là lớp bảo vệ cuối cùng.
 */
:root {
    --heading-on-light: #012b2e;
    --text-on-light: #334b4b;
    --muted-on-light: #667b7b;
    --heading-on-dark: #ffffff;
    --text-on-dark: rgba(255, 255, 255, .86);
    --muted-on-dark: rgba(255, 255, 255, .68);
    --surface-light: #ffffff;
    --surface-mint: #eaf5f3;
    --surface-dark: #012b2e;
    --surface-dark-alt: #0f4a49;
    --brand-accent: #e2af81;
    --border-on-light: #c7d4d2;
    --cta-on-light: #0f4a49;
    --cta-on-light-hover: #012b2e;
    --cta-brand-bg: #e2af81;
    --cta-brand-text: #012b2e;
}

.surface-light,
.surface-mint { color: var(--text-on-light); }
.surface-light { background-color: var(--surface-light); }
.surface-mint { background-color: var(--surface-mint); }

body:not(.home) .sunland-template .surface-light :is(p, li, dt, dd, label, small, .text-body),
body:not(.home) .sunland-template .surface-mint :is(p, li, dt, dd, label, small, .text-body) {
    color: var(--text-on-light) !important;
    opacity: 1 !important;
}

body:not(.home) .sunland-template .surface-light :is(h1, h2, h3, h4, h5, h6),
body:not(.home) .sunland-template .surface-mint :is(h1, h2, h3, h4, h5, h6) {
    color: var(--heading-on-light) !important;
    opacity: 1 !important;
}

body:not(.home) .sunland-template .surface-light :is(.text-muted, .meta, .breadcrumb, .breadcrumbs, .breadcrumbs-container),
body:not(.home) .sunland-template .surface-mint :is(.text-muted, .meta, .breadcrumb, .breadcrumbs, .breadcrumbs-container) {
    color: var(--muted-on-light) !important;
    opacity: 1 !important;
}

.surface-dark,
.surface-image-overlay { color: var(--text-on-dark); }
.surface-dark { background-color: var(--surface-dark); }
.surface-image-overlay { position: relative; }

body:not(.home) .sunland-template .surface-dark :is(h1, h2, h3, h4, h5, h6),
body:not(.home) .sunland-template .surface-image-overlay :is(h1, h2, h3, h4, h5, h6) { color: var(--heading-on-dark) !important; }

body:not(.home) .sunland-template .surface-dark :is(p, li, dt, dd, label, small, .text-body),
body:not(.home) .sunland-template .surface-image-overlay :is(p, li, dt, dd, label, small, .text-body) { color: var(--text-on-dark) !important; }

body:not(.home) .sunland-template .surface-dark :is(.text-muted, .meta, .breadcrumb, .breadcrumbs, .breadcrumbs-container),
body:not(.home) .sunland-template .surface-image-overlay :is(.text-muted, .meta, .breadcrumb, .breadcrumbs, .breadcrumbs-container) { color: var(--muted-on-dark) !important; }

/* Component phải kế thừa surface; không được hard-code text trắng. */
.surface-light .ui-card,
.surface-mint .ui-card,
.surface-dark .ui-card,
.surface-image-overlay .ui-card { color: inherit; }

/* Đảm bảo các thẻ tối màu (.sl-model-feature) luôn hiển thị chữ trắng/sáng rõ nét */
.sl-model-feature strong,
.sl-model-feature h4 { color: #fff !important; /* surface-dark */ opacity: 1 !important; }
.sl-model-feature span,
.sl-model-feature p { color: rgba(255, 255, 255, 0.88) !important; /* surface-dark */ opacity: 1 !important; }
.sl-model-feature .sl-icon { color: var(--brand-accent, #e2af81) !important; opacity: 1 !important; }

/* modern-css-extracted:start */
/* Shared dark/light surface contract moved from the theme metadata stylesheet. */
body:not(.home) .sunland-template { background-color: var(--sl-teal-dark) !important; }

body:not(.home) .sunland-template main > :not(.page-banner), body:not(.home) .sunland-template .ip-nd-pd-details, body:not(.home) .sunland-template .ip-nd-pd-details li, body:not(.home) .sunland-template p, body:not(.home) .sunland-template li, body:not(.home) .sunland-template td, body:not(.home) .sunland-template th, body:not(.home) .sunland-template label, body:not(.home) .sunland-template blockquote { color: rgb(244, 244, 244) !important; }

body:not(.home) .sunland-template h1, body:not(.home) .sunland-template h2, body:not(.home) .sunland-template h3, body:not(.home) .sunland-template .ip-nd-heading div, body:not(.home) .sunland-template .ip-nd-listings-heading div { color: var(--sl-gold-light) !important; }

body:not(.home) .sunland-template a:not(.button):not(.btn):not(.ma-button):not(.sl-market-tabs a):not([class*="cta"]):not([class*="link-label"]):not([class*="global-link"] a) { color: var(--sl-gold) !important; }

body:not(.home) .sunland-template a:hover:not(.button):not(.btn) { color: var(--sl-gold-light) !important; }

body:not(.home) .sunland-template .sl-market .sl-market-hero .sl-market-tabs a.is-active { color: var(--heading-on-dark, #ffffff) !important; }

body:not(.home) .sunland-template canvas, body:not(.home) .sunland-template [style*="background-image"], body:not(.home) .sunland-template .ip-nd-listings-item-photo, body:not(.home) .sunland-template .ip-nd-listings-item-photo *, body:not(.home) .sunland-template .page-banner, body:not(.home) .sunland-template .page-banner * { background-color: transparent !important; }

body:not(.home) .sunland-template .section-main-wrapper, body:not(.home) .sunland-template .ip-nd-section, body:not(.home) .sunland-template .ip-nd-pd-wrapper, body:not(.home) .sunland-template .ip-nd-cta-wrapper { background-color: transparent; }
