/* CSS Variables */
:root {
  --primary-color: #0056b3; /* Industrial Blue */
  --primary-color-rgb: 0, 86, 179;
  --secondary-color: #064273; /* Dark Blue */
  --orange-color: #f59e0b; /* Highlight Orange */
  --orange-color-rgb: 245, 158, 11;
  --red-color: #a30013; /* Brand Red */
  --white-color: #ffffff;
  --black-color: #000000;
  --gray-light: #677170;
  --gray-border: #aaaaaa;
  --overlay-color: rgba(26, 47, 60, 0.67);
  --dark-color: #1a2f3c;

  /* Typography */
  --font-primary: "Open Sans", sans-serif;
  --font-secondary: "Raleway", sans-serif;

  /* Spacing */
  --header-height: 117px;
  --top-bar-height: 40px;
  --main-header-height: 77px;

  /* Transitions */
  --transition-base: 0.3s ease;
  --transition-fast: 0.2s ease;
  --transition-slow: 0.5s ease;

  --content-max-width: 800px;
  --content-padding: 3rem;
  --section-spacing: 4rem;
}
/* GSAP Helper Classes */
.gsap-animating {
  transition: none !important;
}

/* header start */
/* Header Styles */
.apluc-hn-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--white-color);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: var(--transition-base);
  -webkit-transition: var(--transition-base);
  -moz-transition: var(--transition-base);
  -ms-transition: var(--transition-base);
  -o-transition: var(--transition-base);
}

/* Top Bar */
.apluc-hn-top-bar {
  background: var(--white-color);
  border-bottom: 1px solid #f0f0f0;
}

.apluc-hn-top-menu {
  gap: 25px;
}

.apluc-hn-top-link {
  font-size: 14px;
  color: var(--gray-light);
  font-weight: 400;
  transition: var(--transition-base);
  position: relative;
}

.apluc-hn-top-link:hover {
  color: var(--red-color);
}

.apluc-hn-badge {
  position: absolute;
  top: -11px;
  right: -20px;
  background: var(--red-color);
  color: var(--white-color);
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 50px;
  min-width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Language Selector */
.apluc-hn-language-selector {
  padding-left: 15px;
  border-left: 1px solid var(--gray-border);
  color: var(--gray-light);
  font-size: 14px;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
}

.apluc-hn-language-selector i {
  font-size: 12px;
  transition: transform 0.3s ease;
}

.apluc-hn-language-selector.active i {
  transform: rotate(180deg);
}

.apluc-hn-language-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: var(--white-color);
  min-width: 150px;
  padding: 8px 0;
  border-radius: 8px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 1000;
}

.apluc-hn-language-selector.active .apluc-hn-language-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.apluc-hn-language-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 15px;
  color: var(--gray-light);
  transition: all 0.3s ease;
}

.apluc-hn-language-item:hover {
  background: rgba(var(--primary-rgb), 0.05);
  color: var(--primary-color);
}

.apluc-hn-language-item.active {
  color: var(--primary-color);
  background: rgba(var(--primary-rgb), 0.1);
}

.apluc-hn-language-item img {
  width: 20px;
  height: auto;
  border-radius: 2px;
}

/* Main Header */
.apluc-hn-main-header {
  padding: 15px 0;
  background: var(--white-color);
}

.apluc-hn-logo-link img {
  max-height: 80px;
  width: auto;
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition-delay: 0ms;
}

.apluc-hn-logo-placeholder {
  padding: 5px 0;
}

/* Navigation */
.apluc-hn-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  justify-content: space-evenly;
  margin-bottom: 0;
  padding: 0;
}
.apluc-hn-nav {
  flex: 1;
}
.apluc-hn-nav-link {
  font-size: clamp(0.9rem, 0.6304rem + 0.4348vw, 1rem);
  font-weight: 600;
  color: var(--black-color);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 0;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: var(--transition-base);
}

.apluc-hn-nav-link:hover {
  color: var(--red-color);
}

.apluc-hn-nav-link i {
  font-size: 12px;
  transition: var(--transition-base);
}

/* Dropdown Menu */
.apluc-hn-has-dropdown {
  position: relative;
}

.apluc-hn-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--white-color);
  min-width: 250px;
  padding: 20px 0;
  border-radius: 5px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: var(--transition-base);
  z-index: 999;
  list-style: none;
}

.apluc-hn-has-dropdown:hover .apluc-hn-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.apluc-hn-has-dropdown:hover .apluc-hn-nav-link i {
  transform: rotate(180deg);
}

.apluc-hn-dropdown-link {
  display: flex;
  padding: 12px 25px;
  color: var(--gray-light);
  font-size: 14px;
  transition: var(--transition-base);
  -webkit-transition: var(--transition-base);
  -moz-transition: var(--transition-base);
  -ms-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.apluc-hn-dropdown-link:hover {
  color: var(--red-color);
  background: #f8f9fa;
}

/* Sub Dropdown */
.apluc-hn-has-sub {
  position: relative;
}

.apluc-hn-sub-dropdown {
  position: absolute;
  top: 0;
  left: 100%;
  background: var(--white-color);
  min-width: 200px;
  padding: 20px 0;
  border-radius: 5px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateX(10px);
  transition: var(--transition-base);
  -webkit-transform: translateX(10px);
  -moz-transform: translateX(10px);
  -ms-transform: translateX(10px);
  -o-transform: translateX(10px);
  -webkit-transition: var(--transition-base);
  -moz-transition: var(--transition-base);
  -ms-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  list-style: none;
}

.apluc-hn-has-sub:hover .apluc-hn-sub-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.apluc-hn-sub-link {
  display: block;
  padding: 10px 20px;
  color: var(--gray-light);
  font-size: 13px;
  transition: var(--transition-base);
}

.apluc-hn-sub-link:hover {
  color: var(--red-color);
  background: #f8f9fa;
}

/* CTA Button */
.apluc-hn-cta-btn {
  background: var(--primary-color);
  color: var(--white-color);
  padding: 12px 24px;
  font-size: clamp(0.7rem, 0.1609rem + 0.8696vw, 0.9rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 8px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.apluc-hn-cta-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  z-index: -1;
  transition: all 0.5s ease;
}

.apluc-hn-cta-btn:hover {
  color: var(--white-color);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(var(--primary-rgb), 0.3);
}

.apluc-hn-cta-btn:hover::before {
  transform: scale(1.1);
}

.apluc-hn-cta-btn i {
  font-size: 16px;
}

/* Mobile Menu Toggle */
.apluc-hn-mobile-toggle {
  background: none;
  border: none;
  width: 30px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.apluc-hn-mobile-toggle span {
  width: 25px;
  height: 3px;
  background: var(--black-color);
  transition: var(--transition-base);
}

.apluc-hn-mobile-toggle:hover span {
  background: var(--red-color);
}

/* Mobile Menu */
.apluc-hn-mobile-menu {
  background: var(--white-color);
  width: 350px;
}

.apluc-hn-mobile-logo img {
  height: 40px;
}

.apluc-hn-mobile-list {
  padding: 0;
}

.apluc-hn-mobile-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 500;
  color: var(--black-color);
  transition: var(--transition-base);
}

.apluc-hn-mobile-link:hover {
  color: var(--red-color);
}

.apluc-hn-mobile-sub {
  max-height: 0;
  overflow: hidden;
  transition: var(--transition-slow);
}

.apluc-hn-mobile-sub.active {
  max-height: 500px;
}

.apluc-hn-mobile-sub-link {
  display: block;
  padding: 12px 0 12px 20px;
  color: var(--gray-light);
  font-size: 14px;
  border-bottom: 1px solid #f5f5f5;
  transition: var(--transition-base);
}

.apluc-hn-mobile-sub-link:hover {
  color: var(--red-color);
}

.apluc-hn-mobile-sub-sub {
  max-height: 0;
  overflow: hidden;
  transition: var(--transition-slow);
}

.apluc-hn-mobile-sub-sub.active {
  max-height: 300px;
}

.apluc-hn-mobile-sub-sub-link {
  display: block;
  padding: 10px 0 10px 40px;
  color: var(--gray-light);
  font-size: 13px;
  border-bottom: 1px solid #f8f8f8;
  transition: var(--transition-base);
}

.apluc-hn-mobile-sub-sub-link:hover {
  color: var(--red-color);
}

.apluc-hn-mobile-cta {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #f0f0f0;
}
/* Header Styles */
.apluc-hn-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
}

.apluc-hn-top-bar {
  transition: transform 0.4s ease;
}

.apluc-hn-main-header {
  padding: 15px 0;
  transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
}

.header-scrolled {
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
}

.header-scrolled .apluc-hn-main-header {
  padding: 10px 0;
}

/* Steam Particle Effect */
.header-steam-particle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: linear-gradient(
    to bottom,
    var(--primary-color) 10%,
    rgba(255, 255, 255, 0.8) 100%
  );
  border-radius: 50%;
  filter: blur(5px);
  opacity: 0;
  pointer-events: none;
}

/* Animation cho logo */

.header-scrolled .apluc-hn-logo img {
  max-height: 45px;
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition-delay: 0ms;
}

/* Hiệu ứng hover cho navigation */
.apluc-hn-nav-link {
  position: relative;
  transition: color 0.3s ease;
}

.apluc-hn-nav-link:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--primary-color, #1a1a1a);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}

.apluc-hn-nav-link:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}
.zalo-icon {
  width: 30px;
  height: 30px;
  object-fit: contain;
  transition: filter 0.3s ease;
  -webkit-transition: filter 0.3s ease;
  -moz-transition: filter 0.3s ease;
  -ms-transition: filter 0.3s ease;
  -o-transition: filter 0.3s ease;
}
.zalo-icon-text {
  font-size: 0.8rem;
}
/* header end */

/* Mobile Menu */
.mobile-menu-offcanvas {
  width: 320px;
  background: var(--white-color);
}

.mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  height: 70px;
}

.mobile-menu-logo img {
  height: 40px;
  width: auto;
}

.mobile-menu-close {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: var(--primary-color);
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.mobile-menu-close:hover {
  transform: rotate(90deg);
}

.mobile-menu-body {
  padding: 20px 15px;
  height: calc(100vh - 70px);
  overflow-y: auto;
}

/* Search Box */
.mobile-search {
  margin-bottom: 20px;
}

.mobile-search-form {
  position: relative;
}

.mobile-search-input {
  width: 100%;
  height: 44px;
  padding: 0 45px 0 15px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.3s ease;
}

.mobile-search-input:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1);
}

.mobile-search-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  height: 44px;
  border: none;
  background: transparent;
  color: var(--primary-color);
  font-size: 16px;
}

/* Language Selector */
.mobile-language {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mobile-language-item {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px 15px;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: var(--text-color);
  font-size: 14px;
  transition: all 0.3s ease;
}

.mobile-language-item.active {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: #fff;
}

.mobile-language-item img {
  width: 20px;
  height: auto;
}

/* Menu Items */
.mobile-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-menu-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mobile-menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mobile-menu-label {
  color: var(--text-color);
  font-weight: 500;
  font-size: 15px;
  flex: 1;
  text-transform: uppercase;
}

.mobile-submenu-toggle {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: var(--primary-color);
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.mobile-submenu-toggle.active {
  transform: rotate(180deg);
}

/* Submenu */
.mobile-submenu {
  display: block !important;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  padding-left: 15px;
  border-left: 2px solid var(--primary-color);
  margin: 0;
  transform-origin: top;
  transform: translateY(-10px);
  -webkit-transform: translateY(-10px);
  -moz-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  -o-transform: translateY(-10px);
  list-style: none;
}

.mobile-submenu.show,
.mobile-submenu-child.show {
  max-height: 2000px;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mobile-submenu-toggle {
  transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

.mobile-submenu-toggle.active {
  transform: rotate(-180deg);
  color: var(--primary-color);
}

/* Submenu Item Animations */
.mobile-submenu-item,
.mobile-submenu-child-item {
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.3s ease;
  transition-delay: 0.1s;
}

.mobile-submenu.show .mobile-submenu-item,
.mobile-submenu-child.show .mobile-submenu-child-item {
  opacity: 1;
  transform: translateX(0);
}

/* Stagger animation for submenu items */
.mobile-submenu.show .mobile-submenu-item:nth-child(1) {
  transition-delay: 0.1s;
}
.mobile-submenu.show .mobile-submenu-item:nth-child(2) {
  transition-delay: 0.15s;
}
.mobile-submenu.show .mobile-submenu-item:nth-child(3) {
  transition-delay: 0.2s;
}
.mobile-submenu.show .mobile-submenu-item:nth-child(4) {
  transition-delay: 0.25s;
}
.mobile-submenu.show .mobile-submenu-item:nth-child(5) {
  transition-delay: 0.3s;
}

/* Enhanced submenu styling */
.mobile-submenu {
  background: rgba(var(--primary-rgb), 0.02);
  border-radius: 8px;
}

.mobile-submenu-child {
  background: rgba(var(--primary-rgb), 0.03);
  border-left: 1px solid rgba(var(--primary-rgb), 0.2);
  border-radius: 6px;
  margin: 5px 0;
  padding: 5px 0 5px 15px;
}

.mobile-menu-label,
.mobile-submenu-label {
  position: relative;
  padding: 12px 0;
  display: block;
  font-weight: 500;
  color: var(--text-color);
  transition: all 0.3s ease;
}

.mobile-menu-label:hover,
.mobile-submenu-label:hover {
  color: var(--primary-color);
  transform: translateX(5px);
}

.mobile-submenu-child-link {
  padding: 10px 15px;
  display: block;
  color: var(--text-color);
  font-size: 14px;
  transition: all 0.3s ease;
  border-radius: 6px;
  margin: 2px 0;
}

.mobile-submenu-child-link:hover {
  background: rgba(var(--primary-rgb), 0.05);
  color: var(--primary-color);
  transform: translateX(5px);
}

/* Mobile menu item hover effect */
.mobile-menu-item {
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.mobile-menu-item::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--primary-color);
  transition: width 0.3s ease;
}

.mobile-menu-item:hover::after {
  width: 100%;
  display: none;
}

/* CTA Button */
.mobile-cta {
  margin-top: 30px;
  text-align: center;
}

.mobile-cta-btn {
  width: 100%;
  height: 48px;
  border: none;
  background: var(--primary-color);
  color: #fff;
  font-weight: 500;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
}

.mobile-cta-btn:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
}

/* Contact Modal */
.contact-info {
  padding: 25px;
}

.contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 25px;
  padding: 20px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(5px);
  border: 1px solid rgba(var(--primary-rgb), 0.1);
  transition: all 0.3s ease;
}

.contact-info-item:hover {
  background: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(var(--primary-rgb), 0.1);
}

.contact-info-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: var(--white-color);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}

