:root{
	--tt-navy:#0b3c7c;
	--tt-navy-dark:#082c5c;
	--tt-green:#1aa94c;
	--tt-red:#e63535;
	--tt-bg:#eef3f8;
	--tt-border:#e3e8ee;
}

/* ===== Khung header ===== */
.tt-header{background:#fff;box-shadow:0 2px 12px rgba(13,59,110,.08);position:relative;z-index:1050}
.tt-header-desktop{position:relative;padding:10px 0 10px;overflow:visible}

/* Vệt sọc xanh mép phải – tự cắt, không ảnh hưởng menu */
.tt-stripes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}
.tt-stripes::after{
	content:"";position:absolute;right:-30px;top:0;bottom:0;width:170px;
	background:
		linear-gradient(115deg,transparent 55%,var(--tt-green) 55%,var(--tt-green) 64%,transparent 64%,transparent 72%,var(--tt-navy) 72%,var(--tt-navy) 81%,transparent 81%),
		linear-gradient(115deg,transparent 38%,#dfe8f1 38%,#dfe8f1 52%,transparent 52%);
	opacity:.9;
}

/* Lưới 3 cột dùng chung cho 2 hàng: logo/Công trình | search/CTA | user */
.tt-top,.tt-bottom{
	display:grid;
	grid-template-columns:280px minmax(0,1fr) 300px;
	align-items:center;
	column-gap:32px;
	position:relative;
	padding-right:130px;
}
.tt-top{z-index:5}
.tt-bottom{z-index:2;margin-top:16px}

.tt-logo{display:block}
.tt-logo img{height:58px;max-width:100%;object-fit:contain}
.tt-top-right{display:flex;justify-content:flex-end}

/* ===== Ô tìm kiếm ===== */
.tt-search{width:100%;display:flex;align-items:center;background:#fff;border:1px solid var(--tt-border);
	border-radius:999px;box-shadow:0 4px 14px rgba(13,59,110,.08);padding:0 6px 0 20px;height:54px;position:relative}
.tt-search-icon{color:var(--tt-navy);font-size:18px;margin-right:12px}
.tt-search input.search-input{flex:1;border:0;outline:0;background:transparent;font-size:15px;height:100%;color:#333;min-width:0}
.tt-search input::placeholder{color:#7c8794}
.tt-search input[type="search"]::-webkit-search-cancel-button{display:none}
.tt-search-btn{border:0;border-radius:999px;background:var(--tt-navy);color:#fff;font-weight:600;
	font-size:15px;padding:0 22px;height:42px;white-space:nowrap;transition:.2s;flex:0 0 auto}
.tt-search-btn:hover{background:var(--tt-navy-dark)}
.tt-search-btn-icon{width:42px;padding:0}

/* Nút xóa trong ô search */
.tt-search-clear{display:none;border:0;background:#edf1f6;color:#5b6b86;width:28px;height:28px;border-radius:50%;
	margin-right:8px;font-size:12px;flex:0 0 28px;cursor:pointer;align-items:center;justify-content:center}
.tt-search-clear:hover{background:#dde4ee;color:var(--tt-navy)}

/* ===== Dropdown gợi ý (typeahead) ===== */
.tt-search .twitter-typeahead{position:static !important;flex:1;height:100%;min-width:0;display:flex !important;align-items:center}
.tt-search .twitter-typeahead .search-input{width:100%}
.tt-search .tt-hint{display:none}

.tt-search .tt-sr-menu{
	position:absolute !important;
	left:0 !important;right:0 !important;width:auto !important;
	top:calc(100% + 8px) !important;
	z-index:1300 !important;
	border:1px solid var(--tt-border);border-radius:16px;background:#fff;
	max-height:min(70vh,640px);overflow-y:auto;overflow-x:hidden;
	box-shadow:0 14px 36px rgba(13,59,110,.16);padding:0 0 4px;
	scrollbar-width:thin;scrollbar-color:#c5cfdc transparent;
}
.tt-search .tt-sr-menu::-webkit-scrollbar{width:6px}
.tt-search .tt-sr-menu::-webkit-scrollbar-track{background:transparent}
.tt-search .tt-sr-menu::-webkit-scrollbar-thumb{background:#c5cfdc;border-radius:6px}
.tt-search .tt-sr-menu::-webkit-scrollbar-thumb:hover{background:#9fb0c6}

.tt-sr-menu .tt-dataset{padding:0}
.tt-sr-menu .tt-suggestion{padding:0}
.tt-sr-menu .tt-suggestion.tt-cursor .tt-sr-cate,
.tt-sr-menu .tt-suggestion.tt-cursor .tt-sr-item{background:#f3f7fc}
.tt-sr-menu .tt-highlight{color:var(--tt-navy);font-weight:600}

/* tiêu đề khối */
.tt-sr-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#f1f5fa;
	border-bottom:1px solid var(--tt-border);position:sticky;top:0;z-index:2}
.tt-sr-head-title{font-size:18px;font-weight:600;color:var(--tt-navy-dark)}
.tt-sr-head-title i{color:var(--tt-navy);margin-right:10px;font-size:17px}
.tt-sr-head-all{color:#1976d2;font-size:14px;font-weight:600}
.tt-sr-head-all:hover{color:#0f5ec9}
.tt-sr-head-all i{font-size:11px;margin-left:4px}

/* Danh mục */
.tt-sr-cate{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid #eef1f5;color:#1c2a3a}
.tt-sr-cate:hover{color:var(--tt-navy)}
.tt-sr-cate-icon{width:52px;height:52px;border-radius:12px;background:#e6f2ff;display:flex;align-items:center;justify-content:center;
	color:var(--tt-navy);font-size:20px;overflow:hidden;flex:0 0 52px}
.tt-sr-cate-icon img{width:100%;height:100%;object-fit:cover}
.tt-suggestion:nth-child(even) .tt-sr-cate-icon{background:#e9f7ee;color:var(--tt-green)}
.tt-sr-cate-title{flex:1;font-size:16px;font-weight:600}
.tt-sr-arrow{color:#8a97ad;font-size:13px}

/* Hạng mục */
.tt-sr-item{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid #eef1f5;color:#1c2a3a}
.tt-sr-item img{width:100px;height:70px;border-radius:10px;object-fit:cover;flex:0 0 100px}
.tt-sr-body{flex:1;min-width:0}
.tt-sr-title{font-size:16px;font-weight:600;color:var(--tt-navy-dark);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tt-sr-code{display:inline-block;margin-top:4px;background:#e4ebf3;color:#2b3a4e;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px}
.tt-sr-price{margin-top:4px;font-size:14px;color:#5b6b86}
.tt-sr-price strong{color:#e02020;font-size:17px;margin:0 10px 0 6px}
.tt-sr-price s{color:#9aa3b2;font-size:13px}

/* Footer dropdown */
.tt-sr-footer{display:none;align-items:center;gap:14px;padding:14px 18px;color:#1976d2;font-weight:600;font-size:15px;border-top:1px solid var(--tt-border)}
.tt-sr-footer:hover{background:#f3f7fc;color:#0f5ec9}
.tt-sr-footer span{flex:1}
.tt-sr-menu.tt-open .tt-sr-footer{display:flex}
.tt-sr-footer>.fa-search{color:var(--tt-navy);font-size:17px}

/* ===== User ===== */
.tt-user-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--tt-navy);font-size:15px;white-space:nowrap}
.tt-user-toggle img,.tt-user-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}
.tt-user-avatar{display:inline-flex;align-items:center;justify-content:center;background:#dce9f7;color:var(--tt-navy)}
.tt-user .dropdown-menu{border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);border:0;padding:.3rem 0;min-width:230px}
.tt-user .dropdown-item{padding:.55rem 1.2rem;border-bottom:1px solid #f0f0f0}
.tt-user .dropdown-item:last-child{border-bottom:0}
.tt-user .dropdown-item i{width:18px;color:var(--tt-navy)}

/* ===== Nút Công trình + mega menu ===== */
.tt-mega{position:relative}
.tt-btn-cate{display:flex;width:100%;align-items:center;gap:14px;background:var(--tt-green);color:#fff;border:0;
	border-radius:12px;height:40px;padding:0 20px;font-size:17px;font-weight:600;cursor:pointer;
	box-shadow:0 4px 12px rgba(26,169,76,.3)}
.tt-btn-cate .fa-bars{font-size:20px}
.tt-btn-cate .tt-caret{margin-left:auto;font-size:12px;transition:.2s}
.tt-mega:hover .tt-caret,.tt-mega.open .tt-caret{transform:rotate(180deg)}

.tt-mega-panel{display:none;position:absolute;left:0;top:calc(100% + 10px);width:1180px;max-width:calc(100vw - 40px);
	background:#fff;border-radius:14px;box-shadow:0 16px 40px rgba(13,59,110,.18);z-index:1100;padding:16px;
	grid-template-columns:300px 1fr;gap:16px}
.tt-mega:hover .tt-mega-panel,.tt-mega.open .tt-mega-panel{display:grid}
.tt-mega-panel::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}

/* Cột trái: danh sách công trình cha */
.tt-mega-left{border:1px solid var(--tt-border);border-radius:12px;overflow:hidden;background:#fff}
.tt-mega-head{padding:12px 16px;font-size:20px;font-weight:600;color:var(--tt-navy-dark);border-bottom:1px solid var(--tt-border)}
.tt-mega-head i{margin-right:8px;font-size:18px}
.tt-mega-list{list-style:none;margin:0;padding:0;max-height:490px;overflow-y:auto;
	scrollbar-width:thin;scrollbar-color:#c5cfdc transparent}
.tt-mega-item a{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid #f1f3f6;
	color:#1c2a3a;font-size:15px;border-left:3px solid transparent;transition:.15s}
.tt-mega-item a img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid #eee}
.tt-mega-item .tt-mega-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-mega-item a .fa-chevron-right{font-size:11px;color:#7c8794}
.tt-mega-item.active a,.tt-mega-item a:hover{background:#e9f7ee;border-left-color:var(--tt-green);color:var(--tt-navy-dark);font-weight:600}
.tt-mega-all{display:block;text-align:center;padding:12px;background:#f3f6f9;color:var(--tt-navy);font-weight:600;font-size:15px}
.tt-mega-all:hover{background:#e6ecf3;color:var(--tt-navy)}

.tt-badge{display:inline-block;background:#e4ebf3;color:#2b3a4e;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px}

/* Cột phải: lưới công trình con */
.tt-mega-right{min-height:400px;max-height:588px;overflow-y:auto;overflow-x:hidden;padding-right:6px;
	scrollbar-width:thin;scrollbar-color:#c5cfdc transparent}

/* Thanh cuộn mảnh dùng chung cho 2 cột */
.tt-mega-list::-webkit-scrollbar,
.tt-mega-right::-webkit-scrollbar{width:6px}
.tt-mega-list::-webkit-scrollbar-track,
.tt-mega-right::-webkit-scrollbar-track{background:transparent}
.tt-mega-list::-webkit-scrollbar-thumb,
.tt-mega-right::-webkit-scrollbar-thumb{background:#c5cfdc;border-radius:6px}
.tt-mega-list::-webkit-scrollbar-thumb:hover,
.tt-mega-right::-webkit-scrollbar-thumb:hover{background:#9fb0c6}

.tt-cate-panel{display:none}
.tt-cate-panel.active{display:block}
.tt-cate-panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;
	position:sticky;top:0;background:#fff;z-index:1;padding:4px 0}
.tt-cate-panel-head h3{font-size:22px;font-weight:600;color:var(--tt-navy-dark);margin:0;position:relative;padding-bottom:6px}
.tt-cate-panel-head h3::after{content:"";position:absolute;left:0;bottom:0;width:60px;height:3px;background:var(--tt-green);border-radius:3px}
.tt-cate-panel-head h3 small{font-size:15px;font-weight:400;color:#6b7785}
.tt-cate-panel-head a{color:#1976d2;font-size:14px;font-weight:600}
.tt-cate-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tt-cate-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid var(--tt-border);
	border-radius:12px;padding:12px 8px;text-align:center;transition:.2s}
.tt-cate-card img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:1px solid #f1f1f1;padding:4px;background:#fafafa}
.tt-cate-card .tt-cate-name{font-size:14px;font-weight:600;color:#1c2a3a;line-height:1.3}
.tt-cate-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-3px)}
.tt-cate-card:hover .tt-cate-name{color:#1976d2}

/* ===== CTA Yêu cầu khảo sát (căn giữa cột search) ===== */
.tt-cta-wrap{display:flex;justify-content:center;position:relative}
.tt-cta{position:relative;display:inline-flex;align-items:center;gap:12px;background:var(--tt-red);color:#fff;border:0;
	border-radius:999px;height:42px;padding:0 20px 0 22px;font-size:18px;font-weight:600;cursor:pointer;
	box-shadow:0 6px 16px rgba(230,53,53,.35);transition:.2s}
.tt-cta:hover{background:#d12a2a;transform:translateY(-1px)}
.tt-cta>i{font-size:22px}
.tt-cta-arrow{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);font-size:13px}
/* tia sáng 2 bên */
.tt-cta::before,.tt-cta::after{content:"";position:absolute;top:50%;width:26px;height:26px;
	background:
		linear-gradient(var(--tt-red),var(--tt-red)) 0 2px/14px 3px no-repeat,
		linear-gradient(var(--tt-red),var(--tt-red)) 2px 50%/18px 3px no-repeat,
		linear-gradient(var(--tt-red),var(--tt-red)) 0 calc(100% - 2px)/14px 3px no-repeat;
	opacity:.9}
.tt-cta::before{left:-40px;transform:translateY(-50%) scaleX(-1) rotate(-12deg)}
.tt-cta::after{right:-40px;transform:translateY(-50%) rotate(-12deg)}

/* ===== MOBILE ===== */
.tt-header-mobile{padding:12px 6px 14px;background:var(--tt-bg);position:relative}
.tt-m-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.tt-m-bars{background:transparent;border:0;color:var(--tt-navy-dark);font-size:28px;padding:4px 8px}
.tt-logo-mobi img{height:60px;max-width:220px;object-fit:contain}
.tt-m-user .tt-user-name{display:none}
.tt-m-user .tt-user-avatar,.tt-m-user .tt-user-toggle img{width:40px;height:40px}
.tt-m-user .dropdown-toggle::after{display:none}
.tt-search-mobi{height:52px;margin-bottom:14px;padding-left:16px}
.tt-header-mobile .tt-cta-wrap{margin-bottom:4px}
.tt-header-mobile .tt-cta{height:54px;font-size:18px}

/* Menu mobile */
.tt-m-menu{position:absolute;left:6px;right:6px;top:70px;z-index:1200;background:#fff;border-radius:14px;
	box-shadow:0 14px 36px rgba(0,0,0,.18);overflow:hidden}
.tt-m-menu-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--tt-border);font-size:17px}
.tt-m-menu-head i{font-size:20px;color:var(--tt-navy)}
.tt-m-menu-head>span{margin-left:auto;cursor:pointer}
.tt-m-list{list-style:none;margin:0;padding:0;max-height:70vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5cfdc transparent}
.tt-m-list::-webkit-scrollbar{width:6px}
.tt-m-list::-webkit-scrollbar-thumb{background:#c5cfdc;border-radius:6px}
.tt-m-list>li{border-bottom:1px dotted #d6dde5}
.tt-m-row{display:flex;align-items:center;padding:10px 14px;gap:10px}
.tt-m-row a{display:flex;align-items:center;gap:10px;flex:1;font-size:16px;color:#1c2a3a}
.tt-m-row a img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.tt-m-plus{border:0;background:var(--tt-green);color:#fff;width:30px;height:30px;border-radius:8px}
.tt-m-plus:not(.collapsed) .fa-plus::before{content:"\f068"}
.tt-m-sub{list-style:none;margin:0;padding:0 0 6px 48px;background:#f7f9fb}
.tt-m-sub li a{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:15px;color:#1c2a3a;border-bottom:1px dotted #e0e6ed}
.tt-m-sub li a img{width:28px;height:22px;border-radius:5px;object-fit:cover}

/* ===== Responsive ===== */
@media (max-width:1399.98px){
	.tt-top,.tt-bottom{grid-template-columns:240px minmax(0,1fr) 260px;column-gap:24px;padding-right:110px}
	.tt-logo img{height:52px}
	.tt-cate-grid{grid-template-columns:repeat(5,1fr)}
	.tt-cate-card img{width:100px;height:100px}
}
@media (max-width:1199.98px){
	.tt-top,.tt-bottom{grid-template-columns:210px minmax(0,1fr) 230px;column-gap:16px;padding-right:90px}
	.tt-stripes::after{width:130px}
	.tt-search input.search-input{font-size:14px}
	.tt-mega-panel{grid-template-columns:260px 1fr}
	.tt-cate-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:991.98px){
	.tt-search .tt-sr-menu{max-height:75vh;border-radius:14px}
	.tt-sr-item img{width:90px;height:64px;flex-basis:90px}
	.tt-sr-title{font-size:15px}
	.tt-sr-head-title{font-size:16px}
	.tt-sr-cate-icon{width:46px;height:46px;flex-basis:46px}
	.tt-search-mobi .tt-search-btn{font-size:14px;padding:0 16px}
}
@media (max-width:575.98px){
	.tt-sr-head,.tt-sr-cate,.tt-sr-item,.tt-sr-footer{padding-left:14px;padding-right:14px}
	.tt-sr-price strong{font-size:15px}
}