/* Kimgia child - CSS theo Figma (01 Foundations). Tiền tố class kgc- (plugin bds dùng kg-). */
:root {
	--kgc-ink: #171719;
	--kgc-ink-2: #3a3a3d;
	--kgc-muted: #6b6b6e;
	--kgc-subtle: #a3a3a7;
	--kgc-line: #e8e8ea;
	--kgc-surface: #f5f5f6;
	--kgc-bg: #ffffff;
	--kgc-accent: #1c3162;
	--kgc-accent-soft: #e8ecf4;
	--kgc-r-sm: 8px;
	--kgc-r-md: 12px;
	--kgc-r-lg: 16px;
	--kgc-r-xl: 24px;
	--kgc-wrap: 1344px;
	--kgc-font: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
}
body { font-family: var(--kgc-font); color: var(--kgc-ink); background: var(--kgc-bg); font-size: 15px; line-height: 1.6; letter-spacing: -0.2px; word-break: keep-all; overflow-wrap: break-word; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--kgc-font); color: var(--kgc-ink); font-weight: 700; line-height: 1.35; letter-spacing: -0.4px; margin-top: 0; }
a { color: inherit; text-decoration: none; }
a:hover, a:focus-visible { color: var(--kgc-accent); }
img { max-width: 100%; height: auto; }
.kgc-wrap { max-width: calc(var(--kgc-wrap) + 96px); margin: 0 auto; padding: 0 48px; }
@media (max-width: 1024px) { .kgc-wrap { padding: 0 32px; } }
@media (max-width: 767px) { .kgc-wrap { padding: 0 16px; } }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--kgc-wrap); }