.contact-info-content {
  flex: 1;
}

.contact-info-content h6 {
  margin: 0 0 15px;
  font-size: 18px;
  font-weight: 600;
  color: var(--text-color);
}

.contact-info-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contact-info-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--primary-color);
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
  padding: 8px 15px;
  border-radius: 8px;
  background: rgba(var(--primary-rgb), 0.05);
}

.contact-info-link:hover {
  color: var(--secondary-color);
  background: rgba(var(--primary-rgb), 0.1);
  transform: translateX(5px);
}

.contact-info-link i {
  font-size: 18px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Modal Backdrop */
.modal-backdrop.show {
  opacity: 0.7;
  backdrop-filter: blur(5px);
}

/* Contact Modal */
.contact-modal .modal-dialog {
  max-width: 500px;
}

.contact-modal .modal-content {
  border: none;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.contact-modal .modal-header {
  padding: 20px 25px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.modal-title-wrap {
  display: flex;
  align-items: center;
  gap: 15px;
}

.modal-title-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-color);
  font-size: 20px;
}

.contact-modal .modal-title {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--text-color);
}

.contact-modal .btn-close {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  opacity: 1;
  transition: all 0.3s ease;
}

.contact-modal .btn-close:hover {
  background: rgba(0, 0, 0, 0.2);
  transform: rotate(90deg);
}

/* Ripple Effect */
.apluc-hn-cta-btn,
.mobile-cta-btn {
  position: relative;
  overflow: hidden;
}

.ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transform: scale(0);
  animation: ripple 0.6s linear;
  pointer-events: none;
}

@keyframes ripple {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* Button hover states */
.apluc-hn-cta-btn:hover,
.mobile-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(var(--primary-rgb), 0.3);
}

.apluc-hn-cta-btn:active,
.mobile-cta-btn:active {
  transform: translateY(1px);
}
/* slider start */

/* Hero Section */
.apluc-hn-hero {
  position: relative;
  overflow: hidden;
}

.apluc-hn-contact-sidebar {
  position: absolute;
  right: 0;
  top: 40%;
  transform: translateY(-50%);
  z-index: 100;
}

.apluc-hn-contact-btn {
  background: var(--red-color);
  color: var(--white-color);
  padding: 40px 15px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 2px;
  cursor: pointer;
  transition: var(--transition-base);
}

.apluc-hn-contact-btn:hover {
  background: #8b0010;
}

/* Hero Slider */
.apluc-hn-hero-slider {
  width: 100%;
  height: 100%;
}

.apluc-hn-slide-placeholder {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.apluc-hn-slide {
  position: relative;
  width: 100%;
  height: 100%;
}

.apluc-hn-slide-bg {
  position: relative;

  z-index: 1;
}
.apluc-hn-slide-bg-image-box {
  position: relative;
  --bs-aspect-ratio: calc(9 / 21 * 100%);
}

.apluc-hn-slide-bg-image-box video,
.apluc-hn-slide-bg-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apluc-hn-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apluc-hn-slide-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--overlay-color);
  z-index: 2;
}
.apluc-hn-slide-content-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
.apluc-hn-slide-content {
  position: relative;
  z-index: 3;
  padding: 60px 0;
}

.apluc-hn-slide-title {
  font-size: clamp(1.2rem, 0.3385rem + 4.3077vw, 4rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--white-color);
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.apluc-hn-highlight {
  position: relative;
  display: inline-block;
}

.apluc-hn-highlight::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: -2%;
  right: -2%;
  height: 20px;
  background: var(--red-color);
  z-index: -1;
}

.apluc-hn-play-btn {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  color: var(--white-color);
  font-size: clamp(0.9rem, 0.8692rem + 0.1538vw, 1rem);
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: var(--transition-base);
}

.apluc-hn-play-btn i {
  width: 40px;
  height: 40px;
  background: var(--white-color);
  color: var(--red-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: var(--transition-base);
}

.apluc-hn-play-btn:hover {
  color: var(--white-color);
}

.apluc-hn-play-btn:hover i {
  transform: scale(1.1);
}

/* Slider Navigation */
.apluc-hn-slider-nav {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 20px;
  z-index: 10;
}

.apluc-hn-slider-prev,
.apluc-hn-slider-next {
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid var(--white-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white-color);
  cursor: pointer;
  transition: var(--transition-base);
  backdrop-filter: blur(10px);
}

.apluc-hn-slider-prev:hover,
.apluc-hn-slider-next:hover {
  background: var(--red-color);
  border-color: var(--red-color);
}

/* Slider Pagination */
.apluc-hn-slider-pagination {
  position: absolute;
  bottom: 100px;
  left: 50% !important;
  width: 100%;
  transform: translateX(-50%);
  display: flex;
  gap: 15px;
  z-index: 1000;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition-base);
  -webkit-transition: var(--transition-base);
  -moz-transition: var(--transition-base);
  -ms-transition: var(--transition-base);
  -o-transition: var(--transition-base);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.swiper-pagination-bullet-active {
  background: var(--white-color);
  transform: scale(1.2);
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
}

/* Animation States */
.apluc-hn-slide-content .gsap-slide-up {
  opacity: 0;
  transform: translateY(50px);
}

.apluc-hn-slide-content .gsap-fade-in {
  opacity: 0;
}

/* Loading States */
.apluc-hn-slide-img[loading="lazy"] {
  transition: opacity 0.5s ease;
}

.apluc-hn-slide-img[loading="lazy"]:not([src]) {
  opacity: 0;
}

/* Hover Effects */
.apluc-hn-nav-item:hover .apluc-hn-nav-link {
  color: var(--red-color);
}
.apluc-hn-nav-item.active .apluc-hn-nav-link {
  color: var(--primary-color);
}

.apluc-hn-has-dropdown:hover .apluc-hn-nav-link i {
  transform: rotate(180deg);
}

/* Focus States */
.apluc-hn-nav-link:focus,
.apluc-hn-dropdown-link:focus,
.apluc-hn-cta-btn:focus {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

/* Print Styles */
@media print {
  .apluc-hn-header,
  .apluc-hn-slider-nav,
  .apluc-hn-slider-pagination,
  .apluc-hn-contact-sidebar {
    display: none;
  }

  .apluc-hn-hero {
    margin-top: 0;
    height: auto;
    min-height: auto;
  }
}
.fancybox__content iframe {
  pointer-events: all !important;
}
/* slider end */

/* TRANG CHỦ START */
/* product section start */

/* ===== PRODUCTS SECTION ===== */
.apluc-hn-products {
  padding: 100px 0;
  background: #ffffff;
}

.apluc-hn-section-title {
  font-weight: 800;
  font-size: clamp(1.3rem, 1.1462rem + 0.7692vw, 1.8rem);
  color: #333333;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0;
  position: relative;
}

.apluc-hn-section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 2px;
  background: var(--apluc-hn-red);
}

.apluc-hn-product-card {
  background: #ffffff;
  border-radius: 0;
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
  box-shadow: none;
  border: 1px solid #e8e8e8;
}

.apluc-hn-product-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.apluc-hn-product-image {
  position: relative;
  overflow: hidden;
}
.apluc-hn-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  -webkit-transition: transform 0.5s ease;
  -moz-transition: transform 0.5s ease;
  -ms-transition: transform 0.5s ease;
  -o-transition: transform 0.5s ease;
}
.apluc-hn-product-card:hover .apluc-hn-product-image img {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}
.apluc-hn-product-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #666;
}

.apluc-hn-product-tag {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background: var(--apluc-hn-secondary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  z-index: 2;
}

.apluc-hn-product-title {
  font-weight: 600;
  color: var(--text-color);
  line-height: 1.2;
  font-size: clamp(0.9rem, 0.8077rem + 0.4615vw, 1.2rem);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.apluc-hn-product-title:hover {
  text-decoration: underline;
}

.apluc-hn-product-desc {
  font-size: clamp(0.85rem, 0.8192rem + 0.1538vw, 0.95rem);
  line-height: 1.7;
  color: #666666;
}

.apluc-hn-product-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  color: var(--apluc-hn-red);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  /* transition: all 0.3s ease; */
  border: 2px solid transparent;
  padding: 0;
  /* -webkit-transition: all 0.3s ease; */
  /* -moz-transition: all 0.3s ease; */
  /* -ms-transition: all 0.3s ease; */
  /* -o-transition: all 0.3s ease; */
}

.apluc-hn-product-link:hover {
  color: var(--apluc-hn-red);
  gap: 12px;
}

.apluc-hn-product-link i {
  font-size: 12px;
  transition: transform 0.3s ease;
}

.apluc-hn-product-link:hover i {
  transform: translateX(3px);
}
.apluc-hn-product-link {
  width: 100%;
}
.apluc-hn-product-link svg {
  width: 35px;
  height: 35px;
}
.apluc-product-view-more {
  color: #333;
  font-size: clamp(0.55rem, 0.5038rem + 0.2308vw, 0.7rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: var(--transition-base);
  -webkit-transition: var(--transition-base);
  -moz-transition: var(--transition-base);
  -ms-transition: var(--transition-base);
  -o-transition: var(--transition-base);
}
.apluc-hn-product-link:hover .apluc-product-view-more {
  color: var(--text-color);
}
.apluc-hn-product-content {
  flex: 1;
}
.apluc-hn-product-line {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 50%;
  height: 7px;
  background: var(--primary-color);
  transition: width 0.42s ease-in-out;
  -webkit-transition: width 0.42s ease-in-out;
  -moz-transition: width 0.42s ease-in-out;
  -ms-transition: width 0.42s ease-in-out;
  -o-transition: width 0.42s ease-in-out;
}
.apluc-hn-product-card:hover .apluc-hn-product-line {
  width: 100%;
}
.apluc-hn-product-card:hover .apluc-product-view-more {
  transform: translateX(5px);
  -webkit-transform: translateX(5px);
  -moz-transform: translateX(5px);
  -ms-transform: translateX(5px);
  -o-transform: translateX(5px);
}
.apluc-product-category-slider-prev {
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  z-index: 10;
  border-color: var(--primary-color);
}
.apluc-product-category-slider-prev.swiper-button-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.apluc-product-category-slider-prev:hover {
  background: var(--orange-color);
  border-color: var(--orange-color);
}
.apluc-product-category-slider-next {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  z-index: 10;
  border-color: var(--primary-color);
}
.apluc-product-category-slider-next.swiper-button-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.apluc-product-category-slider-next:hover {
  background: var(--orange-color);
  border-color: var(--orange-color);
}
.apluc-hn-slider-pagination.apluc-product-category-slider-pagination {
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  z-index: 10;
  justify-content: center;
  gap: 5px;
}
.apluc-product-category-slider-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(245, 158, 11, 0.8);
  border-radius: 50%;
  cursor: pointer;
}
.apluc-product-category-slider-pagination .swiper-pagination-bullet-active {
  background: var(--orange-color);
}
/* product section end */

/* industries section start */
/* ===== INDUSTRIES SECTION ===== */
.apluc-hn-industries {
  padding: 100px 0;
  background: #f8f9fa;
}

.apluc-hn-featured-industry {
  position: relative;
  border-radius: 0;
  padding-right: 100px;
}

.apluc-hn-featured-bg {
  position: relative;
}
.apluc-hn-featured-bg-image {
  overflow: hidden;
  --bs-aspect-ratio: 150%;
}
.apluc-hn-featured-bg-image a,
.apluc-hn-featured-bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apluc-hn-featured-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.2rem;
}

