/* ==========================================================================
   SVN-Gilroy Local Web Fonts (@font-face)
   ========================================================================== */
@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Thin.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Thin.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Thin%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Thin Italic.otf') format('opentype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Thin%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Thin Italic.otf') format('opentype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Xlight.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Xlight.otf') format('opentype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Xlight.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Xlight.otf') format('opentype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Xlight%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Xlight Italic.otf') format('opentype');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Xlight%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Xlight Italic.otf') format('opentype');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Light.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Light.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Light%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Light Italic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Light%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Light Italic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Regular.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Regular.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Medium.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Medium.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Medium%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Medium Italic.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Medium%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Medium Italic.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20SemiBold.otf') format('opentype'),
    url('../fonts/SVN-Gilroy SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20SemiBold.otf') format('opentype'),
    url('../fonts/SVN-Gilroy SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20SemiBold%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy SemiBold Italic.otf') format('opentype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20SemiBold%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy SemiBold Italic.otf') format('opentype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Bold.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Bold.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Bold%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Bold Italic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Bold%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Bold Italic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20XBold.otf') format('opentype'),
    url('../fonts/SVN-Gilroy XBold.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20XBold.otf') format('opentype'),
    url('../fonts/SVN-Gilroy XBold.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20XBold%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy XBold Italic.otf') format('opentype');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20XBold%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy XBold Italic.otf') format('opentype');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Black.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Black.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Black%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Black Italic.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Black%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Black Italic.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Heavy.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Heavy.otf') format('opentype');
  font-weight: 950;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Heavy.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Heavy.otf') format('opentype');
  font-weight: 950;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/SVN-Gilroy%20Heavy%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Heavy Italic.otf') format('opentype');
  font-weight: 950;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Gilroy';
  src: url('../fonts/SVN-Gilroy%20Heavy%20Italic.otf') format('opentype'),
    url('../fonts/SVN-Gilroy Heavy Italic.otf') format('opentype');
  font-weight: 950;
  font-style: italic;
  font-display: swap;
}

/* ==========================================================================
   Tam Đa - Responsive & Fluid Clamp Typography Stylesheet
   Chuẩn hóa Responsive, Fluid Typography (CSS clamp), W3C & WCAG Accessibility
   ========================================================================== */

:root {
  /* Fluid Typography Scale using CSS clamp(min, preferred, max)
     Calculated smoothly from 320px viewport to 1440px+ viewport */
  --text-hero: clamp(2.25rem, 1.5rem + 3vw, 4rem);
  /* ~36px -> 64px */
  --text-h1: clamp(2rem, 1.4rem + 2.5vw, 3.5rem);
  /* ~32px -> 56px */
  --text-h2: clamp(1.85rem, 1.35rem + 2vw, 2.85rem);
  /* ~30px -> 46px */
  --text-h3: clamp(1.4rem, 1.15rem + 1.2vw, 2rem);
  /* ~22px -> 32px */
  --text-h4: clamp(1.15rem, 1.05rem + 0.6vw, 1.5rem);
  /* ~18px -> 24px */
  --text-lead: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem);
  /* ~17px -> 20px */
  --text-body: clamp(0.875rem, 0.84rem + 0.2vw, 1rem);
  /* ~14px -> 16px */
  --text-sm: clamp(0.75rem, 0.72rem + 0.15vw, 0.875rem);
  /* ~12px -> 14px */
  --text-stat: clamp(2.75rem, 1.75rem + 3.8vw, 4.75rem);
  /* ~44px -> 76px */

  /* Spacing & Layout Tokens */
  --header-height: 80px;
  --topbar-height: 48px;
}

/* Base HTML & Body Settings for Anti-Overflow */
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 16px);
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
  max-width: 100vw;
  font-size: var(--text-body);
  line-height: 1.6;
}

