/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.1.2
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

:root {
	--cth-navy: #0f2a5a;
	--cth-blue: #1c4f9e;
	--cth-yellow: #f2b632;
	--cth-yellow-dark: #d6960f;
	--cth-ink: #1d2433;
	--cth-muted: #555f70;
	--cth-footer-text: #c9d3e6;
}

body,
.nav > li > a,
h1, h2, h3, h4, h5, h6,
.heading-font,
.banner h1, .banner h2 {
	font-family: "Be Vietnam Pro", Lato, sans-serif !important;
}

/* ---------- Header ---------- */
#top-bar,
.absolute-footer,
.header-main .top-divider {
	display: none !important;
}

.header-wrapper {
	box-shadow: 0 2px 12px rgba(15, 42, 90, .08);
}

.header-main {
	height: 120px !important;
}
#logo {
	width: auto !important;
}
#logo img {
	max-height: 108px !important;
	width: auto;
}
.stuck .header-main {
	height: 84px !important;
}
.stuck #logo img {
	max-height: 74px !important;
}

.header-nav-main.nav-left {
	justify-content: center;
}
.header-nav-main.nav > li {
	margin: 0 14px;
}
.header-nav-main.nav > li > a {
	font-size: 16px;
	font-weight: 500;
	text-transform: none !important;
	letter-spacing: 0;
	color: var(--cth-ink);
	padding: 6px 0;
	border-bottom: 3px solid transparent;
}
.header-nav-main.nav > li > a:hover,
.header-nav-main.nav > li.active > a,
.header-nav-main.nav > li.current-menu-item > a {
	color: var(--cth-yellow-dark);
}
.header-nav-main.nav > li.active > a,
.header-nav-main.nav > li.current-menu-item > a {
	border-bottom-color: var(--cth-yellow);
}

.header-nav .cth-header-cta {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-left: 10px;
}
.cth-hotline {
	display: flex;
	align-items: center;
	gap: 10px;
}
.cth-hotline-icon {
	width: 44px;
	height: 44px;
	border: 2px solid var(--cth-ink);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--cth-ink);
}
.cth-hotline-text {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}
.cth-hotline-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--cth-yellow-dark);
}
.cth-hotline-number {
	font-size: 18px;
	font-weight: 800;
	color: var(--cth-ink) !important;
}
.header-nav .cth-header-cta > a.cth-quote-btn {
	background: var(--cth-yellow);
	color: var(--cth-ink) !important;
	font-size: 15px;
	font-weight: 600;
	text-transform: none !important;
	padding: 10px 22px !important;
	border-radius: 6px;
	box-shadow: 0 3px 0 var(--cth-yellow-dark);
	line-height: 1.2;
	white-space: nowrap;
}
.header-nav .cth-header-cta > a.cth-quote-btn:hover {
	background: #f6c455;
}

/* ---------- Home layout: full width ---------- */
.home .page-wrapper {
	padding-top: 0;
	padding-bottom: 0;
}
.home .row.row-main {
	max-width: 100% !important;
}
.home .row-main > .col {
	padding: 0 !important;
}

#duan,
#lienhe {
	scroll-margin-top: 100px;
}

/* ---------- Hero ---------- */
.cth-hero .banner-layers {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 90px;
}
.cth-hero .banner-layers > .fill {
	position: absolute;
}
.cth-hero .text-box {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	margin: 0 auto;
	max-width: 900px;
}
.cth-hero h1 {
	font-size: 44px;
	line-height: 1.2;
	font-weight: 800;
	text-transform: uppercase;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .45);
	margin-bottom: 14px;
}
.cth-hero p {
	font-size: 19px;
	font-weight: 500;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .5);
	margin-bottom: 22px;
}
.cth-btn {
	display: inline-block;
	padding: 13px 26px;
	margin: 6px 8px;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	line-height: 1.2;
}
.cth-btn-yellow {
	background: var(--cth-yellow);
	color: var(--cth-ink) !important;
	box-shadow: 0 3px 0 var(--cth-yellow-dark);
}
.cth-btn-yellow:hover {
	background: #f6c455;
}
.cth-btn-blue {
	background: var(--cth-blue);
	color: #fff !important;
	border: 2px solid #fff;
}
.cth-btn-blue:hover {
	background: #245db8;
}