.apluc-hn-featured-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}

.apluc-hn-featured-content {
  color: #333333;
  display: flex;
  position: sticky;
  top: 30%;
}

.apluc-hn-featured-title {
  font-weight: 800;
  font-size: clamp(1.5rem, 1.3462rem + 0.7692vw, 2rem);
  color: #333333;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.apluc-hn-featured-desc {
  font-size: clamp(0.9rem, 0.8846rem + 0.0769vw, 0.95rem);
  line-height: 1.8;
  color: #666666;
}

.apluc-hn-featured-btn {
  display: inline-block;
  padding: 12px 30px;
  background: var(--primary-color);
  color: var(--white-color);
  text-decoration: none;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  align-self: flex-start;
  transition: background 0.3s ease, color 0.3s ease;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  -moz-transition: background 0.3s ease, color 0.3s ease;
  -ms-transition: background 0.3s ease, color 0.3s ease;
  -o-transition: background 0.3s ease, color 0.3s ease;
}

.apluc-hn-featured-btn:hover {
  background: var(--orange-color);
  color: var(--white-color);
}

.apluc-hn-industries-list {
  background: var(--white-color);
  overflow-y: auto;
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  width: 100%;
  max-width: 300px;
  background: var(--white-color);
}
.apluc-hn-featured-content-col-right {
  /* padding-left: 60px; */
}

.apluc-hn-industry-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 25px;
  border-bottom: 1px solid #e8e8e8;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1rem;
}

.apluc-hn-industry-item.active {
  background: var(--dark-color);
  color: var(--white-color);
  padding-left: 35px;
}

.apluc-hn-industry-item.active .apluc-hn-industry-name {
  color: var(--white-color);
  font-weight: 600;
}

.apluc-hn-industry-name {
  font-size: 15px;
  color: #333333;
  transition: all 0.3s ease;
}
.apluc-hn-industry-item:hover {
  background: rgba(26, 47, 60, 0.67);
  padding-left: 35px;
}
.apluc-hn-industry-item:hover .apluc-hn-industry-name {
  color: var(--white-color);
}
.apluc-hn-industry-item:last-of-type {
  border-bottom: none;
}

.apluc-hn-industry-item i {
  color: var(--apluc-hn-red);
  font-size: 14px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.apluc-hn-industry-item.active i {
  opacity: 1;
  color: var(--white-color);
}

.apluc-hn-industry-item:hover i {
  opacity: 1;
}
.steam-particle {
  position: absolute;
  width: 20px;
  height: 20px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  pointer-events: none;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
}

.apluc-hn-featured-content {
  will-change: clip-path;
  backface-visibility: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
}

.apluc-hn-featured-bg-image img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  -ms-transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.apluc-hn-featured-bg-image:hover img {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
}
/* Mobile Styles */
.apluc-hn-industries-mobile {
  padding: 40px 0;
  background: var(--industrial-bg, #f5f6f7);
}

.apluc-hn-industry-mobile-item {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(0);
  transition: transform 0.3s ease;
}

.apluc-hn-mobile-image {
  position: relative;
  overflow: hidden;
  --bs-aspect-ratio: 120%;
}

.apluc-hn-mobile-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apluc-hn-mobile-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.4) 0%,
    rgba(0, 0, 0, 0) 100%
  );
}

.apluc-hn-mobile-content {
  padding: 20px;
}

.apluc-hn-mobile-title {
  font-size: clamp(1.2rem, 0.9857rem + 1.0714vw, 1.5rem);
  font-weight: 600;
  color: var(--dark-color);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.apluc-hn-mobile-desc {
  font-size: 0.85rem;
  line-height: 1.6;
  color: #666666;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.apluc-hn-mobile-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--industrial-primary, #1a1a1a);
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.apluc-hn-mobile-btn:hover {
  background: var(--dark-color);
  transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
  -moz-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  -o-transform: translateY(-2px);
  color: var(--white-color);
}

.apluc-hn-mobile-btn svg {
  transition: transform 0.3s ease;
}

.apluc-hn-mobile-btn:hover svg {
  transform: translateX(4px);
}

/* Swiper Custom Styles */
.industriesSwiper {
  padding: 20px 10px 40px;
}

.industriesSwiper .swiper-pagination {
  bottom: 0;
}

.industriesSwiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--industrial-primary, #1a1a1a);
  opacity: 0.3;
  transition: all 0.3s ease;
}

.industriesSwiper .swiper-pagination-bullet-active {
  width: 20px;
  border-radius: 5px;
  opacity: 1;
}

/* Steam Effect */
.steam-particle-mobile {
  position: absolute;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  pointer-events: none;
}
/* industries section end */

/* service section start */

/* ===== SERVICES SECTION ===== */
.apluc-hn-services {
  padding: 100px 0 50px 0;
  background: var(--white-color);
  position: relative;
  /* overflow: hidden; */
}

/* Services Header Left Column */
.apluc-hn-services-header {
  position: sticky;
  top: 20%;
}

.apluc-hn-services-header .apluc-hn-section-title {
  font-size: clamp(1.5rem, 1.1077rem + 0.4615vw, 2rem);
  color: #333333;
  margin-bottom: 30px;
  letter-spacing: 0.5px;
  line-height: 1.3;
  position: relative;
}

.apluc-hn-services-header .apluc-hn-section-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(45deg, var(--primary-color), #ff6b6b);
  border-radius: 2px;
}

/* Modern Industrial Visual Container */
.apluc-hn-service-visual-container {
  margin: 40px 0;
  position: relative;
}

.apluc-hn-service-image-wrapper {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.apluc-hn-service-image-wrapper:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.15);
}

.apluc-hn-service-main-image {
  width: 100%;
  height: 400px;
  object-fit: cover;
  transition: all 0.6s ease !important;
  -webkit-transition: all 0.6s ease !important;
  -moz-transition: all 0.6s ease !important;
  -ms-transition: all 0.6s ease !important;
  -o-transition: all 0.6s ease !important;
}

.apluc-hn-service-image-wrapper:hover .apluc-hn-service-main-image {
  transform: scale(1.1);
}

/* Modern Overlay */
.apluc-hn-service-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(var(--primary-color-rgb, 0, 123, 255), 0.9) 0%, 
    rgba(0, 0, 0, 0.7) 100%);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.apluc-hn-service-image-wrapper:hover .apluc-hn-service-overlay {
  opacity: 1;
}

.apluc-hn-service-overlay-content {
  text-align: center;
  color: white;
  transform: translateY(30px);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.apluc-hn-service-image-wrapper:hover .apluc-hn-service-overlay-content {
  transform: translateY(0);
}

/* Service Icon */
.apluc-hn-service-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 30px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.apluc-hn-service-icon svg {
  width: 40px;
  height: 40px;
  color: white;
}

.apluc-hn-service-logo {
  width: 60px;
  height: auto;
  max-height: 60px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: all 0.3s ease;
}

.apluc-hn-service-icon:hover .apluc-hn-service-logo {
  transform: scale(1.1);
  filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));
}

/* Stats */
.apluc-hn-service-stats {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.apluc-hn-stat-item {
  text-align: center;
}

.apluc-hn-stat-number {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: white;
  line-height: 1;
}

.apluc-hn-stat-label {
  display: block;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 5px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Floating Elements */
.apluc-hn-service-floating-elements {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.apluc-hn-floating-circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 2px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.apluc-hn-float-1 {
  width: 100px;
  height: 100px;
  top: 20px;
  right: 30px;
  animation: float1 6s ease-in-out infinite;
}

.apluc-hn-float-2 {
  width: 60px;
  height: 60px;
  bottom: 40px;
  left: 40px;
  animation: float2 8s ease-in-out infinite;
}

.apluc-hn-float-3 {
  width: 40px;
  height: 40px;
  top: 50%;
  left: 20px;
  animation: float3 10s ease-in-out infinite;
}

@keyframes float1 {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(180deg); }
}

@keyframes float2 {
  0%, 100% { transform: translateX(0px) rotate(0deg); }
  50% { transform: translateX(20px) rotate(-180deg); }
}

@keyframes float3 {
  0%, 100% { transform: translateY(0px) translateX(0px) rotate(0deg); }
  33% { transform: translateY(-15px) translateX(10px) rotate(120deg); }
  66% { transform: translateY(10px) translateX(-10px) rotate(240deg); }
}

/* Services Grid Right Column */
.apluc-hn-services-grid {
  display: grid;
  gap: 40px;
}

.apluc-hn-service-item {
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.apluc-hn-service-item-inner {
  display: flex;
  gap: 25px;
  padding: 30px;
  background: #ffffff;
  border-radius: 15px;
  border: 1px solid #f0f0f0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.apluc-hn-service-item-inner::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(var(--primary-color-rgb, 0, 123, 255), 0.05), 
    transparent);
  transition: left 0.6s ease;
}

.apluc-hn-service-item:hover .apluc-hn-service-item-inner {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
  border-color: var(--primary-color);
}

.apluc-hn-service-item:hover .apluc-hn-service-item-inner::before {
  left: 100%;
}

/* Service Number */
.apluc-hn-service-number {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, var(--primary-color), #667eea);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.2rem;
  position: relative;
  overflow: hidden;
}

.apluc-hn-service-number::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #667eea, var(--primary-color));
  opacity: 0;
  transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -ms-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  z-index: -1;
}

.apluc-hn-service-item:hover .apluc-hn-service-number::before {
  opacity: 1;
}

.apluc-hn-service-number span {
  position: relative;
  z-index: 1;
}

/* Service Content */
.apluc-hn-service-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.apluc-hn-service-title {
  font-weight: 700;
  font-size: clamp(1.1rem, 1.0385rem + 0.3077vw, 1.3rem);
  color: #333333;
  margin-bottom: 15px;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.apluc-hn-service-item:hover .apluc-hn-service-title {
  color: var(--primary-color);
}

.apluc-hn-service-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #666666;
  margin-bottom: 25px;
  flex: 1;
}

/* Links and Buttons */
.apluc-hn-services-link,
.apluc-hn-service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  color: var(--primary-color);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.apluc-hn-services-link:hover,
.apluc-hn-service-link:hover {
  color: var(--primary-color);
  gap: 12px;
}

.apluc-hn-product-link:hover .apluc-product-view-more {
  transform: translateX(3px);
}

.apluc-hn-service-item .apluc-product-view-more,
.apluc-hn-services-header .apluc-product-view-more {
  font-size: clamp(0.8rem, 0.7385rem + 0.3077vw, 1rem);
  font-weight: 400;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.apluc-hn-service-item .apluc-hn-product-link svg,
.apluc-hn-services-header .apluc-hn-product-link svg {
  width: 30px;
  height: 30px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.apluc-hn-product-link:hover svg {
  transform: rotate(360deg);
}

/* Responsive Design */
@media (max-width: 992px) {
  .apluc-hn-services-header {
    position: static;
    margin-bottom: 50px;
  }
  
  .apluc-hn-service-main-image {
    height: 300px;
  }
  
  .apluc-hn-service-item-inner {
    flex-direction: column;
    text-align: center;
  }
  
  .apluc-hn-service-number {
    align-self: center;
  }
  
  .apluc-hn-service-stats {
    gap: 20px;
  }
}

@media (max-width: 576px) {
  .apluc-hn-services {
    padding: 60px 0 30px 0;
  }
  
  .apluc-hn-service-main-image {
    height: 250px;
  }
  
  .apluc-hn-service-item-inner {
    padding: 20px;
  }
  
  .apluc-hn-service-stats {
    flex-direction: column;
    gap: 15px;
  }
  
  .apluc-hn-stat-number {
    font-size: 1.5rem;
  }
}

/* service section end */

/* ===== TESTIMONIAL SECTION ===== */
.apluc-hn-testimonial {
  padding: 50px 0;
  background: var(--white-color);
}

.apluc-hn-quote-container {
  text-align: center;
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

.apluc-hn-quote-icon {
  font-size: 60px;
  color: var(--apluc-hn-red);
  margin-bottom: 30px;
}

.apluc-hn-quote {
  margin: 0;
  padding: 0;
}

.apluc-hn-quote-text {
  font-weight: 800;
  font-size: clamp(1.1rem, 0.8231rem + 1.3846vw, 2rem);
  line-height: 1.3;
  color: #333333;
  text-transform: uppercase;
  margin: 0;
  letter-spacing: 1px;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  padding: 0 25px;
}
.apluc-hn-quote-text::before {
  position: absolute;
  top: -10px;
  left: -10px;
  font-size: 2rem;
  color: var(--red-color);
  font-family: "FontAwesome";
  content: "\f10d";
}
.apluc-hn-quote-text::after {
  position: absolute;
  bottom: -10px;
  right: -10px;
  font-size: 2rem;
  color: var(--red-color);
  font-family: "FontAwesome";
  content: "\f10e";
}
.apluc-hn-quote-text .apluc-hn-highlight {
  color: var(--red-color);
}
/* sologan section end */

/* cta start */

/* ===== CTA SECTION ===== */
.apluc-hn-cta-section {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
  background: #1a1a1a;
}

.apluc-hn-cta-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-image: var(--background-cta);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.apluc-hn-cta-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.apluc-hn-cta-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
}

.apluc-hn-cta-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--white-color);
}

.apluc-hn-cta-title {
  font-weight: 600;
  font-size: clamp(1.5rem, 1.3385rem + 0.8235vw, 2rem);
  color: var(--white-color);
  text-transform: uppercase;
  margin-bottom: 40px;
  letter-spacing: 2px;
}

.apluc-hn-cta-button {
  display: inline-block;
  padding: 18px 40px;
  background: var(--primary-color);
  color: var(--white-color);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  border: none;
}

.apluc-hn-cta-button:hover {
  background: var(--red-color);
  color: var(--white-color);
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(163, 0, 19, 0.3);
}

/* cta end */

/* global presence start */

/* ===== GLOBAL PRESENCE SECTION ===== */
.apluc-hn-global {
  padding: 100px 0;
  background: var(--white-color);
  text-align: center;
}

.apluc-hn-global .apluc-hn-section-title {
  font-size: clamp(1rem, 0.8462rem + 0.7692vw, 1.5rem);
  color: #333333;
  margin-bottom: 80px;
  text-align: center;
  padding-left: 0;
}

.apluc-hn-global .apluc-hn-section-title::before {
  display: none;
}

.apluc-hn-stat-number {
  font-weight: 800;
  font-size: clamp(1.75rem, 1.2115rem + 2.6923vw, 3.5rem);
  line-height: 1;
  margin-bottom: 10px;
}

.apluc-hn-stat-label {
  font-size: clamp(0.75rem, 0.6885rem + 0.3077vw, 0.95rem);
  color: var(--white-color);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 400;
}
.apluc-hn-global .apluc-hn-stat-label {
  color: var(--text-color);
}

.apluc-hn-map-placeholder {
  border-radius: 0;
  background: var(--white-color);
}

.apluc-hn-global .apluc-hn-section-title {
  color: var(--text-color);
  max-width: 800px;
  margin: 0 auto;
  letter-spacing: 0.5px;
}
.apluc-hn-stat .apluc-hn-stat-number {
  color: var(--primary-color);
}
.apluc-hn-map-placeholder #usa:hover path {
  fill: var(--primary-color);
  cursor: pointer;
  opacity: 1;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.apluc-hn-map-placeholder #glk:hover path {
  fill: var(--primary-color);
  cursor: pointer;
  opacity: 1;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.apluc-hn-map-placeholder #mexico:hover path {
  fill: var(--primary-color);
  cursor: pointer;
  opacity: 1;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.apluc-hn-map-placeholder #emea:hover path {
  fill: var(--primary-color);
  cursor: pointer;
  opacity: 1;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.apluc-hn-map-placeholder svg {
  max-width: 1000px;
  margin: 0 auto;
}
/* global presence end */

/* partners start */

/* ===== PARTNERS SECTION ===== */
.apluc-hn-partners {
  padding: 50px 0;
  background: #f5f5f5;
}

.apluc-hn-partners-slider {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}

.apluc-hn-partner-logo {
  background: transparent;
}
.apluc-hn-partner-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}