/* Anti-orphan text wrapping & balance */
h1,
h2,
h3,
h4,
h5,
h6,
.text-clamp-hero,
.text-clamp-h1,
.text-clamp-h2,
.text-clamp-h3 {
  text-wrap: balance;
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

/* Fluid Heading Utilities */
.text-clamp-hero {
  font-size: var(--text-hero) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
}

.text-clamp-h1 {
  font-size: var(--text-h1) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.035em !important;
}

.text-clamp-h2 {
  font-size: var(--text-h2) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.03em !important;
}

.text-clamp-h3 {
  font-size: var(--text-h3) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
}

.text-clamp-h4 {
  font-size: var(--text-h4) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

.text-clamp-lead {
  font-size: var(--text-lead) !important;
  line-height: 1.5 !important;
}

.text-clamp-body {
  font-size: var(--text-body) !important;
}

.text-clamp-stat {
  font-size: var(--text-stat) !important;
  line-height: 1.1 !important;
}

/* Responsive Image Guard */
img,
svg,
video,
iframe {
  max-width: 100%;
  height: auto;
}

/* Prevent container breaking on mobile */
.container {
  width: 100%;
  padding-left: clamp(1rem, 3vw, 2.5rem);
  padding-right: clamp(1rem, 3vw, 2.5rem);
}

/* ==========================================================================
   Header & Slant Layout Fixes
   ========================================================================== */

/* Slant background padding compensation so "TRANG CHỦ" is never clipped */
.nav-slant {
  clip-path: polygon(42px 0, 100% 0, 100% 100%, 0% 100%);
}

.nav-slant-sticky {
  clip-path: polygon(48px 0, 100% 0, 100% 100%, 0% 100%);
}

@media (min-width: 1024px) {
  .nav-slant-inner {
    padding-left: 2rem;
  }
}

/* About Section Heading: 2 crisp lines on all viewports */
.about-hero-heading {
  font-size: clamp(1.05rem, 4.8vw, 2.75rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.03em !important;
}
.about-hero-heading span {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* ==========================================================================
   Floating Hotline Widget: Smart Mobile Responsive
   ========================================================================== */

@keyframes phone-ring-shake {

  0%,
  100% {
    transform: rotate(0) scale(1);
  }

  10%,
  20% {
    transform: rotate(-12deg) scale(1.05);
  }

  30%,
  40% {
    transform: rotate(12deg) scale(1.05);
  }

  50%,
  60% {
    transform: rotate(-12deg) scale(1.05);
  }

  70%,
  80% {
    transform: rotate(12deg) scale(1.05);
  }

  90% {
    transform: rotate(0) scale(1);
  }
}

.phone-shake {
  animation: phone-ring-shake 1.3s ease-in-out infinite;
}

/* On mobile (< 768px), keep hotline compact icon to not obscure cards/buttons */
.floating-hotline-btn {
  position: fixed;
  bottom: clamp(1rem, 3vw, 1.75rem);
  left: clamp(1rem, 3vw, 1.75rem);
  z-index: 50;
  display: flex;
  align-items: center;
  text-decoration: none;
}

.floating-hotline-text {
  display: none;
  background-color: #233869;
  color: #ffffff;
  padding: 0.5rem 1.25rem 0.5rem 2.5rem;
  border-radius: 9999px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
  margin-left: -1.75rem;
  transition: all 0.3s ease;
}

@media (min-width: 768px) {
  .floating-hotline-text {
    display: flex;
  }
}

/* Expand text on mobile touch/hover if user interacts */
.floating-hotline-btn:hover .floating-hotline-text,
.floating-hotline-btn:focus .floating-hotline-text {
  display: flex;
}

/* ==========================================================================
   Card & Grid Micro-Adjustments on Mobile
   ========================================================================== */

/* Safe touch target sizes for mobile */
button,
a {
  touch-action: manipulation;
}

/* Accessible focus visible ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #233869;
  outline-offset: 2px;
}




/* Tắt hoàn toàn giãn cách chữ (letter-spacing) trên toàn bộ dự án */
*,
*::before,
*::after,
body,
.font-sans,
.font-mulish,
.font-gilroy,
p,
span,
a,
li,
input,
textarea,
select,
button,
.tamda_title,
.nav-hover-effect,
[class*="tracking-"],
.tracking-normal,
.tracking-wide,
.tracking-wider,
.tracking-widest {
  letter-spacing: normal !important;
}

/* Khoảng cách chữ gọn gàng hơn cho tiêu đề TORO 25 và hỗ trợ tracking tùy chỉnh */
.hero-toro-title,
.hero-toro-title span {
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
}

.tracking-tight,
.tracking-tight * {
  letter-spacing: -0.025em !important;
}

.tracking-tighter,
.tracking-tighter * {
  letter-spacing: -0.04em !important;
}


/* ==========================================================================
   Chuẩn hóa 100% Font toàn bộ website sang Gilroy (SVN-Gilroy)
   Bao gồm: toàn bộ nội dung, văn bản, tiêu đề, nút bấm, biểu mẫu, nhãn và toàn bộ class font
   ========================================================================== */
html,
body,
.font-sans,
.font-gilroy,
.font-mulish,
.font-mulish *:not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not([class*="fa-"]),
p,
span:not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not([class*="fa-"]),
a,
li,
input,
textarea,
select,
button,
label,
blockquote,
table,
td,
th,
div,
small,
strong,
em,
b,
h1,
h2,
h3,
h4,
h5,
h6,
.tamda_title,
.nav-hover-effect {
  font-family: 'Gilroy', 'SVN-Gilroy', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* ==========================================================================
   Bảo vệ & khôi phục toàn bộ icon Font Awesome 6
   ========================================================================== */
.fa,
.fas,
.far,
.fal,
.fad,
.fak,
.fa-solid,
.fa-regular,
.fa-brands,
[class^="fa-"],
[class*=" fa-"],
i.fa,
i.fas,
i.far,
i.fab,
i.fa-solid,
i.fa-regular,
i.fa-brands,
i[class*="fa-"] {
  font-family: "Font Awesome 6 Free" !important;
}

.fab,
.fa-brands,
i.fab,
i.fa-brands {
  font-family: "Font Awesome 6 Brands" !important;
}

/* ==========================================================================
   Typography chuẩn hóa cao cấp theo phong cách MIK Group:
   - Sentence case tự nhiên, không uppercase lộn xộn
   - Letter-spacing âm (-0.03em đến -0.035em) để các con chữ hút chặt vào nhau tạo thành khối đồ họa vững chắc
   - Line-height cô đọng (1.12 đến 1.16) cho tiêu đề nhiều dòng
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
section h1,
section h2,
section h3,
section h4,
.font-mulish.font-black,
.text-clamp-hero,
.text-clamp-h1,
.text-clamp-h2,
.text-clamp-h3,
.text-clamp-h4,
.section-title,
[class*="section"] h1,
[class*="section"] h2,
[class*="section"] h3,
[class*="section"] h4 {
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.03em !important;
}

/* Đồng bộ letter-spacing âm cho toàn bộ thẻ span và từ con nằm trong tiêu đề */
h1 *,
h2 *,
h3 *,
h4 *,
.text-clamp-hero *,
.text-clamp-h1 *,
.text-clamp-h2 *,
.text-clamp-h3 *,
.section-title * {
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

.text-clamp-hero,
.text-clamp-hero span {
  font-size: var(--text-hero) !important;
  line-height: 1.10 !important;
  letter-spacing: -0.035em !important;
}

.text-clamp-h1,
.text-clamp-h1 span {
  font-size: var(--text-h1) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
}

.text-clamp-h2,
.text-clamp-h2 span,
.section-title,
.section-title span {
  font-size: var(--text-h2) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.03em !important;
}

.product-detail-title,
h2.product-detail-title {
  font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.75rem) !important;
  line-height: 1.25 !important;
}

.text-clamp-h3,
.text-clamp-h3 span {
  font-size: var(--text-h3) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.025em !important;
}

/* Card and article titles: Chuẩn 16px - 18px gọn gàng, cân đối */
article h3,
article h3 *,
article h4,
article h4 *,
.news-card h3,
.news-card h4 {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem) !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}

/* Breadcrumb typography: Rõ nét, chuẩn 15px - 17px, không bị nhỏ lí tí */
nav[aria-label="Breadcrumb"],
nav[aria-label="Breadcrumb"] ol,
nav[aria-label="Breadcrumb"] li,
nav[aria-label="Breadcrumb"] a,
nav[aria-label="Breadcrumb"] span {
  font-size: clamp(0.9375rem, 0.9rem + 0.25vw, 1.0625rem) !important; /* 15px -> 17px */
  line-height: 1.5 !important;
}

/* Card sản phẩm: Đồng bộ typography với Công trình tiêu biểu, tự động co giãn vừa vặn trên responsive (14px mobile -> 16px tablet -> 18px desktop) */
.prod-card h3,
.prod-card h4,
.product-item h3,
.product-item h4 {
  font-family: inherit !important;
  font-size: 0.875rem !important; /* 14px trên mobile (lưới 2 cột gọn gàng, không bị to tràn chữ) */
  line-height: 1.35 !important;
  font-weight: 600 !important; /* font-mulish Semi-Bold chuẩn y hệt #du-an */
  letter-spacing: -0.02em !important;
  color: #233869 !important;
}

@media (min-width: 640px) {
  .prod-card h3,
  .prod-card h4,
  .product-item h3,
  .product-item h4 {
    font-size: 1rem !important; /* 16px trên tablet */
    line-height: 1.375 !important;
  }
}

@media (min-width: 1024px) {
  .prod-card h3,
  .prod-card h4,
  .product-item h3,
  .product-item h4 {
    font-size: 1.125rem !important; /* 18px (text-lg) trên desktop chuẩn y hệt #du-an */
    line-height: 1.375 !important;
    letter-spacing: -0.03em !important;
  }
}

.prod-card h3 a,
.prod-card h4 a,
.product-item h3 a,
.product-item h4 a {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 600 !important;
  letter-spacing: inherit !important;
  color: #233869 !important;
}

.prod-card h4:hover a,
.prod-card:hover h4 a,
.product-item h4:hover a,
.product-item:hover h4 a {
  color: #233869 !important;
}

/* Chỉ số thống kê (20+, 500+): To, đậm, nổi bật, chuẩn phong cách MIK Group */
.text-clamp-stat,
.text-clamp-stat *,
h3.text-clamp-stat,
h3.text-clamp-stat *,
h3.text-clamp-stat span,
.text-clamp-stat .stat-counter {
  font-size: var(--text-stat) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
}

/* Khối thành tựu trang Giới thiệu (about.html): Kích thước vừa vặn, tinh tế, không bị to */
.about-stat-title,
.about-stat-title *,
#about-achievements .about-stat-title,
#about-achievements .about-stat-title *,
#about-achievements .stat-counter,
#about-achievements h4 {
  font-size: clamp(1.25rem, 1.15rem + 0.3vw, 1.45rem) !important; /* ~20px - 23px gọn gàng, tinh tế, không bị tràn to */
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: #233869 !important;
}

/* Các nhãn phụ / badge phía trên tiêu đề section: không viết hoa (no uppercase) */
section span,
.sr-partner-info span,
.sr-quote-left span,
[class*="section"] span {
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Chuẩn hóa toàn bộ button và CTA: luôn là font bold (700) và không viết hoa */
button,
input[type="submit"],
input[type="button"],
.btn,
a[class*="rounded-full"],
a[class*="rounded-xl"],
a[class*="rounded-lg"],
a[class*="group/link"],
.prod-card .flex-1,
.prod-card a[href*="lien-he"],
.prod-card a[class*="rounded"] {
  font-weight: 700 !important;
  text-transform: none !important;
}

.tamda_title {
  line-height: 110% !important;
  font-weight: 800 !important;
  letter-spacing: normal !important;
}


/* Font XS upgrade to SM policy */
.text-xs {
  font-size: var(--text-sm) !important;
}

/* ==========================================================================
   Navigation Bar Styling: Luôn viết hoa (uppercase) và font-bold
   ========================================================================== */
.nav-hover-effect,
#sticky-header nav>a,
#sticky-header nav>div>a,
#hero-slider nav>a,
#hero-slider nav>div>a,
header nav>a,
header nav>div>a,
#mobile-drawer nav>a,
#mobile-drawer nav>div>button,
nav[aria-label*="điều hướng"]>a,
nav[aria-label*="điều hướng"]>div>a,
nav[aria-label*="Menu"]>a,
nav[aria-label*="Menu"]>div>a,
nav.mobile_nav a,
nav.primery_nav a {
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* Các mục con bên trong dropdown menu và mobile submenu giữ nguyên không viết hoa (normal-case) */
.dropdown-menu a,
.dropdown-menu span,
#mobile-submenu-products a,
#mobile-submenu-products span {
  text-transform: none !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
}

/* ==========================================================================
   Search Modal Transition & Polish
   ========================================================================== */
#search-modal {
  transition: opacity 0.25s ease-out, visibility 0.25s ease-out;
}

#search-modal.modal-active {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#search-modal.modal-active #search-modal-box {
  transform: translateY(0) scale(1) !important;
  opacity: 1 !important;
}

/* Nav breakpoint safeguard for laptop/tablet screens (1024px - 1279px) */
@media (min-width: 1024px) and (max-width: 1279px) {

  header nav,
  #hero-slider nav,
  #sticky-header nav {
    gap: 0.65rem !important;
    font-size: 12.5px !important;
  }
}

/* ==========================================================================
   Engineer Figure Positioning: Xích sang trái, thoáng đẹp, không đè chữ
   ========================================================================== */
@media (min-width: 1024px) {
  .engineer-figure {
    left: clamp(-160px, -8vw, -80px) !important;
  }

  .engineer-info-block {
    padding-left: clamp(180px, 14vw, 240px) !important;
  }
}

/* ==========================================================================
   Swiper Custom Styling for Projects (Công Trình Tiêu Biểu)
   ========================================================================== */
.project-swiper {
  width: 100%;
  padding-bottom: 0.5rem;
}

.project-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.project-swiper-pagination .swiper-pagination-bullet,
.vision-swiper-pagination .swiper-pagination-bullet,
.service-swiper-pagination .swiper-pagination-bullet {
  background: #cbd5e1;
  opacity: 1;
  transition: all 0.3s ease;
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  cursor: pointer;
  margin: 0 4px !important;
}

.project-swiper-pagination .swiper-pagination-bullet-active,
.vision-swiper-pagination .swiper-pagination-bullet-active,
.service-swiper-pagination .swiper-pagination-bullet-active {
  background: #233869 !important;
  width: 24px !important;
  border-radius: 9999px !important;
}

.project-swiper-btn,
.about-swiper-btn {
  width: 36px;
  height: 36px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #233869;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: all 0.2s ease;
  cursor: pointer;
}

.project-swiper-btn:hover,
.about-swiper-btn:hover {
  background: #233869;
  color: #ffffff;
  border-color: #233869;
}