/* ==========================================================================
   Tien Phong Container — Design system & layout
   ========================================================================== */

:root{
	--tpc-blue-900:#0a2c6b;
	--tpc-blue-700:#0f45a8;
	--tpc-blue-600:#1656d1;
	--tpc-blue-500:#2f6fef;
	--tpc-blue-100:#e8f0ff;
	--tpc-red-600:#e2231a;
	--tpc-red-500:#ff3b30;
	--tpc-amber-500:#ffb020;
	--tpc-ink-900:#0e1420;
	--tpc-ink-700:#37404f;
	--tpc-ink-500:#68707d;
	--tpc-ink-300:#a4acb8;
	--tpc-line:#e6e9f0;
	--tpc-surface:#ffffff;
	--tpc-surface-alt:#f5f7fb;
	--tpc-radius-sm:10px;
	--tpc-radius-md:16px;
	--tpc-radius-lg:26px;
	--tpc-shadow-sm:0 2px 10px rgba(14,20,32,.06);
	--tpc-shadow-md:0 14px 34px rgba(14,20,32,.10);
	--tpc-shadow-lg:0 24px 60px rgba(10,44,107,.18);
	--tpc-container-w:1240px;
	--tpc-ease:cubic-bezier(.22,1,.36,1);
	--ff-heading:'Archivo',system-ui,sans-serif;
	--ff-body:'Be Vietnam Pro',system-ui,-apple-system,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	margin:0;
	font-family:var(--ff-body);
	color:var(--tpc-ink-700);
	background:var(--tpc-surface);
	line-height:1.65;
	font-size:16px;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{font-family:var(--ff-heading);color:var(--tpc-ink-900);line-height:1.2;margin:0 0 .5em}
button{font-family:inherit;cursor:pointer}
.screen-reader-text{position:absolute;left:-9999px}
.tpc-hide-sm{display:none}
@media (min-width:768px){.tpc-hide-sm{display:inline}}

.tpc-container{max-width:var(--tpc-container-w);margin:0 auto;padding:0 20px}

.tpc-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;
	border:2px solid transparent;transition:transform .25s var(--tpc-ease),box-shadow .25s var(--tpc-ease),background-color .25s;
	white-space:nowrap;
}
.tpc-btn--primary{background:var(--tpc-red-600);color:#fff;box-shadow:0 10px 24px rgba(226,35,26,.35)}
.tpc-btn--primary:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(226,35,26,.42)}
.tpc-btn--ghost{border-color:rgba(255,255,255,.6);color:#fff}
.tpc-btn--ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.tpc-btn--light{background:#fff;color:var(--tpc-blue-700)}
.tpc-btn--light:hover{transform:translateY(-3px);box-shadow:var(--tpc-shadow-lg)}

.tpc-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tpc-red-600)}
.tpc-eyebrow::before{content:"";width:22px;height:3px;background:var(--tpc-red-600);border-radius:2px}

/* Reveal-on-scroll motion */
.tpc-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--tpc-ease),transform .7s var(--tpc-ease)}
.tpc-reveal.is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
	.tpc-reveal{opacity:1;transform:none;transition:none}
	html{scroll-behavior:auto}
}