.apluc-hn-partner-logo:hover img {
  opacity: 1;
  filter: grayscale(0%);
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  -webkit-filter: grayscale(0%);
}

.apluc-hn-logo-placeholder {
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #999;
  font-weight: 600;
}
.apluc-hn-partners-slider-swiper .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

/* partners end */

/* TRANG CHỦ END */

/* footer start */

/* ===== FOOTER ===== */
.apluc-hn-footer {
  color: var(--gray-light);
  padding: 80px 0 0;
}

.apluc-hn-footer-logo {
  width: 100%;
  max-width: 200px;
}
.apluc-hn-footer-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.apluc-hn-footer-logo .apluc-hn-logo-placeholder {
  background: rgba(255, 255, 255, 0.1);
  color: white;
  padding: 20px;
  text-align: left;
  border-radius: 0;
  font-size: 1.2rem;
  font-weight: 700;
}

.apluc-hn-footer-desc {
  font-size: 14px;
  line-height: 1.7;
  color: var(--gray-light);
  margin-bottom: 30px;
}

.apluc-hn-social-links {
  display: flex;
  gap: 15px;
}

.apluc-hn-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  color: #485c69;
  text-decoration: none;
  border-radius: 50%;
  transition: all 0.3s ease;
  font-size: 16px;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border: 1px solid #485c69;
}

.apluc-hn-social-link:hover {
  background: var(--primary-color);
  color: var(--white-color);
  transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
  -moz-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  -o-transform: translateY(-2px);
}

.apluc-hn-footer-title {
  font-weight: 700;
  font-size: 1rem;
  color: var(--text-color);
  text-transform: uppercase;
  margin-bottom: 25px;
  letter-spacing: 1px;
}

.apluc-hn-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.apluc-hn-footer-links li {
  margin-bottom: 12px;
}

.apluc-hn-footer-links a {
  font-size: 14px;
  color: var(--gray-light);
  text-decoration: none;
  transition: all 0.3s ease;
  line-height: 1.5;
}

.apluc-hn-footer-links a:hover {
  color: var(--primary-color);
  padding-left: 5px;
}

.apluc-hn-footer-subtitle {
  font-weight: 700;
  font-size: 1rem;
  color: var(--text-color);
  text-transform: uppercase;
  margin-top: 40px;
  margin-bottom: 20px;
  letter-spacing: 1px;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -ms-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}

.apluc-hn-certifications {
  display: flex;
  gap: 30px;
  align-items: center;
}

.apluc-hn-cert-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.apluc-hn-cert-icon {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}

.apluc-hn-cert-icon:hover {
  transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  -o-transform: translateY(-5px);
}

.apluc-hn-cert-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.apluc-hn-cert-text {
  font-weight: 600;
  font-size: 12px;
  color: var(--text-color);
  text-transform: uppercase;
  line-height: 1.4;
  max-width: 90px;
  letter-spacing: 0.5px;
}

.apluc-hn-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 0;
  border-top: 1px solid #aaaaaa;
  margin-top: 30px;
}

.apluc-hn-copyright {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 14px;
  color: var(--gray-light);
}

.apluc-hn-footer-link {
  color: var(--gray-light);
  text-decoration: none;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -ms-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}

.apluc-hn-footer-link:hover {
  color: var(--text-color);
}

.apluc-hn-credit {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--text-color);
}

.apluc-hn-credit-link {
  text-decoration: none;
}

.apluc-hn-credit-logo {
  color: var(--red-color);
  font-size: 12px;
  font-weight: 700;
}
a.apluc-hn-footer-subtitle:hover {
  color: var(--primary-color);
}

/* footer end */

/* trang sản phẩm start */
.vs-seafood-about-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--background-banner);
  background-attachment: fixed;
  height: 300px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--white-color);
  z-index: 1;
}
.vs-seafood-about-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.vs-seafood-about-hero .container {
  position: relative;
  z-index: 2;
}
.vs-seafood-about-hero-title {
  font-size: clamp(1.5rem, 1.1923rem + 1.5385vw, 2.5rem);
  text-transform: uppercase;
  font-weight: 800;
}
.hydrosite-petp-product-section-pagination {
  text-align: center;
}
.hydrosite-petp-product-section {
  background: #fff;
  padding: 60px 0;
}

.hydrosite-petp-product-section-box {
  position: relative;
}

/* Loading Spinner */
.loading-spinner {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.loading-spinner::after {
  content: "";
  width: 50px;
  height: 50px;
  border: 4px solid var(--primary-color);
  border-top: 4px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Pagination */
.hydrosite-petp-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
}

.hydrosite-petp-pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font-weight: 500;
  transition: all 0.2s ease;
  cursor: pointer;
  margin: 0 3px;
}

.hydrosite-petp-pagination-btn:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
}

.hydrosite-petp-pagination-btn.active {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: #fff;
}

.hydrosite-petp-pagination-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Product Grid Animation */
.hydrosite-petp-product-section-content {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.hydrosite-petp-product-section-content.loading {
  opacity: 0.5;
}

/* Loading Text */
.loading-text {
  text-align: center;
  color: var(--primary-color);
  font-weight: 500;
  margin-top: 10px;
}
.san-pham .apluc-hn-services {
  margin-top: 30px;
  background: #f5f5f5;
  padding-top: 50px;
}
/* trang sản phẩm end */

/* trang sản phẩm chi tiết start */
.hydrosite-petp-product-detail-section-box {
  max-width: 1000px;
  margin: 0 auto;
}
.hydrosite-petp-product-detail-section-title {
  text-transform: uppercase;
  font-weight: 700;
  font-size: clamp(1.2rem, 0.9538rem + 1.2308vw, 2rem);
}
.hydrosite-petp-product-detail-section-desc {
  color: #666666;
  font-size: clamp(0.9rem, 0.8692rem + 0.1538vw, 1rem);
  line-height: 1.5;
}
/* Modern Typography Styles */
.hydrosite-content {
  font-family: "Roboto", sans-serif;
  line-height: 1.6;
  color: #2c3e50;
}

/* Headings with modern design */
.hydrosite-content h2 {
  font-size: clamp(1.3rem, 1.1769rem + 0.6154vw, 1.7rem);
  font-weight: 700;
  color: var(--primary-color);
  margin: 1rem 0 1.5rem;
  position: relative;
  padding-left: 1rem;
  transition: all 0.3s ease;
}

.hydrosite-content h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background: var(--primary-color);
  border-radius: 2px;
  transform: scaleY(0.8);
  transition: transform 0.3s ease;
}

.hydrosite-content h2:hover::before {
  transform: scaleY(1);
}

.hydrosite-content h3 {
  font-size: clamp(1.3rem, 1.1769rem + 0.6154vw, 1.7rem);
  color: #34495e;
  margin: 1rem 0 1.2rem;
  border-bottom: 2px solid rgba(var(--primary-color-rgb), 0.2);
  padding-bottom: 0.2rem;
}

.hydrosite-content h4 {
  font-size: clamp(1.2rem, 1.0846rem + 0.5882vw, 1.5rem);
  color: #2c3e50;
  margin: 1rem 0 1rem;
  font-weight: 700;
}

/* Modern Lists */
.hydrosite-content ul,
.hydrosite-content ol {
  padding-left: 1.2rem;
  margin: 1.5rem 0;
  list-style: none;
}

.hydrosite-content ul li,
.hydrosite-content ol li {
  margin: 0.8rem 0;
  position: relative;
  padding-left: 1.5rem;
}

.hydrosite-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 8px;
  height: 8px;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0.8);
  transition: transform 0.3s ease;
}

.hydrosite-content ul li:hover::before {
  transform: scale(1);
}

.hydrosite-content ol {
  counter-reset: item;
  list-style: none;
}

.hydrosite-content ol li {
  counter-increment: item;
}

.hydrosite-content ol li::before {
  content: counter(item);
  position: absolute;
  left: 0;
  top: 0.2rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--primary-color);
}

/* Modern Links */
.hydrosite-content a {
  color: var(--primary-color);
  text-decoration: none;
  position: relative;
  transition: all 0.3s ease;
}

.hydrosite-content a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}

.hydrosite-content a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Modern Tables */
.hydrosite-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 2rem 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.hydrosite-content th {
  background: var(--primary-color);
  color: white;
  font-weight: 600;
  padding: 1rem;
  text-align: left;
}

.hydrosite-content td {
  padding: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  transition: background 0.3s ease;
}

.hydrosite-content tr:hover td {
  background: rgba(var(--primary-color-rgb), 0.05);
}

/* Modern Blockquotes */
.hydrosite-content blockquote {
  margin: 2rem 0;
  padding: 2rem;
  background: rgba(var(--primary-color-rgb), 0.05);
  border-left: 4px solid var(--primary-color);
  border-radius: 0 8px 8px 0;
  position: relative;
}