/* ===== Nút ===== */
.kgc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 20px; border-radius: var(--kgc-r-sm); font-size: 14px; font-weight: 500; letter-spacing: -0.1px; border: 1px solid transparent; transition: background .16s, color .16s, border-color .16s; white-space: nowrap; cursor: pointer; }
.kgc-btn--dark { background: var(--kgc-ink); color: #fff; }
.kgc-btn--dark:hover, .kgc-btn--dark:focus-visible { background: #000; color: #fff; }
.kgc-btn--ghost { background: #fff; color: var(--kgc-ink); border-color: var(--kgc-line); }
.kgc-btn--ghost:hover { border-color: var(--kgc-ink); color: var(--kgc-ink); }
.kgc-btn--accent { background: var(--kgc-accent); color: #fff; }
.kgc-btn--accent:hover { background: #142449; color: #fff; }
.kgc-btn--block { width: 100%; }

/* ===== Header ===== */
.kgc-header { position: sticky; top: 0; z-index: 900; background: #fff; border-bottom: 1px solid var(--kgc-line); }
.admin-bar .kgc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .kgc-header { top: 0; } }
.kgc-header__in { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 24px; }
.kgc-logo { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.kgc-logo__mark { width: 48px; height: 36px; }
.kgc-logo__txt { display: flex; flex-direction: column; gap: 3px; }
.kgc-logo__word { width: 87px; height: 16px; display: block; }
.kgc-logo small { font-size: 11px; line-height: 1; color: var(--kgc-ink-2); letter-spacing: 0; white-space: nowrap; }
.kgc-logo img:not(.kgc-logo__mark):not(.kgc-logo__word) { max-height: 40px; width: auto; }
.kgc-menu { display: flex; align-items: center; }
.kgc-menu__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.kgc-menu__list li { position: relative; }
.kgc-menu__list a { display: block; padding: 8px 12px; font-size: 15px; font-weight: 500; color: var(--kgc-ink); border-radius: var(--kgc-r-sm); }
.kgc-menu__list a:hover, .kgc-menu__list .current-menu-item > a { color: var(--kgc-accent); }
.kgc-menu__list .current-menu-item > a { font-weight: 700; }
.kgc-menu__list .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; left: 0; min-width: 200px; background: #fff; border: 1px solid var(--kgc-line); border-radius: var(--kgc-r-md); box-shadow: 0 8px 24px rgba(0, 0, 0, .08); opacity: 0; visibility: hidden; transition: .16s; }
.kgc-menu__list li:hover > .sub-menu, .kgc-menu__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
.kgc-menu__cta { display: none; }
.kgc-header__right { display: flex; align-items: center; gap: 12px; }
.kgc-header__cta { min-height: 44px; }
.kgc-burger { display: none; width: 40px; height: 40px; border: 0; background: transparent; padding: 10px 9px; cursor: pointer; border-radius: var(--kgc-r-sm); }
.kgc-burger:hover, .kgc-burger:focus { background: var(--kgc-surface); }
.kgc-burger span { display: block; height: 2px; background: var(--kgc-ink); margin: 4px 0; border-radius: 2px; transition: .2s; }

/* Ngôn ngữ */
.kgc-lang { position: relative; }
.kgc-lang__btn { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border: 0; border-radius: var(--kgc-r-sm); background: var(--kgc-surface); color: #737378; cursor: pointer; }
.kgc-lang__btn:hover, .kgc-lang__btn:focus { background: var(--kgc-line); color: var(--kgc-ink); }
.kgc-lang__btn img { border-radius: 50%; box-shadow: 0 0 0 .6px rgba(0, 0, 0, .08); }
.kgc-lang__menu { list-style: none; margin: 0; padding: 6px; position: absolute; right: 0; top: calc(100% + 8px); width: 220px; background: #fff; border: 1px solid var(--kgc-line); border-radius: var(--kgc-r-md); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: .16s; z-index: 10; }
.kgc-lang.is-open .kgc-lang__menu { opacity: 1; visibility: visible; transform: none; }
.kgc-lang__menu a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--kgc-r-sm); font-size: 15px; font-weight: 500; color: var(--kgc-ink); }
.kgc-lang__menu a img { border-radius: 50%; }
.kgc-lang__menu a em { margin-left: auto; font-style: normal; font-size: 12px; color: var(--kgc-muted); }
.kgc-lang__menu a:hover { background: var(--kgc-surface); }
.kgc-lang__menu a.is-active { background: var(--kgc-accent-soft); color: var(--kgc-accent); }

@media (max-width: 1200px) { .kgc-menu__list a { padding: 8px 8px; font-size: 14px; } }
@media (max-width: 1024px) {
	.kgc-header__in { height: 60px; }
	.kgc-logo__mark { width: 40px; height: 30px; }
	.kgc-burger { display: block; }
	.kgc-header__cta { display: none; }
	.kgc-lang__btn { background: transparent; padding: 0 6px; }
	.kgc-lang__btn .kgc-chev { display: none; }
	.kgc-menu { position: fixed; left: 0; right: 0; bottom: 0; top: 61px; background: #fff; flex-direction: column; align-items: stretch; padding: 8px 16px 32px; overflow-y: auto; transform: translateX(100%); transition: transform .25s ease; z-index: 899; }
	.admin-bar .kgc-menu { top: 107px; }
	.kgc-menu-open .kgc-menu { transform: none; }
	.kgc-menu-open { overflow: hidden; }
	.kgc-menu-open .kgc-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.kgc-menu-open .kgc-burger span:nth-child(2) { opacity: 0; }
	.kgc-menu-open .kgc-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	.kgc-menu__list { flex-direction: column; gap: 0; }
	.kgc-menu__list a { padding: 16px 4px; font-size: 17px; border-bottom: 1px solid var(--kgc-line); border-radius: 0; }
	.kgc-menu__list .sub-menu { position: static; opacity: 1; visibility: visible; border: 0; box-shadow: none; padding: 0 0 0 12px; }
	.kgc-menu__cta { display: flex; margin-top: 20px; min-height: 48px; }
}
@media (max-width: 782px) { .admin-bar .kgc-menu { top: 61px; } }

/* ===== Footer ===== */
.kgc-footer { background: #f4f4f4; color: var(--kgc-muted); font-size: 14px; padding-top: 48px; }
.kgc-footer__grid { display: grid; grid-template-columns: 1.9fr 1fr 1fr 1fr 0.9fr; gap: 32px; padding-bottom: 40px; }
.kgc-footer__logo { margin-bottom: 18px; }
.kgc-footer__desc { color: var(--kgc-ink-2); font-size: 15px; line-height: 1.6; margin: 0 0 16px; }
.kgc-footer__biz { font-size: 13px; line-height: 1.8; margin: 0; }
.kgc-footer h3 { font-size: 14px; font-weight: 700; color: var(--kgc-ink); margin: 8px 0 22px; }
.kgc-footer__menu { list-style: none; margin: 0; padding: 0; }
.kgc-footer__menu li { margin-bottom: 10px; font-size: 13px; }
.kgc-footer__menu a:hover { color: var(--kgc-ink); }
.kgc-footer__center p { margin: 0 0 10px; font-size: 13px; }
.kgc-footer__phone { display: block; font-size: 18px; font-weight: 700; color: var(--kgc-ink); margin-bottom: 8px; letter-spacing: -0.3px; white-space: nowrap; }
.kgc-social { display: flex; gap: 8px; margin-top: 18px; }
.kgc-social a { width: 36px; height: 36px; border-radius: var(--kgc-r-sm); display: flex; align-items: center; justify-content: center; overflow: hidden; transition: transform .16s; }
.kgc-social a:hover { transform: translateY(-2px); }
.kgc-social img { width: 36px; height: 36px; display: block; }
.kgc-social__wa { background: #25d366; }
.kgc-social__wa img { width: 20px; height: 20px; }
.kgc-social__call { background: var(--kgc-accent); color: #fff; }
.kgc-social__call:hover { color: #fff; }
.kgc-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 8px 24px; flex-wrap: wrap; border-top: 1px solid #e3e3e5; padding: 24px 0 28px; font-size: 13px; color: var(--kgc-subtle); }
.kgc-footer__right { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.kgc-footer__langs { color: var(--kgc-ink-2); }
.kgc-footer__langs a:hover { color: var(--kgc-accent); }
.kgc-credit a { color: var(--kgc-subtle); }
.kgc-credit a:hover { color: var(--kgc-ink); }
@media (max-width: 1024px) { .kgc-footer__grid { grid-template-columns: 1fr 1fr 1fr; } .kgc-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 767px) {
	.kgc-footer { padding-top: 32px; }
	.kgc-footer__grid { grid-template-columns: 1fr 1fr; gap: 24px; }
	.kgc-footer__center { grid-column: 1 / -1; }
	.kgc-footer__bottom { flex-direction: column-reverse; align-items: flex-start; padding-bottom: 96px; }
}

/* ===== Nút nổi 상담하기 (Figma 07) ===== */
.kgc-fc { position: fixed; right: 32px; bottom: 32px; z-index: 950; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.kgc-fc__btn { height: 54px; min-width: 54px; padding: 0 24px 0 20px; border: 0; border-radius: 999px; background: var(--kgc-ink); color: #fff; font: 500 15px/1 var(--kgc-font); box-shadow: 0 8px 24px rgba(0, 0, 0, .18); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: transform .16s ease-out, box-shadow .16s ease-out; }
.kgc-fc__btn:hover, .kgc-fc__btn:focus { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 0, 0, .26); background: var(--kgc-ink); color: #fff; }
.kgc-fc__i-open { display: flex; align-items: center; gap: 8px; }
.kgc-fc__i-close { display: none; }
.kgc-fc.is-open .kgc-fc__btn { width: 54px; padding: 0; }
.kgc-fc.is-open .kgc-fc__i-open { display: none; }
.kgc-fc.is-open .kgc-fc__i-close { display: flex; }
.kgc-fc__panel { width: 320px; background: #fff; border-radius: var(--kgc-r-lg); box-shadow: 0 8px 24px rgba(0, 0, 0, .18); padding: 20px 12px 8px; transform-origin: bottom right; transform: scale(.96); opacity: 0; transition: transform .2s, opacity .2s; }
.kgc-fc__panel.is-in { transform: none; opacity: 1; }
.kgc-fc__head { padding: 0 8px 10px; }
.kgc-fc__head strong { display: block; font-size: 16px; color: var(--kgc-ink); }
.kgc-fc__head span { font-size: 13px; color: var(--kgc-muted); }
.kgc-fc__row { display: flex; align-items: center; gap: 12px; padding: 10px 8px; border-radius: var(--kgc-r-md); color: var(--kgc-subtle); }
.kgc-fc__row:hover { background: var(--kgc-surface); color: var(--kgc-ink); }
.kgc-fc__ic { width: 40px; height: 40px; border-radius: 50%; flex: 0 0 40px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.kgc-fc__ic--kakao { background: #fee500; }
.kgc-fc__ic--zalo { background: #0068ff; }
.kgc-fc__ic--zalo img { width: 40px; height: 40px; }
.kgc-fc__ic--call { background: var(--kgc-surface); color: var(--kgc-ink); }
.kgc-fc__tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.kgc-fc__tx b { font-size: 15px; font-weight: 700; color: var(--kgc-ink); }
.kgc-fc__tx small { font-size: 13px; color: var(--kgc-muted); }
@media (max-width: 767px) {
	.kgc-fc { right: 16px; bottom: 16px; }
	.kgc-fc__btn { width: 52px; height: 52px; min-width: 52px; padding: 0; }
	.kgc-fc__lbl { display: none; }
	.kgc-fc__panel { width: 300px; }
	.single-kg_listing .kgc-fc { bottom: 96px; }
}
.kgc-filter-open .kgc-fc, .kgc-gallery-open .kgc-fc { display: none; }

/* ===== Khối trang (Elementor HTML) ===== */
.kgc-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 32px; }
.kgc-sec-head h2 { font-size: 24px; margin: 0 0 4px; }
.kgc-sec-head p { margin: 0; color: var(--kgc-muted); }
.kgc-more { font-size: 14px; font-weight: 500; color: var(--kgc-ink); white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.kgc-eyebrow { font-size: 13px; font-weight: 500; color: var(--kgc-accent); margin-bottom: 12px; }

/* Hero */
.kgc-hero { position: relative; margin-top: 24px; }
.kgc-hero__img { position: relative; border-radius: var(--kgc-r-xl); overflow: hidden; min-height: 560px; display: flex; align-items: flex-end; background: #1b2a3a center / cover no-repeat; }
.kgc-hero__img::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .15) 55%, rgba(0, 0, 0, 0) 100%), linear-gradient(0deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 50%); }
.kgc-hero__copy { position: relative; color: #fff; padding: 0 64px 64px; max-width: 760px; }
.kgc-hero__copy .kgc-eyebrow { color: #fff; font-size: 15px; font-weight: 400; margin-bottom: 14px; }
.kgc-hero__copy h1 { color: #fff; font-size: 56px; line-height: 1.25; letter-spacing: -1.4px; margin: 0 0 22px; }
.kgc-hero__copy p { margin: 0; font-size: 16px; color: rgba(255, 255, 255, .9); }
.kgc-hero__search, .elementor-widget-shortcode:has(> .elementor-widget-container > .elementor-shortcode > .kgc-pill), .elementor-shortcode:has(> .kgc-pill) { position: relative; z-index: 2; }
.kgc-pill { max-width: 880px; margin: -37px auto 0; position: relative; z-index: 2; }
.kgc-pill { display: flex; align-items: center; background: #fff; border: 1px solid var(--kgc-line); border-radius: 999px; box-shadow: 0 8px 24px rgba(0, 0, 0, .1); height: 74px; padding: 0 10px 0 32px; }
.kgc-pill label { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; padding-right: 16px; }
.kgc-pill label + label { border-left: 1px solid var(--kgc-line); padding-left: 24px; }
.kgc-pill b { font-size: 11px; font-weight: 500; color: var(--kgc-ink); }
.kgc-pill select, .kgc-pill input { border: 0 !important; padding: 0 !important; height: 24px; font: 400 15px var(--kgc-font); color: var(--kgc-muted); background: transparent; box-shadow: none !important; outline: 0; width: 100%; -webkit-appearance: none; appearance: none; cursor: pointer; }
.kgc-pill button { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; border: 0; background: var(--kgc-ink); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.kgc-pill button:hover { background: var(--kgc-accent); }
@media (max-width: 1024px) { .kgc-hero__copy h1 { font-size: 44px; } .kgc-hero__img { min-height: 460px; } }
@media (max-width: 767px) {
	.kgc-hero { margin-top: 12px; }
	.kgc-hero__img { min-height: 300px; border-radius: var(--kgc-r-lg); }
	.kgc-hero__copy { padding: 0 16px 24px; }
	.kgc-hero__copy .kgc-eyebrow { font-size: 12px; margin-bottom: 6px; }
	.kgc-hero__copy h1 { font-size: 26px; letter-spacing: -0.6px; margin: 0; }
	.kgc-hero__copy p { display: none; }
	.kgc-pill { margin-top: 12px; }
	.kgc-pill { height: 60px; padding: 0 8px 0 18px; }
	.kgc-pill label:not(:last-of-type) { display: none; }
	.kgc-pill label:last-of-type { border-left: 0; padding-left: 0; }
	.kgc-pill button { width: 44px; height: 44px; flex-basis: 44px; }
}

/* 6 loại tin */
.kgc-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.kgc-cat { display: flex; flex-direction: column; background: var(--kgc-surface); border-radius: var(--kgc-r-lg); padding: 20px; min-height: 152px; transition: background .16s, box-shadow .16s; }
.kgc-cat:hover { background: var(--kgc-accent-soft); color: var(--kgc-ink); }
.kgc-cat__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
.kgc-cat__ic { width: 48px; height: 48px; border-radius: var(--kgc-r-md); background: var(--kgc-accent-soft); color: var(--kgc-accent); display: flex; align-items: center; justify-content: center; }
.kgc-cat__n { background: #fff; border-radius: 999px; padding: 4px 10px; font-size: 14px; font-weight: 500; color: var(--kgc-accent); }
.kgc-cat b { font-size: 18px; font-weight: 700; letter-spacing: -0.3px; }
.kgc-cat small { font-size: 13px; color: var(--kgc-muted); margin-top: 4px; }
@media (max-width: 1100px) { .kgc-cats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
	.kgc-cats { gap: 8px; }
	.kgc-cat { min-height: 0; padding: 12px; border-radius: var(--kgc-r-md); }
	.kgc-cat__top { margin-bottom: 12px; }
	.kgc-cat__ic { width: 36px; height: 36px; border-radius: 10px; }
	.kgc-cat__ic svg { width: 18px; height: 18px; }
	.kgc-cat__n, .kgc-cat small { display: none; }
	.kgc-cat b { font-size: 13px; font-weight: 500; }
}

/* Chip */
.kgc-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }
.kgc-chip { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--kgc-line); background: #fff; font-size: 14px; font-weight: 500; color: var(--kgc-ink); }
.kgc-chip:hover { border-color: var(--kgc-ink); color: var(--kgc-ink); }
.kgc-chip.is-active { background: var(--kgc-ink); border-color: var(--kgc-ink); color: #fff; }
@media (max-width: 767px) { .kgc-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 20px; padding: 0 16px; scrollbar-width: none; } .kgc-chip { flex: 0 0 auto; height: 36px; } }

/* Theo chung cư */
.kgc-apts { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.kgc-apt img { width: 100%; aspect-ratio: 211 / 140; object-fit: cover; border-radius: var(--kgc-r-md); display: block; transition: transform .3s; }
.kgc-apt:hover img { transform: scale(1.02); }
.kgc-apt b { display: block; font-size: 15px; font-weight: 500; margin: 16px 0 6px; }
.kgc-apt small { font-size: 13px; color: var(--kgc-muted); }
@media (max-width: 1100px) { .kgc-apts { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { .kgc-apts { display: flex; overflow-x: auto; margin: 0 -16px; padding: 0 16px; gap: 12px; scrollbar-width: none; } .kgc-apt { flex: 0 0 150px; } .kgc-apt b { margin-top: 10px; } }

/* Dự án (분양) */
.kgc-projs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.kgc-projs--3 { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
.kgc-proj__img { display: block; overflow: hidden; border-radius: var(--kgc-r-lg); }
.kgc-proj__img img { width: 100%; aspect-ratio: 660 / 360; object-fit: cover; display: block; transition: transform .3s; }
.kgc-projs--3 .kgc-proj__img img { aspect-ratio: 432 / 300; }
.kgc-proj:hover .kgc-proj__img img { transform: scale(1.02); }
.kgc-proj__t { display: flex; align-items: center; gap: 8px; margin: 16px 0 12px; }
.kgc-proj__t h3 { font-size: 18px; margin: 0; }
.kgc-proj p { margin: 0; color: var(--kgc-muted); }
.kgc-tag { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 4px; background: var(--kgc-accent-soft); color: var(--kgc-accent); font-size: 11px; font-weight: 500; white-space: nowrap; }
.kgc-tag--gray { background: var(--kgc-surface); color: var(--kgc-muted); }
@media (max-width: 1024px) { .kgc-projs--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .kgc-projs, .kgc-projs--3 { grid-template-columns: 1fr; row-gap: 28px; } }

/* Dự án nổi bật */
.kgc-feat { display: grid; grid-template-columns: 760px 1fr; gap: 48px; align-items: center; margin-bottom: 56px; }
.kgc-feat__img img { width: 100%; aspect-ratio: 760 / 460; object-fit: cover; border-radius: var(--kgc-r-lg); display: block; }
.kgc-feat h2 { font-size: 32px; margin: 14px 0 16px; letter-spacing: -0.8px; }
.kgc-feat p { color: var(--kgc-ink-2); margin: 0 0 20px; }
.kgc-facts { display: flex; gap: 32px; margin-bottom: 24px; }
.kgc-facts small { display: block; font-size: 13px; color: var(--kgc-muted); }
.kgc-facts b { font-size: 18px; }
.kgc-actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 1200px) { .kgc-feat { grid-template-columns: 1.3fr 1fr; gap: 32px; } }
@media (max-width: 767px) { .kgc-feat { grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; } .kgc-feat h2 { font-size: 24px; } }

/* Tiêu đề trang (breadcrumb) */
.kgc-pagehead { padding: 48px 0 32px; }
.kgc-crumb { font-size: 12px; color: var(--kgc-muted); margin-bottom: 16px; }
.kgc-crumb a:hover { color: var(--kgc-ink); }
.kgc-pagehead h1 { font-size: 32px; letter-spacing: -0.8px; margin: 0 0 14px; }
.kgc-pagehead p { margin: 0; color: var(--kgc-muted); }
@media (max-width: 767px) { .kgc-pagehead { padding: 24px 0 20px; } .kgc-pagehead h1 { font-size: 24px; } }

/* Khối "왜 김가인가요" */
.kgc-trust { display: grid; grid-template-columns: 620px 1fr; border-radius: var(--kgc-r-xl); overflow: hidden; background: var(--kgc-accent); min-height: 380px; }
.kgc-trust__img { background: center / cover no-repeat; }
.kgc-trust__copy { position: relative; padding: 52px 56px; color: #fff; overflow: hidden; }
.kgc-trust__copy::after { content: ""; position: absolute; right: 0; bottom: 0; width: 300px; height: 224px; background: url(../img/watermark.svg) no-repeat right bottom / contain; pointer-events: none; }
.kgc-trust__copy .kgc-eyebrow { color: rgba(255, 255, 255, .8); font-size: 11px; font-weight: 400; }
.kgc-trust__copy h2 { color: #fff; font-size: 26px; line-height: 1.3; margin: 0 0 32px; }
.kgc-points { list-style: none; margin: 0; padding: 0; position: relative; z-index: 1; }
.kgc-points li { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.kgc-points .kgc-pi { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; background: rgba(255, 255, 255, .12); display: flex; align-items: center; justify-content: center; color: #fff; }
.kgc-points b { display: block; font-size: 15px; font-weight: 700; color: #fff; }
.kgc-points small { font-size: 13px; color: rgba(255, 255, 255, .75); }
@media (max-width: 1100px) { .kgc-trust { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .kgc-trust { grid-template-columns: 1fr; border-radius: var(--kgc-r-lg); } .kgc-trust__img { min-height: 200px; } .kgc-trust__copy { padding: 28px 16px 12px; } .kgc-trust__copy h2 { font-size: 20px; margin-bottom: 24px; } .kgc-points .kgc-pi { display: none; } }

/* Dịch vụ */
.kgc-svc-hero { display: grid; grid-template-columns: 1fr 640px; gap: 48px; align-items: center; padding: 64px 0; }
.kgc-svc-hero h1 { font-size: 44px; line-height: 1.3; letter-spacing: -1.2px; margin: 0 0 22px; }
.kgc-svc-hero p { color: var(--kgc-muted); margin: 0; max-width: 520px; }
.kgc-svc-hero img { width: 100%; aspect-ratio: 640 / 420; object-fit: cover; border-radius: var(--kgc-r-xl); display: block; }
.kgc-svcs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.kgc-svc { background: #f4f4f4; border-radius: var(--kgc-r-lg); padding: 32px; }
.kgc-svc span { display: block; font-size: 24px; font-weight: 700; color: var(--kgc-accent); margin-bottom: 12px; }
.kgc-svc h3 { font-size: 18px; margin: 0 0 14px; }
.kgc-svc p { color: var(--kgc-muted); margin: 0; }
.kgc-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; background: var(--kgc-ink); color: rgba(255, 255, 255, .7); border-radius: var(--kgc-r-xl); padding: 52px 56px; }
.kgc-cta h2 { color: #fff; font-size: 24px; margin: 0 0 8px; }
.kgc-cta p { margin: 0; }
@media (max-width: 1100px) { .kgc-svc-hero { grid-template-columns: 1fr 1fr; } .kgc-svc-hero h1 { font-size: 34px; } }
@media (max-width: 767px) {
	.kgc-svc-hero { grid-template-columns: 1fr; padding: 24px 0 32px; gap: 24px; }
	.kgc-svc-hero h1 { font-size: 28px; }
	.kgc-svcs { grid-template-columns: 1fr; gap: 12px; }
	.kgc-svc { padding: 24px; }
	.kgc-cta { flex-direction: column; align-items: flex-start; padding: 28px 20px; border-radius: var(--kgc-r-lg); }
}

/* Giới thiệu + Liên hệ */
.kgc-about-img img { width: 100%; aspect-ratio: 1344 / 420; object-fit: cover; border-radius: var(--kgc-r-xl); display: block; margin-top: 48px; }
.kgc-about { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin: 32px 0 48px; }
.kgc-about h2 { font-size: 30px; line-height: 1.35; margin: 0; letter-spacing: -0.8px; }
.kgc-about p { color: var(--kgc-ink-2); margin: 0; }
.kgc-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-bottom: 64px; }
.kgc-values div { border-top: 2px solid var(--kgc-ink); padding-top: 22px; }
.kgc-values b { display: block; font-size: 40px; font-weight: 800; letter-spacing: -1.2px; line-height: 1.2; margin-bottom: 8px; }
.kgc-values small { color: var(--kgc-muted); font-size: 14px; }
.kgc-contact { display: grid; grid-template-columns: 688px 1fr; gap: 48px; padding: 48px 0 80px; align-items: start; }
.kgc-form { background: #fff; border-radius: var(--kgc-r-xl); padding: 40px; }
.kgc-form h2 { font-size: 24px; margin: 0 0 12px; }
.kgc-form__sub { color: var(--kgc-muted); margin: 0 0 20px; }
.kgc-form label { display: block; font-size: 14px; font-weight: 500; color: var(--kgc-ink); margin-bottom: 18px; }
.kgc-form input, .kgc-form textarea { display: block; width: 100%; margin-top: 8px; border: 1px solid var(--kgc-line); border-radius: var(--kgc-r-sm); padding: 14px 16px; font: 400 15px var(--kgc-font); color: var(--kgc-ink); background: #fff; }
.kgc-form input { height: 54px; }
.kgc-form input:focus, .kgc-form textarea:focus { border-color: var(--kgc-accent); outline: 0; box-shadow: 0 0 0 3px var(--kgc-accent-soft); }
.kgc-form input::placeholder, .kgc-form textarea::placeholder { color: var(--kgc-subtle); }
.kgc-form button { min-height: 44px; font-size: 14px; }
.kgc-form__ok { background: var(--kgc-accent-soft); color: var(--kgc-accent); padding: 12px 16px; border-radius: var(--kgc-r-sm); font-weight: 500; }
.kgc-hp { position: absolute !important; left: -9999px !important; }
.kgc-contact-sec > .elementor-container { gap: 48px; }
.kgc-contact-sec > .elementor-container > .elementor-column:first-child { width: 51.2% !important; }
.kgc-contact-sec > .elementor-container > .elementor-column:last-child { width: auto !important; flex: 1; }
@media (max-width: 1024px) { .kgc-contact-sec > .elementor-container { gap: 24px; } .kgc-contact-sec > .elementor-container > .elementor-column:first-child { width: 50% !important; } }
@media (max-width: 767px) { .kgc-contact-sec > .elementor-container { flex-direction: column; } .kgc-contact-sec > .elementor-container > .elementor-column:first-child, .kgc-contact-sec > .elementor-container > .elementor-column:last-child { width: 100% !important; flex: none; } }
.kgc-map iframe { width: 100%; height: 320px; border: 0; border-radius: var(--kgc-r-xl); display: block; }
.kgc-info { list-style: none; margin: 24px 0 0; padding: 0; }
.kgc-info li { display: grid; grid-template-columns: 156px 1fr; padding: 12px 0; font-size: 15px; color: var(--kgc-ink); }
.kgc-info span { color: var(--kgc-muted); font-size: 14px; }
@media (max-width: 1200px) { .kgc-contact { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
	.kgc-about-img img { margin-top: 16px; border-radius: var(--kgc-r-lg); aspect-ratio: 16 / 9; }
	.kgc-about { grid-template-columns: 1fr; gap: 16px; margin: 24px 0 32px; }
	.kgc-about h2 { font-size: 22px; }
	.kgc-values { grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 40px; }
	.kgc-values b { font-size: 28px; }
	.kgc-contact { grid-template-columns: 1fr; padding: 32px 0 48px; gap: 24px; }
	.kgc-form { padding: 24px 20px; border-radius: var(--kgc-r-lg); }
	.kgc-info li { grid-template-columns: 96px 1fr; }
}

/* ===== Lề section Elementor ===== */
.kgc-sec > .elementor-container, .kgc-sec .elementor-widget-wrap { padding: 0 !important; }
.elementor-widget-html:not(:last-child) { margin-bottom: 0; }

/* ===== Hoà màu cho shortcode plugin kimgia-bds (chỉ màu/khoảng cách) ===== */
.kg-listings, .kg-types, .kg-search { font-family: var(--kgc-font); }
