/* ==========================================================================
   DonaWebVN Theme - Main Stylesheet
   Font: Be Vietnam Pro | Primary: #0033cf | Gradient: 135deg #005bea -> #00c6ff
   ========================================================================== */

:root{
	--font-main: 'Be Vietnam Pro', Arial, Helvetica, sans-serif;
	--color-primary: #0033cf;
	--color-primary-dark: #00227a;
	--color-accent: #ffb400;
	--gradient-btn: linear-gradient(135deg,#005bea,#00c6ff);
	--color-text: #1c2230;
	--color-text-light: #5b6472;
	--color-border: #e6e9f0;
	--color-bg-soft: #f4f7fd;
	--radius: 14px;
	--radius-sm: 8px;
	--shadow-sm: 0 2px 10px rgba(20,30,60,.06);
	--shadow-md: 0 10px 30px rgba(20,30,60,.10);
	--container: 1200px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--font-main);
	color:var(--color-text);
	font-size:16px;
	line-height:1.6;
	background:#fff;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; height:auto; }
body.nav-open{ overflow:hidden; }

/* Ẩn khỏi màn hình nhưng vẫn giữ cho trình đọc màn hình (WordPress core dùng ở nhiều nơi, vd: h2 "Phân trang bài viết") */
.screen-reader-text{
	position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
input,textarea,select{ font-family:var(--font-main); }
h1,h2,h3,h4{ margin:0 0 .5em; line-height:1.25; font-weight:700; }
p{ margin:0 0 1em; color:var(--color-text-light); }

.container{ max-width:var(--container); margin:0 auto; padding:0 20px; }
.section{ padding:70px 0; }
.text-accent{ color:var(--color-primary); }

.section-head{ margin-bottom:40px; }
.section-head--center{ text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }
.section-title{ font-size:32px; }
.section-desc{ color:var(--color-text-light); font-size:18px; }

/* ============ Buttons ============ */
.btn{
	display:inline-flex; align-items:center; gap:8px;
	padding:12px 22px; border-radius:999px; font-weight:600; font-size:15px;
	transition:all .25s ease; white-space:nowrap;
}
.btn--gradient{ background:var(--gradient-btn); color:#fff; border-color:transparent; box-shadow:0 8px 20px rgba(0,91,234,.25); }
.btn--gradient:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,91,234,.35); }
.btn--outline{ background:#fff; color:var(--color-primary); border:2px solid var(--color-primary); }
.btn--outline:hover{ background:var(--color-primary); color:#fff; }
.btn--lg{ padding:15px 28px; font-size:16px; }
.btn--pill{ border-radius:999px; }
.btn--block{ width:100%; justify-content:center; }

/* ============ Header ============ */
.site-header{ position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--color-border); }
.site-header__inner{ display:flex; align-items:center; gap:24px; padding:14px 20px; }
.site-branding img{ max-height:80px; width:auto; }
.site-title-fallback{ font-size:22px; font-weight:800; color:var(--color-primary); }
.main-nav{ flex:1; }
.main-nav__mobile-head,.main-nav__mobile-foot,.nav-overlay{ display:none; }
.main-nav__list{ display:flex; gap:6px; justify-content:center; flex-wrap:wrap; }
.main-nav__list a{
	font-weight:600; font-size:16px; padding:10px 16px; position:relative;
	border-radius:999px; transition:color .2s ease, background .2s ease;
}
.main-nav__list a:hover{ color:var(--color-primary); background:var(--color-bg-soft); }
.main-nav__list a::after{
	content:""; position:absolute; left:50%; bottom:3px; width:0; height:2px;
	background:var(--gradient-btn); border-radius:2px; transition:width .25s ease, left .25s ease;
}
.main-nav__list a:hover::after{ width:60%; left:20%; }
.main-nav__list .current-menu-item > a,
.main-nav__list .current_page_item > a{ color:var(--color-primary); }
.main-nav__list .current-menu-item > a::after,
.main-nav__list .current_page_item > a::after{ width:60%; left:20%; }
.main-nav__list li.menu-item-has-children{ position:relative; }
.main-nav__list .sub-menu{ display:none; position:absolute; top:100%; left:0; background:#fff; box-shadow:var(--shadow-md); border-radius:var(--radius-sm); min-width:220px; padding:8px; z-index:10; }
.main-nav__list li:hover > .sub-menu{ display:block; }
.main-nav__list .sub-menu a::after{ display:none; }
.main-nav__list .sub-menu a{ display:block; padding:8px 10px; border-radius:var(--radius-sm); }
.main-nav__list .sub-menu a:hover{ background:var(--color-bg-soft); }
.site-header__actions{ display:flex; align-items:center; gap:12px; }
.site-header__lang{ display:flex; align-items:center; margin-left:auto; }
/* Ép bộ chuyển ngôn ngữ (GTranslate) hiển thị ngang, tránh trường hợp plugin tự xếp dọc */
.site-header__lang,
.site-header__lang *{ flex-direction:row !important; flex-wrap:nowrap !important; }
.site-header__lang ul,
.site-header__lang .gtranslate_wrapper{ display:flex !important; align-items:center; gap:6px; margin:0; padding:0; list-style:none; }
.site-header__lang img{ display:inline-block; width:20px; height:auto; vertical-align:middle; }
.menu-toggle{ display:none; background:none; border:0; flex-direction:column; gap:5px; padding:6px; }
.menu-toggle span{ width:24px; height:2px; background:var(--color-text); display:block; transition:transform .25s, opacity .25s; }
.menu-toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-toggle.is-active span:nth-child(2){ opacity:0; }
.menu-toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.donawebvn-breadcrumb{ background:var(--color-bg-soft); padding:12px 0; }
.donawebvn-breadcrumb ol{ display:flex; gap:8px; font-size:13px; color:var(--color-text-light); flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.donawebvn-breadcrumb li{ list-style:none; }
.donawebvn-breadcrumb li:not(:last-child)::after{ content:"/"; margin-left:8px; }
.donawebvn-breadcrumb a{ color:var(--color-primary); }

/* ============ 1. HERO ============ */
.hero{ position:relative; overflow:hidden; padding:60px 0 90px; background:radial-gradient(circle at 50% 0%, #eaf1ff 0%, #ffffff 55%); }
.hero::before{
	content:"";
	position:absolute; inset:0;
	background-image:
		linear-gradient(to right, rgba(0,51,207,.09) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(0,51,207,.09) 1px, transparent 1px);
	background-size: 34px 34px;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 110px, #000 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 110px, #000 100%);
	pointer-events: none;
	z-index: 0;
}
.hero__inner{ position:relative; z-index:1; text-align:center; }
.hero__title{ font-size:60px; }
.hero__title-accent{ color:var(--color-accent); }
.hero__title-blue{ color:var(--color-primary); }
.hero__desc{ max-width:740px; margin:0 auto 26px; font-size:18px; }

.hero__core-values{
	display:inline-flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--color-primary);
	border-radius:999px; padding:12px 26px; margin:0 auto 20px; box-shadow:var(--shadow-sm); max-width:100%;
}
.hero__core-values i{ color:var(--color-primary); font-size:16px; flex-shrink:0; }
.hero__core-values span{ font-weight:800; font-size:16px; color:var(--color-primary); letter-spacing:.01em; }

.hero__location{
	display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid #d6e4ff;
	border-radius:999px; padding:10px 22px 10px 14px; margin:0 auto 26px; box-shadow:var(--shadow-sm);
	max-width:100%;
}.hero__location-icon{ position:relative; display:flex; align-items:center; justify-content:center; width:22px; height:22px; flex-shrink:0; color:var(--color-primary); font-size:15px; }
.hero__location-pulse{
	position:absolute; inset:0; border-radius:50%; background:var(--color-primary);
	opacity:.5; animation:hero-location-pulse 1.8s ease-out infinite;
}
@keyframes hero-location-pulse{
	0%{ transform:scale(.6); opacity:.6; }
	100%{ transform:scale(2.2); opacity:0; }
}
.hero__location-text{ font-weight:700; font-size:18px; color:var(--color-primary); letter-spacing:.02em; text-align:left; }
.hero__actions{ display:flex; gap:16px; justify-content:center; margin-bottom:40px; flex-wrap:wrap; }
.hero__features{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:960px; margin:0 auto 50px; }
.hero__feature-box{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:14px 16px; box-shadow:var(--shadow-sm); text-align:left; }
.hero__feature-icon{ width:40px; height:40px; border-radius:50%; background:var(--gradient-btn); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hero__feature-box strong{ display:block; font-size:14px; }
.hero__feature-box small{ color:var(--color-text-light); font-size:12px; }

.hero__slider{ position:relative; max-width:900px; margin:0 auto; }
.hero__slider-frame{
	position:relative; border-radius:var(--radius); overflow:hidden;
	box-shadow:var(--shadow-md); background:#fff; border:1px solid var(--color-border);
}
.hero__slider-bar{
	display:flex; align-items:center; gap:6px; padding:10px 14px; background:#eef1f6; border-bottom:1px solid var(--color-border);
}
.hero__slider-bar span{ width:9px; height:9px; border-radius:50%; background:#d7dce5; }
.hero__slider-bar span:nth-child(1){ background:#ff5f57; }
.hero__slider-bar span:nth-child(2){ background:#febc2e; }
.hero__slider-bar span:nth-child(3){ background:#28c840; }
.hero__slide{ display:none; }
.hero__slide.is-active{ display:block; }
.hero__slide a,.hero__slide-media{ display:block; }
/* Khung tỉ lệ cố định 16:10, ảnh luôn được crop khít bằng object-fit:cover,
   không phụ thuộc kích thước gốc của ảnh tải lên */
.hero__slide-media{
	position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--color-bg-soft);
}
.hero__slide-media img{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center;
}
.hero__dots{ display:flex; gap:8px; justify-content:center; margin-top:16px; }
.hero__dot{ width:8px; height:8px; border-radius:50%; background:var(--color-border); cursor:pointer; }
.hero__dot.is-active{ background:var(--color-primary); width:22px; border-radius:4px; }

/* ============ 2. PROJECTS ============ */
.projects{ background:linear-gradient(180deg,#eef4ff,#fff); }
.projects__inner{ display:flex; flex-direction:column; gap:40px; }
.projects__intro{ max-width:640px; }
.projects__slider{ display:flex; gap:24px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x mandatory; }
.project-card{ flex:0 0 340px; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; scroll-snap-align:start; }
.project-card__thumb img{ width:100%; height:220px; object-fit:cover; }
.project-card__body{ padding:18px; }
.project-card__body h3{ font-size:18px; margin-bottom:6px; }
.project-card__stats{ display:flex; gap:18px; margin-top:14px; border-top:1px dashed var(--color-border); padding-top:14px; }
.project-card__stat strong{ display:block; color:var(--color-primary); font-size:17px; }
.project-card__stat small{ color:var(--color-text-light); font-size:12px; }

/* ============ 3. INDUSTRIES ============ */
.industries__wrap{ display:flex; gap:30px; background:var(--color-bg-soft); border-radius:24px; padding:24px; }
.industries__tabs{ display:flex; flex-direction:column; gap:10px; flex:0 0 260px; }
.industries__tab{ text-align:left; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:12px 16px; font-size:14px; color:var(--color-text-light); }
.industries__tab strong{ display:block; color:var(--color-text); font-size:15px; }
.industries__tab.is-active{ background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.industries__tab.is-active strong{ color:#fff; }
.industries__panels{ flex:1; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; }
.industries__panel{ display:none; align-items:stretch; }
.industries__panel.is-active{ display:flex; flex-wrap:wrap; }
.industries__panel-image{ flex:1 1 320px; }
.industries__panel-image img{ width:100%; height:100%; object-fit:cover; min-height:280px; }
.industries__panel-content{ flex:1 1 280px; padding:30px; align-self:center; }
.industries__panel-title{ display:none; } /* chỉ hiện trên mobile, xem media query bên dưới */
.industries__mobile-nav{ display:none; } /* chỉ hiện trên mobile, xem media query bên dưới */
.link-arrow{ color:var(--color-primary); font-weight:600; }

/* ============ 4. PRICING ============ */
.pricing__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pricing-card{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:28px; position:relative; display:flex; flex-direction:column; }
.pricing-card--featured{ border:2px solid var(--color-primary); box-shadow:var(--shadow-md); transform:scale(1.02); }
.pricing-card__tag{ position:absolute; top:-14px; left:24px; background:var(--gradient-btn); color:#fff; font-size:12px; font-weight:700; padding:5px 14px; border-radius:999px; }
.pricing-card__name{ font-size:18px; margin-top:10px; }
.pricing-card__price{ margin-bottom:20px; }
.pricing-card__price-amount{ font-size:26px; font-weight:800; color:var(--color-primary); }
.pricing-card__price-suffix{ color:var(--color-text-light); font-size:13px; }
.pricing-card__desc{ font-size:14px; color:var(--color-text-light); margin-bottom:20px; padding-bottom:20px; border-bottom:1px dashed var(--color-border); }
.pricing-card__features{ flex:1; margin-bottom:22px; }
.pricing-card__features li{ display:flex; gap:8px; align-items:flex-start; font-size:14px; margin-bottom:10px; color:var(--color-text-light); }
.pricing-card__features i{ color:#12b76a; margin-top:3px; }
.pricing-card__toggle{ display:none; }

/* ============ 5. COMMITMENTS ============ */
.commitments__inner{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.commitments__image{ position:relative; margin-top:26px; }
.commitments__image img{ border-radius:var(--radius); }
.commitments__image-badge{ position:absolute; top:-14px; right:24px; width:44px; height:44px; border-radius:50%; background:var(--color-primary); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md); }
.accordion-item{ border:1px solid var(--color-border); border-radius:var(--radius-sm); margin-bottom:12px; overflow:hidden; }
.accordion-item__head{ width:100%; display:flex; align-items:center; gap:12px; background:#fff; border:0; padding:16px 18px; text-align:left; font-weight:600; }
.accordion-item__title{ flex:1; }
.accordion-item__head-text{ flex:1; }
.commitments-item__title{ margin:0; flex:1; }
.commitments-item__title .accordion-item__head{ width:100%; }
.commitments-item__title .accordion-item__head-text{ font-size:18px; font-weight:600; color:var(--color-text); }
.process-item__title{ margin:0; flex:1; }
.process-item__title .accordion-item__head{ width:100%; }
.process-item__title .accordion-item__head-text{ font-size:18px; font-weight:600; color:var(--color-text); }
.accordion-item__caret{ transition:transform .2s; color:var(--color-text-light); }
.accordion-item.is-open .accordion-item__caret{ transform:rotate(180deg); }
.accordion-item__icon{ width:40px; height:40px; border-radius:50%; background:var(--gradient-btn); color:#fff; font-size:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.process-item__num{ font-weight:800; font-size:14px; }
.accordion-item__body{ display:none; padding:0 18px 18px 18px; }
.accordion-item.is-open .accordion-item__body{ display:block; }

/* ============ 6. PROCESS ============ */
.process__grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; margin-bottom:30px; }
.process__image img{ border-radius:var(--radius); }
.process__cta{ text-align:center; }

/* ============ 7. TECH STACK ============ */
.tech-stack{ background:var(--color-bg-soft); }
.tech-stack__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; }
.tech-stack__col{ background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-sm); }
.tech-stack__col h3{ font-size:16px; margin-bottom:18px; }
.tech-stack__icons{ display:flex; flex-wrap:wrap; gap:18px; }
.tech-stack__icon{ width:44px; height:44px; }
.tech-stack__icon img{ width:100%; height:100%; object-fit:contain; }

/* ============ 8. FEATURES ============ */
.features__grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-bottom:30px; }
.features__list{ display:flex; flex-direction:column; gap:16px; }
.features__item{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:14px 18px; box-shadow:var(--shadow-sm); }
.features__item-icon{ width:38px; height:38px; border-radius:10px; background:var(--gradient-btn); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.features__image img{ border-radius:var(--radius); }
.features__cta{ text-align:center; }

/* ============ 9. TESTIMONIALS ============ */
.testimonials{ background:var(--color-bg-soft); }
.testimonials__carousel{ position:relative; }
.testimonials__viewport{ overflow:hidden; }
.testimonial-slide{ display:none; grid-template-columns:repeat(3,1fr); gap:24px; }
.testimonial-slide.is-active{ display:grid; }
.testimonial-card{ background:#fff; border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-sm); }
.testimonial-card__stars{ color:var(--color-accent); margin-bottom:14px; }
.testimonial-card__content{ font-style:normal; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--color-border); }
.testimonial-card__author strong{ display:block; color:var(--color-primary); font-size:16px; }
.testimonial-card__author span{ color:var(--color-text-light); font-size:13px; }

.testimonials__arrow{
	position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%;
	background:#fff; border:0; box-shadow:var(--shadow-md); color:var(--color-primary); font-size:15px;
	display:flex; align-items:center; justify-content:center; z-index:2;
}
.testimonials__arrow:hover{ background:var(--color-primary); color:#fff; }
.testimonials__arrow--prev{ left:-22px; }
.testimonials__arrow--next{ right:-22px; }

.testimonials__dots{ display:flex; justify-content:center; gap:8px; margin-top:26px; }
.testimonials__dot{ width:8px; height:8px; border-radius:50%; background:var(--color-border); cursor:pointer; transition:width .2s, background .2s; }
.testimonials__dot.is-active{ width:26px; border-radius:4px; background:var(--gradient-btn); }

/* ============ 10. KNOWLEDGE ============ */
.knowledge__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:10px; }
.knowledge__subheading{ font-size:20px; margin:30px 0 18px; }
.knowledge__slider{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
.knowledge-card{ flex:0 0 300px; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); scroll-snap-align:start; }
.knowledge-card__thumb img{ width:100%; height:170px; object-fit:cover; }
.knowledge-card__body{ padding:16px; }
.knowledge-card__date{ font-size:12px; color:var(--color-text-light); }
.knowledge-card__body h4{ font-size:15px; margin-top:8px; }

/* ============ 11. FAQ ============ */
.faq__grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.faq-item .accordion-item__head{ gap:14px; }
.faq-item__num{ font-weight:800; font-size:14px; }
.faq-item__title-wrap{ margin:0; flex:1; }
.faq-item__title-wrap .accordion-item__head{ width:100%; }
.faq-item__title-wrap .accordion-item__head-text{ font-size:18px; font-weight:600; color:var(--color-text); }

/* ============ Footer ============ */
.site-footer{ background:#0b1a3d; color:#c6cee2; }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:30px; padding:60px 20px 40px; }
.footer__col--brand .footer__logo{ display:inline-block; margin-bottom:12px; }
.footer__col--brand .footer__logo img{ max-height:44px; filter:brightness(0) invert(1); opacity:1; }
.footer__tagline{ font-size:16px; letter-spacing:.02em; color:#fff; font-weight:600; margin-bottom:10px; }
.footer__desc{ color:#9aa5c4; font-size:16px; }
.footer__dmca{ margin-top:14px; }
.footer__title{ color:#fff; font-size:16px; margin-bottom:16px; }
.footer__menu li{ margin-bottom:10px; }
.footer__menu a{ color:#c6cee2; font-size:16px; }
.footer__menu a:hover{ color:#fff; }
.footer__bottom{ border-top:1px solid rgba(255,255,255,.08); }
.footer__bottom-inner{ display:grid; grid-template-columns:1.4fr 1fr; gap:30px; padding:30px 20px; align-items:start; }
.footer__company h3{ color:#fff; font-size:17px; }
.footer__meta p{ font-size:16px; margin-bottom:8px; color:#c6cee2; }
.footer__meta a{ color:#c6cee2; }
.footer__social{ display:flex; align-items:center; gap:10px; margin-top:14px; font-size:16px; }
.footer__social a{ width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; }
.footer__map iframe{ border-radius:var(--radius-sm); }
.footer__legal{ grid-column:1/-1; font-size:16px; color:#7f8ab0; margin-top:10px; }
.footer__copyright{ text-align:center; padding:18px 20px; font-size:16px; color:#7f8ab0; border-top:1px solid rgba(255,255,255,.06); }

/* ============ Process Detail (Quy trình thiết kế, đánh số xen kẽ) ============ */
.process-detail{ background:var(--color-bg-soft); }
.process-detail__step{
	display:flex; align-items:center; gap:50px; margin-bottom:50px;
}
.process-detail__step.is-reverse{ flex-direction:row-reverse; }
.process-detail__media{ flex:1 1 45%; }
.process-detail__heading{ display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.process-detail__num{ font-size:38px; font-weight:800; color:var(--color-primary); line-height:1; }
.process-detail__title{ font-size:20px; margin:0; }
.process-detail__image img{ border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.process-detail__files{ display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }
.process-detail__file{
	display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--color-border);
	border-radius:var(--radius-sm); padding:10px 14px; font-size:13px; font-weight:600; color:var(--color-text); box-shadow:var(--shadow-sm);
}
.process-detail__file-icon{ color:#e0433d; font-size:18px; flex-shrink:0; }
.process-detail__content{
	flex:1 1 55%; background:#fff; border-radius:var(--radius); padding:30px; box-shadow:var(--shadow-sm);
}
.process-detail__list{ display:flex; flex-direction:column; gap:12px; margin-top:14px; }
.process-detail__list li{ display:flex; align-items:flex-start; gap:10px; font-weight:600; font-size:14px; color:var(--color-text); }
.process-detail__list i{ color:var(--color-primary); margin-top:3px; }

/* ============ Trang Liên hệ ============ */
.contact-banner{
	background:linear-gradient(120deg,#eef4ff 0%,#f7faff 60%,#eef4ff 100%);
	text-align:center; padding:56px 0;
}
.contact-banner__icon{
	display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px;
	border-radius:50%; background:var(--gradient-btn); color:#fff; font-size:22px; margin-bottom:16px;
}
.contact-banner__inner h1{ font-size:30px; margin-bottom:10px; }
.contact-banner__inner p{ max-width:640px; margin:0 auto; }

.contact-form__grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:30px; align-items:start; }
.contact-form__box{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow-sm); }
.contact-form__box h2{ font-size:22px; margin-bottom:8px; }
.contact-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form__field{ margin-bottom:16px; }
.contact-form__field label{ display:block; font-size:14px; font-weight:600; margin-bottom:6px; }
.contact-form__field label span{ color:#e0433d; }
.contact-form__field input,
.contact-form__field textarea{
	width:100%; border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:12px 14px;
	font-family:var(--font-main); font-size:14px; color:var(--color-text); resize:vertical;
}
.contact-form__field input:focus,
.contact-form__field textarea:focus{ outline:none; border-color:var(--color-primary); }
.contact-form__checkboxes{ display:flex; flex-wrap:wrap; gap:10px 18px; }
.contact-form__checkbox{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:400; }
.contact-form__checkbox input{ width:auto; }
.contact-form__honeypot{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-form__notice{ display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:var(--radius-sm); font-size:14px; font-weight:600; margin-bottom:20px; }
.contact-form__notice--success{ background:#e7f9ef; color:#12793f; }
.contact-form__notice--error{ background:#fdeceb; color:#c0392b; }

.contact-form__info{ background:var(--gradient-btn); color:#fff; border-radius:var(--radius); padding:30px; }
.contact-form__info h3{ font-size:19px; margin-bottom:8px; }
.contact-form__info p{ color:rgba(255,255,255,.85); font-size:14px; margin-bottom:22px; }
.contact-form__info-list{ display:flex; flex-direction:column; gap:18px; }
.contact-form__info-list li{ display:flex; gap:14px; align-items:flex-start; }
.contact-form__info-list i{ font-size:18px; margin-top:2px; flex-shrink:0; }
.contact-form__info-list strong{ display:block; font-size:14px; margin-bottom:3px; }
.contact-form__info-list span,
.contact-form__info-list a{ color:rgba(255,255,255,.9); font-size:14px; }

.contact-form__map{ margin-top:36px; }
.contact-form__map-title{ text-align:center; font-size:20px; margin-bottom:18px; }
.contact-form__map iframe{ border-radius:var(--radius); }

/* ============ Page Banner (trang con, vd Bảng giá) ============ */
.page-banner{ background:linear-gradient(120deg,#001b6b,#0033cf 60%,#0057e0); padding:60px 0; }
.page-banner__title{ color:#fff; font-size:32px; margin-bottom:14px; }
.page-banner__desc{ color:rgba(255,255,255,.85); max-width:820px; margin:0; font-size:18px; }

/* ============ Logos Strip ============ */
.logos-strip{ padding:36px 0; overflow:hidden; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.logos-strip__track{ display:flex; width:max-content; animation: logos-scroll 30s linear infinite; }
.logos-strip__group{ display:flex; align-items:center; gap:60px; padding-right:60px; }
.logos-strip__item img{ height:34px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.7; transition:opacity .2s,filter .2s; }
.logos-strip__item img:hover{ filter:grayscale(0); opacity:1; }
@keyframes logos-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============ Benefits (Lý do đầu tư) ============ */
.benefits{ background:var(--color-bg-soft); }
.benefits__inner{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.benefits__desc p{ margin-bottom:14px; }
.benefits__image{ margin-top:20px; }
.benefits__image img{ border-radius:var(--radius); }
.benefits__right{ display:flex; flex-direction:column; gap:18px; }
.benefit-card{ display:flex; gap:16px; background:#fff; border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-sm); }
.benefit-card__icon{ width:44px; height:44px; border-radius:12px; background:var(--gradient-btn); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:18px; }
.benefit-card h3{ font-size:16px; margin-bottom:6px; }
.benefit-card p{ margin:0; font-size:14px; }

/* ============ Numbered Accordion (vd: Yếu tố ảnh hưởng) ============ */
.numbered-accordion__inner{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.numbered-item__head{ justify-content:space-between; }
.numbered-item__title{ font-weight:600; }
.numbered-item__num{ color:var(--color-primary); font-weight:800; font-size:15px; margin-left:12px; }
.numbered-item.is-open .accordion-item__head{ background:var(--color-bg-soft); }
.numbered-item.is-open{ border-color:var(--color-primary); }
.numbered-accordion__desc p{ margin-bottom:12px; }
.numbered-accordion__image{ margin-top:20px; }
.numbered-accordion__image img{ border-radius:var(--radius); }

/* ============ FAQ - biến thể 2 cột có ảnh (trang con) ============ */
.faq__inner{ display:grid; grid-template-columns:1fr 1.2fr; gap:50px; align-items:start; }
.faq__aside .section-head{ margin-bottom:24px; }
.faq__image img{ border-radius:var(--radius); }
.faq__grid--single{ grid-template-columns:1fr; }

/* ============ Blog / Archive ============ */
.blog-layout{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:40px; padding:40px 20px; }
.blog-main{ min-width:0; }

/* ---- Blog Header (banner + tìm kiếm + gợi ý + lọc chuyên mục) ---- */
.blog-header{ background:linear-gradient(135deg,#eaf1ff,#f7faff); padding-bottom:0; }
.blog-header__inner{ text-align:center; padding:50px 20px 34px; max-width:760px; }
.blog-header__icon{
	display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px;
	border-radius:50%; background:var(--gradient-btn); color:#fff; font-size:22px; margin-bottom:16px;
}
.blog-header__title{ font-size:32px; margin-bottom:10px; }
.blog-header__desc{ margin-bottom:26px; }
.blog-header__search{
	display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--color-border);
	border-radius:999px; padding:6px 8px 6px 20px; box-shadow:var(--shadow-sm); max-width:560px; margin:0 auto;
}
.blog-header__search i{ color:var(--color-text-light); }
.blog-header__search input{ flex:1; border:0; padding:10px 6px; font-family:var(--font-main); font-size:15px; }
.blog-header__search button{ background:var(--gradient-btn); color:#fff; border:0; width:40px; height:40px; border-radius:50%; flex-shrink:0; }
.blog-header__suggestions{ display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:16px; font-size:13px; color:var(--color-text-light); }
.blog-header__suggestions a{ color:var(--color-primary); font-weight:600; }
.blog-header__suggestions a:hover{ text-decoration:underline; }

.blog-header__filters{ border-top:1px solid var(--color-border); background:#fff; }
.blog-header__filters-inner{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; padding:18px 20px; }
.blog-filter-pill{
	background:var(--color-bg-soft); color:var(--color-text); font-size:14px; font-weight:600;
	padding:9px 20px; border-radius:999px; transition:background .2s, color .2s;
}
.blog-filter-pill:hover{ background:#dfe8fb; }
.blog-filter-pill.is-active{ background:var(--gradient-btn); color:#fff; }

/* ---- Lưới bài viết full-width (trang danh sách blog) ---- */
.blog-archive{ padding:40px 20px; }
.blog-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.blog-grid--wide{ grid-template-columns:repeat(4,1fr); }

.post-card{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow .2s, transform .2s; }
.post-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); }
.post-card__thumb{ position:relative; display:block; }
.post-card__thumb img{ width:100%; height:150px; object-fit:cover; }
.post-card__cat{
	position:absolute; left:10px; bottom:10px; background:var(--color-primary); color:#fff;
	font-size:11px; font-weight:700; padding:4px 12px; border-radius:999px;
}
.post-card__body{ padding:16px; }
.post-card__title{
	font-size:17px; margin:0 0 8px; line-height:1.4;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.post-card__title a{ color:var(--color-text); }
.post-card__excerpt{ font-size:13px; margin-bottom:12px; }
.post-card__meta{ display:flex; flex-wrap:wrap; gap:8px 12px; font-size:11px; color:var(--color-text-light); padding-top:10px; border-top:1px solid var(--color-border); }

/* ---- Phân trang (WordPress pagination) ---- */
.pagination{ margin-top:40px; }
.pagination .nav-links{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.pagination .page-numbers{
	display:flex; align-items:center; justify-content:center; min-width:40px; height:40px;
	padding:0 8px; border-radius:50%; background:#fff; border:1px solid var(--color-border);
	color:var(--color-text); font-weight:600; font-size:14px;
}
.pagination .page-numbers:hover{ background:var(--color-bg-soft); border-color:var(--color-primary); color:var(--color-primary); }
.pagination .page-numbers.current{ background:var(--gradient-btn); border-color:transparent; color:#fff; }
.pagination .page-numbers.dots{ background:none; border:0; }
.pagination .page-numbers.prev,
.pagination .page-numbers.next{ border-radius:999px; padding:0 16px; }

.widget{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:18px; margin-bottom:20px; }
.widget-title{ font-size:15px; margin-bottom:12px; }
.archive-title{ font-size:28px; margin-top:30px; }
.single-article__cats{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.single-article__cat{
	display:inline-block; background:var(--color-bg-soft); color:var(--color-primary);
	font-size:13px; font-weight:600; padding:5px 14px; border-radius:999px;
}
.single-article__cat:hover{ background:var(--color-primary); color:#fff; }
.single-article__title{ font-size:30px; margin-bottom:16px; }
.single-article__fb-share{
	display:inline-flex; align-items:center; gap:8px; background:var(--color-primary); color:#fff;
	font-size:14px; font-weight:600; padding:9px 18px; border-radius:999px; margin-bottom:16px;
}
.single-article__fb-share:hover{ opacity:.9; }
.single-article__meta{ display:flex; gap:16px; color:var(--color-text-light); font-size:14px; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--color-border); }

.single-article__thumb img{ max-width:100%; width:100%; height:auto; border-radius:var(--radius); margin-bottom:24px; }

/* ============ Sidebar: Bài viết liên quan ============ */
.related-posts-widget{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:20px; margin-bottom:20px; }
.related-posts-widget__title{ font-size:16px; margin-bottom:16px; }
.related-posts-widget__list{ display:flex; flex-direction:column; gap:16px; }
.related-posts-widget__item{ display:flex; gap:12px; }
.related-posts-widget__thumb{ width:80px; height:60px; flex-shrink:0; border-radius:var(--radius-sm); overflow:hidden; }
.related-posts-widget__thumb img{ width:100%; height:100%; object-fit:cover; }
.related-posts-widget__cat{ display:inline-block; background:var(--color-bg-soft); color:var(--color-primary); font-size:11px; font-weight:600; padding:2px 8px; border-radius:999px; margin-bottom:4px; }
.related-posts-widget__body h4{ font-size:14px; margin:0 0 6px; line-height:1.4; }
.related-posts-widget__meta{ display:flex; gap:10px; font-size:11px; color:var(--color-text-light); }

/* ============ Sidebar: CTA nhỏ ============ */
.sidebar-cta{ background:linear-gradient(135deg,#eaf1ff,#f4f8ff); border:1px solid #d6e4ff; border-radius:var(--radius); padding:22px; margin-bottom:20px; text-align:center; }
.sidebar-cta__title{ font-size:16px; margin-bottom:8px; }
.sidebar-cta__desc{ font-size:13px; margin-bottom:16px; }
/* ============ Entry Content (nội dung bài viết) ============ */
.entry-content{ font-size:16px; line-height:1.75; color:var(--color-text); max-width:100%; overflow-x:hidden; overflow-wrap:break-word; word-wrap:break-word; }
.entry-content > *:first-child{ margin-top:0; }

/* Chặn tràn tuyệt đối: nhiều ảnh/infographic/embed được chèn với style width cố định (vd 1600px)
   từ công cụ ngoài (Canva, Visme...) sẽ phá layout nếu không ép max-width ở đây. */
.entry-content *{ max-width:100% !important; box-sizing:border-box; }
.entry-content img,
.entry-content video,
.entry-content iframe{ height:auto; }

.entry-content h2{ font-size:26px; margin:40px 0 18px; scroll-margin-top:110px; }
.entry-content h3{ font-size:21px; margin:32px 0 14px; scroll-margin-top:110px; }
.entry-content h4{ font-size:18px; margin:26px 0 12px; }

.entry-content p{ margin:0 0 20px; color:var(--color-text); }

.entry-content ul,.entry-content ol{ margin:0 0 20px; padding-left:22px; }
.entry-content ul{ list-style:disc; }
.entry-content ol{ list-style:decimal; }
.entry-content li{ margin-bottom:8px; }
.entry-content li > ul,.entry-content li > ol{ margin-top:8px; margin-bottom:0; }

.entry-content a{ color:var(--color-primary); text-decoration:underline; text-underline-offset:2px; }
.entry-content strong{ color:var(--color-text); }

.entry-content img{ max-width:100%; width:auto; border-radius:var(--radius-sm); margin:24px auto; height:auto; }
.entry-content figure{ margin:24px 0; max-width:100%; }
.entry-content figcaption{ text-align:center; font-size:13px; color:var(--color-text-light); margin-top:8px; }

/* WordPress (trình soạn thảo cũ) thường chèn khung caption với style="width: ...px" cố định,
   dễ gây tràn ngang khi ảnh gốc lớn hơn cột nội dung - ép về tối đa 100% container. */
.entry-content .wp-caption{ max-width:100% !important; }
.entry-content .wp-caption img{ display:block; }
.entry-content .wp-caption-text{ text-align:center; font-size:13px; color:var(--color-text-light); padding:8px 0 0; }

.entry-content .alignleft{ float:left; margin:6px 24px 20px 0; max-width:100%; }
.entry-content .alignright{ float:right; margin:6px 0 20px 24px; max-width:100%; }
.entry-content .aligncenter{ display:block; margin:24px auto; float:none; max-width:100%; }
.entry-content .alignnone{ max-width:100%; }

.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object{ max-width:100%; }

.entry-content blockquote{
	margin:28px 0; padding:18px 22px; background:var(--color-bg-soft);
	border-left:4px solid var(--color-primary); border-radius:0 var(--radius-sm) var(--radius-sm) 0;
	font-style:italic; color:var(--color-text);
}
.entry-content blockquote p{ margin-bottom:10px; }
.entry-content blockquote p:last-child{ margin-bottom:0; }
.entry-content blockquote cite{ display:block; margin-top:10px; font-style:normal; font-size:13px; color:var(--color-text-light); }

.entry-content table{
	width:100%; border-collapse:collapse; margin:24px 0; font-size:14px;
	display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.entry-content table th,.entry-content table td{ border:1px solid var(--color-border); padding:10px 14px; text-align:left; }
.entry-content table th{ background:var(--color-bg-soft); font-weight:700; color:var(--color-text); }
.entry-content table tr:nth-child(even) td{ background:#fafbfd; }

.entry-content code{
	background:var(--color-bg-soft); color:#c0246b; padding:2px 6px; border-radius:4px;
	font-size:.9em; font-family:'SFMono-Regular',Consolas,Menlo,monospace;
}
.entry-content pre{
	background:#1c2230; color:#e6e9f0; padding:18px 20px; border-radius:var(--radius-sm);
	overflow-x:auto; margin:24px 0; font-size:14px; line-height:1.6;
}
.entry-content pre code{ background:none; color:inherit; padding:0; }

.entry-content hr{ border:0; border-top:1px solid var(--color-border); margin:32px 0; }
.entry-content::after{ content:""; display:table; clear:both; }
.page-content{ padding:50px 20px; max-width:900px; }
.page-title{ font-size:32px; margin-bottom:28px; }
.error-404__inner{ text-align:center; padding:100px 20px; }
.error-404__inner h1{ font-size:80px; color:var(--color-primary); }

/* ============ Search form & comments ============ */
.donawebvn-search-form{ display:flex; border:1px solid var(--color-border); border-radius:999px; overflow:hidden; }
.donawebvn-search-form input{ flex:1; border:0; padding:10px 14px; font-family:var(--font-main); }
.donawebvn-search-form button{ background:var(--color-primary); color:#fff; border:0; padding:0 16px; }
/* ============ Mục lục bài viết (Table of Contents) ============ */
.post-toc{
	background:var(--color-bg-soft); border:1px solid var(--color-border); border-radius:var(--radius);
	padding:20px 22px; margin-bottom:32px;
}
.post-toc__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.post-toc__title{ font-size:17px; margin:0; }
.post-toc__toggle{
	display:flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--color-text);
	border-radius:var(--radius-sm); padding:8px 12px; color:var(--color-text); flex-shrink:0;
}
.post-toc__toggle-caret{ transition:transform .2s; }
.post-toc.is-collapsed .post-toc__toggle-caret{ transform:rotate(180deg); }
.post-toc__list{
	list-style:decimal; padding-left:20px; margin:16px 0 0;
}
.post-toc.is-collapsed .post-toc__list{ display:none; }
.post-toc__item--h2{ margin-bottom:10px; font-weight:600; }
.post-toc__item--h2 > a{ color:var(--color-text); text-decoration:none; }
.post-toc__item--h2 > a:hover{ color:var(--color-primary); }
.post-toc__sublist{ list-style:none; padding-left:18px; margin-top:8px; }
.post-toc__item--h3{ margin-bottom:8px; font-weight:400; }
.post-toc__item--h3 > a{ color:var(--color-text-light); text-decoration:none; }
.post-toc__item--h3 > a:hover{ color:var(--color-primary); }

/* ============ Nút liên hệ nổi (Messenger / Zalo) ============ */
.floating-contact{
	position:fixed; right:20px; bottom:20px; z-index:250;
	display:flex; flex-direction:column; gap:14px;
}
.floating-contact__btn{
	width:56px; height:56px; border-radius:50%; overflow:hidden; background:#fff;
	box-shadow:var(--shadow-md); display:flex; align-items:center; justify-content:center;
	animation:floating-shake 4s ease-in-out infinite;
}
.floating-contact__btn:nth-child(2){ animation-delay:.4s; }
.floating-contact__btn img{ width:100%; height:100%; object-fit:cover; }
.floating-contact__btn:hover{ animation-play-state:paused; transform:scale(1.06); }

@keyframes floating-shake{
	0%, 85%, 100% { transform:rotate(0deg); }
	87% { transform:rotate(-14deg); }
	89% { transform:rotate(12deg); }
	91% { transform:rotate(-8deg); }
	93% { transform:rotate(6deg); }
	95% { transform:rotate(-3deg); }
}

@media (max-width:782px){
	.floating-contact{ display:none; }
	.hero__location-text{ font-size:12px; }
	.hero__core-values span{ font-size:11px; }
	.hero__core-values{ padding:10px 16px; }

	/* Bảng giá: trên mobile chỉ hiện mô tả ngắn, ẩn checklist, bấm "Xem thêm" mới xổ ra */
	.pricing-card__features{ max-height:0; overflow:hidden; margin-bottom:0; transition:max-height .3s ease; }
	.pricing-card__features-wrap.is-expanded .pricing-card__features{ max-height:1000px; margin-bottom:16px; }
	.pricing-card__toggle{
		display:flex; align-items:center; gap:6px; background:none; border:0; color:var(--color-primary);
		font-weight:700; font-size:13px; padding:6px 0 18px; font-family:var(--font-main);
	}
	.pricing-card__toggle i{ transition:transform .2s; font-size:11px; }
	.pricing-card__features-wrap.is-expanded .pricing-card__toggle i{ transform:rotate(180deg); }
}

/* ============ Thanh hành động cố định - CHỈ hiển thị trên mobile ============ */
.mobile-action-bar{ display:none; }
@media (max-width:782px){
	.mobile-action-bar{
		display:flex; position:fixed; left:0; right:0; bottom:0; z-index:220;
		background:#fff; box-shadow:0 -4px 16px rgba(20,30,60,.12); border-top:1px solid var(--color-border);
		padding:6px 4px calc(6px + env(safe-area-inset-bottom));
	}
	.mobile-action-bar__item{
		flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
		padding:6px 2px; color:var(--color-text); background:none; border:0; font-family:var(--font-main);
	}
	.mobile-action-bar__icon{
		width:28px; height:28px; display:flex; align-items:center; justify-content:center;
	}
	.mobile-action-bar__icon img{ width:100%; height:100%; object-fit:contain; }
	.mobile-action-bar__item span:last-child{ font-size:10px; font-weight:600; }
	.mobile-action-bar__item--call .mobile-action-bar__icon{
		animation:floating-shake 4s ease-in-out infinite;
	}
	/* Chừa khoảng trống cuối trang để không bị thanh hành động che mất nội dung/footer */
	body{ padding-bottom:64px; }
}

/* ============ Author Box (thay cho phần bình luận) ============ */
.author-box{
	margin-top:40px; background:linear-gradient(135deg,#eaf1ff,#f4f8ff);
	border:1px solid #d6e4ff; border-radius:var(--radius); padding:26px;
}
.author-box__label{ display:block; font-size:13px; color:var(--color-text-light); margin-bottom:10px; }
.author-box__main{ display:flex; align-items:center; gap:16px; }
.author-box__avatar{ position:relative; width:64px; height:64px; flex-shrink:0; }
.author-box__avatar img{ width:64px; height:64px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:var(--shadow-sm); }
.author-box__avatar-fallback{ width:64px; height:64px; border-radius:50%; background:#fff; border:2px solid #fff; box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:center; color:var(--color-primary); font-size:22px; }
.author-box__avatar-badge{
	position:absolute; right:-2px; bottom:-2px; width:20px; height:20px; border-radius:50%;
	background:var(--color-primary); color:#fff; display:flex; align-items:center; justify-content:center;
	font-size:10px; border:2px solid #fff;
}
.author-box__name{ display:flex; align-items:center; gap:8px; font-size:17px; margin:0; }
.author-box__verified{ color:var(--color-primary); font-size:15px; }
.author-box__role{
	display:inline-block; margin-top:6px; font-size:12px; font-weight:600; color:var(--color-primary);
	background:#fff; border:1px solid #d6e4ff; border-radius:999px; padding:3px 12px;
}
.author-box__bio{ margin:16px 0 0; font-size:14px; }
.author-box__share{ display:flex; gap:10px; margin-top:16px; }
.author-box__share-icon{
	width:34px; height:34px; border-radius:50%; background:#fff; border:1px solid #d6e4ff;
	color:var(--color-primary); display:flex; align-items:center; justify-content:center; font-size:14px;
}
.author-box__share-icon:hover{ background:var(--color-primary); color:#fff; border-color:var(--color-primary); }

/* ============ Responsive ============ */
@media (max-width: 1024px){
	.hero__features{ grid-template-columns:repeat(2,1fr); }
	.commitments__inner,.process__grid,.features__grid{ grid-template-columns:1fr; }
	.benefits__inner,.numbered-accordion__inner,.faq__inner{ grid-template-columns:1fr; }
	.testimonial-slide{ grid-template-columns:repeat(2,1fr); }
	.testimonials__arrow--prev{ left:0; }
	.testimonials__arrow--next{ right:0; }
	.contact-form__grid,.contact-form__row{ grid-template-columns:1fr; }
	.process-detail__step,.process-detail__step.is-reverse{ flex-direction:column; }
	.pricing__grid{ grid-template-columns:1fr; }
	.tech-stack__grid{ grid-template-columns:1fr; }
	.footer__top{ grid-template-columns:1fr 1fr; }
	.blog-layout{ grid-template-columns:1fr; }
	.blog-grid{ grid-template-columns:1fr; }
	.blog-grid--wide{ grid-template-columns:repeat(2,1fr); }
	.faq__grid{ grid-template-columns:1fr; }
}
@media (max-width: 782px){
	.main-nav{
		position:fixed; top:0; right:-100%; width:300px; max-width:85vw; height:100vh; background:#fff;
		box-shadow:-6px 0 30px rgba(20,30,60,.15); transition:right .3s ease; z-index:200;
		display:flex; flex-direction:column; padding:0;
	}
	.main-nav.is-open{ right:0; }
	.main-nav__mobile-head{
		display:flex; align-items:center; justify-content:space-between; padding:18px 20px;
		border-bottom:1px solid var(--color-border); flex-shrink:0;
	}
	.main-nav__mobile-title{ font-weight:800; font-size:18px; color:var(--color-primary); }
	.main-nav__close{ width:36px; height:36px; border-radius:50%; background:var(--color-bg-soft); border:0; color:var(--color-text); display:flex; align-items:center; justify-content:center; font-size:16px; }
	.main-nav__list{ flex-direction:column; align-items:stretch; gap:0; flex:1; overflow-y:auto; padding:10px 10px; }
	.main-nav__list li{ border-bottom:1px solid var(--color-border); }
	.main-nav__list li:last-child{ border-bottom:0; }
	.main-nav__list a{ display:flex; align-items:center; padding:14px 10px; font-size:16px; border-radius:0; }
	.main-nav__list a::after{ display:none; }
	.main-nav__list a:hover{ background:none; }
	.main-nav__list .sub-menu{ position:static; box-shadow:none; padding:0 0 0 16px; display:block; }
	.main-nav__list li:hover > .sub-menu{ display:block; }
	.main-nav__mobile-foot{ padding:16px 20px 22px; border-top:1px solid var(--color-border); flex-shrink:0; display:flex; flex-direction:column; gap:14px; }
	.main-nav__mobile-lang{ display:flex; justify-content:center; }

	.nav-overlay{
		display:block; position:fixed; inset:0; background:rgba(10,20,50,.5); z-index:150; opacity:0; visibility:hidden;
		transition:opacity .3s ease;
	}
	.nav-overlay.is-open{ opacity:1; visibility:visible; }

	.menu-toggle{ display:flex; }
	.site-header__actions{ display:none; }
	.hero__title{ font-size:30px; }
	.hero__features{ grid-template-columns:repeat(2,1fr); gap:10px; }
	.industries__wrap{ flex-direction:column; padding:16px; }
	.industries__tabs{ display:none; } /* thay bằng thanh mũi tên bên dưới để tránh vỡ layout */
	.industries__mobile-nav{
		display:flex; align-items:center; justify-content:space-between;
		background:#fff; border:1px solid var(--color-border); border-radius:999px;
		padding:10px 8px; margin-bottom:16px;
	}
	.industries__mobile-arrow{
		width:34px; height:34px; border-radius:50%; border:0; background:var(--color-bg-soft);
		color:var(--color-primary); display:flex; align-items:center; justify-content:center; flex-shrink:0;
	}
	.industries__mobile-label{ font-weight:700; font-size:14px; text-align:center; flex:1; }
	.industries__panel.is-active{ flex-direction:column; }
	.industries__panel-title{ display:block; text-align:center; font-size:17px; padding:16px 16px 0; }
	.industries__panel-image img{ min-height:auto; }
	.industries__panel-content{ padding:20px; text-align:center; }
	.footer__top{ grid-template-columns:1fr; }
	.footer__bottom-inner{ grid-template-columns:1fr; }
	.blog-grid--wide{ grid-template-columns:1fr; }
	.testimonial-slide{ grid-template-columns:1fr; }
}