/* ---------- Header ---------- */
.tpc-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 var(--tpc-line)}
.tpc-header__top{background:var(--tpc-blue-900);color:#cdddff;font-size:13px}
.tpc-header__top-inner{display:flex;justify-content:space-between;align-items:center;height:38px}
.tpc-header__top a{color:#cdddff}
.tpc-header__top-left{display:flex;gap:20px;align-items:center}
.tpc-header__top-right a{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.1);transition:background .2s}
.tpc-header__top-right a:hover{background:var(--tpc-red-600)}

.tpc-header__main-inner{display:flex;align-items:center;gap:24px;height:84px}
.tpc-branding{flex:0 0 auto}
.tpc-logo img{height:42px;width:auto}
.tpc-nav{flex:1 1 auto}
.tpc-menu{display:flex;align-items:center;gap:2px}
.tpc-menu > li{position:relative}
.tpc-menu > li > a{display:flex;align-items:center;height:84px;padding:0 16px;font-weight:700;font-size:14.5px;color:var(--tpc-ink-900);text-transform:uppercase;letter-spacing:.02em;transition:color .2s}
.tpc-menu > li > a::after{content:"";position:absolute;left:16px;right:16px;bottom:26px;height:3px;background:var(--tpc-red-600);border-radius:2px;transform:scaleX(0);transition:transform .25s var(--tpc-ease)}
.tpc-menu > li:hover > a,.tpc-menu > li.current-menu-item > a{color:var(--tpc-blue-600)}
.tpc-menu > li:hover > a::after,.tpc-menu > li.current-menu-item > a::after{transform:scaleX(1)}
.tpc-menu .sub-menu{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-radius:var(--tpc-radius-sm);box-shadow:var(--tpc-shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s var(--tpc-ease);z-index:10}
.tpc-menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.tpc-menu .sub-menu a{display:block;padding:10px 14px;border-radius:8px;font-weight:600;font-size:13.5px;color:var(--tpc-ink-700);text-transform:none}
.tpc-menu .sub-menu a:hover{background:var(--tpc-blue-100);color:var(--tpc-blue-700)}
.tpc-menu .menu-item-has-children > a::before{content:"";display:inline-block;margin-left:6px;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.6}

.tpc-header__actions{display:flex;align-items:center;gap:14px}
.tpc-hotline{display:none;align-items:center;gap:10px;color:var(--tpc-blue-700)}
.tpc-hotline .tpc-ic-phone{width:38px;height:38px;border-radius:50%;background:var(--tpc-blue-100);display:flex;align-items:center;justify-content:center}
.tpc-hotline small{display:block;font-size:11px;color:var(--tpc-ink-500)}
.tpc-hotline strong{font-size:16px;font-family:var(--ff-heading)}
@media (min-width:1024px){.tpc-hotline{display:flex}}

.tpc-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:0}
.tpc-menu-toggle span{display:block;width:100%;height:2px;background:var(--tpc-ink-900);transition:transform .25s,opacity .25s}
@media (min-width:1024px){.tpc-menu-toggle{display:none}}

@media (max-width:1023px){
	.tpc-nav{position:fixed;top:0;right:-100%;width:82%;max-width:340px;height:100vh;background:#fff;padding:90px 24px 24px;overflow-y:auto;transition:right .35s var(--tpc-ease);box-shadow:var(--tpc-shadow-lg)}
	.tpc-nav.is-open{right:0}
	.tpc-menu{flex-direction:column;align-items:stretch}
	.tpc-menu > li > a{height:auto;padding:14px 0;border-bottom:1px solid var(--tpc-line)}
	.tpc-menu > li > a::after{display:none}
	.tpc-menu .sub-menu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;padding-left:12px}
	.tpc-menu li.is-open > .sub-menu{display:block}
}

/* ---------- Hero ---------- */
.tpc-hero{position:relative;padding:90px 0 70px;background:linear-gradient(135deg,var(--tpc-blue-900),var(--tpc-blue-600) 65%);overflow:hidden;color:#fff}
.tpc-hero__bg{position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 2px,transparent 2px 34px);pointer-events:none}
.tpc-hero__inner{position:relative}
.tpc-hero__content{max-width:720px}
.tpc-hero .tpc-eyebrow{color:var(--tpc-amber-500)}
.tpc-hero .tpc-eyebrow::before{background:var(--tpc-amber-500)}
.tpc-hero h1{color:#fff;font-size:clamp(30px,4.6vw,52px);margin:14px 0 18px}
.tpc-hero p{color:rgba(255,255,255,.82);font-size:17px;max-width:560px;margin-bottom:32px}
.tpc-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:48px}
.tpc-hero__stats{display:flex;gap:40px;flex-wrap:wrap}
.tpc-hero__stats strong{display:block;font-family:var(--ff-heading);font-size:clamp(26px,3vw,36px);color:#fff}
.tpc-hero__stats span{font-size:13px;color:rgba(255,255,255,.7)}

/* ---------- Sections ---------- */
.tpc-section{padding:76px 0}
.tpc-section--alt{background:var(--tpc-surface-alt)}
.tpc-section__head{max-width:640px;margin:0 auto 40px;text-align:center}
.tpc-section__head h2{font-size:clamp(24px,3vw,34px);margin-top:12px}

.tpc-grid{display:grid;gap:24px}
.tpc-grid--3{grid-template-columns:repeat(1,1fr)}
.tpc-grid--4{grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.tpc-grid--3{grid-template-columns:repeat(2,1fr)}.tpc-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.tpc-grid--3{grid-template-columns:repeat(3,1fr)}.tpc-grid--4{grid-template-columns:repeat(4,1fr)}}

/* category cards */
.tpc-cat-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:30px 18px;background:#fff;border:1px solid var(--tpc-line);border-radius:var(--tpc-radius-md);transition:transform .3s var(--tpc-ease),box-shadow .3s var(--tpc-ease),border-color .3s}
.tpc-cat-card:hover{transform:translateY(-8px);box-shadow:var(--tpc-shadow-md);border-color:transparent}
.tpc-cat-card__img{width:88px;height:88px;border-radius:50%;overflow:hidden;background:var(--tpc-blue-100)}
.tpc-cat-card__img img{width:100%;height:100%;object-fit:cover}
.tpc-cat-card__name{font-weight:700;font-family:var(--ff-heading);color:var(--tpc-ink-900);font-size:15px}
.tpc-cat-card__arrow{position:absolute;top:16px;right:16px;color:var(--tpc-ink-300);transition:transform .3s,color .3s}
.tpc-cat-card:hover .tpc-cat-card__arrow{transform:translate(4px,-4px);color:var(--tpc-red-600)}

/* product/post cards */
.tpc-card{background:#fff;border:1px solid var(--tpc-line);border-radius:var(--tpc-radius-md);overflow:hidden;transition:transform .35s var(--tpc-ease),box-shadow .35s var(--tpc-ease);list-style:none}
.tpc-card:hover{transform:translateY(-6px);box-shadow:var(--tpc-shadow-md)}
.tpc-card__link{display:block}
.tpc-card__thumb{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--tpc-surface-alt)}
.tpc-card__img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--tpc-ease)}
.tpc-card:hover .tpc-card__img{transform:scale(1.08)}
.tpc-card__body{display:block;padding:18px}
.tpc-card__tag{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tpc-blue-600);background:var(--tpc-blue-100);padding:4px 10px;border-radius:999px}
.tpc-card__title{display:block;font-family:var(--ff-heading);font-weight:700;font-size:16px;color:var(--tpc-ink-900);margin-top:2px}
.tpc-card__date{font-size:12px;color:var(--tpc-ink-500)}
.tpc-card__excerpt{display:block;margin-top:8px;font-size:14px;color:var(--tpc-ink-500)}