.hydrosite-content blockquote::before {
  content: '"';
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  font-size: 4rem;
  color: rgba(var(--primary-color-rgb), 0.2);
  font-family: var(--font-primary);
  line-height: 1;
}

.hydrosite-content blockquote p {
  margin: 0;
  font-style: italic;
  color: #34495e;
  position: relative;
  z-index: 1;
}

/* Small Text */
.hydrosite-content small {
  font-size: 0.875rem;
  color: #7f8c8d;
  display: block;
  margin-top: 0.5rem;
}

/* Images */
.hydrosite-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1.5rem 0;
  transition: transform 0.3s ease;
}

.hydrosite-content img:hover {
  transform: scale(1.02);
}

/* Code Blocks */
.hydrosite-content pre {
  background: #2c3e50;
  color: #ecf0f1;
  padding: 1.5rem;
  border-radius: 8px;
  overflow-x: auto;
  margin: 1.5rem 0;
}

.hydrosite-content code {
  font-family: var(--font-primary);
  font-size: 0.9rem;
}

/* Dividers */
.hydrosite-content hr {
  border: none;
  height: 2px;
  background: linear-gradient(to right, var(--primary-color), transparent);
  margin: 2rem 0;
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hydrosite-content > * {
  animation: fadeIn 0.5s ease forwards;
}
.hydrosite-content a.btn.btn-primary {
  color: var(--white-color);
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
}
.hydrosite-content a.btn.btn-primary::after {
  display: none;
}
.apluc-product-discover-slider-prev {
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  z-index: 10;
}
.apluc-product-discover-slider-next {
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  z-index: 10;
}
/* trang sản phẩm chi tiết end */

/* trang industries start */
.hydrosite-petp-industries-box-content-image svg {
  max-width: 200px;
  margin-left: auto;
}
.hydrosite-petp-industries-box-content-cate {
  color: var(--primary-color);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(1.1rem, 1.0692rem + 0.1538vw, 1.2rem);
}
.hydrosite-petp-industries-box-content-name {
  color: var(--text-color);
  font-size: clamp(1.8rem, 1.5846rem + 1.0769vw, 2.5rem);
  font-weight: 800;
  text-transform: uppercase;
}
.hydrosite-petp-industries-box-content-description {
  color: #666666;
  font-size: clamp(1rem, 0.9692rem + 0.1538vw, 1.1rem);
  line-height: 1.8;
  font-weight: 300;
}
/* breadcrumb start */
.hydrosite-petp-breadcrumb-link {
  color: #677170;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -ms-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}
.hydrosite-petp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--primary-color);
  flex-wrap: wrap;
}
.hydrosite-petp-breadcrumb i {
  color: var(--orange-color);
}
/* breadcrumb end */

.hydrosite-petp-industries-box-content .apluc-product-view-more {
  line-height: 1.5;
  font-weight: 400;
  font-size: clamp(0.9rem, 0.8692rem + 0.1538vw, 1rem);
}
.hydrosite-petp-industries-box-content .apluc-hn-product-link svg {
  width: 45px;
  height: 45px;
}
.page-industries .apluc-hn-product-image {
  --bs-aspect-ratio: calc(9 / 16 * 100%);
}
/* trang industries end */

/* trang industries detail start */
.hydrosite-petp-industries-detail-section-content-image {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  overflow: hidden;
}
.hydrosite-petp-industries-detail-section-content-image a,
.hydrosite-petp-industries-detail-section-content-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hydrosite-petp-industries-detail-section-content-info-title {
  font-size: clamp(1.5rem, 1.3462rem + 0.7692vw, 2rem);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text-color);
  line-height: 1.4;
}
.hydrosite-petp-industries-detail-section-content-info-description {
  font-size: 1.1rem;
  font-weight: 300;
  color: #666666;
  line-height: 1.8;
}
.page-industries-detail .apluc-hn-product-slider {
  margin: 40px 0;
}
/* trang industries detail end */

/* trang liên hệ start */

/* Contact Page Styles */
.apluc-hn-contact-form {
  padding: 80px 0;
  background: #f5f5f5;
}

.apluc-hn-title {
  font-weight: 800;
  font-size: clamp(1.5rem, 1.3154rem + 0.9231vw, 2.1rem);
  text-transform: uppercase;
  color: var(--text-color);
}

.apluc-hn-subtitle {
  font-size: 1rem;
  max-width: 800px;
}

.apluc-hn-form-select .form-select {
  height: 50px;
  border-color: transparent;
}

.apluc-hn-form .form-control {
  border: none;
  padding: 15px;
  height: 50px;
}

.apluc-hn-form textarea.form-control {
  height: 200px;
  resize: none;
}

.apluc-hn-form .form-check {
  margin: 20px 0;
  margin: 0;
}

.apluc-hn-form .form-check-input {
  border-color: var(--apluc-hn-primary);
}

.apluc-hn-form .form-check-label {
  color: var(--text-color);
  font-size: 16px;
  line-height: 1.6;
}
.form-check-label a {
  color: var(--primary-color);
  text-decoration: underline;
}

.apluc-hn-btn {
  color: var(--white-color);
  border: none;
  padding: 15px 40px;
  font-weight: bold;
  text-transform: uppercase;
  transition: background-color 0.3s;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -ms-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  min-width: 150px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  overflow: hidden;
}

.apluc-hn-btn:hover {
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
}

.apluc-hn-contact-info {
  background: #fff;
  padding: 40px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12), 0 6px 14px rgba(0, 0, 0, 0.08);
}

.apluc-hn-contact-info h3 {
  font-weight: 800;
  font-size: 17px;
  margin-bottom: 16px;
}

.apluc-hn-contact-links {
  margin-bottom: 20px;
}

.apluc-hn-contact-links a,
.apluc-hn-hotline {
  display: block;
  color: var(--secondary-color);
  text-decoration: none;
  font-size: 16px;
  margin-bottom: 10px;
}

.apluc-hn-contact-links a:hover,
.apluc-hn-hotline:hover {
  color: var(--red-color);
}
.apluc-hn-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  background: #fff;
  border: 1px solid #485c69;
  border-radius: 50%;
  margin-right: 15px;
  color: #485c69;
  transition: all 0.3s;
}

.apluc-hn-social-icon:hover {
  background: var(--primary-color);
  color: var(--white-color);
}

/* World Map Section */
.apluc-hn-world-map {
  padding: 80px 0;
  background: #fff;
}

.apluc-hn-map-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 30px 0;
}

.apluc-hn-toggle {
  width: 60px;
  height: 26px;
  background: var(--primary-color);
  border-radius: 34px;
  position: relative;
  cursor: pointer;
}

.apluc-hn-toggle-dot {
  position: absolute;
  left: 4px;
  top: 3px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.3s;
}

.apluc-hn-toggle.active .apluc-hn-toggle-dot {
  transform: translateX(34px);
}

.apluc-hn-stats {
  margin: 60px 0;
}

.apluc-hn-stat h3 {
  color: var(--primary-color);
  font-size: 62px;
  font-weight: 800;
  margin-bottom: 10px;
}

.apluc-hn-stat p {
  color: var(--text-color);
}

.apluc-hn-map {
  height: 600px;
  background: url("images/world-map.svg") no-repeat center/contain;
  margin: 40px 0;
}

/* Office Cards */
.apluc-hn-offices {
  padding: 40px 0 80px;
}

.apluc-hn-office-card {
  background: #fff;
  padding: 30px;
  height: 100%;
  border-left: 2px solid var(--primary-color);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12), 0 6px 14px rgba(0, 0, 0, 0.08);
}

.apluc-hn-office-card h3 {
  font-weight: 800;
  font-size: 17px;
  margin-bottom: 10px;
}

.apluc-hn-office-card h4 {
  color: var(--primary-color);
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 20px;
}

.apluc-hn-office-card address {
  color: var(--apluc-hn-text-secondary);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.apluc-hn-office-contact {
  padding-top: 20px;
  border-top: 1px solid var(--apluc-hn-border);
}

.apluc-hn-office-contact a {
  display: block;
  color: var(--apluc-hn-text-secondary);
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 5px;
}

/* Energy Badge */
.apluc-hn-energy-badge {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: var(--secondary-color);
  color: var(--white-color);
  padding: 20px;
  border-radius: 20px 0 0 20px;
  text-align: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12), 0 6px 14px rgba(0, 0, 0, 0.08);
  z-index: 100;
}

.apluc-hn-energy-badge img {
  width: 60px;
  height: 60px;
  margin-bottom: 15px;
}

.apluc-hn-energy-badge p {
  font-size: 13px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
}

/* trang liên hệ end */

/* trang tin tức start */
.apluc-hn-news-content-box-category-item {
  background: #f5f5f5;
  color: var(--text-color);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1rem;
  padding: 10px 20px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  min-width: 100px;
  text-align: center;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  -moz-transition: background 0.3s ease, color 0.3s ease;
  -ms-transition: background 0.3s ease, color 0.3s ease;
  -o-transition: background 0.3s ease, color 0.3s ease;
}
.apluc-hn-news-content-box-category-item.active {
  background: var(--secondary-color);
  color: var(--white-color);
}
.apluc-hn-news-content-box-category-item:hover {
  background: var(--primary-color);
  color: var(--white-color);
}
.apluc-new-item-card-image {
  overflow: hidden;
}
.apluc-new-item-card-image a,
.apluc-new-item-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.apluc-new-item-card {
  border-bottom: 1px solid #aaa;
}
.apluc-new-item-card-content-date {
  color: #677170;
  font-size: 0.875rem;
}
.apluc-new-item-card-content-title a {
  color: var(--text-color);
  font-weight: 800;
  font-size: clamp(1rem, 0.9615rem + 0.1923vw, 1.125rem);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -ms-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}
.apluc-new-item-card-content-title a:hover {
  color: var(--primary-color);
}
.apluc-new-item-card-content-description {
  color: #677170;
  font-size: 0.875rem;
  line-height: 1.6;
}
.apluc-hn-news-content-box-list-item:last-of-type .apluc-new-item-card {
  border-bottom: none;
}
/* trang tin tức end */

/* trang tin tức chi tiết start */
.apluc-new-page-detail-box {
  max-width: 900px;
  margin: 0 auto;
}
.apluc-new-page-detail-box-date {
  color: #677170;
  font-size: 0.875rem;
}
.apluc-new-page-detail-box-title h2 {
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.3rem, 1.0846rem + 1.0769vw, 2rem);
  text-align: center;
}
.apluc-new-page-detail-box-description {
  font-weight: 300;
  color: #677170;
}
/* trang tin tức chi tiết end */

/* intro start */
/* Loading Container */
.loading-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  clip-path: inset(0% 0% 0% 0%);
  transform: translateY(0);
}

/* Logo Section */
.logo-section {
  text-align: center;
  z-index: 2;
}

.logo-container {
  position: relative;
  display: inline-block;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.9),
    rgba(248, 250, 252, 0.9)
  );
  padding: 30px;
  border-radius: 25px;
  box-shadow: 0 20px 60px rgba(0, 86, 179, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 86, 179, 0.1);
  opacity: 0;
}

.company-name {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--primary-color);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 20px 0 10px 0;
  background: linear-gradient(
    135deg,
    var(--primary-color),
    var(--secondary-color)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.5;
  text-shadow: 0 0 30px rgba(0, 86, 179, 0.3);
}

.logo {
  max-width: 200px;
  height: auto;
  position: relative;
  filter: drop-shadow(0 10px 30px rgba(0, 86, 179, 0.3));
  -webkit-filter: drop-shadow(0 10px 30px rgba(0, 86, 179, 0.3));
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}

.logo:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 15px 40px rgba(0, 86, 179, 0.5));
  -webkit-filter: drop-shadow(0 15px 40px rgba(0, 86, 179, 0.5));
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
}

.logo::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  width: 4px;
  height: 60px;
  background: linear-gradient(
    to bottom,
    var(--orange-color),
    var(--primary-color)
  );
  transform: translateY(-50%);
  border-radius: 2px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

.logo::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  width: 4px;
  height: 60px;
  background: linear-gradient(
    to bottom,
    var(--primary-color),
    var(--orange-color)
  );
  transform: translateY(-50%);
  border-radius: 2px;
}

/* Boiler Icon */
.boiler-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.boiler-icon::before {
  content: "";
  position: absolute;
  width: 50px;
  height: 60px;
  background: linear-gradient(
    135deg,
    var(--primary-color),
    var(--secondary-color)
  );
  border-radius: 8px 8px 20px 20px;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.2);
}

