/* Màu sắc chủ đạo */
:root {
    --primary: #1a237e;    /* Xanh đậm - màu chủ đạo */
    --secondary: #1976d2;  /* Xanh nhạt - màu phụ */
    --accent: #ff9800;     /* Cam - màu nhấn */
    --text: #222;          /* Màu chữ chính */
    --light: #f4f7fb;      /* Màu nền nhạt */
    --white: #fff;
    --shadow: 0 4px 24px rgba(26,35,126,0.10);
  }
  
  /* Row Spacing */
  .row.row-cols-lg-3 {
      gap: 24px 0;
  }
  
  /* Cột trái, giữa, phải đều chiều cao */
  .full-row .container > .row {
    align-items: stretch;
  }
  
  /* Box chung */
  .box-outline {
    background: var(--white);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 28px 18px 22px 18px;
    margin-bottom: 0;
    transition: box-shadow 0.2s, background 0.2s;
  }
  
  /* Box Stats */
  .box-stats {
    background: linear-gradient(135deg, var(--primary) 80%, var(--accent) 100%);
    color: var(--white);
    box-shadow: 0 6px 32px rgba(26,35,126,0.13);
    border-radius: 18px;
    padding: 32px 18px 24px 18px;
    margin-bottom: 0;
    text-align: center;
  }
  .box-stats .counter {
    font-size: 4rem;
    font-weight: 900;
    color: #222;
    background: var(--white);
    border-radius: 12px;
    padding: 0.5rem 2rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 12px rgba(26,35,126,0.08);
  }
  .box-stats .title {
    font-size: 1.3rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 1rem;
    color: var(--white);
  }
  .box-stats .subtitle {
    font-size: 1.08rem;
    color: #e3eafc;
    font-weight: 600;
  }
  

  
  /* Box Partner */
  .box-partner {
    background: var(--light);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 24px 16px;
    margin-bottom: 0;
  }
  .box-partner .title {
    color: var(--primary);
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    text-align: center;
    letter-spacing: 1px;
  }
  .partnerSwiper {
      width: 100%;
      padding: 10px 0;
  }
  .partner-item {
      background: var(--white);
      border-radius: 12px;
      padding: 0.2rem 0.3rem;
      box-shadow: 0 3px 12px rgba(26,35,126,0.08);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      height: 100%;
      border: 1px solid rgba(26,35,126,0.05);
      position: relative;
      overflow: hidden;
  }
  .partner-item::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
      transition: left 0.5s;
  }
  .partner-item:hover::before {
      left: 100%;
  }
  .partner-item img {
      width: auto;
      filter: none;
      transition: all 0.3s ease;
      opacity: 0.85;
  }
  .partner-item:hover {
      box-shadow: 0 6px 20px rgba(26,35,126,0.12);
      transform: translateY(-2px) scale(1.03);
      border-color: rgba(255,152,0,0.3);
      background: linear-gradient(135deg, #fff 0%, #fafbff 100%);
  }
  .partner-item:hover img {
      transform: scale(1.05);
      opacity: 1;
  }
  
  /* Box Social */
  .box-social {
    background: var(--light);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 12px 10px;
    margin-bottom: 0;
  }
  .box-social .title {
    font-size: 1.13rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--primary);
  }
  .social-links {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
  }
  .social-icon {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(26,35,126,0.10);
    border: 1.5px solid #e3eafc;
    background: var(--white);
    transition: box-shadow 0.2s, transform 0.2s;
    opacity: 0.85;
  }
  .social-icon:hover {
    opacity: 1;
    transform: scale(1.13);
    box-shadow: 0 2px 10px var(--accent);
  }
  
  /* Box Recruit */
  .box-recruit {
    background: linear-gradient(135deg, #fffbe7 80%, #ffe0b2 100%);
    color: var(--primary);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 24px 16px;
    margin-bottom: 0;
  }
  .box-recruit .title {
    font-size: 1.18rem;
    font-weight: 800;
    margin-bottom: 8px;
    letter-spacing: 1px;
  }
  .box-recruit .subtitle {
    margin-bottom: 12px;
  }
  .box-recruit .subtitle small {
    font-size: 0.9rem;
    color: #666;
  }
  .box-recruit .banner {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(26,35,126,0.10);
    margin-bottom: 10px;
    transition: all 0.3s ease;
  }
  .box-recruit .banner:hover {
    transform: scale(1.02);
  }
  .box-recruit .qr-code {
    height: 80px;
  }
  
  /* Box Video */
  .box-video {
    background: var(--white);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 18px 10px;
  }
  .box-video .title {
    font-size: 1.08rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--primary);
  }
  .video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: var(--shadow);
  }
  .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
  }
  
  /* Security Feature Box */
  .security-feature-box {
      color: white;
      padding: 30px 20px;
      border-radius: 10px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
      transition: all 0.3s ease;
      min-height: 120px;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      line-height: 1.5;
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
      text-align: center;
      position: relative;
      overflow: hidden;
      letter-spacing: 1px;
  }
  
  .security-feature-box::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(255,255,255,0.1) 100%);
      pointer-events: none;
  }
  
  .security-feature-box:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  }
  
  /* Đảm bảo 4 cột bằng nhau */
  .row.row-cols-lg-4 .col {
      display: flex;
      align-items: stretch;
  }
  
  .row.row-cols-lg-4 {
      align-items: stretch;
  }
  
  /* News List */
  .news-list .news-item {
      background: var(--white) !important;
      color: #1a237e;
      display: flex;
      align-items: flex-start;
      border-radius: 14px;
      padding: 16px 18px;
      font-size: 1.01rem;
      font-family: 'Montserrat', Arial, sans-serif;
      font-weight: 600;
      margin-bottom: 22px;
      box-shadow: var(--shadow);
      border-left: 5px solid #1976d2;
      min-height: 90px;
      gap: 16px;
      transition: all 0.3s ease;
  }
  .news-list .news-item:hover {
      transform: translateX(5px);
      border-left-color: var(--accent) !important;
  }
  .news-thumb {
      width: 88px;
      height: 68px;
      object-fit: cover;
      border-radius: 8px;
      margin-right: 10px;
      flex-shrink: 0;
      background: #eee;
      box-shadow: 0 1px 6px rgba(26,35,126,0.13);
      overflow: hidden;
  }
  .news-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      overflow: hidden;
      text-align: left;
  }
  .news-content b {
      font-size: 1.08rem;
      font-weight: 800;
      margin-bottom: 4px;
      color: #1a237e;
      display: block;
      white-space: normal;
      overflow: hidden;
      text-overflow: ellipsis;
  }
  
  /* News Card Horizontal - Layout 2x2 */
  .news-card-horizontal {
      background: var(--white);
      border-radius: 16px;
      box-shadow: 0 4px 20px rgba(26,35,126,0.08);
      border: 1px solid rgba(26,35,126,0.05);
      overflow: hidden;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      position: relative;
  }
  
  .news-horizontal-image {
      width: 100%;
      height: 120px;
      object-fit: cover;
  }
  
  .news-horizontal-content {
      padding: 20px 18px;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: relative;
      z-index: 2;
  }
  
  .news-horizontal-title {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--primary);
      line-height: 1.4;
      margin: 0 0 10px 0;
      text-decoration: none;
      transition: color 0.3s ease;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }
  
  .news-horizontal-title:hover {
      color: var(--accent);
  }
  
  .news-horizontal-meta {
      margin-top: auto;
      padding-top: 8px;
      border-top: 1px solid rgba(26,35,126,0.08);
  }
  
  .news-horizontal-meta small {
      color: #666;
      font-weight: 500;
      font-size: 0.85rem;
  }
  
  /* Responsive */
  @media (max-width: 991px) {
      .box-outline { 
          font-size: 0.97rem; 
          padding: 14px 8px; 
      }
      .news-list .news-item { 
          font-size: 0.97rem; 
          flex-direction: column; 
          align-items: stretch; 
      }
      .news-thumb { 
          width: 100%; 
          height: 140px; 
          margin: 0 0 8px 0; 
      }
      .box-stats .counter {
          font-size: 2.8rem;
      }
      .box-stats .title {
          font-size: 1.1rem;
      }
      .security-feature-box {
          padding: 20px 15px;
          font-size: 14px;
      }
      .partnerSwiper {
          width: 100%;
          padding: 10px 0;
      }
      .partner-img {
          width: 140px !important;
          height: 140px !important;
          object-fit: contain;
      }
      .btn-view-more-service {
          padding: 14px 32px;
          font-size: 1rem;
          min-width: 240px;
      }
      .btn-view-more-service i {
          width: 28px;
          height: 28px;
          margin-left: 8px;
      }
  }
  @media (max-width: 768px) {
      .box-stats .counter {
          font-size: 2.2rem;
      }
      .security-feature-box {
          padding: 20px 15px;
          font-size: 14px;
      }
      .red-title-banner {
          font-size: 1.3rem;
          padding: 12px 20px;
          margin: 0 0 25px 0;
          width: 100%;
      }
      .content-banner-section {
          padding: 15px 0;
          margin: 20px 0;
      }
      .btn-view-more-service {
          padding: 12px 28px;
          font-size: 0.95rem;
          min-width: 200px;
      }
      .btn-view-more-service i {
          width: 26px;
          height: 26px;
          margin-left: 6px;
      }
  }
  @media (max-width: 480px) {
      .partnerSwiper {
          width: 100%;
          padding: 10px 0;
      }
            .red-title-banner {
          font-size: 1.1rem !important;
          padding: 10px 15px;
          margin: 0 0 20px 0 !important;
          width: 100%;
      }
      .btn-view-more-service {
          padding: 10px 24px;
          font-size: 0.9rem;
          min-width: 180px;
      }
      .btn-view-more-service i {
          width: 24px;
          height: 24px;
          margin-left: 5px;
          font-size: 0.9rem;
      }

  }
  

  
  /* Đảm bảo 3 cột bằng nhau */
  .row.align-items-stretch {
      display: flex;
      align-items: stretch;
  }
  
  .col-lg-4, .col {
      display: flex;
      flex-direction: column;
      height: 100%;
  }
  
  .box-outline, .news-list {
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      height: 100%;
  }
  
  /* Nếu trong 1 cột có nhiều box nhỏ, chỉ box đầu tiên (hoặc box chính) mới flex: 1 */
  .box-partner, .box-social, .box-recruit, .box-video {
      flex: unset;
      height: auto;
  }
  
  .section-title {
      color: #fff !important;
      text-align: center;
  }
  
  .nav-on-banner {
    background-color: #2a3270;
  }
  
  /* Navigation styles */
  .nav-on-banner {
      position: relative;
  }
  

  
  /* Loading animation */
  .loading {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(255,255,255,0.8);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 9999;
  }
  

  

  
  /* Red Title Banner */
  .red-title-banner {
      background: linear-gradient(135deg, #dc2626 0%, #b91c1c 50%, #991b1b 100%) !important;
      color: white !important;
      font-size: 2rem;
      font-weight: bold;
      text-align: center;
      margin: 0 0 40px 0;
      padding: 15px 30px;
      border-radius: 0; /* Bỏ border-radius để full width */
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
      position: relative;
      display: block;
      width: 100%;
      box-shadow: 0 8px 25px rgba(220, 38, 38, 0.3);
  }
  
  /* Red Gradient Background for Service Cards */
  .bg-red-gradient {
      background: linear-gradient(135deg, #dc2626 0%, #b91c1c 50%, #991b1b 100%) !important;
      padding: 12px 16px !important;
  }
  
  /* Text Colors */
  .text-white {
      color: white !important;
  }
  
  .text-red {
      color: #dc2626 !important;
  }
  
  .hover-text-yellow:hover {
      color: #fbbf24 !important;
      text-shadow: 0 0 8px rgba(251, 191, 36, 0.5);
  }
  
  .hover-text-red-dark:hover {
      color: #991b1b !important;
      text-shadow: 0 0 5px rgba(220, 38, 38, 0.3);
  }
  
  /* Product image fixed height on desktop large */
  @media (min-width: 1400px) {
      .thumb-blog-default .overflow-hidden img {
          height: 320px;
          width: 100%;
          object-fit: cover;
      }
  }
  
  /* Product image fixed height on laptop */
  @media (min-width: 992px) and (max-width: 1399px) {
      .thumb-blog-default .overflow-hidden img {
          height: 300px;
          width: 100%;
          object-fit: cover;
      }
  }
  
  /* Product image fixed height on tablet */
  @media (min-width: 768px) and (max-width: 991px) {
      .thumb-blog-default .overflow-hidden img {
          height: 280px;
          width: 100%;
          object-fit: cover;
      }
  }
  
  /* Product image fixed height on mobile */
  @media (max-width: 767px) {
      .thumb-blog-default .overflow-hidden img {
          height: 317px;
          width: 100%;
          object-fit: cover;
      }
  }
  
  /* View More Service Button - Enhanced Design */
  .btn-view-more-service {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 16px 40px;
      background: linear-gradient(135deg, #dc2626 0%, #b91c1c 30%, #991b1b 70%, #7f1d1d 100%);
      color: white !important;
      border: none;
      border-radius: 50px;
      text-decoration: none;
      font-weight: 800;
      font-size: 1.1rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      box-shadow: 
          0 8px 30px rgba(220, 38, 38, 0.25),
          0 0 0 1px rgba(255, 255, 255, 0.1) inset;
      position: relative;
      overflow: hidden;
      min-width: 280px;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  }
  
  .btn-view-more-service::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.1) 50%, transparent 100%);
      transform: translateX(-100%);
      transition: transform 0.6s ease;
  }
  
  .btn-view-more-service::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #d97706 100%);
      opacity: 0;
      transition: opacity 0.4s ease;
      border-radius: 50px;
      z-index: -1;
  }
  
  .btn-view-more-service:hover::before {
      transform: translateX(100%);
  }
  
  .btn-view-more-service:hover::after {
      opacity: 1;
  }
  
  .btn-view-more-service:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 
          0 15px 40px rgba(220, 38, 38, 0.35),
          0 5px 15px rgba(251, 191, 36, 0.2);
  }
  
  .btn-view-more-service i {
      margin-left: 12px;
      font-size: 1rem;
      transition: all 0.3s ease;
      background: rgba(255, 255, 255, 0.2);
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  
  .btn-view-more-service:hover i {
      transform: translateX(8px) rotate(15deg);
      background: rgba(255, 255, 255, 0.3);
  }
  
  .btn-view-more-service span {
      position: relative;
      z-index: 2;
  }
  
  /* Professional Red Footer */
  .professional-footer {
      margin: 0;
      padding: 0;
      overflow: hidden;
  }
  
  .footer-gradient-bg {
      background: linear-gradient(135deg, #dc2626 0%, #b91c1c 30%, #991b1b 70%, #7f1d1d 100%);
      position: relative;
      padding: 30px 0;
  }
  
  .footer-gradient-bg::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: 
          radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
          radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08) 0%, transparent 50%),
          radial-gradient(circle at 40% 80%, rgba(255,255,255,0.06) 0%, transparent 50%);
      pointer-events: none;
  }
  
  .footer-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      position: relative;
      z-index: 2;
  }
  
  .footer-card {
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(15px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: 16px;
      padding: 25px 20px;
      text-align: center;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      position: relative;
      overflow: hidden;
  }
  
  .footer-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
      transition: left 0.5s;
  }
  
  .footer-card:hover::before {
      left: 100%;
  }
  
  .footer-card:hover {
      transform: translateY(-8px) scale(1.02);
      background: rgba(255, 255, 255, 0.15);
      border-color: rgba(251, 191, 36, 0.6);
      box-shadow: 
          0 20px 40px rgba(0, 0, 0, 0.3),
          0 0 30px rgba(251, 191, 36, 0.2);
  }
  
  .highlight-card {
      background: rgba(255, 255, 255, 0.1);
      border-color: rgba(255, 255, 255, 0.2);
  }
  
  .highlight-card:hover {
      background: rgba(255, 255, 255, 0.15);
      border-color: rgba(251, 191, 36, 0.6);
      box-shadow: 
          0 20px 40px rgba(0, 0, 0, 0.3),
          0 0 30px rgba(251, 191, 36, 0.2);
  }
  
  .card-icon {
      width: 60px;
      height: 60px;
      background: rgba(255, 255, 255, 0.2);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 15px;
      transition: all 0.3s ease;
  }
  
  .card-icon i {
      font-size: 24px;
      color: #fbbf24;
      transition: all 0.3s ease;
  }
  
  .footer-card:hover .card-icon {
      background: rgba(251, 191, 36, 0.3);
      transform: scale(1.1) rotate(5deg);
  }
  
  .footer-card:hover .card-icon i {
      color: white;
      transform: scale(1.1);
  }
  
  .card-content h4 {
      color: white;
      font-size: 1.1rem;
      font-weight: 700;
      margin-bottom: 10px;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  }
  
  .card-content h4 a {
      color: white;
      text-decoration: none;
      transition: all 0.3s ease;
      display: block;
      margin-bottom: 8px;
      font-size: 0.95rem;
      font-weight: 600;
  }
  
  .card-content h4 a:hover {
      color: #fbbf24;
      transform: translateX(5px);
      text-shadow: 0 0 10px rgba(251, 191, 36, 0.5);
  }
  
  .policy-links {
      display: flex;
      flex-direction: column;
      gap: 6px;
  }
  
  .policy-link {
      color: rgba(255, 255, 255, 0.9);
      text-decoration: none;
      font-size: 0.85rem;
      font-weight: 500;
      transition: all 0.3s ease;
      padding: 4px 0;
      border-left: 2px solid transparent;
      padding-left: 8px;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  }
  
  .policy-link:hover {
      color: #fbbf24;
      border-left-color: #fbbf24;
      transform: translateX(3px);
      text-shadow: 0 0 8px rgba(251, 191, 36, 0.5);
  }
  
  .card-content p {
      color: rgba(255, 255, 255, 0.9);
      font-size: 0.9rem;
      line-height: 1.5;
      margin: 0;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  }
  
  .phone-link, .zalo-link {
      color: #fbbf24 !important;
      text-decoration: none;
      font-weight: 600;
      transition: all 0.3s ease;
      display: inline-block;
  }
  
  .phone-link:hover {
      color: white !important;
      transform: scale(1.05);
      text-shadow: 0 0 10px rgba(251, 191, 36, 0.8);
  }
  
  .zalo-link:hover {
      color: white !important;
      transform: scale(1.05);
      text-shadow: 0 0 10px rgba(251, 191, 36, 0.8);
  }
  
  /* Footer Responsive */
  @media (max-width: 768px) {
      .footer-gradient-bg {
          padding: 25px 0;
      }
  
      .footer-container {
          grid-template-columns: 1fr;
          gap: 15px;
          padding: 0 15px;
      }
  
      .footer-card {
          padding: 20px 15px;
      }
  
      .footer-card:hover {
          transform: translateY(-4px) scale(1.01);
      }
  
      .card-icon {
          width: 50px;
          height: 50px;
          margin-bottom: 12px;
      }
  
      .card-icon i {
          font-size: 20px;
      }
  
      .card-content h4 {
          font-size: 1rem;
      }
  
      .card-content p {
          font-size: 0.85rem;
      }
  }
  
  /* ========================================
     HEADER STYLES
  ======================================== */
  
  /* Navbar line height override */
  .navbar-expand-lg .navbar-nav > li.nav-item {
      line-height: 40px;
  }
  
  .nav-on-banner {
      position: relative;
  }
  
  /* Body không cần padding ban đầu */
  body {
      padding-top: 0;
      transition: padding-top 0.3s ease;
  }
  
  /* Thêm padding khi scroll vì menu trở thành fixed */
  body.scrolled {
      padding-top: 50px;
  }
  
  /* Tối ưu hóa scroll performance */
  html {
      scroll-behavior: smooth;
  }
  
  * {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }
  
  /* Top Header Section - Nền trắng, không fixed */
  .top-header-section {
      background: white !important;
      box-shadow: 0 4px 15px rgba(220, 38, 38, 0.15);
      padding: 15px 0 !important;
      position: relative;
      width: 100%;
      transition: all 0.3s ease;
  }
  
  /* Ẩn header khi scroll */
  .top-header-section.scrolled {
      display: none;
  }
  
  .logo-container {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding-left: 20px;
  }
  
  .company-logo {
      height: 70px;
      width: auto;
      object-fit: contain;
      transition: all 0.3s ease;
  }
  
  /* Logo không thay đổi khi scroll */
  
  .company-title-container {
      text-align: center;
      padding-right: 20px;
  }
  
  .banner-image {
      max-width: 100%;
      height: auto;
      object-fit: contain;
      transition: all 0.3s ease;
      transform-origin: center;
  }
  
  /* Banner không thay đổi khi scroll */
  
  .company-title {
      color: #dc2626;
      font-size: 2.2rem;
      font-weight: 800;
      margin: 0;
      text-transform: uppercase;
      letter-spacing: 1px;
      text-shadow: 1px 1px 3px rgba(220, 38, 38, 0.1);
      line-height: 1.2;
  }
  
  .company-subtitle {
      color: #666;
      font-size: 1rem;
      font-weight: 600;
      margin: 5px 0 0 0;
      font-style: italic;
  }
  
  /* Modal phóng to banner */
  .banner-modal {
      display: none;
      position: fixed;
      z-index: 99999999;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.9);
      animation: fadeIn 0.3s ease;
  }
  
  .banner-modal-content {
      position: relative;
      margin: auto;
      padding: 20px;
      width: 90%;
      max-width: 1200px;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  
  .banner-modal-content img {
      max-width: 100%;
      max-height: 90%;
      object-fit: contain;
      border-radius: 10px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
      animation: zoomIn 0.3s ease;
  }
  
  .banner-close {
      position: absolute;
      top: 15px;
      right: 35px;
      color: #fff;
      font-size: 40px;
      font-weight: bold;
      cursor: pointer;
      z-index: 999999999;
      background: rgba(0, 0, 0, 0.5);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s ease;
  }
  
  .banner-close:hover {
      background: rgba(220, 38, 38, 0.8);
      transform: scale(1.1);
  }
  
  @keyframes zoomIn {
      from {
          transform: scale(0.8);
          opacity: 0;
      }
      to {
          transform: scale(1);
          opacity: 1;
      }
  }
  
  /* Menu đỏ kích thích thị giác */
  .main-nav {
      background: linear-gradient(135deg, #dc2626 0%, #b91c1c 50%, #991b1b 100%) !important;
      box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3);
      border-bottom: 1px solid rgba(251, 191, 36, 0.3);
      position: relative;
      z-index: 999;
      width: 100%;
      transition: all 0.3s ease;
  }
  
  /* Menu fixed khi scroll */
  .scrolled .main-nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
  }
  
  .main-nav .navbar {
      background: transparent !important;
      min-height: 38px;
  }
  
  /* Menu items đều nhau - Hoàn toàn sát nhau */
  .main-nav .navbar-nav {
      width: 100%;
      display: flex !important;
      align-items: center !important;
      margin: 0 !important;
      padding: 0 !important;
      gap: 0 !important;
  }
  
  .main-nav .nav-item {
      flex: none !important;
      text-align: center !important;
      margin: 0 !important;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      width: max-content !important;
  }
  
  /* Override template margin - Menu gần nhau hơn */
  .main-nav .navbar-expand-lg .navbar-nav .nav-item,
  .navbar-expand-lg .navbar-nav .nav-item {
      margin: 0 !important;
      padding: 0 !important;
      line-height: 38px !important;
  }
  
  /* Override template CSS từ file template.css */
  .main-nav .navbar-expand-lg .navbar-nav .nav-item {
      margin: 0 !important;
  }
  
  /* Đảm bảo dropdown menu không ảnh hưởng layout */
  .main-nav .dropdown-toggle::after {
      margin-left: 5px !important;
  }
  
  /* Force override tất cả spacing - Menu hoàn toàn sát nhau */
  .main-nav .nav-item + .nav-item {
      margin-left: 0 !important;
  }
  
  .main-nav .navbar-nav > .nav-item {
      margin: 0 !important;
      padding: 0 !important;
  }
  
  .main-nav .container {
      padding-left: 0 !important;
      padding-right: 0 !important;
  }
  
  .main-nav .nav-link {
      color: #fff !important;
      font-weight: 600;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
      transition: all 0.3s ease;
      padding: 10px 20px !important;
      white-space: nowrap;
      font-size: 0.9rem;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      height: 100%;
      text-align: center;
      width: max-content !important;
      min-height: 38px !important;
      margin: 0 !important;
      border: none !important;
  }
  
  .main-nav .nav-link:hover {
      color: #fbbf24 !important;
      transform: translateY(-2px);
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }
  
  .main-nav .dropdown-menu {
      background: #dc2626 !important;
      border: 2px solid #fbbf24;
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  }
  
  .main-nav .dropdown-item {
      color: #fff !important;
      transition: all 0.3s ease;
  }
  
  .main-nav .dropdown-item:hover {
      background: #b91c1c !important;
      color: #fbbf24 !important;
      padding-left: 25px;
  }
  
  /* Navbar Toggle Button */
  .main-nav .navbar-toggler {
      border: none;
      padding: 4px 8px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 4px;
      display: none;
  }
  
  .main-nav .navbar-toggler:focus {
      box-shadow: none;
  }
  
  .main-nav .navbar-toggler-icon {
      color: #fff;
      font-size: 18px;
  }
  
    /* Header Responsive */
  @media (max-width: 768px) {
      /* Bỏ fixed header trên mobile */
      body {
          padding-top: 0 !important;
      }

      body.scrolled {
          padding-top: 0 !important;
      }

      .top-header-section {
          position: relative !important;
      }

      .main-nav {
          position: relative !important;
      }

      .scrolled .main-nav {
          position: relative !important;
          top: auto !important;
      }
  
      .top-header-section {
          padding: 10px 0 !important;
      }
  
      .logo-container {
          padding-left: 10px;
      }
  
      .company-logo {
          height: 45px;
          width: auto;
      }
  
      .company-title-container {
          padding-right: 10px;
          text-align: left;
      }
  
      .company-title {
          font-size: 1.3rem;
          letter-spacing: 0.4px;
          line-height: 1.1;
      }
  
      .company-subtitle {
          font-size: 0.8rem;
          line-height: 1.2;
      }
  
      .main-nav .navbar {
          padding: 2px 0 !important;
          min-height: 35px;
      }
  
      .main-nav .nav-link {
          padding: 6px 3px !important;
          font-size: 0.8rem;
      }
  
      .main-nav .navbar-nav {
          flex-wrap: wrap !important;
          gap: 0 !important;
      }
  
      .main-nav .nav-item {
          flex: none !important;
          width: max-content !important;
          margin: 0 !important;
      }
  
      /* Show toggle button on tablet */
      .main-nav .navbar-toggler {
          display: block !important;
      }
  
      /* Collapse menu on tablet */
      .main-nav .navbar-collapse {
          background: #dc2626;
          margin-top: 10px;
          border-radius: 8px;
          padding: 10px;
      }
  
      .main-nav .navbar-collapse.show .navbar-nav {
          flex-direction: column;
          gap: 5px;
      }
  
      .main-nav .navbar-collapse.show .nav-item {
          flex: none !important;
          width: 100%;
          text-align: center;
      }
  
      .banner-modal-content {
          padding: 10px;
      }
  
      .banner-close {
          top: 10px;
          right: 15px;
          font-size: 30px;
          width: 40px;
          height: 40px;
      }
  }
  
    @media (max-width: 480px) {
      /* Bỏ fixed header trên mobile nhỏ */
      body {
          padding-top: 0 !important;
      }

      body.scrolled {
          padding-top: 0 !important;
      }

      .top-header-section {
          position: relative !important;
      }

      .main-nav {
          position: relative !important;
      }

      .scrolled .main-nav {
          position: relative !important;
          top: auto !important;
      }
  
      .top-header-section {
          padding: 8px 0 !important;
      }
  
      .top-header-section .row {
          align-items: center;
      }
  
      .logo-container {
          padding-left: 5px;
          justify-content: flex-start;
      }
  
      .company-logo {
          height: 35px;
          width: auto;
      }
  
      .company-title-container {
          padding-right: 5px;
          text-align: left;
      }
  
      .company-title {
          font-size: 0.9rem;
          letter-spacing: 0.3px;
          line-height: 1.1;
          word-spacing: 1px;
          margin-bottom: 2px;
      }
  
      .company-subtitle {
          font-size: 0.6rem;
          margin-top: 0;
          line-height: 1.2;
          word-spacing: 0.5px;
      }
  
      .main-nav .navbar {
          padding: 1px 0 !important;
          min-height: 30px;
      }
  
      .main-nav .nav-link {
          padding: 5px 1px !important;
          font-size: 0.7rem;
      }
  
      .main-nav .navbar-nav {
          gap: 0 !important;
      }
  
      .main-nav .nav-item {
          flex: none !important;
          width: max-content !important;
          margin: 0 !important;
      }
  
      /* Show toggle button on mobile */
      .main-nav .navbar-toggler {
          display: block !important;
      }
  
      /* Collapse menu on mobile */
      .main-nav .navbar-collapse {
          background: #dc2626;
          margin-top: 8px;
          border-radius: 6px;
          padding: 8px;
      }
  
      .main-nav .navbar-collapse.show .navbar-nav {
          flex-direction: column;
          gap: 3px;
      }
  
      .main-nav .navbar-collapse.show .nav-item {
          flex: none !important;
          width: 100%;
          text-align: center;
      }
  
      .banner-modal-content {
          padding: 5px;
      }
  
      .banner-close {
          top: 5px;
          right: 10px;
          font-size: 25px;
          width: 35px;
          height: 35px;
      }
  }

  p{
    line-height: 1.5;
  }

  /* Thiết lập khoảng cách chữ và dòng cho toàn bộ layout */
  body, html {
      letter-spacing: 0.05em;
      line-height: 1.5;
  }

  /* ====== Bố cục và style cho blog/news/product detail ====== */
  .content-bg {
      background: #f5f7fa;
      padding: 40px 0;
  }
  .single-post, .blog-sidebar {
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 2px 16px rgba(44,62,80,0.07);
      padding: 32px 28px;
      margin-bottom: 32px;
  }
  .blog-sidebar .widget-title {
      background: none;
      color: #261a74;
      font-weight: 700;
      border-bottom: 3px solid #261a74;
      padding: 0 0 8px 0;
      margin-bottom: 18px;
      font-size: 18px;
      letter-spacing: 0.01em;
  }
  .blog-sidebar ul {
      padding-left: 0;
      list-style: none;
  }
  .blog-sidebar li {
      margin-bottom: 12px;
  }
  .blog-sidebar li a {
      color: #222;
      font-weight: 500;
      border-radius: 4px;
      padding: 6px 12px;
      display: block;
      transition: background 0.2s, color 0.2s;
  }
  .blog-sidebar li a:hover {
      background: #e3eafc;
      color: #261a74;
  }
  @media (max-width: 991px) {
      .single-post, .blog-sidebar { padding: 18px 10px; }
      .content-bg { padding: 16px 0; }
  }
  .content-blog {
      font-size: 18px;
      color: #333;
      line-height: 1.6;
      letter-spacing: 0.01em;
      word-break: break-word;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  }
  .content-blog span{
    font-size: 18px !important;
  }
  .content-blog h1,
  .content-blog h2,
  .content-blog h3,
  .content-blog h4,
  .content-blog h5,
  .content-blog h6 {
      color: #261a74;
      font-weight: 700;
      line-height: 1.3;
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      font-family: inherit;
  }
  .content-blog h1 { font-size: 28px; }
  .content-blog h2 { font-size: 24px; border-bottom: 1px solid #e3eafc; padding-bottom: 0.3em; }
  .content-blog h3 { font-size: 20px; }
  .content-blog h4 { font-size: 18px; }
  .content-blog h5 { font-size: 16px; }
  .content-blog h6 { font-size: 14px; }
  .content-blog p {
      margin-bottom: 1.2em !important;
      text-align: justify;
      color: #333;
  }
  .content-blog ul, .content-blog ol {
      margin: 1.2em 0 1.2em 2em;
      padding-left: 1.5em;
  }
  .content-blog li {
      margin-bottom: 0.5em;
      line-height: 1.6;
      color: #333;
  }
  .content-blog blockquote {
      border-left: 4px solid #261a74;
      background: #f8f9fa;
      padding: 1em 1.5em;
      margin: 1.5em 0;
      color: #555;
      font-style: italic;
      border-radius: 0 4px 4px 0;
  }
  .content-blog strong {
      color: #261a74;
      font-weight: 600;
  }
  .content-blog em {
      color: #261a74;
      font-style: italic;
  }
  .content-blog hr {
      border: none;
      height: 1px;
      background: #ecf0f1;
      margin: 2em 0;
  }
  .content-blog a {
      color: #261a74;
      text-decoration: none;
      border-bottom: 1px solid transparent;
      transition: all 0.2s ease;
  }
  .content-blog a:hover {
      color: #1976d2;
      border-bottom-color: #1976d2;
  }
  .content-blog table {
      width: 100%;
      border-collapse: collapse;
      margin: 1.5em 0;
      border: 1px solid #ecf0f1;
      border-radius: 4px;
      overflow: hidden;
  }
  .content-blog th, .content-blog td {
      padding: 0.75em;
      text-align: left;
      border-bottom: 1px solid #ecf0f1;
  }
  .content-blog th {
      background: #f8f9fa;
      color: #261a74;
      font-weight: 600;
  }
  .content-blog tr:nth-child(even) {
      background: #f8f9fa;
  }
  .content-blog tr:hover {
      background: #e3eafc;
  }
  .content-blog code {
      background: #f8f9fa;
      padding: 0.2em 0.4em;
      border-radius: 3px;
      font-family: "Courier New", monospace;
      color: #e74c3c;
  }
  .content-blog pre {
      background: #f8f9fa;
      padding: 1em;
      border-radius: 4px;
      overflow-x: auto;
      border: 1px solid #ecf0f1;
  }
  .content-blog h1 strong, 
  .content-blog h2 strong, 
  .content-blog h3 strong, 
  .content-blog h4 strong, 
  .content-blog h5 strong, 
  .content-blog h6 strong,
  .content-blog h1 b, 
  .content-blog h2 b, 
  .content-blog h3 b, 
  .content-blog h4 b, 
  .content-blog h5 b, 
  .content-blog h6 b {
      color: #261a74;
      font-weight: 900 !important;
      letter-spacing: 0.01em;
  }