/* why cards */
.tpc-why-card{padding:34px 26px;border-radius:var(--tpc-radius-md);background:#fff;border:1px solid var(--tpc-line);text-align:center;transition:transform .3s var(--tpc-ease),box-shadow .3s var(--tpc-ease)}
.tpc-why-card:hover{transform:translateY(-8px);box-shadow:var(--tpc-shadow-md)}
.tpc-why-card .tpc-ic{width:56px;height:56px;margin:0 auto 18px;border-radius:16px;background:var(--tpc-blue-100);display:flex;align-items:center;justify-content:center;color:var(--tpc-blue-600)}
.tpc-why-card h3{font-size:18px}
.tpc-why-card p{font-size:14px;color:var(--tpc-ink-500);margin:0}

/* CTA band */
.tpc-cta{padding:70px 0;background:linear-gradient(120deg,var(--tpc-red-600),#ff5b3d)}
.tpc-cta__inner{text-align:center;color:#fff}
.tpc-cta h2{color:#fff;font-size:clamp(22px,3vw,32px)}
.tpc-cta p{color:rgba(255,255,255,.9);margin-bottom:26px}

/* ---------- Inner pages ---------- */
.tpc-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--tpc-ink-500);margin:0 0 14px;padding:0;list-style:none}
.tpc-breadcrumb li:not(:last-child)::after{content:"/";margin-left:6px;color:var(--tpc-ink-300)}
.tpc-breadcrumb a:hover{color:var(--tpc-blue-600)}
.tpc-page__header{padding:40px 0 28px;background:var(--tpc-surface-alt);border-bottom:1px solid var(--tpc-line)}
.tpc-page__title{font-size:clamp(24px,3.4vw,36px);margin:0}
.tpc-page__intro{color:var(--tpc-ink-500);margin-top:10px}
.tpc-page__body{padding:44px 0}
.tpc-page__thumb{border-radius:var(--tpc-radius-md);overflow:hidden;margin-bottom:28px}
.tpc-page__layout{display:grid;grid-template-columns:1fr;gap:40px;padding:44px 0}
@media (min-width:960px){.tpc-page__layout{grid-template-columns:2.4fr 1fr}}
.tpc-page__layout .tpc-page__body{padding:0}
.tpc-sidebar .widget{background:var(--tpc-surface-alt);border-radius:var(--tpc-radius-md);padding:24px;margin-bottom:20px}
.tpc-widget-cta .tpc-btn{width:100%;margin-top:10px}

/* entry content typography (nội dung gốc từ site cũ, giữ nguyên HTML) */
.entry-content,.tpc-page__body{font-size:16px;color:var(--tpc-ink-700)}
.entry-content h2,.tpc-page__body h2{font-size:24px;margin-top:1.6em}
.entry-content h3,.tpc-page__body h3{font-size:20px;margin-top:1.4em}
.entry-content p,.tpc-page__body p{margin:0 0 1.2em}
.entry-content img,.tpc-page__body img{border-radius:var(--tpc-radius-sm);margin:1.2em 0}
.entry-content a,.tpc-page__body a{color:var(--tpc-blue-600);text-decoration:underline}
.entry-content ul,.entry-content ol{margin:0 0 1.2em;padding-left:1.4em}
.entry-content table{width:100%;border-collapse:collapse;margin:1.2em 0}
.entry-content table td,.entry-content table th{border:1px solid var(--tpc-line);padding:10px}

.tpc-post-meta{display:flex;gap:14px;font-size:13px;color:var(--tpc-ink-500);margin-top:10px}
.tpc-post-meta__cat{color:var(--tpc-blue-600);font-weight:600}
.tpc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.tpc-tag{background:var(--tpc-surface-alt);padding:6px 12px;border-radius:999px;font-size:13px}

.tpc-pagination{margin-top:20px;display:flex;justify-content:center;gap:8px}
.tpc-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:8px;background:var(--tpc-surface-alt);font-weight:600}
.tpc-pagination .page-numbers.current{background:var(--tpc-blue-600);color:#fff}

.tpc-search-form{display:flex;max-width:420px;margin-top:16px;border:1px solid var(--tpc-line);border-radius:999px;overflow:hidden;background:#fff}
.tpc-search-form input{flex:1;border:0;padding:12px 18px;font-family:inherit}
.tpc-search-form input:focus{outline:none}
.tpc-search-form button{border:0;background:var(--tpc-blue-600);color:#fff;padding:0 20px}

.tpc-404__inner{text-align:center;padding:100px 0}
.tpc-404__code{font-family:var(--ff-heading);font-size:96px;font-weight:900;color:var(--tpc-blue-100);display:block}
.tpc-404__inner .tpc-btn{margin-top:20px}

/* ---------- Footer ---------- */
.tpc-footer{background:var(--tpc-ink-900);color:#b6bdca;padding-top:64px}
.tpc-footer__grid{display:grid;gap:36px;grid-template-columns:1fr;padding-bottom:40px}
@media (min-width:768px){.tpc-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.tpc-footer__logo{height:32px;width:auto;margin-bottom:16px;filter:brightness(0) invert(1);opacity:.9}
.tpc-footer__title{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:18px}
.tpc-footer__contact{display:flex;flex-direction:column;gap:10px;font-size:14px}
.tpc-footer__contact a:hover{color:#fff}
.tpc-footer__menu{display:flex;flex-direction:column;gap:10px;font-size:14px}
.tpc-footer__menu a:hover{color:#fff}
.tpc-footer__social{display:flex;gap:10px;margin-bottom:18px}
.tpc-footer__social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .2s}
.tpc-footer__social a:hover{background:var(--tpc-red-600)}
.tpc-footer__cta{width:100%}
.tpc-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;text-align:center;font-size:13px}

/* floating actions */
.tpc-back-top{position:fixed;right:20px;bottom:88px;width:44px;height:44px;border-radius:50%;background:var(--tpc-ink-900);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:all .3s var(--tpc-ease);z-index:90}
.tpc-back-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.tpc-fab-call{position:fixed;right:20px;bottom:24px;width:52px;height:52px;border-radius:50%;background:var(--tpc-red-600);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(226,35,26,.4);z-index:90;animation:tpc-pulse 2.2s infinite}
@keyframes tpc-pulse{0%{box-shadow:0 0 0 0 rgba(226,35,26,.5)}70%{box-shadow:0 0 0 16px rgba(226,35,26,0)}100%{box-shadow:0 0 0 0 rgba(226,35,26,0)}}

/* ---------- Minimal icon set (CSS-only, no external icon font) ---------- */
.tpc-ic{display:inline-block;width:1em;height:1em;position:relative}
.tpc-ic-phone::before{content:"\260E"}
.tpc-ic-mail::before{content:"\2709"}
.tpc-ic-pin::before{content:"\1F4CD"}
.tpc-ic-fb::before{content:"f";font-weight:700}
.tpc-ic-search::before{content:"\1F50D"}
.tpc-ic-check::before{content:"\2713"}
.tpc-ic-truck::before{content:"\1F69A"}
.tpc-ic-support::before{content:"\1F3A7"}