.boiler-icon::after {
  content: "";
  position: absolute;
  top: 10px;
  width: 30px;
  height: 30px;
  background: radial-gradient(circle, var(--orange-color), var(--red-color));
  border-radius: 50%;
  box-shadow: 0 0 15px rgba(245, 158, 11, 0.6);
  animation: boilerGlow 2s infinite ease-in-out;
}

.steam-pipes {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.steam-pipe {
  width: 6px;
  height: 20px;
  background: linear-gradient(to top, var(--primary-color), transparent);
  border-radius: 3px 3px 0 0;
  animation: steamPipe 1.5s infinite ease-in-out;
}

.steam-pipe:nth-child(2) {
  animation-delay: 0.3s;
}

.steam-pipe:nth-child(3) {
  animation-delay: 0.6s;
}

.tagline {
  font-size: 1.2rem;
  color: var(--dark-color);
  margin-top: 10px;
  font-weight: 500;
  opacity: 0.9;
  letter-spacing: 0.5px;
  text-align: center;
  background: linear-gradient(
    90deg,
    var(--dark-color),
    var(--primary-color),
    var(--dark-color)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-style: italic;
}

/* Progress Section */
.progress-section {
  width: 400px;
  max-width: 90vw;
  z-index: 2;
}

.progress-container {
  position: relative;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50px;
  padding: 8px;
  box-shadow: 0 20px 40px rgba(0, 86, 179, 0.1),
    inset 0 2px 10px rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 86, 179, 0.1);
}

.progress-track {
  width: 100%;
  height: 12px;
  background: linear-gradient(90deg, #e2e8f0, #f1f5f9);
  border-radius: 50px;
  overflow: hidden;
  position: relative;
}

.progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(
    90deg,
    var(--primary-color) 0%,
    var(--secondary-color) 50%,
    var(--orange-color) 100%
  );
  border-radius: 50px;
  position: relative;
  transition: width 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.progress-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.4) 50%,
    transparent 100%
  );
  animation: progressShine 2s infinite ease-in-out;
}

.progress-bar::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -6px;
  width: 12px;
  height: 12px;
  background: var(--orange-color);
  border-radius: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 15px rgba(245, 158, 11, 0.6);
  opacity: 1;
  transition: opacity 0.3s ease;
}

.progress-text {
  text-align: center;
  margin-top: 20px;
  font-size: 1rem;
  color: var(--dark-color);
  font-weight: 600;
}

/* New Loading Message */
.load-message {
  position: relative;
  text-align: center;
  margin-top: 30px;
  font-size: 1rem;
  color: var(--primary-color);
  font-weight: 600;
  opacity: 1;
  z-index: 10;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 20px;
  border-radius: 25px;
  box-shadow: 0 5px 15px rgba(0, 86, 179, 0.1);
}

/* Loading Dots */
.dots-animation {
  display: inline-block;
  margin-left: 8px;
}

.dots-animation span {
  display: inline-block;
  width: 5px;
  height: 5px;
  background: var(--primary-color);
  border-radius: 50%;
  margin: 0 2px;
  animation: dotBounce 1.4s infinite ease-in-out both;
}

.dots-animation span:nth-child(1) {
  animation-delay: -0.32s;
}

.dots-animation span:nth-child(2) {
  animation-delay: -0.16s;
}

.dots-animation span:nth-child(3) {
  animation-delay: 0s;
}

/* Industrial Elements */
.industrial-frame {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 400px;
  border: 2px solid rgba(0, 86, 179, 0.1);
  border-radius: 20px;
  z-index: 1;
}

.industrial-frame::before,
.industrial-frame::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 3px solid var(--primary-color);
  border-radius: 50%;
}

.industrial-frame::before {
  top: -12px;
  left: -12px;
}

.industrial-frame::after {
  bottom: -12px;
  right: -12px;
}

/* Animations */

@keyframes progressShine {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

@keyframes dotBounce {
  0%,
  80%,
  100% {
    transform: scale(0.8) translateY(0);
    opacity: 0.7;
  }

  40% {
    transform: scale(1.2) translateY(-5px);
    opacity: 1;
  }
}

@keyframes boilerGlow {
  0%,
  100% {
    box-shadow: 0 0 15px rgba(245, 158, 11, 0.6);
    transform: scale(1);
  }

  50% {
    box-shadow: 0 0 25px rgba(245, 158, 11, 0.9);
    transform: scale(1.1);
  }
}

@keyframes steamPipe {
  0%,
  100% {
    opacity: 0.3;
    transform: scaleY(1);
  }

  50% {
    opacity: 1;
    transform: scaleY(1.3);
  }
}

/* intro end */

/* trang tuyển dụng start */
/* Recruitment Page Styles */
.page-recruitment .recruitment-hero {
  background: linear-gradient(
    135deg,
    var(--primary-color) 0%,
    var(--secondary-color) 100%
  );
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.page-recruitment .recruitment-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--background-recruitment-hero) center/cover;
  opacity: 0.1;
  z-index: 1;
  background-attachment: fixed;
}

.page-recruitment .recruitment-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: white;
}

.page-recruitment .recruitment-hero-title {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  background: linear-gradient(45deg, #fff, #f0f8ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-recruitment .recruitment-hero-subtitle {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
}

.page-recruitment .recruitment-stats {
  max-width: 1000px;
  margin: 0 auto;
}

.page-recruitment .stat-item {
  text-align: center;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  -webkit-transition: transform 0.3s ease, box-shadow 0.3s ease;
  -moz-transition: transform 0.3s ease, box-shadow 0.3s ease;
  -ms-transition: transform 0.3s ease, box-shadow 0.3s ease;
  -o-transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.page-recruitment .stat-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.page-recruitment .stat-number {
  font-size: clamp(1.5rem, 1.1923rem + 1.5385vw, 2.5rem);
  font-weight: 800;
  color: var(--orange-color);
}

.page-recruitment .stat-label {
  font-size: clamp(0.8rem, 0.7692rem + 0.1538vw, 0.9rem);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Filter Section */
.page-recruitment .filter-section {
  background: #f8f9fa;
  padding: 3rem 0;
  border-bottom: 1px solid rgba(var(--primary-color-rgb), 0.1);
}

.page-recruitment .filter-container {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}

.page-recruitment .filter-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
}

.page-recruitment .filter-group {
  margin-bottom: 1.5rem;
}

.page-recruitment .filter-label {
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
  display: block;
}

.page-recruitment .filter-select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #e9ecef;
  border-radius: 10px;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: white;
}

.page-recruitment .filter-select:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
}

.page-recruitment .search-box {
  position: relative;
}

.page-recruitment .search-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 3rem;
  border: 2px solid #e9ecef;
  border-radius: 10px;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.page-recruitment .search-input:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
}

.page-recruitment .search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray-light);
  font-size: 1.1rem;
}

.page-recruitment .filter-btn {
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
  border: none;
  padding: 0.75rem 2rem;
  border-radius: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.page-recruitment .filter-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left 0.5s ease;
}

.page-recruitment .filter-btn:hover::before {
  left: 100%;
}

.page-recruitment .filter-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.3);
}

/* Job Listings */
.page-recruitment .recruitment-list-item {
  background: white;
  border-radius: 20px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
}
.page-recruitment .job-listings {
  padding: 4rem 0;
}

.page-recruitment .recruitment-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.page-recruitment .recruitment-list-item:hover::before {
  transform: scaleX(1);
}