/* ---------- Service cards ---------- */
.cth-services {
	position: relative;
	z-index: 3;
	max-width: 1110px;
	margin: -90px auto 0;
	padding: 0 15px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.cth-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(15, 42, 90, .15);
	padding: 26px 22px 22px;
	text-align: center;
}
.cth-card img {
	display: block;
	width: 80px;
	height: 80px;
	object-fit: contain;
	margin: 0 auto 12px;
}
.cth-card h3 {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cth-ink);
	margin-bottom: 10px;
}
.cth-card ul {
	display: inline-block;
	text-align: left;
	list-style: disc;
	margin: 0;
	padding-left: 18px;
}
.cth-card ul li {
	margin: 0 0 4px;
	font-size: 15px;
	color: var(--cth-muted);
}

/* ---------- Projects ---------- */
.cth-projects {
	max-width: 1110px;
	margin: 50px auto 0;
	padding: 0 15px;
}
.cth-projects h2 {
	font-size: 24px;
	font-weight: 700;
	color: var(--cth-ink);
	margin-bottom: 16px;
}
.cth-proj-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.cth-proj-img {
	height: 190px;
	border-radius: 8px;
	background-image: url(https://caitaonhasg.com/wp-content/uploads/2026/09/Doi-tho-thi-cong-cai-tao-nha-SG.jpg);
	background-size: 300% auto;
	background-repeat: no-repeat;
}
.cth-proj-1 { background-position: 0% 50%; }
.cth-proj-2 { background-position: 50% 50%; }
.cth-proj-3 { background-position: 100% 50%; }
.cth-proj h4 {
	font-size: 16px;
	font-weight: 600;
	color: var(--cth-ink);
	margin: 10px 0 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ---------- About ---------- */
.cth-about {
	max-width: 1110px;
	margin: 50px auto 0;
	padding: 0 15px 40px;
	text-align: center;
}
.cth-about h2 {
	font-size: 26px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--cth-ink);
	margin-bottom: 6px;
}
.cth-about p {
	font-size: 18px;
	color: var(--cth-ink);
	margin: 0;
}

/* ---------- Footer ---------- */
.footer-wrapper,
.footer-1.footer-widgets {
	overflow: visible;
}
.footer-1.footer-widgets {
	background: var(--cth-navy) !important;
	padding: 44px 0 36px !important;
}
.footer-1.footer-widgets > .row {
	display: block;
	max-width: 100%;
}
.footer-1.footer-widgets > .row > .col {
	width: 100%;
	max-width: 100%;
	flex-basis: 100%;
	padding: 0;
}
.footer-1 .textwidget,
.footer-1 .textwidget p {
	margin: 0;
}
.cth-footer-inner {
	max-width: 1110px;
	margin: 0 auto;
	padding: 0 15px;
	display: grid;
	grid-template-columns: 170px 1fr 1fr 1.2fr;
	gap: 36px;
	align-items: start;
}
.cth-f-logo {
	background: #fff;
	border-radius: 12px;
	padding: 10px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
	margin-top: -110px;
}
.cth-f-logo img {
	display: block;
	width: 100%;
	height: auto;
}
.cth-footer h4 {
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 14px;
}
.cth-footer,
.cth-footer p,
.cth-footer a {
	color: var(--cth-footer-text);
	font-size: 15px;
}
.cth-footer a:hover {
	color: var(--cth-yellow);
}
.cth-f-line {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px !important;
}
.cth-f-line svg {
	flex: 0 0 auto;
	color: var(--cth-yellow);
}
.cth-social {
	display: flex;
	gap: 8px;
	margin-top: 14px;
}
.cth-footer .cth-social a {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	color: var(--cth-navy);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
}
.cth-footer .cth-social a.cth-zalo {
	font-size: 9px;
	font-weight: 800;
}
.cth-footer .cth-social a:hover {
	background: var(--cth-yellow);
	color: var(--cth-navy);
}
.cth-sitemap {
	columns: 2;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cth-sitemap li {
	margin: 0 0 8px;
	break-inside: avoid;
}
.cth-sitemap li::before {
	content: "•";
	color: var(--cth-yellow);
	margin-right: 8px;
}

#top-link {
	background: var(--cth-blue) !important;
	border-color: var(--cth-blue) !important;
	color: #fff !important;
}

/* ---------- Responsive ---------- */
@media only screen and (max-width: 849px) {
	.cth-hero .banner-layers { padding-bottom: 50px; }
	.cth-hero h1 { font-size: 28px; }
	.cth-hero p { font-size: 16px; }
	.cth-services {
		grid-template-columns: 1fr;
		margin-top: -50px;
	}
	.cth-proj-grid { grid-template-columns: 1fr; }
	.cth-about { padding-bottom: 130px; }
	.cth-footer-inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.cth-f-logo {
		width: 150px;
		margin: -110px auto 0;
	}
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.header-main { height: 90px !important; }
	#logo img { max-height: 80px !important; }
}