.page-recruitment .recruitment-list-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.page-recruitment .job-header {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.page-recruitment .job-logo {
  width: 100px;
  height: 100px;
  min-width: 100px;
  min-height: 100px;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  overflow: hidden;
}
.page-recruitment .job-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-recruitment .job-info {
  flex: 1;
}

.page-recruitment .job-title {
  font-size: clamp(1.1rem, 1.0077rem + 0.4615vw, 1.4rem);
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -ms-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}

.page-recruitment .job-card:hover .job-title {
  color: var(--primary-color);
}

.page-recruitment .job-company {
  font-size: 1rem;
  color: var(--gray-light);
  margin-bottom: 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.page-recruitment .job-location {
  font-size: 0.9rem;
  color: var(--gray-light);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.page-recruitment .job-meta {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.page-recruitment .job-tag {
  padding: 0.4rem 1rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.page-recruitment .job-tag.salary {
  background: linear-gradient(45deg, var(--orange-color), #ffb347);
  color: white;
}

.page-recruitment .job-tag.type {
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
}

.page-recruitment .job-tag.level {
  background: linear-gradient(45deg, #28a745, #20c997);
  color: white;
}

.page-recruitment .job-tag.urgent {
  background: linear-gradient(45deg, var(--red-color), #dc3545);
  color: white;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.page-recruitment .job-description {
  color: var(--gray-light);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.page-recruitment .job-requirements {
  margin-bottom: 1.5rem;
}

.page-recruitment .job-requirements h6 {
  color: var(--dark-color);
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.page-recruitment .requirements-list {
  list-style: none;
  padding: 0;
}

.page-recruitment .requirements-list li {
  color: var(--gray-light);
  margin-bottom: 0.3rem;
  padding-left: 1.5rem;
  position: relative;
}

.page-recruitment .requirements-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--primary-color);
  font-weight: 600;
}

.page-recruitment .job-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  border-top: 1px solid rgba(var(--primary-color-rgb), 0.1);
}

.page-recruitment .job-date {
  font-size: 0.9rem;
  color: var(--gray-light);
}

.page-recruitment .apply-btn {
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
  border: none;
  padding: 0.7rem 1.5rem;
  border-radius: 25px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.page-recruitment .apply-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left 0.5s ease;
}

.page-recruitment .apply-btn:hover::before {
  left: 100%;
}

.page-recruitment .apply-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.3);
}

/* Pagination */
.page-recruitment .pagination-section {
  padding: 2rem 0;
  background: #f8f9fa;
}

.page-recruitment .pagination-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}

.page-recruitment .pagination-btn {
  width: 45px;
  height: 45px;
  border: 2px solid #e9ecef;
  background: white;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: var(--gray-light);
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.page-recruitment .pagination-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  transform: scale(0);
  transition: transform 0.3s ease;
  border-radius: 8px;
}

.page-recruitment .pagination-btn:hover::before,
.page-recruitment .pagination-btn.active::before {
  transform: scale(1);
}

.page-recruitment .pagination-btn:hover,
.page-recruitment .pagination-btn.active {
  color: white;
  border-color: var(--primary-color);
  z-index: 1;
}

.page-recruitment .pagination-btn span {
  position: relative;
  z-index: 2;
}

.page-recruitment .pagination-info {
  background: white;
  padding: 1rem 2rem;
  border-radius: 10px;
  margin: 0 1rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

/* Loading Animation */
.page-recruitment .loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.page-recruitment .loading-overlay.show {
  opacity: 1;
  visibility: visible;
}

.page-recruitment .loading-spinner {
  width: 60px;
  height: 60px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid var(--primary-color);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Micro-interactions */
.page-recruitment .job-card {
  cursor: pointer;
}

.page-recruitment .job-card:active {
  transform: translateY(-3px) scale(0.98);
}

.page-recruitment .apply-btn:active {
  transform: translateY(0) scale(0.95);
}

/* Floating elements */
.page-recruitment .floating-element {
  position: absolute;
  opacity: 0.1;
  animation: float 6s ease-in-out infinite;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}
/* trang tuyển dụng end */

/* trang tuyển dụng chi tiết start */
/* Job Detail Page Styles */
.page-recruitment-detail .job-detail-hero {
  background: linear-gradient(
    135deg,
    var(--primary-color) 0%,
    var(--secondary-color) 100%
  );
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.page-recruitment-detail .job-detail-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--background-recruitment-detail) center/cover;
  opacity: 0.1;
  z-index: 1;
  background-attachment: fixed;
}

.page-recruitment-detail .job-detail-hero-content {
  position: relative;
  z-index: 2;
  color: white;
}

.page-recruitment-detail .job-detail-breadcrumb {
  margin-bottom: 2rem;
}

.page-recruitment-detail .job-detail-breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s ease;
}

.page-recruitment-detail .job-detail-breadcrumb a:hover {
  color: var(--orange-color);
}

.page-recruitment-detail .job-detail-breadcrumb .active {
  color: var(--orange-color);
}

.page-recruitment-detail .job-detail-title {
  font-size: clamp(1.3rem, 0.9308rem + 1.8462vw, 2.5rem);
  font-weight: 800;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  max-width: 1000px;
}

.page-recruitment-detail .job-detail-meta {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.page-recruitment-detail .job-detail-meta-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(0.9rem, 0.8385rem + 0.3077vw, 1.1rem);
}

.page-recruitment-detail .job-detail-meta-item i {
  color: var(--orange-color);
  font-size: clamp(0.9rem, 0.8385rem + 0.3077vw, 1.1rem);
}

.page-recruitment-detail .job-detail-tags {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.page-recruitment-detail .job-detail-tag {
  padding: 0.5rem 1.5rem;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.page-recruitment-detail .job-detail-tag.urgent {
  background: linear-gradient(45deg, var(--red-color), #dc3545);
  animation: pulse 2s infinite;
}

.page-recruitment-detail .job-detail-tag.featured {
  background: linear-gradient(45deg, var(--orange-color), #ffb347);
}

.page-recruitment-detail .job-detail-tag.remote {
  background: linear-gradient(45deg, #28a745, #20c997);
}

/* Main Content */
.page-recruitment-detail .job-detail-content {
  padding: 4rem 0;
}

.page-recruitment-detail .job-detail-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
}

.page-recruitment-detail .job-detail-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
}

.page-recruitment-detail .job-detail-card h3 {
  color: var(--dark-color);
  font-weight: 700;
  margin-bottom: 1.5rem;
  font-size: clamp(1.2rem, 1.1077rem + 0.4615vw, 1.5rem);
  position: relative;
  padding-left: 1rem;
}

.page-recruitment-detail .job-detail-card h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(45deg, var(--primary-color), var(--orange-color));
  border-radius: 2px;
}

.page-recruitment-detail .job-description {
  line-height: 1.8;
  color: var(--gray-light);
  font-size: 1.1rem;
}

.page-recruitment-detail .job-description p {
  margin-bottom: 1.5rem;
}

.page-recruitment-detail .job-description ul {
  padding-left: 0;
  list-style: none;
}

.page-recruitment-detail .job-description ul li {
  margin-bottom: 0.8rem;
  padding-left: 2rem;
  position: relative;
}

.page-recruitment-detail .job-description ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--primary-color);
  font-weight: 600;
  font-size: 1.2rem;
}

/* Requirements */
.page-recruitment-detail .requirements-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.page-recruitment-detail .requirement-item {
  background: linear-gradient(
    135deg,
    rgba(var(--primary-color-rgb), 0.05),
    rgba(var(--orange-color-rgb), 0.05)
  );
  padding: 1.5rem;
  border-radius: 15px;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.page-recruitment-detail .requirement-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(var(--primary-color-rgb), 0.15);
}

.page-recruitment-detail .requirement-item h5 {
  color: var(--primary-color);
  font-weight: 600;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(1rem, 0.9692rem + 0.1538vw, 1.1rem);
}

.page-recruitment-detail .requirement-item h5 i {
  font-size: clamp(1rem, 0.9692rem + 0.1538vw, 1.1rem);
}

/* Benefits */

.page-recruitment-detail .benefit-item {
  background: var(--white-color);
  border-radius: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  text-align: center;
  transition: transform 0.3s ease;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
  -webkit-transition: transform 0.3s ease;
  -moz-transition: transform 0.3s ease;
  -ms-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
}

.page-recruitment-detail .benefit-item:hover {
  transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  -o-transform: translateY(-5px);
}

.page-recruitment-detail .benefit-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.page-recruitment-detail .benefit-icon img {
  width: 50%;
  height: 50%;
  object-fit: contain;
}

.page-recruitment-detail .benefit-title {
  font-weight: 600;
  color: var(--dark-color);
  font-size: clamp(1rem, 0.9692rem + 0.1538vw, 1.1rem);
}

.page-recruitment-detail .benefit-desc {
  color: var(--gray-light);
  font-size: clamp(0.8rem, 0.7692rem + 0.1538vw, 0.9rem);
}
.page-recruitment-detail .benefit-desc p {
  margin-bottom: 0;
}
/* Company Info */
.page-recruitment-detail .company-info {
  background: linear-gradient(
    135deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
  padding: 3rem;
  border-radius: 20px;
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
}

.page-recruitment-detail .company-info::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: var(--background-company-info) center/cover;
  opacity: 0.1;
  background-attachment: fixed;
}

.page-recruitment-detail .company-logo {
  width: 100px;
  height: 100px;
  min-width: 100px;
  min-height: 100px;
  background: rgba(255, 255, 255, 1);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  backdrop-filter: blur(10px);
}
.page-recruitment-detail .company-logo img {
  width: 70%;
  height: 70%;
  object-fit: contain;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.page-recruitment-detail .company-logo:hover img {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}
.page-recruitment-detail .company-stats {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
}

.page-recruitment-detail .company-stat {
  text-align: center;
}

.page-recruitment-detail .company-stat-number {
  font-size: clamp(1.2rem, 1.1077rem + 0.4615vw, 1.5rem);
  font-weight: 800;
  color: var(--orange-color);
  display: flex;
  align-items: center;
}

.page-recruitment-detail .company-stat-label {
  font-size: clamp(0.8rem, 0.7692rem + 0.1538vw, 0.9rem);
  opacity: 0.9;
}

/* Application Form */
.page-recruitment-detail .application-form {
  background: white;
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 75px;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
  overflow: hidden;
}

.page-recruitment-detail .application-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
  border-radius: 20px 20px 0 0;
}

.page-recruitment-detail .application-form h4 {
  color: var(--dark-color);
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
}

.page-recruitment-detail .form-group {
  margin-bottom: 1.5rem;
}

.page-recruitment-detail .form-label {
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
  display: block;
}

.page-recruitment-detail .form-control {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 2px solid #e9ecef;
  border-radius: 10px;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: white;
}

.page-recruitment-detail .form-control:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
}

.page-recruitment-detail .form-control.file-input {
  padding: 0.6rem;
}

.page-recruitment-detail .apply-btn {
  width: 100%;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
  border: none;
  padding: 1rem 2rem;
  border-radius: 25px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.page-recruitment-detail .apply-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left 0.5s ease;
}

.page-recruitment-detail .apply-btn:hover::before {
  left: 100%;
}

.page-recruitment-detail .apply-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.3);
}

/* Related Jobs */
.page-recruitment-detail .related-jobs {
  background: #f8f9fa;
  padding: 4rem 0;
}

.page-recruitment-detail .related-job-card {
  background: white;
  border-radius: 15px;
  padding: 1.5rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
}

.page-recruitment-detail .related-job-card:hover {
  transform: translateY(-5px);
}

.page-recruitment-detail .related-job-title {
  font-weight: 600;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
}

.page-recruitment-detail .related-job-meta {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.page-recruitment-detail .related-job-tag {
  padding: 0.3rem 0.8rem;
  border-radius: 15px;
  font-size: 0.8rem;
  font-weight: 500;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
}

.page-recruitment-detail .related-job-desc {
  color: var(--gray-light);
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.page-recruitment-detail .related-job-link {
  color: var(--primary-color);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -ms-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}

.page-recruitment-detail .related-job-link:hover {
  color: var(--orange-color);
}

/* Floating Action Button */
.page-recruitment-detail .floating-apply-btn {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 60px;
  height: 60px;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.3);
  transition: all 0.3s ease;
  z-index: 1000;
  border: none;
  cursor: pointer;
}

.page-recruitment-detail .floating-apply-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 10px 25px rgba(var(--primary-color-rgb), 0.4);
}

/* Animations */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.fade-in {
  animation: fadeIn 0.6s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Progress Bar */
.page-recruitment-detail .application-progress {
  height: 6px;
  background: #e9ecef;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 2rem;
}

.page-recruitment-detail .application-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
  width: 0%;
  transition: width 0.3s ease;
}

/* Tooltip */
.page-recruitment-detail .tooltip-custom {
  position: relative;
  display: inline-block;
}

.page-recruitment-detail .tooltip-custom .tooltiptext {
  visibility: hidden;
  width: 200px;
  background-color: var(--dark-color);
  color: white;
  text-align: center;
  border-radius: 6px;
  padding: 5px 10px;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -100px;
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 0.8rem;
}

.page-recruitment-detail .tooltip-custom:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
/* trang tuyển dụng chi tiết end */

/* trang giới thiệu start */
/* About Page Styles */
.page-introduce .about-hero {
  background: linear-gradient(
    135deg,
    var(--primary-color) 0%,
    var(--secondary-color) 100%
  );
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}

.page-introduce .about-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--background-about-hero) center/cover;
  opacity: 0.1;
  z-index: 1;
  background-attachment: fixed;
}

.page-introduce .about-hero-content {
  position: relative;
  z-index: 2;
  color: var(--white-color);
  text-align: center;
}

.page-introduce .about-hero-title {
  font-size: clamp(2rem, 1.3846rem + 3.0769vw, 4rem);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  background: linear-gradient(45deg, #fff, #f0f8ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-introduce .about-hero-subtitle {
  font-size: clamp(1rem, 0.8769rem + 0.6154vw, 1.4rem);
  opacity: 0.9;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.page-introduce .about-stats {
  max-width: 1000px;
  margin: 0 auto;
}
.page-introduce .about-stat-item {
  text-align: center;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: transform 0.3s ease;
}

.page-introduce .about-stat-item:hover {
  transform: translateY(-10px);
}

.page-introduce .about-stat-number {
  font-size: clamp(2rem, 1.6923rem + 1.5385vw, 3rem);
  font-weight: 800;
  color: var(--orange-color);
}

.page-introduce .about-stat-label {
  font-size: clamp(0.8rem, 0.7692rem + 0.1538vw, 0.9rem);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Company Overview */
.page-introduce .company-overview {
  padding: 100px 0;
  background: white;
}

.page-introduce .overview-card {
  background: white;
  border-radius: 20px;
  padding: 3rem;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
  position: relative;
  overflow: hidden;
}

.page-introduce .overview-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
}

.page-introduce .section-title {
  font-size: clamp(1.3rem, 0.9308rem + 1.8462vw, 2.5rem);
  font-weight: 800;
  color: var(--dark-color);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
}

.page-introduce .section-subtitle {
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
  color: var(--gray-light);
  text-align: center;
  margin-bottom: 3rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Mission Vision Values */
.page-introduce .mvv-section {
  padding: 100px 0;
  background: #f8f9fa;
}

.page-introduce .mvv-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
  position: relative;
}

.page-introduce .mvv-card:hover {
  transform: translateY(-10px);
}

.page-introduce .mvv-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 2rem;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 2rem;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}

.page-introduce .mvv-icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
}

.page-introduce .mvv-title {
  font-size: clamp(1.2rem, 1.0154rem + 0.9231vw, 1.8rem);
  font-weight: 700;
  color: var(--dark-color);
  text-transform: uppercase;
}

.page-introduce .mvv-description {
  color: var(--gray-light);
  line-height: 1.8;
  font-size: clamp(0.8rem, 0.7077rem + 0.4615vw, 1.1rem);
}

/* Timeline */
.page-introduce .timeline-section {
  padding: 100px 0;
  background: white;
}

.page-introduce .timeline {
  position: relative;
  margin: 3rem 0;
}

.page-introduce .timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(
    to bottom,
    var(--primary-color),
    var(--orange-color)
  );
  transform: translateX(-50%);
}

.page-introduce .timeline-item {
  position: relative;
  margin-bottom: 4rem;
}

.page-introduce .timeline-content {
  background: white;
  border-radius: 15px;
  padding: 2rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  width: 45%;
  position: relative;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
}

.page-introduce .timeline-item:nth-child(odd) .timeline-content {
  margin-left: 55%;
}

.page-introduce .timeline-item:nth-child(even) .timeline-content {
  margin-right: 55%;
}

.page-introduce .timeline-year {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
  padding: 1rem 1.5rem;
  border-radius: 25px;
  font-weight: 700;
  font-size: 1.1rem;
  box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.3);
}

.page-introduce .timeline-title {
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 1rem;
  font-size: clamp(1.1rem, 1.0385rem + 0.3077vw, 1.3rem);
}

.page-introduce .timeline-desc {
  color: var(--gray-light);
  line-height: 1.6;
  font-size: clamp(0.9rem, 0.8692rem + 0.1538vw, 1rem);
}

/* Team Section */
.page-introduce .team-section {
  padding: 100px 0;
  background: #f8f9fa;
}

.page-introduce .team-card {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  position: relative;
  overflow: hidden;
}

.page-introduce .team-card:hover {
  transform: translateY(-10px);
}

.page-introduce .team-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
}

.page-introduce .team-avatar {
  width: 120px;
  height: 120px;
  min-width: 120px;
  min-height: 120px;
  border-radius: 50%;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 2.5rem;
  font-weight: 700;
  overflow: hidden;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.page-introduce .team-avatar a,
.team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-introduce .team-name {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
}

.page-introduce .team-position {
  color: var(--primary-color);
  font-weight: 600;
  margin-bottom: 1rem;
}

.page-introduce .team-bio {
  color: var(--gray-light);
  font-size: 0.9rem;
  line-height: 1.6;
}

/* Achievements */
.page-introduce .achievements-section {
  padding: 100px 0;
  background: white;
}

.page-introduce .achievement-card {
  background: linear-gradient(
    135deg,
    rgba(var(--primary-color-rgb), 0.05),
    rgba(var(--orange-color-rgb), 0.05)
  );
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  border: 1px solid rgba(var(--primary-color-rgb), 0.1);
  transition: transform 0.3s ease;
  -webkit-transition: transform 0.3s ease;
  -moz-transition: transform 0.3s ease;
  -ms-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
}

.page-introduce .achievement-card:hover {
  transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  -o-transform: translateY(-5px);
}

.page-introduce .achievement-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 1.5rem;
  background: linear-gradient(
    45deg,
    var(--primary-color),
    var(--secondary-color)
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
}
.achievement-icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
}

.page-introduce .achievement-title {
  font-weight: 700;
  color: var(--dark-color);
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
}

.page-introduce .achievement-desc {
  color: var(--gray-light);
  font-size: clamp(0.8rem, 0.7077rem + 0.4615vw, 1rem);
}

/* CTA Section */
.page-introduce .cta-section {
  padding: 100px 0;
  background: linear-gradient(
    135deg,
    var(--primary-color) 0%,
    var(--secondary-color) 100%
  );
  position: relative;
  overflow: hidden;
}

.page-introduce .cta-content {
  text-align: center;
  color: white;
  position: relative;
  z-index: 2;
}

.page-introduce .cta-title {
  font-size: clamp(1.8rem, 1.4308rem + 1.8462vw, 3rem);  font-weight: 800;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

.page-introduce .cta-subtitle {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
}

.page-introduce .cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.page-introduce .cta-btn {
  padding: 1rem 2rem;
  border-radius: 25px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  border: 2px solid white;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.page-introduce .cta-btn.primary {
  background: white;
  color: var(--primary-color);
}

.page-introduce .cta-btn.secondary {
  background: transparent;
  color: white;
}

.page-introduce .cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

/* Floating Elements */
.page-introduce .floating-element {
  position: absolute;
  opacity: 0.1;
  animation: float 6s ease-in-out infinite;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-20px) rotate(5deg);
  }
}
.company-overview-image {
  overflow: hidden;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  overflow: hidden;
}
.company-overview-image a,
.company-overview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  -webkit-transition: transform 0.3s ease;
  -moz-transition: transform 0.3s ease;
  -ms-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
}
.company-overview-image-item:hover .company-overview-image a,
.company-overview-image-item:hover .company-overview-image img {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
}
.company-overview-content-description {
  font-size: clamp(0.9rem, 0.8692rem + 0.1538vw, 1rem);
  line-height: 1.4;
}
.company-overview-content-description a {
  color: var(--primary-color);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
/* trang giới thiệu end */

/* trang cố định start */
body.page {
  line-height: 1.7;
  color: var(--gray-light);
  background: var(--white-color);
}

/* Reading Progress Bar */
.page .reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: rgba(var(--primary-color), 0.1);
  z-index: 9999;
  backdrop-filter: blur(10px);
}

.page .reading-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
  width: 0%;
  transition: width 0.1s cubic-bezier(0.33, 1, 0.68, 1);
  position: relative;
}

.page .reading-progress-bar::after {
  content: '';
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: var(--orange-color);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(var(--orange-color), 0.5);
}

/* Hero Section */
.page .page-hero {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
  padding: 6rem 0 4rem;
  position: relative;
  overflow: hidden;
  margin-top: 4px;
  /* Account for progress bar */
}

.page .page-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--background-image-page-default) center/cover;
  opacity: 0.08;
  z-index: 1;
  background-attachment: fixed;
}

.page .page-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--white-color);
  max-width: var(--content-max-width);
  margin: 0 auto;
}

.page .page-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: linear-gradient(45deg, #fff, #f0f8ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page .page-description {
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  margin-bottom: 0;
  opacity: 0.9;
  line-height: 1.6;
}

/* Main Content */
.page .page-content {
  padding: var(--section-spacing) 0;
  min-height: 70vh;
}

.page .content-container {
  max-width: var(--content-max-width);
  margin: 0 auto;
  padding: 0 var(--content-padding);
}

/* Modern Typography for Content */
.page .page-content-body {
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.8;
  color: var(--gray-light);
}

.page .page-content-body h1,
.page .page-content-body h2,
.page .page-content-body h3,
.page .page-content-body h4,
.page .page-content-body h5,
.page .page-content-body h6 {
  color: var(--dark-color);
  font-weight: 700;
  margin: 3rem 0 1.5rem;
  position: relative;
  padding-left: 1.5rem;
  line-height: 1.3;
}

.page .page-content-body h1::before,
.page .page-content-body h2::before,
.page .page-content-body h3::before,
.page .page-content-body h4::before,
.page .page-content-body h5::before,
.page .page-content-body h6::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(45deg, var(--primary-color), var(--orange-color));
  border-radius: 2px;
  transform: scaleY(0.8);
  transition: transform 0.3s ease;
}

.page .page-content-body h1:hover::before,
.page .page-content-body h2:hover::before,
.page .page-content-body h3:hover::before,
.page .page-content-body h4:hover::before,
.page .page-content-body h5:hover::before,
.page .page-content-body h6:hover::before {
  transform: scaleY(1);
}

.page .page-content-body h1 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-top: 4rem;
}

.page .page-content-body h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  border-bottom: 2px solid rgba(var(--primary-color), 0.2);
  padding-bottom: 0.5rem;
  margin-top: 3.5rem;
}

.page .page-content-body h3 {
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  margin-top: 3rem;
}

.page .page-content-body h4 {
  font-size: clamp(1.2rem, 1.8vw, 1.4rem);
  margin-top: 2.5rem;
}

.page .page-content-body h5 {
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  margin-top: 2rem;
}

.page .page-content-body h6 {
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  margin-top: 2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Paragraphs */
.page .page-content-body p {
  margin: 2rem 0;
  text-align: justify;
  text-justify: inter-word;
}

.page .page-content-body p:first-of-type {
  font-size: 1.2em;
  font-weight: 500;
  color: var(--dark-color);
}

/* Lists */
.page .page-content-body ul,
.page .page-content-body ol {
  margin: 2rem 0;
  padding-left: 0;
  list-style: none;
}

.page .page-content-body ul li,
.page .page-content-body ol li {
  margin: 1rem 0;
  padding-left: 2.5rem;
  position: relative;
  transition: all 0.3s ease;
}

.page .page-content-body ul li:hover,
.page .page-content-body ol li:hover {
  transform: translateX(5px);
  color: var(--dark-color);
}

.page .page-content-body ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 8px;
  height: 8px;
  background: linear-gradient(45deg, var(--primary-color), var(--orange-color));
  border-radius: 50%;
  transform: scale(0.8);
  transition: transform 0.3s ease;
}

.page .page-content-body ul li:hover::before {
  transform: scale(1.2);
}

.page .page-content-body ol {
  counter-reset: item;
}

.page .page-content-body ol li {
  counter-increment: item;
}

.page .page-content-body ol li::before {
  content: counter(item);
  position: absolute;
  left: 0;
  top: 0.2rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--primary-color);
  background: rgba(var(--primary-color), 0.1);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.page .page-content-body ol li:hover::before {
  background: var(--primary-color);
  color: white;
  transform: scale(1.1);
}

/* Links */
.page .page-content-body a {
  color: var(--primary-color);
  text-decoration: none;
  position: relative;
  font-weight: 600;
  transition: all 0.3s ease;
  padding: 2px 6px;
  border-radius: 4px;
}

.page .page-content-body a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 6px;
  right: 6px;
  height: 2px;
  background: linear-gradient(90deg, var(--primary-color), var(--orange-color));
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}

.page .page-content-body a:hover {
  color: var(--orange-color);
  background: rgba(var(--primary-color), 0.05);
}

.page .page-content-body a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Blockquotes */
.page .page-content-body blockquote {
  margin: 3rem 0;
  padding: 2rem 2.5rem;
  background: linear-gradient(135deg,
          rgba(var(--primary-color), 0.05),
          rgba(var(--orange-color), 0.03));
  border-left: 6px solid var(--primary-color);
  border-radius: 0 15px 15px 0;
  position: relative;
  font-style: italic;
  font-size: 1.1em;
  line-height: 1.7;
  color: var(--dark-color);
}

.page .page-content-body blockquote::before {
  content: '"';
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  font-size: 4rem;
  color: rgba(var(--primary-color), 0.2);
  font-family: var(--font-primary);
  line-height: 1;
}

.page .page-content-body blockquote p {
  margin: 0;
  position: relative;
  z-index: 1;
}

/* Tables */
.page .page-content-body table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 3rem 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  background: white;
}

.page .page-content-body th {
  background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
  color: white;
  font-weight: 600;
  padding: 1.2rem 1.5rem;
  text-align: left;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.page .page-content-body td {
  padding: 1.2rem 1.5rem;
  border-bottom: 1px solid rgba(var(--primary-color), 0.1);
  transition: background 0.3s ease;
}

.page .page-content-body tr:hover td {
  background: rgba(var(--primary-color), 0.03);
}

.page .page-content-body tr:last-child td {
  border-bottom: none;
}

/* Small text */
.page .page-content-body small {
  font-size: 0.85rem;
  color: rgba(var(--gray-light), 0.8);
  display: block;
  margin-top: 0.5rem;
  font-style: italic;
}

/* Images */
.page .page-content-body img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 2rem 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.page .page-content-body img:hover {
  transform: scale(1.02);
}

/* Code blocks */
.page .page-content-body pre {
  background: var(--dark-color);
  color: #ecf0f1;
  padding: 2rem;
  border-radius: 12px;
  overflow-x: auto;
  margin: 2rem 0;
  font-family: var(--font-primary);
  font-size: 0.9rem;
  line-height: 1.6;
}

.page .page-content-body code {
  background: rgba(var(--primary-color), 0.1);
  color: var(--primary-color);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: var(--font-primary);
  font-size: 0.9em;
}

.page .page-content-body pre code {
  background: none;
  color: inherit;
  padding: 0;
}

/* Horizontal rules */
.page .page-content-body hr {
  border: none;
  height: 2px;
  background: linear-gradient(90deg,
          transparent,
          var(--primary-color),
          var(--orange-color),
          transparent);
  margin: 4rem 0;
  border-radius: 1px;
}

/* Floating Navigation */
.page .floating-nav {
  position: fixed;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 25px;
  padding: 1rem 0.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(var(--primary-color), 0.1);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.page .floating-nav.show {
  opacity: 1;
  visibility: visible;
}

.page .floating-nav-item {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0.5rem 0;
  background: transparent;
  border: 2px solid rgba(var(--primary-color), 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary-color);
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 0.9rem;
}

.page .floating-nav-item:hover,
.page .floating-nav-item.active {
  background: var(--primary-color);
  color: white;
  transform: scale(1.1);
}

/* Back to Top */
.page .back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 50px;
  height: 50px;
  background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.2rem;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  border: none;
  box-shadow: 0 5px 15px rgba(var(--primary-color), 0.3);
}

.page .back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.page .back-to-top:hover {
  transform: translateY(-5px) scale(1.1);
  box-shadow: 0 10px 25px rgba(var(--primary-color), 0.4);
}

/* Animation Classes */
.page .fade-in-up {
  animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
  from {
      opacity: 0;
      transform: translateY(30px);
  }

  to {
      opacity: 1;
      transform: translateY(0);
  }
}

/* trang cố định end */



/* float contact start */
/* Floating Contact Buttons */
.hydrosite-nhadidong-floating-contact {
  position: fixed;
  right: 10px;
  top: 50%;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  /* transition: var(--transition);
  -webkit-transition: var(--transition);
  -moz-transition: var(--transition);
  -ms-transition: var(--transition);
  -o-transition: var(--transition); */
  pointer-events: none;

}

.hydrosite-nhadidong-float-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--white-color);
  font-size: 1.2rem;
  box-shadow: var(--shadow-hover);
  /* transform: translateX(150%);
  -webkit-transform: translateX(150%);
  -moz-transform: translateX(150%);
  -ms-transform: translateX(150%);
  -o-transform: translateX(150%); */
}
.index .hydrosite-nhadidong-float-btn {
  transform: translateX(150%);
  -webkit-transform: translateX(150%);
  -moz-transform: translateX(150%);
  -ms-transform: translateX(150%);
  -o-transform: translateX(150%);
}

.hydrosite-nhadidong-float-btn:hover {
  transform: scale(1.1);
  color: var(--white-color);
}

.hydrosite-nhadidong-phone {
  background: #25d366;
}

.hydrosite-nhadidong-messenger {
  background: #0084ff;
}

.hydrosite-nhadidong-zalo {
  background: #0068ff;
  font-size: 0.7rem;
  font-weight: bold;
}

.hydrosite-nhadidong-viber {
  background: #665cac;
}

/* float contact end */
