/* =========================================
   HA FOOD - BÁNH TRUNG THU CAO CẤP
   Custom CSS Variables & Reset
========================================= */
:root {
  --primary-color: rgba(115, 17, 18, 1);
  --primary-color-rgb: 115, 17, 18;
  --secondary-color: #f59e0b;
  --accent-color: #fcd34d;
  --dark: #1b1b1b;
  --light: #fff;

  /* Figma Exact Colors */
  --ha-food-red: #731112;
  --ha-food-red-dark: #5a0d0e;
  --ha-food-gold: #d4af37;
  --ha-food-gold-light: #f4d03f;
  --ha-food-white: #ffffff;
  --ha-food-gray: #d9d9d9;
  --ha-food-text-dark: #1e1e1e;
  --ha-food-dropdown-bg: rgba(255, 255, 255, 0.96);

  /* Typography */
  --ha-food-font-primary: "UTM Copperplate", "Roboto", sans-serif;
  --ha-food-font-secondary: "Roboto", sans-serif;

  /* Z-index layers */
  --ha-food-z-header: 1000;
  --ha-food-z-dropdown: 1010;
  --ha-food-z-mobile-menu: 1020;
  --ha-food-z-modal: 1030;
}

.gsap-animating {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

.text-primary {
  color: var(--primary-color) !important;
}
.btn-primary {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}
.btn-primary:hover {
  background-color: var(--ha-food-red-dark) !important;
  border-color: var(--ha-food-red-dark) !important;
}
/* header start */

/* =========================================
   HEADER STYLES - Pixel Perfect từ Figma
========================================= */
.ha-food-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--ha-food-z-header);
  background-color: var(--ha-food-red);
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
  z-index: 1000;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  padding: 20px 0;
}
.ha-food-header .container {
  padding-left: 0;
  padding-right: 0;
}

.ha-food-nav {
  padding: 0;
  position: relative;
}

.ha-food-nav .container-fluid {
  height: 100%;
  padding: 0;
  position: relative;
}

.ha-food-nav .row {
  height: 100%;
  margin: 0;
  position: relative;
}

/* Navigation Lists */
.ha-food-nav-left,
.ha-food-nav-right {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
}

.ha-food-nav-left {
  justify-content: space-evenly;
  gap: 12px;
}

.ha-food-nav-right {
  justify-content: space-evenly;
  gap: 12px;
}

.ha-food-nav-item {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.ha-food-nav-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  /* font-family: "Prata", serif; */
  font-size: clamp(0.7rem, -0.2435rem + 1.5217vw, 1.05rem);
  text-transform: uppercase;
  color: var(--ha-food-white);
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  line-height: 1.5;
  letter-spacing: 0.5px;
}

.ha-food-nav-link:hover,
.ha-food-nav-item.active .ha-food-nav-link {
  color: var(--ha-food-gold);
}

/* TRANG CHỦ - Active state with gradient text */
.ha-food-nav-link.active .ha-food-menu-label {
  background: linear-gradient(
    45deg,
    var(--ha-food-gold),
    var(--ha-food-gold-light)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* SẢN PHẨM - Gray color from Figma */
.ha-food-nav-left .ha-food-nav-item:nth-child(3) .ha-food-nav-link {
  color: var(--ha-food-gray);
}

.ha-food-dropdown-toggle {
  display: flex;
  align-items: center;
  margin-left: 8px;
  transition: transform 0.3s ease;
}

.ha-food-dropdown:hover .ha-food-dropdown-toggle {
  transform: rotate(180deg);
}

.ha-food-dropdown-toggle svg {
  width: 7.199px; /* Exact from Figma */
  height: 4.492px;
}

/* Logo Styles - Bootstrap centered */
.ha-food-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 12px;
}

.ha-food-logo-icon {
  display: flex;
  align-items: center;
}

.ha-food-logo-icon svg {
  width: 21.463px; /* Exact from Figma */
  height: 18.073px;
  fill: var(--ha-food-gold);
}

.ha-food-logo-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: 8px;
}

.ha-food-brand {
  font-family: "UTM Copperplate", sans-serif;
  font-weight: bold;
  font-size: 16px;
  color: var(--ha-food-white);
  line-height: 1;
  letter-spacing: 1px;
  margin-bottom: 2px;
}

.ha-food-tagline {
  font-family: var(--ha-food-font-secondary);
  font-size: 10px;
  color: var(--ha-food-gray);
  line-height: 1;
  text-transform: uppercase;
}

/* Dropdown Menu - Exact dimensions from Figma */
.ha-food-dropdown {
  position: relative;
}

.ha-food-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--ha-food-dropdown-bg);
  backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: var(--ha-food-z-dropdown);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  min-width: 220px;
  width: max-content;
  height: auto;
}

.ha-food-dropdown:hover .ha-food-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  display: block;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
}

.ha-food-dropdown-content {
  padding: 12px 0;
}

.ha-food-dropdown-item {
  display: block;
  color: var(--ha-food-text-dark);
  text-decoration: none;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  transition: all 0.2s ease;
  border-bottom: 0.75px solid rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}

.ha-food-dropdown-item:hover .ha-food-dropdown-link {
  background-color: rgba(212, 175, 55, 0.1);
  color: var(--ha-food-red);
}

.ha-food-dropdown-item:last-child {
  border-bottom: none;
}

/* 3-Level Dropdown Menu */
.ha-food-dropdown-level2 {
  position: relative;
}

.ha-food-dropdown-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--ha-food-text-dark);
  text-decoration: none;
  font-size: clamp(0.7rem, -0.1087rem + 1.3043vw, 1rem);
  font-weight: normal;
  line-height: 25px;
  padding: 15px 18px;
  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;
  gap: 12px;
  text-transform: capitalize;
}
.ha-food-dropdown-arrow {
  width: 6px;
  height: 6px;
  stroke: currentColor;
  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;
  transform: rotate(0deg) translateX(0px) translateY(-4px);
  -webkit-transform: rotate(0deg) translateX(0px) translateY(-4px);
  -moz-transform: rotate(0deg) translateX(0px) translateY(-4px);
  -ms-transform: rotate(0deg) translateX(0px) translateY(-4px);
  -o-transform: rotate(0deg) translateX(0px) translateY(-4px);
}

.ha-food-dropdown-level2:hover .ha-food-dropdown-arrow {
  transform-origin: center bottom;
  transform: rotate(-90deg) translateX(-3px) translateY(0);
  -webkit-transform: rotate(-90deg) translateX(-3px) translateY(0);
  -moz-transform: rotate(-90deg) translateX(-3px) translateY(0);
  -ms-transform: rotate(-90deg) translateX(-3px) translateY(0);
  -o-transform: rotate(-90deg) translateX(-3px) translateY(0);
}

.ha-food-dropdown-submenu {
  position: absolute;
  left: 100%;
  top: 0;
  background: var(--ha-food-dropdown-bg);
  backdrop-filter: blur(10px);
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-10px);
  transition: all 0.3s ease;
  z-index: calc(var(--ha-food-z-dropdown) + 1);
  border-radius: 0 8px 8px 0;
  box-shadow: 2px 0 20px rgba(0, 0, 0, 0.1);
  border-left: 2px solid var(--ha-food-gold);
  width: max-content;
}

.ha-food-dropdown-level2:hover .ha-food-dropdown-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.ha-food-dropdown-subitem {
  display: block;
  color: var(--ha-food-text-dark);
  text-decoration: none;
  font-size: 1rem;
  font-weight: normal;
  line-height: 20px;
  transition: all 0.3s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  padding: 17px 15px;
}

.ha-food-dropdown-subitem::before {
  content: "▸";
  position: absolute;
  left: 8px;
  color: var(--ha-food-gold);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ha-food-dropdown-subitem:hover {
  background-color: rgba(212, 175, 55, 0.15);
  color: var(--ha-food-red);
  padding-left: 25px;
  font-weight: 500;
}

.ha-food-dropdown-subitem:hover::before {
  opacity: 1;
}

.ha-food-dropdown-subitem:last-child {
  border-bottom: none;
}

/* Icon Links */
.ha-food-icon-link {
  padding: 8px;
}

.ha-food-search-icon,
.ha-food-cart-icon {
  width: 18px;
  height: 18px;
  transition: transform 0.2s ease;
}

.ha-food-icon-link:hover .ha-food-search-icon,
.ha-food-icon-link:hover .ha-food-cart-icon {
  transform: scale(1.1);
}

/* =========================================
     MOBILE MENU STYLES
  ========================================= */
.ha-food-mobile-toggle {
  position: fixed;
  top: 15px;
  left: 20px;
  z-index: var(--ha-food-z-mobile-menu);
  background: var(--ha-food-red);
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.ha-food-mobile-toggle:hover {
  background: var(--ha-food-red-dark);
}

.ha-food-mobile-toggle span {
  width: 20px;
  height: 2px;
  background: var(--ha-food-white);
  border-radius: 1px;
  transition: all 0.3s ease;
}

.ha-food-mobile-menu {
  background: linear-gradient(
    135deg,
    rgba(115, 17, 18, 0.98) 0%,
    rgba(115, 17, 18, 0.95) 25%,
    rgba(115, 17, 18, 0.92) 50%,
    rgba(115, 17, 18, 0.98) 100%
  );
  backdrop-filter: blur(20px);
  border-right: 3px solid var(--ha-food-gold);
  box-shadow: 4px 0 30px rgba(0, 0, 0, 0.3);
  position: fixed;
  overflow: hidden;
  z-index: 2000;
}

.ha-food-mobile-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(
      circle at 20% 20%,
      rgba(212, 175, 55, 0.1) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 80% 80%,
      rgba(245, 158, 11, 0.08) 0%,
      transparent 50%
    ),
    linear-gradient(
      45deg,
      transparent 30%,
      rgba(255, 255, 255, 0.02) 31%,
      rgba(255, 255, 255, 0.02) 32%,
      transparent 33%
    );
  pointer-events: none;
}

.ha-food-mobile-menu .offcanvas-header {
  background: linear-gradient(
    90deg,
    var(--ha-food-red),
    var(--ha-food-red-dark)
  );
  border-bottom: 2px solid var(--ha-food-gold);
  padding: 20px 25px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ha-food-mobile-menu .offcanvas-title {
  font-family: "UTM Copperplate", sans-serif;
  font-size: 18px;
  font-weight: bold;
  color: var(--ha-food-gold);
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ha-food-mobile-floating-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.ha-food-float-icon {
  position: absolute;
  color: rgba(255, 255, 255, 0.15);
  animation: floatElement 8s ease-in-out infinite;
}

.ha-food-float-icon.icon-1 {
  top: 15%;
  left: 10%;
  font-size: 28px;
  animation-delay: 0s;
}
.ha-food-float-icon.icon-2 {
  top: 35%;
  right: 12%;
  font-size: 22px;
  animation-delay: 1.2s;
}
.ha-food-float-icon.icon-3 {
  bottom: 25%;
  left: 20%;
  font-size: 26px;
  animation-delay: 2.4s;
}
.ha-food-float-icon.icon-4 {
  bottom: 10%;
  right: 18%;
  font-size: 20px;
  animation-delay: 3.6s;
}

.ha-food-mobile-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  padding: 12px 16px;
  border-top: 2px solid rgba(212, 175, 55, 0.25);
  background: linear-gradient(
    180deg,
    rgba(115, 17, 18, 0.85) 0%,
    rgba(115, 17, 18, 0.98) 100%
  );
}

.ha-food-mobile-footer .ha-food-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ha-food-mobile-footer .ha-food-contact {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ha-food-mobile-footer .ha-food-contact a,
.ha-food-mobile-footer .ha-food-contact span {
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  text-decoration: none;
}

.ha-food-mobile-footer .ha-food-social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ha-food-social .social-btn {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ha-food-gold), var(--ha-food-red));
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
}

.ha-food-social .social-btn:hover {
  transform: translateY(-2px) scale(1.05);
}

.offcanvas-body-mobile-menu {
  /* Fallback: sẽ được JS tính theo 100vh - header - footer */
  max-height: calc(100vh - var(--mobile-footer-h, 80px));
}
.ha-food-mobile-menu .offcanvas-title span {
  font-size: 24px;
  animation: ha-food-lantern-glow 2s ease-in-out infinite alternate;
}

@keyframes ha-food-lantern-glow {
  0% {
    transform: scale(1);
    filter: brightness(1);
  }
  100% {
    transform: scale(1.1);
    filter: brightness(1.3) drop-shadow(0 0 10px rgba(255, 200, 0, 0.8));
  }
}

.ha-food-mobile-menu .btn-close {
  filter: invert(1);
  background: var(--ha-food-gold);
  border-radius: 50%;
  width: 35px;
  height: 35px;
  opacity: 1;
  transition: all 0.3s ease;
}

.ha-food-mobile-menu .btn-close:hover {
  background: var(--ha-food-white);
  transform: rotate(90deg) scale(1.1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* Mobile Action Buttons - Trung Hoa Style */
.ha-food-mobile-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.ha-food-mobile-action-btn {
  background: linear-gradient(
    135deg,
    rgba(212, 175, 55, 0.9),
    rgba(245, 158, 11, 0.8)
  );
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 12px;
  padding: 8px 12px;
  color: var(--ha-food-red);

  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  min-width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.ha-food-mobile-action-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transition: left 0.5s ease;
}

.ha-food-mobile-action-btn:hover::before {
  left: 100%;
}

.ha-food-mobile-action-btn:hover {
  background: linear-gradient(
    135deg,
    var(--ha-food-white),
    rgba(255, 255, 255, 0.9)
  );
  color: var(--ha-food-red);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5);
  border-color: var(--ha-food-gold);
}

.ha-food-mobile-action-btn svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

.ha-food-mobile-action-btn:hover svg {
  transform: scale(1.1);
}

.ha-food-action-text {
  font-size: 10px;
  line-height: 1;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* Cart Count Badge */
.ha-food-cart-btn {
  position: relative;
}

.ha-food-cart-count {
  position: absolute;
  top: -8px;
  right: -8px;
  background: linear-gradient(45deg, #ff4444, #cc2222);
  color: white;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(255, 68, 68, 0.4);
  border: 2px solid white;
  animation: ha-food-cart-pulse 2s ease-in-out infinite;
}

@keyframes ha-food-cart-pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

/* Chinese Style Decorative Elements */
.ha-food-search-btn::after {
  content: "🔍";
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 8px;
  opacity: 0.7;
  animation: ha-food-search-glow 3s ease-in-out infinite;
}

@keyframes ha-food-search-glow {
  0%,
  100% {
    opacity: 0.5;
    transform: rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: rotate(180deg);
  }
}

.ha-food-cart-btn::after {
  content: "🛒";
  position: absolute;
  bottom: -3px;
  left: -3px;
  font-size: 8px;
  opacity: 0.6;
  animation: ha-food-cart-shake 2s ease-in-out infinite;
}

@keyframes ha-food-cart-shake {
  0%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-1px);
  }
  75% {
    transform: translateX(1px);
  }
}

.ha-food-mobile-nav {
  list-style: none;
  padding: 25px 0;
  margin: 0;
}

.ha-food-mobile-nav-item {
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  position: relative;
  overflow: hidden;
}

.ha-food-mobile-nav-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(
    to bottom,
    transparent,
    var(--ha-food-gold),
    transparent
  );
  transform: scaleY(0);
  transition: transform 0.3s ease;
}

.ha-food-mobile-nav-item:hover::before {
  transform: scaleY(1);
}

.ha-food-mobile-nav-link {
  display: block;
  padding: 18px 25px;
  color: var(--ha-food-white);
  text-decoration: none;
  font-family: "UTM Copperplate", sans-serif;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  position: relative;
  background: transparent;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  width: 100%;
}

.ha-food-mobile-nav-link::after {
  content: "◆";
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ha-food-gold);
  opacity: 0;
  transition: all 0.3s ease;
}

.ha-food-mobile-nav-link:hover,
.ha-food-mobile-nav-item.active .ha-food-mobile-nav-link {
  color: var(--ha-food-gold);
  background: rgba(212, 175, 55, 0.1);
  /* padding-left: 35px; */
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}
.ha-food-mobile-nav-item.active::before {
  transform: scaleY(1);
  -webkit-transform: scaleY(1);
  -moz-transform: scaleY(1);
  -ms-transform: scaleY(1);
  -o-transform: scaleY(1);
}
.ha-food-mobile-nav-link:hover::after,
.ha-food-mobile-nav-item.active .ha-food-mobile-nav-link::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.2);
  -webkit-transform: translateY(-50%) scale(1.2);
  -moz-transform: translateY(-50%) scale(1.2);
  -ms-transform: translateY(-50%) scale(1.2);
  -o-transform: translateY(-50%) scale(1.2);
}
.ha-food-mobile-nav-item.active.ha-food-mobile-dropdown
  .ha-food-mobile-nav-link {
  background: transparent;
  /* padding-left: 0px; */
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  color: var(--ha-food-gold);
}
.ha-food-mobile-nav-item:last-of-type {
  border-bottom: none;
}
.ha-food-mobile-dropdown-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding-right: 10px;
}

.ha-food-mobile-dropdown-btn {
  background: linear-gradient(
    45deg,
    var(--ha-food-gold),
    var(--ha-food-gold-light)
  );
  border: none;
  padding: 8px;
  color: var(--ha-food-red);
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 10px rgba(212, 175, 55, 0.3);
}

.ha-food-mobile-dropdown-btn:hover {
  background: var(--ha-food-white);
  transform: scale(1.1);
  box-shadow: 0 5px 20px rgba(212, 175, 55, 0.5);
}

.ha-food-mobile-dropdown-content {
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.2) 0%,
    rgba(212, 175, 55, 0.1) 50%,
    rgba(0, 0, 0, 0.2) 100%
  );
  border-radius: 0 0px 0px 0;
  position: relative;
  -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: 0 0px 0px 0;
  -moz-border-radius: 0 0px 0px 0;
  -ms-border-radius: 0 0px 0px 0;
  -o-border-radius: 0 0px 0px 0;
}

.ha-food-mobile-dropdown-content::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(
    to bottom,
    transparent,
    var(--ha-food-gold),
    transparent
  );
}

.ha-food-mobile-dropdown.active > .ha-food-mobile-dropdown-content {
  /* max-height do JS điều khiển để tránh mở tràn cả cấp con */
  margin: 10px 0 0 0;
}

.ha-food-mobile-dropdown.active
  > .ha-food-mobile-dropdown-toggle
  > .ha-food-mobile-dropdown-btn {
  transform: rotate(180deg) scale(1.1);
  background: var(--ha-food-white);
  color: var(--ha-food-red);
}

.ha-food-mobile-dropdown-item {
  display: block;
  width: 85%;
  padding: 12px 25px 12px 45px;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  border-left: 3px solid transparent;
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  text-transform: capitalize;
}
/* .ha-food-mobile-dropdown.active .ha-food-mobile-dropdown-item {
  padding: 12px 25px 12px 45px;
} */
.ha-food-mobile-dropdown-item::before {
  content: "•";
  position: absolute;
  left: 30px;
  color: var(--ha-food-gold);
  font-size: 18px;
  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;
  top: 9px;
}

.ha-food-mobile-dropdown-item:hover {
  color: var(--ha-food-gold);
  background: rgba(212, 175, 55, 0.1);
  /* border-left-color: var(--ha-food-gold); */
  padding-left: 50px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.ha-food-mobile-dropdown-item:hover::before {
  content: "◈";
  transform: scale(1.3);
  -webkit-transform: scale(1.3);
  -moz-transform: scale(1.3);
  -ms-transform: scale(1.3);
  -o-transform: scale(1.3);
  top: 9px;
  left: 25px;
}

/* Mobile Menu Toggle Button Enhancement */
.ha-food-mobile-toggle {
  background: linear-gradient(
    135deg,
    var(--ha-food-red),
    var(--ha-food-red-dark)
  );
  border: 2px solid var(--ha-food-gold);
  box-shadow: 0 4px 15px rgba(115, 17, 18, 0.4);
}

.ha-food-mobile-toggle:hover {
  background: linear-gradient(
    135deg,
    var(--ha-food-red-dark),
    var(--ha-food-red)
  );
  box-shadow: 0 6px 25px rgba(115, 17, 18, 0.6);
  border-color: var(--ha-food-gold-light);
}

.ha-food-mobile-toggle span {
  background: var(--ha-food-gold);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.ha-food-logo img {
  max-width: 100%;
  margin: 0 auto;
  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;
}

.ha-food-search-decoration {
  color: var(--ha-food-white);
}

/* Header Scroll Effects Styles */
.ha-food-header {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transform: translateY(0);
  box-shadow: none; /* Remove default shadow */
}

/* Header hidden state - completely hide */
.ha-food-header.header-hidden {
  transform: translateY(-110%); /* Extra margin to completely hide */
  box-shadow: none; /* Remove shadow when hidden */
  visibility: hidden; /* Additional hide for screen readers */
}

/* Header scrolled state - you can customize these styles */
.ha-food-header.scrolled {
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
  padding: 13px 0;
}

.ha-food-header.scrolled .ha-food-logo img {
  max-width: 120px;
}

.ha-food-header.header-hidden {
  transform: translateY(-120%);
  -webkit-transform: translateY(-120%);
  -moz-transform: translateY(-120%);
  -ms-transform: translateY(-120%);
  -o-transform: translateY(-120%);
}

/* header end */

/* search modal start */

/* =========================================
   SEARCH MODAL STYLES - IMPROVED
   ========================================= */
.ha-food-search-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  justify-content: center;
  align-items: center;
  padding: 20px;
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
}

.ha-food-search-modal.show {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

/* Prevent body scroll when modal is open */
body.search-modal-open {
  overflow: hidden;
}

.ha-food-search-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(115, 17, 18, 0.95) 0%,
    rgba(139, 69, 19, 0.92) 25%,
    rgba(160, 82, 45, 0.88) 50%,
    rgba(115, 17, 18, 0.95) 100%
  );
  backdrop-filter: blur(25px);
  cursor: pointer;
  animation: ha-food-backdrop-fade 0.3s ease-out;
}

@keyframes ha-food-backdrop-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.ha-food-search-container {
  position: relative;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(248, 250, 252, 0.95) 100%
  );
  border-radius: 20px;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(212, 175, 55, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(20px);
  border: 2px solid rgba(212, 175, 55, 0.2);
  transform-origin: center;
  transform: scale(0.8) translateY(-30px);
  animation: ha-food-modal-appear 0.5s ease-out forwards;
}

@keyframes ha-food-modal-appear {
  from {
    transform: scale(0.8) translateY(-30px);
    opacity: 0;
  }
  to {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

.ha-food-search-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px 40px 20px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  background: linear-gradient(
    90deg,
    rgba(212, 175, 55, 0.05) 0%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(212, 175, 55, 0.05) 100%
  );
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}

.ha-food-search-title {
  display: flex;
  align-items: center;
  gap: 15px;
}

.ha-food-search-title h3 {
  font-family: "UTM Copperplate", serif;
  font-size: 28px;
  font-weight: bold;
  margin: 0;
  background: linear-gradient(45deg, var(--ha-food-white), var(--ha-food-gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.ha-food-search-icon,
.ha-food-search-decoration {
  font-size: 24px;
  animation: ha-food-search-pulse 2s ease-in-out infinite;
}

.ha-food-search-decoration {
  animation-delay: 0.5s;
}

@keyframes ha-food-search-pulse {
  0%,
  100% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.1) rotate(5deg);
  }
}

.ha-food-search-close {
  background: linear-gradient(
    45deg,
    rgba(220, 38, 38, 0.1),
    rgba(239, 68, 68, 0.1)
  );
  border: 2px solid rgba(220, 38, 38, 0.2);
  padding: 10px;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.3s ease;
  color: var(--ha-food-red);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  position: relative;
  overflow: hidden;
}

.ha-food-search-close::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, var(--ha-food-red), #dc2626);
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 50%;
  z-index: -1;
}

.ha-food-search-close:hover {
  color: white;
  transform: rotate(90deg) scale(1.1);
  box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4);
  border-color: var(--ha-food-red);
}

.ha-food-search-close:hover::before {
  opacity: 1;
}

.ha-food-search-form {
  padding: 0px 0px;
  animation: ha-food-form-slide 0.5s ease-out 0.2s both;
  -webkit-animation: ha-food-form-slide 0.5s ease-out 0.2s both;
}

@keyframes ha-food-form-slide {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ha-food-search-input-group {
  position: relative;
}

.ha-food-search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background: white;
  border-radius: 15px;
  border: 2px solid rgba(212, 175, 55, 0.2);
  transition: all 0.3s ease;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.ha-food-search-input-wrapper.focused,
.ha-food-search-input-wrapper:hover {
  border-color: var(--ha-food-gold);
  box-shadow: 0 6px 30px rgba(212, 175, 55, 0.25),
    0 0 0 4px rgba(212, 175, 55, 0.1);
  transform: translateY(-2px);
}

.ha-food-search-input {
  flex: 1;
  padding: 20px 25px;
  border: none;
  outline: none;
  font-size: 16px;
  background: transparent;
  color: var(--ha-food-dark);
  font-weight: 500;
}

.ha-food-search-input::placeholder {
  color: rgba(75, 85, 99, 0.5);
  font-style: italic;
  font-weight: 400;
}

.ha-food-search-submit {
  background: linear-gradient(45deg, var(--ha-food-gold), var(--ha-food-red));
  border: none;
  padding: 20px 25px;
  cursor: pointer;
  color: white;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-top-right-radius: 13px;
  border-bottom-right-radius: 13px;
}

.ha-food-search-submit::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  transition: left 0.6s ease;
}

.ha-food-search-submit:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.4);
}

.ha-food-search-submit:hover::before {
  left: 100%;
}

.ha-food-search-submit:active {
  transform: scale(0.95);
}

.ha-food-search-suggestions {
  animation: ha-food-suggestions-slide 0.6s ease-out 0.4s both;
  -webkit-animation: ha-food-suggestions-slide 0.6s ease-out 0.4s both;
}

@keyframes ha-food-suggestions-slide {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ha-food-search-section {
  margin-bottom: 35px;
  overflow-y: auto;
  max-height: 300px;
  scrollbar-width: thin;
  scrollbar-color: var(--ha-food-gold) var(--ha-food-red);
  padding-right: 10px;
}

.ha-food-search-section:last-child {
  margin-bottom: 0;
}

.ha-food-search-section h4 {
  font-family: "UTM Copperplate", serif;
  font-size: 18px;
  font-weight: bold;
  color: var(--ha-food-dark);
  margin: 0 0 20px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
}

.ha-food-search-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ha-food-search-tag {
  background: linear-gradient(
    135deg,
    rgba(212, 175, 55, 0.1),
    rgba(212, 175, 55, 0.05)
  );
  color: var(--ha-food-dark);
  padding: 10px 18px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid rgba(212, 175, 55, 0.2);
  position: relative;
  overflow: hidden;
}

.ha-food-search-tag::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, var(--ha-food-gold), var(--ha-food-red));
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.ha-food-search-tag:hover {
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3);
}

.ha-food-search-tag:hover::before {
  opacity: 1;
}

.ha-food-search-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.ha-food-search-product {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 15px;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 1px solid rgba(212, 175, 55, 0.1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.ha-food-search-product:hover {
  background: rgba(255, 255, 255, 0.95);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  border-color: var(--ha-food-gold);
}

.ha-food-product-img {
  width: 70px;
  height: 70px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.ha-food-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.ha-food-search-product:hover .ha-food-product-img img {
  transform: scale(1.1);
}

.ha-food-product-info h5 {
  font-family: "UTM Copperplate", serif;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 5px 0;
  color: var(--ha-food-dark);
}

.ha-food-product-info p {
  font-size: 14px;
  color: rgba(75, 85, 99, 0.7);
  margin: 0;
  line-height: 1.5;
}

/* search modal end */

/* menu mobile start */
.ha-food-logo-mobile {
  width: 100%;
  max-width: 150px;
  height: auto;
}
.ha-food-logo-mobile img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* =========================================
   DESKTOP SEARCH & CART BUTTONS
   ========================================= */
.ha-food-icon-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ha-food-gold), var(--ha-food-red));
  color: white;
  transition: all 0.3s ease;
  text-decoration: none;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.ha-food-icon-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, var(--ha-food-red), var(--ha-food-gold));
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.ha-food-icon-link:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 6px 25px rgba(212, 175, 55, 0.5);
  color: white;
  text-decoration: none;
}

.ha-food-icon-link:hover::before {
  opacity: 1;
}

.ha-food-icon-link:active {
  transform: translateY(-1px) scale(0.95);
}

.ha-food-search-icon,
.ha-food-cart-icon {
  width: 16px;
  height: 16px;
  color: inherit;
  transition: all 0.3s ease;
}

.ha-food-icon-link:hover .ha-food-search-icon,
.ha-food-icon-link:hover .ha-food-cart-icon {
  transform: scale(1.1);
}

/* =========================================
     MOBILE CONTROLS - FIXED POSITIONING
     ========================================= */
.ha-food-mobile-controls {
  position: fixed;
  bottom: 25px;
  right: 20px;
  z-index: 1055;
  display: flex;
  align-items: center;
  gap: 15px;
}

.ha-food-mobile-actions {
  display: flex;
  gap: 12px;
  background: linear-gradient(
    135deg,
    rgba(115, 17, 18, 0.95) 0%,
    rgba(139, 69, 19, 0.92) 25%,
    rgba(160, 82, 45, 0.88) 50%,
    rgba(115, 17, 18, 0.95) 100%
  );
  padding: 10px 14px;
  border-radius: 30px;
  backdrop-filter: blur(20px);
  border: 2px solid rgba(212, 175, 55, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
}

.ha-food-mobile-actions::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    45deg,
    rgba(212, 175, 55, 0.1),
    rgba(184, 28, 28, 0.05),
    rgba(212, 175, 55, 0.1)
  );
  pointer-events: none;
}

.ha-food-mobile-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--ha-food-gold), var(--ha-food-red));
  color: white;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

.ha-food-mobile-action-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.4s ease;
  transform: translate(-50%, -50%);
}

.ha-food-mobile-action-btn:hover::before,
.ha-food-mobile-action-btn:active::before {
  width: 100%;
  height: 100%;
}

.ha-food-mobile-action-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 25px rgba(212, 175, 55, 0.4);
}

.ha-food-mobile-action-btn:active {
  transform: scale(0.95);
}

.ha-food-mobile-action-btn svg {
  width: 20px;
  height: 20px;
}

.ha-food-cart-count {
  position: absolute;
  top: -6px;
  right: -6px;
  background: linear-gradient(135deg, var(--ha-food-red), #b91c1c);
  color: white;
  font-size: 11px;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 10px;
  min-width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  animation: ha-food-cart-pulse 2s ease-in-out infinite;
  border: 2px solid white;
}

@keyframes ha-food-cart-pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}

.ha-food-mobile-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ha-food-gold), var(--ha-food-red));
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.4);
  position: relative;
  overflow: hidden;
}

.ha-food-mobile-toggle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, var(--ha-food-red), var(--ha-food-gold));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ha-food-mobile-toggle:hover::before {
  opacity: 1;
}

.ha-food-mobile-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: white;
  margin: 3px 0;
  transition: all 0.3s ease;
  border-radius: 1px;
  position: relative;
  z-index: 2;
}

.ha-food-mobile-toggle:hover {
  transform: scale(1.1);
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.6);
}

.ha-food-mobile-toggle:hover span {
  width: 26px;
}

.ha-food-mobile-toggle:active {
  transform: scale(0.95);
}

/* Decorative elements for mobile buttons */
.ha-food-search-btn::after {
  content: "🔍";
  position: absolute;
  top: -12px;
  right: -12px;
  font-size: 14px;
  animation: ha-food-search-float 3s ease-in-out infinite;
  pointer-events: none;
  z-index: 10;
}

.ha-food-cart-btn::after {
  content: "🛒";
  position: absolute;
  top: -12px;
  left: -12px;
  font-size: 14px;
  animation: ha-food-cart-float 3s ease-in-out infinite 1s;
  pointer-events: none;
  z-index: 10;
}

@keyframes ha-food-search-float {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
    opacity: 0.7;
  }
  50% {
    transform: translateY(-8px) rotate(10deg);
    opacity: 1;
  }
}

@keyframes ha-food-cart-float {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
    opacity: 0.7;
  }
  50% {
    transform: translateY(-8px) rotate(-10deg);
    opacity: 1;
  }
}

/* Ensure mobile controls are above other elements */
.ha-food-mobile-controls {
  z-index: 1055 !important; /* Above Bootstrap offcanvas */
}

/* When search modal is open, adjust z-index */
body.search-modal-open .ha-food-mobile-controls {
  z-index: 10001 !important; /* Above search modal */
}

.offcanvas-body-mobile-menu {
  max-height: 70vh;
  overflow-y: auto;
}
.ha-food-mobile-menu-close {
  /* background gradient gold */
  background: linear-gradient(135deg, var(--ha-food-gold), var(--ha-food-red));
  box-shadow: none;
  font-size: 1rem;
  color: var(--ha-food-white);
  padding: 0;
  margin: 0;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border: none;
}
/* menu mobile end */

/* offcanvas cart start */

/* ========================================
   MODERN CART OFFCANVAS STYLES
======================================== */

/* Modern Cart Offcanvas - Clean Design */
.ha-cart-modern {
  --bs-offcanvas-width: 400px;
  background: #ffffff;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
}

/* Cart Header */
.ha-cart-header {
  background: var(--primary-color);
  padding: 20px;
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ha-cart-count-badge {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.8rem;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
}

/* Cart Items Container */
.ha-cart-items-container {
  flex: 1;
  overflow-y: auto;
  padding: 0;
  max-height: calc(100vh - 300px);
}

/* Individual Cart Item */
.ha-cart-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px 20px;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}

.ha-cart-item:hover {
  background-color: #fafafa;
}

/* Cart Item Image */
.ha-cart-item-image {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.ha-cart-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Cart Item Info */
.ha-cart-item-info {
  flex: 1;
  min-width: 0;
}

.ha-cart-item-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.ha-cart-item-attr {
  display: block;
  font-size: 0.8rem;
  color: #666;
  margin-bottom: 2px;
}

.ha-cart-item-price {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.ha-cart-price-current {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--primary-color);
}

.ha-cart-price-original {
  font-size: 0.8rem;
  color: #999;
  text-decoration: line-through;
}

/* Cart Item Controls */
.ha-cart-item-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.ha-cart-quantity-group {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 20px;
  overflow: hidden;
  background: white;
}

.ha-cart-qty-btn {
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.9rem;
  font-weight: 600;
}

.ha-cart-qty-btn:hover {
  background: var(--primary-color);
  color: white;
}

.ha-cart-qty-input {
  width: 35px;
  height: 28px;
  border: none;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
  color: #333;
  background: transparent;
  outline: none;
}

.ha-cart-remove-btn {
  background: transparent;
  border: none;
  color: #dc3545;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.7rem;
}

.ha-cart-remove-btn:hover {
  background: #dc3545;
  color: white;
  transform: scale(1.1);
}

/* Empty Cart */
.ha-cart-empty {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}

.ha-cart-empty-icon {
  font-size: 3rem;
  margin-bottom: 15px;
  opacity: 0.5;
}

.ha-cart-empty h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
}

.ha-cart-empty p {
  font-size: 0.9rem;
  margin: 0;
}

/* Cart Summary */
.ha-cart-summary {
  padding: 20px;
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
}

.ha-cart-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: 0.9rem;
}

.ha-cart-summary-row span:first-child {
  color: #666;
}

.ha-cart-summary-divider {
  height: 1px;
  margin: 5px 0;
}

.ha-cart-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 2px solid #e9ecef;
  font-size: 1rem;
  color: var(--primary-color);
}

/* Cart Footer */
.ha-cart-footer {
  padding: 20px;
  background: white;
  border-top: 1px solid #e9ecef;
  position: sticky;
  bottom: 0;
}

.ha-checkout-btn {
  font-weight: 600;
  text-transform: none;
  border-radius: 8px;
  padding: 12px 20px;
}

/* Custom Scrollbar for Cart */
.ha-cart-items-container::-webkit-scrollbar {
  width: 4px;
}

.ha-cart-items-container::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.ha-cart-items-container::-webkit-scrollbar-thumb {
  background: var(--primary-color);
  border-radius: 2px;
}

.ha-cart-items-container::-webkit-scrollbar-thumb:hover {
  background: #666;
}

/* Cart Offcanvas End */

/* Product Detail Quantity Selector - Modern Design */
.quantity-selector {
  margin: 25px 0;
}

.quantity-controls {
  display: inline-flex;
  align-items: center;
  border: 2px solid #e9ecef;
  border-radius: 50px;
  background: white;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.quantity-controls:hover {
  border-color: var(--primary-color);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.quantity-btn {
  background: transparent;
  border: none;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--primary-color);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.quantity-btn:hover {
  background: var(--primary-color);
  color: white;
  transform: scale(1.05);
}

.quantity-btn:active {
  transform: scale(0.95);
}

.quantity-btn.decrease:hover {
  background: linear-gradient(135deg, #ff6b6b, #ff4757);
}

.quantity-btn.increase:hover {
  background: linear-gradient(135deg, #2ed573, #20bf6b);
}

.quantity-input {
  border: none;
  background: transparent;
  width: 60px;
  height: 45px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 700;
  color: #333;
  outline: none;
  -moz-appearance: textfield; /* Firefox */
}

.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-input:focus {
  background: rgba(var(--primary-color-rgb), 0.05);
  color: var(--primary-color);
}

/* Product Detail Action Buttons Enhancement */
.action-buttons {
  display: flex;
  gap: 15px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.btn-order-now,
.btn-add-to-cart {
  padding: 12px 30px;
  border: none;
  border-radius: 25px;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  min-width: 200px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.btn-order-now {
  background: linear-gradient(135deg, var(--primary-color), #e74c3c);
  color: white;
  box-shadow: 0 6px 20px rgba(231, 76, 60, 0.3);
}

.btn-order-now:hover {
  background: linear-gradient(135deg, #e74c3c, var(--primary-color));
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(231, 76, 60, 0.4);
}

.btn-add-to-cart {
  background: transparent;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.btn-add-to-cart:hover {
  background: var(--primary-color);
  color: white;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(var(--primary-color-rgb), 0.3);
}

.btn-add-to-cart:disabled,
.btn-order-now:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

/* Product Description Content - Modern Luxury Style */
.san-pham-detail .ha-food-product-description {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin: 0px 0;
}

.san-pham-detail .ha-food-product-description .description-content {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.8;
  color: #333;
  font-size: 16px;
  position: relative;
}

/* Content collapsed state */
.description-content.collapsed {
  max-height: 300px;
  overflow: hidden;
  position: relative;
}

.description-content.collapsed::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.9), #ffffff);
  pointer-events: none;
}

/* Expand/Collapse Button */
.description-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--primary-color), #e74c3c);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  margin: 20px auto;
  box-shadow: 0 4px 15px rgba(var(--primary-color-rgb), 0.3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  width: fit-content;
  position: relative;
}

.description-toggle-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(var(--primary-color-rgb), 0.4);
  -webkit-transform: translateY(-2px);
  -moz-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  -o-transform: translateY(-2px);
}

.description-toggle-btn i {
  transition: transform 0.3s ease;
}

.description-toggle-btn.expanded i {
  transform: rotate(180deg);
}

/* Typography Styles */
.description-content h1,
.description-content h2,
.description-content h3,
.description-content h4,
.description-content h5,
.description-content h6 {
  font-family: "UTM Copperplate", serif;
  color: var(--primary-color);
  margin: 30px 0 20px 0;
  font-weight: 700;
  position: relative;
  padding-left: 20px;
}

.description-content h1 {
  font-size: 2.2rem;
  border-bottom: 3px solid var(--primary-color);
  padding-bottom: 15px;
  margin-bottom: 25px;
}

.description-content h2 {
  font-size: clamp(1.3rem, 1.1462rem + 0.7692vw, 1.8rem);
  position: relative;
  padding-left: 20px;
}

.description-content h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 35px;
  background: linear-gradient(135deg, var(--primary-color), #e74c3c);
  border-radius: 3px;
}

.description-content h3 {
  font-size: 1.5rem;
  color: #444;
  position: relative;
  padding-left: 20px;
}

.description-content h3::before {
  content: "🥮";
  position: absolute;
  left: -10px;
  top: 0;
  font-size: 1.2rem;
}

.description-content h4 {
  font-size: 1.3rem;
  color: #555;
}

.description-content h5,
.description-content h6 {
  font-size: 1.1rem;
  color: #666;
}

/* Paragraph Styles */
.description-content p {
  margin: 16px 0;
  text-align: justify;
  color: #444;
}

.description-content p:first-of-type {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--primary-color);
}

/* Link Styles */
.description-content a {
  color: var(--primary-color);
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  border-bottom: 2px solid transparent;
}

.description-content a:hover {
  color: #e74c3c;
  border-bottom-color: #e74c3c;
}

/* List Styles */
.description-content ul,
.description-content ol {
  padding-left: 0;
  margin: 20px 0;
  list-style: none;
}

.description-content ul li,
.description-content ol li {
  position: relative;
  padding: 8px 0 8px 30px;
  margin: 8px 0;
  color: #444;
  transition: all 0.3s ease;
}

.description-content ul li:hover,
.description-content ol li:hover {
  background: rgba(var(--primary-color-rgb), 0.05);
  border-radius: 8px;
  padding-left: 35px;
}

.description-content ul li::before {
  content: "🌟";
  position: absolute;
  left: 0;
  top: 8px;
  font-size: 14px;
}

.description-content ol {
  counter-reset: elegant-counter;
}

.description-content ol li {
  counter-increment: elegant-counter;
}

.description-content ol li::before {
  content: counter(elegant-counter);
  position: absolute;
  left: 0;
  top: 8px;
  background: linear-gradient(135deg, var(--primary-color), #e74c3c);
  color: white;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

/* Blockquote Styles */
.description-content blockquote {
  background: linear-gradient(
    135deg,
    rgba(var(--primary-color-rgb), 0.05),
    rgba(231, 76, 60, 0.05)
  );
  border-left: 4px solid var(--primary-color);
  margin: 25px 0;
  padding: 20px 45px;
  border-radius: 0 15px 15px 0;
  font-style: italic;
  position: relative;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.description-content blockquote::before {
  content: '"';
  font-size: 4rem;
  color: rgba(var(--primary-color-rgb), 0.2);
  position: absolute;
  top: -10px;
  left: 15px;
}

.description-content blockquote p {
  margin: 0;
  font-size: 1.1rem;
  color: var(--primary-color);
  font-weight: 500;
}

/* Table Styles */
.description-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 25px 0;
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.description-content table th {
  background: linear-gradient(135deg, var(--primary-color), #e74c3c);
  color: white;
  padding: 15px 20px;
  font-weight: 700;
  text-align: left;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.description-content table td {
  padding: 15px 20px;
  border-bottom: 1px solid #f0f0f0;
  color: #444;
  vertical-align: top;
}

.description-content table tbody tr:hover {
  background: rgba(var(--primary-color-rgb), 0.03);
}

.description-content table tbody tr:last-child td {
  border-bottom: none;
}

/* Small Text Styles */
.description-content small {
  font-size: 0.85rem;
  color: #666;
  font-style: italic;
}

/* Code Styles */
.description-content code {
  background: rgba(var(--primary-color-rgb), 0.1);
  color: var(--primary-color);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9rem;
}

/* Image Styles */
.description-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin: 20px 0;
  transition: transform 0.3s ease;
}

.description-content img:hover {
  transform: scale(1.02);
}

/* Search Modal - Modern Design */
#searchModal .modal-dialog {
  max-width: 600px;
  margin: 3rem auto;
}

#searchModal .modal-content {
  background: var(--primary-color);
  border-radius: 20px;
  border: none;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

/* Search Header */
.ha-food-search-header {
  background: linear-gradient(
    135deg,
    var(--primary-color),
    rgba(115, 17, 18, 0.9)
  );
  border: none;
  padding: 30px;
  position: relative;
}

.ha-food-search-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="30" r="1.5" fill="rgba(255,255,255,0.08)"/><circle cx="80" cy="15" r="2.5" fill="rgba(255,255,255,0.05)"/></svg>')
    repeat;
  opacity: 0.3;
}

.ha-food-search-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  position: relative;
  z-index: 2;
}

.ha-food-search-icon,
.ha-food-search-decoration {
  font-size: 1.5rem;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3));
}

.ha-food-search-header .modal-title {
  color: white;
  font-family: "UTM Copperplate", serif;
  font-size: 1.5rem;
  font-weight: 700;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  margin: 0;
  background-clip: initial;
}

.ha-food-search-header .btn-close {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  position: relative;
  z-index: 3;
}

.ha-food-search-header .btn-close:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(90deg) scale(1.1);
}

/* Search Body */
#searchModal .modal-body {
  padding: 30px;
  background: var(--primary-color);
  padding-top: 0;
}

/* Search Form */
.ha-food-search-form {
  margin-bottom: 20px;
}

.ha-food-search-input-wrapper {
  position: relative;
  display: flex;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: all 0.3s ease;
}

.ha-food-search-input-wrapper:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.ha-food-search-input {
  flex: 1;
  border: none;
  padding: 16px 25px;
  font-size: 16px;
  background: transparent;
  color: #333;
  outline: none;
  font-weight: 500;
}

.ha-food-search-input::placeholder {
  color: #888;
}

.ha-food-search-submit {
  background: linear-gradient(135deg, var(--primary-color), #e74c3c);
  border: none;
  padding: 18px 25px;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ha-food-search-submit:hover {
  background: linear-gradient(135deg, #e74c3c, var(--primary-color));
  transform: scale(1.05);
}

/* Search Suggestions */
.ha-food-search-suggestions {
  color: white;
}

.ha-food-search-section {
  margin-bottom: 25px;
}

.ha-food-search-section h4 {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Search Tags */
.ha-food-search-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ha-food-search-tag {
  background: rgba(255, 255, 255, 0.15);
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
}

.ha-food-search-tag:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Featured Products */
.ha-food-search-products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}

.ha-food-search-product {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  padding: 15px;
  display: flex;
  gap: 12px;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
}

.ha-food-search-product:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.ha-food-product-img {
  width: 50px;
  height: 50px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}

.ha-food-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ha-food-product-info h5 {
  color: white;
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.ha-food-product-info p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.8rem;
  margin: 0;
  line-height: 1.4;
}

/* slider start */

/* Moonlight Spotlight Effect */
.ha-food-moonlight-spotlight {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.15) 0%,
    rgba(255, 223, 87, 0.12) 20%,
    rgba(255, 223, 87, 0.08) 40%,
    rgba(255, 223, 87, 0.04) 60%,
    rgba(255, 223, 87, 0.02) 80%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 4;
  transform: translate(-50%, -50%);
  filter: blur(1px);
  opacity: 1;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(0.5px);
  mix-blend-mode: soft-light;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -ms-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
}

.ha-food-moonlight-spotlight::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(255, 223, 87, 0.16) 30%,
    rgba(255, 223, 87, 0.08) 60%,
    transparent 100%
  );
  border-radius: 50%;
  transform: translate(-50%, -50%);
  filter: blur(2px);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

.ha-food-moonlight-spotlight::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.28) 0%,
    rgba(255, 223, 87, 0.22) 40%,
    transparent 70%
  );
  border-radius: 50%;
  transform: translate(-50%, -50%);
  filter: blur(1px);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

/* Spotlight opacity: luôn hiển thị, không phụ thuộc hover để tránh nhấp nháy */
.ha-food-hero-swiper .ha-food-moonlight-spotlight {
  opacity: 0; /* sẽ được GSAP điều khiển khi background vào */
}

/* =========================================
   HERO SECTION - MODERN CHINESE LUXURY
   ========================================= */
.ha-food-hero {
  position: relative;
  /* min-height: 100vh; */
  overflow: hidden;
  display: flex;
  align-items: center;
  /* background: linear-gradient(135deg,
      #0F0F0F 0%,
      #1A0B0B 25%,
      #2D1010 50%,
      #1A0B0B 75%,
      #0F0F0F 100%); */
  background: transparent;
}

/* Hero Background */
.ha-food-hero-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.ha-food-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(184, 28, 28, 0.15) 0%,
    rgba(212, 175, 55, 0.1) 25%,
    rgba(139, 69, 19, 0.12) 50%,
    rgba(212, 175, 55, 0.1) 75%,
    rgba(184, 28, 28, 0.15) 100%
  );
  backdrop-filter: blur(1px);
  width: 100%;
  height: 100%;
}

.ha-food-hero-pattern {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
      circle at 20% 30%,
      rgba(212, 175, 55, 0.08) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 80% 70%,
      rgba(184, 28, 28, 0.06) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 60% 20%,
      rgba(212, 175, 55, 0.05) 0%,
      transparent 40%
    ),
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 50px,
      rgba(212, 175, 55, 0.02) 50px,
      rgba(212, 175, 55, 0.02) 51px
    );
  opacity: 0.7;
}

/* Floating Elements */
.ha-food-floating-elements {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 2;
}

.ha-food-floating-lantern,
.ha-food-floating-moon,
.ha-food-floating-flower,
.ha-food-floating-bamboo,
.ha-food-floating-fortune {
  position: absolute;
  font-size: 24px;
  opacity: 0.6;
  animation: ha-food-float 8s ease-in-out infinite;
  -webkit-animation: ha-food-float 8s ease-in-out infinite;
}

.ha-food-floating-lantern {
  top: 10%;
  left: 15%;
  animation-delay: 0s;
}

.ha-food-floating-moon {
  top: 20%;
  right: 20%;
  animation-delay: 2s;
}

.ha-food-floating-flower {
  top: 60%;
  left: 10%;
  animation-delay: 4s;
}

.ha-food-floating-bamboo {
  top: 70%;
  right: 15%;
  animation-delay: 6s;
}

.ha-food-floating-fortune {
  top: 40%;
  left: 80%;
  animation-delay: 1s;
}
.ha-food-floating-elements img {
  width: 100%;
  height: auto;
  max-width: 80px;
}

@keyframes ha-food-float {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
    opacity: 0.4;
  }
  25% {
    transform: translateY(-15px) rotate(5deg);
    opacity: 0.7;
  }
  50% {
    transform: translateY(-8px) rotate(-3deg);
    opacity: 0.6;
  }
  75% {
    transform: translateY(-20px) rotate(8deg);
    opacity: 0.5;
  }
}

.ha-food-slide-background {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.9);
  -webkit-filter: brightness(0.9);
}
.ha-food-slide-overlay {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4));
  pointer-events: none;
}
.ha-food-slide-container-content {
  position: relative;
  z-index: 5;
  width: 100%;
  padding: 0 2%;
}
/* Swiper Container */
.ha-food-hero-swiper {
  position: relative;
  width: 100%;
  z-index: 3;
}

.ha-food-slide-container {
  display: flex;
  align-items: center;
  position: relative;
  padding: 50px 0 200px 0;
}

/* Slide Content */
.ha-food-slide-content {
  padding: 0 50px;
  position: relative;
  z-index: 4;
}

.ha-food-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(
    135deg,
    rgba(212, 175, 55, 0.2),
    rgba(184, 28, 28, 0.15)
  );
  border: 1px solid rgba(212, 175, 55, 0.4);
  padding: 8px 16px;
  border-radius: 25px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ha-food-gold);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 25px;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.ha-food-badge-icon {
  font-size: 14px;
}
.ha-food-badge-icon img {
  width: 25px;
  height: 25px;
  object-fit: contain;
  filter: grayscale(1) invert(1);
  -webkit-filter: grayscale(1) invert(1);
  transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
  -moz-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  -o-transform: translateY(-2px);
}

.ha-food-main-title {
  margin: 0 0 25px 0;
  line-height: 1.1;
}

.ha-food-title-accent {
  display: block;
  font-family: "MTD-Colatin", "UTM Copperplate", serif;
  font-size: clamp(3rem, 2.8462rem + 0.7692vw, 3.5rem);
  font-weight: 300;
  color: var(--ha-food-gold);
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
  margin-bottom: 5px;
  opacity: 0.9;
}

.ha-food-title-main {
  display: block;
  font-family: "UTM Copperplate", serif;
  font-size: clamp(2.2rem, 1.3385rem + 4.3077vw, 5rem);
  font-weight: bold;
  color: var(--ha-food-white);
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
  background: linear-gradient(135deg, var(--ha-food-gold), var(--ha-food-red));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-top: -15px;
}

.ha-food-title-sub {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-style: italic;
}

.ha-food-slide-description {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 30px;
  max-width: 500px;
  font-weight: 400;
}
.ha-food-slide-description ul {
  list-style: none;
  padding-left: 14px;
}
/* Features */
.ha-food-slide-features {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 35px;
}

.ha-food-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  font-weight: 500;
}

.ha-food-feature-icon {
  font-size: 20px;
  width: 32px;
  text-align: center;
}

/* Action Buttons */
.ha-food-slide-actions {
  display: flex;
  gap: 16px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.ha-food-cta-primary,
.ha-food-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  border-radius: 12px;
  font-family: "UTM Copperplate", serif;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.4s ease;
  border: none;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  font-weight: 400;
}

.ha-food-cta-primary {
  background: linear-gradient(135deg, var(--ha-food-gold), var(--ha-food-red));
  color: white;
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.4);
}

.ha-food-cta-primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transition: left 0.6s ease;
}

.ha-food-cta-primary:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 35px rgba(212, 175, 55, 0.5);
}

.ha-food-cta-primary:hover::before {
  left: 100%;
}

.ha-food-cta-secondary {
  display: inline-block;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: white;
  backdrop-filter: blur(10px);
}

.ha-food-cta-secondary:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--ha-food-gold);
  border-color: var(--ha-food-gold);
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(-3px);
  -moz-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  -o-transform: translateY(-3px);
}

.ha-food-btn-icon {
  font-size: 16px;
  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;
}

.ha-food-cta-primary:hover .ha-food-btn-icon,
.ha-food-cta-secondary:hover .ha-food-btn-icon {
  transform: scale(1.2);
}

/* Price Display */
.ha-food-slide-price {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.ha-food-price-label {
  font-size: 1;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 400;
}

.ha-food-price-value {
  font-size: clamp(1.4rem, 1.2154rem + 0.9231vw, 2rem);
  font-weight: bold;
  color: var(--ha-food-gold);
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
  font-family: "UTM Copperplate", serif;
}

.ha-food-price-original {
  font-size: clamp(0.8rem, 0.7231rem + 0.3846vw, 1.05rem);
  color: rgba(255, 255, 255, 0.5);
  text-decoration: line-through;
  font-weight: 400;
}

/* Visual Section */
.ha-food-slide-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px;
}

.ha-food-product-showcase {
  position: relative;
  width: 100%;
  max-width: 600px;
  height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ha-food-showcase-main {
  position: relative;
  z-index: 5;
}

.ha-food-product-circle {
  width: 350px;
  height: 350px;
  border-radius: 50%;
  position: relative;
  background: linear-gradient(
    135deg,
    rgba(212, 175, 55, 0.2),
    rgba(184, 28, 28, 0.1)
  );
  border: 2px solid rgba(212, 175, 55, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(20px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  animation: ha-food-mooncake-glow 4s ease-in-out infinite alternate;
}

@keyframes ha-food-mooncake-glow {
  0% {
    transform: scale(1);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4),
      inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 0 0 rgba(212, 175, 55, 0);
    border-color: rgba(212, 175, 55, 0.4);
  }
  100% {
    transform: scale(1.02);
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5),
      inset 0 1px 0 rgba(255, 255, 255, 0.3),
      0 0 30px 10px rgba(212, 175, 55, 0.3);
    border-color: rgba(212, 175, 55, 0.8);
  }
}

.ha-food-product-main {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
  animation: ha-food-product-pulse 4s ease-in-out infinite;
}

@keyframes ha-food-product-pulse {
  0%,
  100% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.05) rotate(-2deg);
  }
}

.ha-food-product-glow {
  position: absolute;
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;
  background: conic-gradient(
    var(--ha-food-gold),
    var(--ha-food-red),
    var(--ha-food-gold),
    var(--ha-food-red),
    var(--ha-food-gold)
  );
  border-radius: 50%;
  opacity: 0.3;
  animation: ha-food-glow-spin 8s linear infinite;
  filter: blur(20px);
  z-index: -1;
}

@keyframes ha-food-glow-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Accessories */
.ha-food-showcase-accessories {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}

.ha-food-accessory {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(212, 175, 55, 0.3);
  backdrop-filter: blur(15px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.4s ease;
  cursor: pointer;
}

.ha-food-accessory:hover {
  transform: scale(1.1) rotate(5deg);
  border-color: var(--ha-food-gold);
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.4);
}

.ha-food-accessory img {
  width: 90px;
  height: 90px;
  border-radius: 10px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.ha-food-accessory:hover img {
  transform: scale(1.1);
}

.ha-food-acc-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  font-size: 16px;
  width: 30px;
  height: 30px;
  background: linear-gradient(135deg, var(--ha-food-gold), var(--ha-food-red));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  animation: ha-food-badge-bounce 2s ease-in-out infinite;
}

@keyframes ha-food-badge-bounce {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}

.ha-food-acc-1 {
  top: 15%;
  left: -5%;
  animation: ha-food-orbit-1 15s linear infinite;
}

.ha-food-acc-2 {
  bottom: 15%;
  right: -5%;
  animation: ha-food-orbit-2 12s linear infinite reverse;
}

@keyframes ha-food-orbit-1 {
  from {
    transform: rotate(0deg) translateX(200px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(200px) rotate(-360deg);
  }
}

@keyframes ha-food-orbit-2 {
  from {
    transform: rotate(0deg) translateX(180px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(180px) rotate(-360deg);
  }
}

/* Decorative Elements */
.ha-food-showcase-decorations {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

.ha-food-decoration {
  position: absolute;
  font-size: 20px;
  opacity: 0.6;
  animation: ha-food-decoration-float 6s ease-in-out infinite;
}

.ha-food-dec-1 {
  top: 10%;
  left: 20%;
  animation-delay: 0s;
}

.ha-food-dec-2 {
  top: 20%;
  right: 15%;
  animation-delay: 1.5s;
}

.ha-food-dec-3 {
  bottom: 25%;
  left: -10%;
  animation-delay: 3s;
}

.ha-food-dec-4 {
  bottom: 15%;
  right: -5%;
  animation-delay: 4.5s;
}

@keyframes ha-food-decoration-float {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
    opacity: 0.4;
    -webkit-transform: translateY(0) rotate(0deg);
    -moz-transform: translateY(0) rotate(0deg);
    -ms-transform: translateY(0) rotate(0deg);
    -o-transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-20px) rotate(180deg);
    opacity: 0.8;
  }
}

.ha-food-decoration img {
  width: 100%;
  height: auto;
  max-width: 70px;
}
/* Navigation */
.ha-food-slider-navigation {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(1);
  display: flex;
  justify-content: space-between;
  padding: 0 30px;
  z-index: 10;
  pointer-events: none;
  -webkit-transform: translateY(-50%) scale(1);
  -moz-transform: translateY(-50%) scale(1);
  -ms-transform: translateY(-50%) scale(1);
  -o-transform: translateY(-50%) scale(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;
}

.ha-food-slider-prev,
.ha-food-slider-next {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(212, 175, 55, 0.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ha-food-gold);
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(15px);
  pointer-events: auto;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.ha-food-slider-prev {
  left: 10px;
}
.ha-food-slider-next {
  right: 10px;
}

.ha-food-slider-prev:hover,
.ha-food-slider-next:hover {
  background: rgba(212, 175, 55, 0.2);
  border-color: var(--ha-food-gold);
  transform: scale(1.1) translateY(-50%);
  box-shadow: 0 6px 25px rgba(212, 175, 55, 0.3);
  -webkit-transform: scale(1.1) translateY(-50%);
  -moz-transform: scale(1.1) translateY(-50%);
  -ms-transform: scale(1.1) translateY(-50%);
  -o-transform: scale(1.1) translateY(-50%);
}

.ha-food-slider-prev:active,
.ha-food-slider-next:active {
  transform: scale(0.95) translateY(-50%);
  -webkit-transform: scale(0.95) translateY(-50%);
  -moz-transform: scale(0.95) translateY(-50%);
  -ms-transform: scale(0.95) translateY(-50%);
  -o-transform: scale(0.95) translateY(-50%);
}

/* Pagination */
.ha-food-slider-pagination {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  z-index: 10;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}

.ha-food-slider-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.3);
  border: 2px solid rgba(212, 175, 55, 0.4);
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 1;
}

.ha-food-slider-pagination .swiper-pagination-bullet-active {
  background: var(--ha-food-gold);
  border-color: var(--ha-food-gold);
  transform: scale(1.3);
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.6);
}

/* Scroll Indicator */
.ha-food-scroll-indicator {
  position: absolute;
  bottom: 20%;
  right: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.7);
  z-index: 10;
  cursor: pointer;
  transition: all 0.3s ease;
}

.ha-food-scroll-indicator:hover {
  color: var(--ha-food-gold);
  transform: translateY(-5px);
}

.ha-food-scroll-text {
  font-size: 14px;
  font-weight: 500;
  writing-mode: vertical-lr;
  text-orientation: mixed;
  letter-spacing: 2px;
}

.ha-food-scroll-arrow {
  animation: ha-food-scroll-bounce 2s ease-in-out infinite;
}

@keyframes ha-food-scroll-bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}

/* GSAP Animation Control Classes - Refined */
.gsap-animating .ha-food-title-accent,
.gsap-animating .ha-food-title-main,
.gsap-animating .ha-food-title-sub,
.gsap-animating .ha-food-slide-description,
.gsap-animating .ha-food-slide-actions button,
.gsap-animating .ha-food-slide-price,
.gsap-animating .ha-food-slide-background {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

/* Hide elements before page load and GSAP initialization */
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-badge,
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-title-accent,
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-title-main,
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-title-sub,
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-slide-description,
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-slide-actions,
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-slide-price,
.ha-food-hero-swiper:not(.gsap-ready) .ha-food-product-showcase {
  opacity: 0;
  visibility: hidden;
}

/* Show elements only on active slide when GSAP ready */
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-badge,
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-title-accent,
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-title-main,
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-title-sub,
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-slide-description,
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-slide-actions,
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-slide-price,
.ha-food-hero-swiper.gsap-ready .swiper-slide-active .ha-food-product-showcase {
  visibility: visible;
}

/* Ensure title margins are preserved during GSAP animations */
.ha-food-title-accent {
  margin-bottom: 5px !important;
}

.ha-food-title-main {
  margin-bottom: 10px !important;
  margin-top: -15px !important;
}

.ha-food-title-sub {
  margin-bottom: 0 !important;
}

/* Keep existing animations for glowing elements */
.gsap-animating .ha-food-product-circle {
  animation: ha-food-mooncake-glow 4s ease-in-out infinite alternate;
}

.gsap-animating .ha-food-product-glow {
  animation: ha-food-glow-spin 8s linear infinite;
}

.gsap-animating .ha-food-floating-lantern,
.gsap-animating .ha-food-floating-moon,
.gsap-animating .ha-food-floating-flower,
.gsap-animating .ha-food-floating-bamboo,
.gsap-animating .ha-food-floating-fortune {
  animation: ha-food-float 8s ease-in-out infinite;
}

/* Keep hover effects for accessories */
.gsap-animating .ha-food-accessory:hover {
  transform: scale(1.1) rotate(5deg);
  border-color: var(--ha-food-gold);
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.4);
}

/* Performance optimizations for GSAP */
.ha-food-hero-swiper .swiper-slide {
  will-change: transform, opacity;
}

/* Background controlled by GSAP - no CSS animations */
.ha-food-slide-background.gsap-controlled {
  animation: none !important;
}

/* mây tạo khói start */
.clouds {
  position: absolute;
  top: 0%;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  overflow: hidden;
  pointer-events: none;
}

.clouds img {
  position: absolute;
  bottom: -22%;
  max-width: 100%;
  animation: cloud-animate calc(2s * var(--i)) linear infinite;
  -webkit-animation: cloud-animate calc(2s * var(--i)) linear infinite;
  opacity: 0;
  animation-delay: calc(0s);
}

@keyframes cloud-animate {
  0% {
    opacity: 0;
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
  }

  25%,
  75% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: scale(2);
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
    -ms-transform: scale(2);
    -o-transform: scale(2);
  }
}

/* mây tạo khói end */
.ha-food-hero-bottom-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(to top, var(--ha-food-white), transparent);
  z-index: 1;
  pointer-events: none;
  animation: opacity 1s ease-in-out forwards;
  -webkit-animation: opacity 1s ease-in-out forwards;
  opacity: 0;
  animation-delay: 5.5s;
}
/* slider end */

/* về chúng tôi start */
.ha-food-bottom-section-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background: linear-gradient(to bottom, var(--ha-food-white), transparent);
  z-index: 4;
  pointer-events: none;
  animation: opacity 1s ease-in-out forwards;
  -webkit-animation: opacity 1s ease-in-out forwards;
  opacity: 0;
  animation-delay: 5.5s;
}
@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* =========================================
   BOTTOM SECTION - Exact from Figma
========================================= */
.ha-food-bottom-section {
  background: linear-gradient(
    135deg,
    var(--ha-food-red) 0%,
    var(--ha-food-red-dark) 100%
  );
  padding: 80px 0;
  min-height: 600px;
  position: relative;
  padding-top: 200px;
  z-index: 3;
}
.ha-food-cloud-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  transform: rotateX(180deg);
  -webkit-transform: rotateX(180deg);
  -moz-transform: rotateX(180deg);
  -ms-transform: rotateX(180deg);
  -o-transform: rotateX(180deg);
  pointer-events: none;
}
.ha-food-cloud-top .clouds img {
  bottom: -30%;
}
.ha-food-bottom-section-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: var(--about-us-background);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 2;
  pointer-events: none;
  background-attachment: fixed;
  opacity: 0.8;
  mix-blend-mode: soft-light;
}
.ha-food-bottom-section-bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, var(--primary-color), transparent);
  z-index: 3;
  pointer-events: none;
}
.ha-food-bottom-section-bg-overlay::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, var(--primary-color), transparent);
  z-index: 3;
  pointer-events: none;
}
.ha-food-bottom-section .container {
  position: relative;
  z-index: 6;
}

.ha-food-event-content {
  position: relative;
  text-align: center;
}

.ha-food-event-image {
  position: relative;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
  border-radius: 12px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  -ms-border-radius: 12px;
  -o-border-radius: 12px;
  overflow: hidden;
  /* transition: all .3s ease;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease; */
}

.ha-food-event-image img,
.ha-food-event-image a {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ha-food-event-image:hover {
  /* box-shadow: 0 0 25px rgba(250, 224, 99, 0.8), 0 0 50px rgba(205, 153, 42, 0.6); */
}

.ha-food-event-image-small-wrapper {
  position: absolute;
  z-index: 2;
  bottom: -50px;
  right: 0;
}
.ha-food-event-image-small {
  overflow: hidden;
  width: 300px;
  border-bottom-right-radius: 40px !important;
}
.ha-food-event-image-small::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  background: linear-gradient(90deg, #ffd700, #ff8c00);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-top-left-radius: 40px;
  border-bottom-right-radius: 40px;
}
.ha-food-event-image-small-box {
  overflow: hidden;
  border-top-left-radius: 40px;
  border-bottom-right-radius: 40px;
}
.ha-food-event-image-small-box a,
.ha-food-event-image-small-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ha-food-event-image-small-logo {
  position: absolute;
  top: -40px;
  left: -40px;
  z-index: 3;
  width: 100px;
  height: 100px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--primary-color);
  pointer-events: none;
}
.ha-food-event-image-small-logo::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  background: linear-gradient(-90deg, #ffd700, #ff8c00);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  width: 90%;
  height: 90%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}
.ha-food-event-image-small-logo img {
  width: 60%;
  height: auto;
  object-fit: contain;
}

.ha-food-event-title {
  font-size: 48px;
  font-weight: bold;
  background: linear-gradient(
    45deg,
    var(--ha-food-gold),
    var(--ha-food-gold-light)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  letter-spacing: -1px;
}

/* About Section */
.ha-food-about-section {
  color: var(--ha-food-white);
}

.ha-food-about-subtitle {
  font-size: clamp(2.5rem, 2.2538rem + 1.2308vw, 3.3rem);
  color: var(--ha-food-gold);
  display: block;
  font-family: "MTD-Colatin", sans-serif;
  text-transform: capitalize;
  overflow: hidden;
}
.ha-food-event-section {
  padding-right: 50px;
}

.ha-food-about-title {
  font-family: "UTM Copperplate B", sans-serif;
  font-size: clamp(1.7rem, 1.3rem + 2vw, 3rem);
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 0;
  margin-top: -12px;
  background: linear-gradient(
    92deg,
    #fae063 -0.69%,
    #cd992a 37.4%,
    #fae063 71.49%,
    #cd992a 107.21%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  overflow: hidden;
}

.ha-food-about-content {
  margin-bottom: 40px;
}

.ha-food-about-text {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 20px;
  text-align: justify;
  font-weight: 400;
}

.ha-food-about-cta {
  margin-top: 20px;
  text-align: center;
}

.ha-food-btn {
  padding: 12px 30px;
  border: none;
  border-radius: 25px;
  font-family: "UTM Copperplate", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
}

.ha-food-btn-primary {
  background: linear-gradient(
    45deg,
    var(--ha-food-gold),
    var(--ha-food-gold-light)
  );
  color: var(--ha-food-red);
  border: 2px solid transparent;
}

.ha-food-btn-primary:hover {
  background: var(--ha-food-white);
  color: var(--ha-food-red);
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.ha-food-about-gallery {
  margin-top: 30px;
}

.ha-food-about-gallery img {
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
  max-width: 100%;
  height: auto;
}
.ha-food-btn-about-us {
  position: relative;
  display: inline-block;
  color: var(--ha-food-gold);
  background: transparent;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: "Be Vietnam Pro", sans-serif;
  z-index: 1;
  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;
}

.ha-food-btn-about-us::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: 30px;
  background: linear-gradient(90deg, #ffd700, #cd992a);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
}
.ha-food-btn-about-us:hover {
  color: var(--ha-food-gold);
  transform: translateY(-3px);
  -webkit-transform: translateY(-3px);
  -moz-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  -o-transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}
/* về chúng tôi end */

/* mùa trung thu start */

/* Season Section - Mùa Trung Thu */
.ha-food-season {
  background: var(--primary-color);
  position: relative;
  overflow: hidden;
}
.ha-food-season::before {
  position: absolute;
  content: "";
  z-index: 3;
  width: 100%;
  height: 40%;
  background: linear-gradient(to bottom, var(--primary-color), transparent);
  pointer-events: none;
  top: 0;
  left: 0;
}
.ha-food-season::after {
  position: absolute;
  content: "";
  z-index: 3;
  width: 100%;
  height: 40%;
  background: linear-gradient(to top, var(--primary-color), transparent);
  pointer-events: none;
  bottom: 0;
  left: 0;
}

.ha-food-season .container {
  position: relative;
  z-index: 5;
}

.ha-food-season-content {
  margin: 0 auto;
  text-align: center;
}

.ha-food-season-content {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--ha-food-white);
}
.ha-food-moonlight-spotlight-right {
  width: 100%;
  max-width: 600px;
  position: absolute;
  top: 0;
  right: -150px;
  z-index: 2;
  pointer-events: none;
  opacity: 0.6;
  mix-blend-mode: luminosity;
}
.ha-food-moonlight-spotlight-cloud-left {
  position: absolute;
  bottom: 200px;
  left: 100px;
  z-index: 2;
  pointer-events: none;
  opacity: 0.6;
  mix-blend-mode: luminosity;
  width: 100%;
  max-width: 300px;
}
.ha-food-moonlight-spotlight-cloud-left-big {
  position: absolute;
  bottom: 0px;
  left: -100px;
  z-index: 2;
  pointer-events: none;
  opacity: 0.6;
  mix-blend-mode: luminosity;
  width: 100%;
  max-width: 500px;
}
/* mùa trung thu end */

/* sản phẩm nổi bật start */

/* Featured Products 1 Section */
.ha-food-featured-1 {
  background: var(--primary-color);
  position: relative;
  overflow: hidden;
}
.ha-food-featured-1-img {
  position: absolute;
  right: -300px;
  z-index: 2;
  width: 100%;
  max-width: 800px;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  top: 20%;
  pointer-events: none;
}
.ha-food-featured-1 .container {
  position: relative;
  z-index: 5;
}

.ha-food-title-divider {
  width: 120px;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--ha-food-gold),
    transparent
  );
  margin: 0 auto 3rem;
  position: relative;
}

.ha-food-title-divider::before,
.ha-food-title-divider::after {
  content: "";
  position: absolute;
  top: -5px;
  width: 15px;
  height: 15px;
  background: var(--ha-food-gold);
  border-radius: 50%;
  transform: rotate(45deg);
}

.ha-food-title-divider::before {
  left: -5px;
}

.ha-food-title-divider::after {
  right: -5px;
}

.ha-food-product-card {
  background: var(--primary-color);
  border-radius: 15px;
  overflow: hidden;
  transition: all 0.4s ease;
  border: 1px solid rgba(212, 175, 55, 0.2);
  backdrop-filter: blur(10px);
  height: 100%;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  position: relative;
  z-index: 1;
}
.index .ha-food-product-card {
  background: var(--ha-food-red-dark);
}

.ha-food-product-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(212, 175, 55, 0.3);
  border-color: var(--ha-food-gold);
  -webkit-transform: translateY(-10px);
  -moz-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  -o-transform: translateY(-10px);
}

.ha-food-product-image {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
}

.ha-food-product-image img,
.ha-food-product-image a {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
}

.ha-food-product-card:hover .ha-food-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);
}

.ha-food-product-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(115, 17, 18, 0.8),
    rgba(212, 175, 55, 0.6)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.ha-food-product-card:hover .ha-food-product-overlay {
  opacity: 1;
}

.ha-food-product-btn {
  background: linear-gradient(45deg, var(--ha-food-gold), #ffd700);
  border: none;
  color: var(--ha-food-red);
  padding: 12px 24px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.ha-food-product-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
}

.ha-food-product-info {
  padding: 20px;
}

.ha-food-product-info p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 15px;
}

.ha-food-product-price {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ha-food-product-price .current {
  color: var(--ha-food-gold);
  font-size: 1.2rem;
  font-weight: 700;
}

.ha-food-product-price .original {
  color: rgba(255, 255, 255, 0.5);
  font-size: 1rem;
  text-decoration: line-through;
}
.ha-food-product-info-title {
  color: transparent;
  background: linear-gradient(
    92deg,
    #fae063 -0.69%,
    #cd992a 37.4%,
    #fae063 71.49%,
    #cd992a 107.21%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Old Standard TT", sans-serif;
  font-size: clamp(1.2rem, 1.1385rem + 0.3077vw, 1.4rem);
  font-weight: 600;
  line-height: 1.2;
}
.ha-food-product-price-label {
  color: var(--ha-food-white);
  text-transform: uppercase;
  font-family: "Be Vietnam Pro", sans-serif;
  font-weight: 300;
  font-size: clamp(0.7rem, 0.6692rem + 0.1538vw, 0.8rem);
  margin-bottom: 0;
  transform: translateY(2px);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  -ms-transform: translateY(2px);
  -o-transform: translateY(2px);
}
.ha-food-product-price .current {
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
}
.ha-food-product-price .original {
  font-size: clamp(0.8rem, 0.7692rem + 0.1538vw, 0.9rem);
}
.ha-footer-product-btn {
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  border: none;
  color: var(--ha-food-white);
  padding: 8px 5px;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  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;
}
.ha-footer-product-button-addtocart {
  background: #cd992a;
  border-bottom-left-radius: 3px;
}
.ha-footer-product-button-addcartnow {
  background: #c00000;
  border-bottom-right-radius: 3px;
}

/* sản phẩm nổi bật end */

/* dự án nổi bật start */

/* Featured Products 2 - Circular Cards */
.ha-food-featured-2 {
  position: relative;
  background: var(--primary-color);
}

.ha-food-featured-2 .container {
  position: relative;
  z-index: 5;
}

.ha-food-circular-card {
  text-align: center;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
}

.ha-food-circular-card:hover {
  transform: translateY(-15px);
  -webkit-transform: translateY(-15px);
  -moz-transform: translateY(-15px);
  -ms-transform: translateY(-15px);
  -o-transform: translateY(-15px);
}

.ha-food-circular-image {
  overflow: hidden;
  position: relative;
}

.ha-food-circular-image img,
.ha-food-circular-image a {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
}

.ha-food-circular-card:hover .ha-food-circular-image img {
  transform: scale(1.1);
}

.ha-food-circular-info p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  margin-bottom: 10px;
}

.ha-food-circular-price {
  color: var(--ha-food-gold);
  font-size: 1.3rem;
  font-weight: 700;
}
.ha-food-circular-info-title {
  color: var(--ha-food-white);
}
.ha-food-circular-info-title a {
  color: var(--ha-food-white);
  font-size: 1rem;
  font-family: "Be Vietnam Pro", sans-serif;
  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;
}
.ha-food-circular-info-title a:hover {
  color: var(--ha-food-gold);
}
.ha-food-circular-image-box {
  position: relative;
  z-index: 1;
}
.ha-food-circular-image-box::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: 8px;
  background: linear-gradient(90deg, #ffd700, #ff8c00);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}
.ha-food-circular-image {
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  overflow: hidden;
}
.ha-food-circular-logo-mini {
  position: absolute;
  z-index: 3;
  width: 110px;
  height: 110px;
  bottom: -15px;
  right: -15px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--ha-food-gold);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  background: var(--ha-food-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.svg-arrow {
  position: absolute;
  z-index: 2;
  bottom: -30px;
  right: -16px;
}
.ha-food-circular-logo-mini img {
  width: 80%;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
.ha-food-swiper-pagination .swiper-pagination-bullet {
  opacity: 1;
  background: var(--ha-food-white);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  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;
}
.ha-food-swiper-pagination .swiper-pagination-bullet-active {
  background: var(--ha-food-white);
  width: 40px;
  height: 10px;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}
/* dự án nổi bật end */

/* các lý do để lựa chọn hafood start */

/* Reasons Section */
.ha-food-reasons {
  background: var(--primary-color);
  position: relative;
}
.ha-food-reasons::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 50%;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, var(--primary-color), transparent);
  z-index: 2;
}
.ha-food-reasons::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 50%;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, var(--primary-color), transparent);
  z-index: 2;
}
.ha-food-reasons-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--reason-background);
  opacity: 0.8;
  pointer-events: none;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  -webkit-background-position: center;
  -moz-background-position: center;
  -ms-background-position: center;
  -o-background-position: center;
  mix-blend-mode: multiply;
}
.ha-food-reasons .container {
  position: relative;
  z-index: 5;
}
.ha-food-reason-card {
  background: rgba(255, 255, 255, 0);
  border-radius: 15px;
  padding: 40px 20px;
  border: 1px solid rgba(212, 175, 55, 0);
  transition: all 0.4s ease;
  height: 100%;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
}

.ha-food-reason-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(212, 175, 55, 0.3);
  border: 1px solid rgba(212, 175, 55, 0.2);
  backdrop-filter: blur(10px);
  border-color: var(--ha-food-gold);
  -webkit-transform: translateY(-10px);
  -moz-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  -o-transform: translateY(-10px);
}

.ha-food-reason-icon {
  color: var(--ha-food-gold);
  margin-bottom: 20px;
  display: inline-block;
}
.ha-food-reason-icon img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  object-position: center;
}
.ha-food-reason-card h4 {
  color: var(--ha-food-gold);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 15px;
  letter-spacing: 1px;
}

.ha-food-reason-card p {
  color: var(--ha-food-white);
  line-height: 1.6;
  font-size: 1rem;
}
/* các lý do để lựa chọn hafood end */

/* các bộ sưu tập start */

/* Collections Section */
.ha-food-collections {
  background: var(--primary-color);
  position: relative;
}

.ha-food-collection-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
  cursor: pointer;
}

.ha-food-collection-card:hover {
  transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  -o-transform: translateY(-5px);
}

.ha-food-collection-card-image {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.ha-food-collection-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  background: linear-gradient(90deg, #ffd700, #ff8c00);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: 2;
}

.ha-food-collection-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
}

.ha-food-collection-card: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);
}

.ha-food-collection-content {
  text-align: center;
  color: var(--ha-food-white);
}

.ha-food-collection-content h3 {
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Old Standard TT", "UTM Copperplate", "Be Vietnam Pro", serif;
  color: var(--ha-food-white);
}

.ha-food-collection-btn.small {
  padding: 8px 20px;
  font-size: 0.8rem;
}

.ha-food-collection-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
}
.ha-food-collections-img {
  position: absolute;
  top: 20%;
  left: -200px;
  width: 100%;
  max-width: 600px;
  object-fit: cover;
  object-position: center;
  z-index: 1;
  pointer-events: none;
}
.ha-food-collections .container {
  position: relative;
  z-index: 5;
}
/* các bộ sưu tập end */

/* các hoạt động start */

/* Activities Section */
.ha-food-activities {
  background: var(--primary-color);
  position: relative;
}
.ha-food-activities .container {
  position: relative;
  z-index: 5;
}
.ha-food-activity-card {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 15px;
  overflow: hidden;
  transition: all 0.4s ease;
  border: 1px solid rgba(212, 175, 55, 0.2);
  backdrop-filter: blur(10px);
  height: 100%;
}

.ha-food-activity-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(212, 175, 55, 0.3);
  border-color: var(--ha-food-gold);
}

.ha-food-activity-image {
  position: relative;
  overflow: hidden;
}

.ha-food-activity-image img,
.ha-food-activity-image a {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
}

.ha-food-activity-card:hover .ha-food-activity-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);
}
.ha-food-activity-overlay-title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 70%;
  background: linear-gradient(to top, var(--primary-color), transparent);
  z-index: 3;
  display: flex;
  align-items: end;
  justify-content: center;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  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;
  transform: translateY(20%);
  -webkit-transform: translateY(20%);
  -moz-transform: translateY(20%);
  -ms-transform: translateY(20%);
  -o-transform: translateY(20%);
}
.ha-food-activity-title {
  color: var(--ha-food-white);
  font-size: clamp(1.2rem, 1.1077rem + 0.4615vw, 1.5rem);
  font-family: "Old Standard TT", "UTM Copperplate", "Be Vietnam Pro", serif;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ha-food-activity-card:hover .ha-food-activity-overlay-title {
  opacity: 1;
  transform: translateY(0);
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
}
/* các hoạt động end */

/* các đối tác start */

/* =========================================
   CLIENTS SECTION
   ========================================= */
.ha-food-clients {
  background: var(--primary-color);
  position: relative;
  overflow: hidden;
}
.ha-food-clients-kim-tuyen {
  position: absolute;
  top: 20%;
  right: -200px;
  width: 100%;
  max-width: 600px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.ha-food-clients .container,
.ha-food-clients-content-box {
  position: relative;
  z-index: 5;
}

.ha-food-client-logo {
  background: var(--primary-color);
  border-radius: 0px;
  transition: all 0.4s ease;
  border: 1px solid var(--ha-food-gold);
  backdrop-filter: blur(10px);
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
  overflow: hidden;
}

.ha-food-client-logo:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(212, 175, 55, 0.3);
  border-color: var(--ha-food-gold);
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  -o-transform: translateY(-5px);
}

.ha-food-client-logo img {
  width: 70%;
  height: 70%;
  object-fit: contain;
  filter: brightness(0.8) contrast(1.2);
  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;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

/* các đối tác end */

/* khách hàng đánh giá start */

/* =========================================
   TESTIMONIALS SECTION
   ========================================= */
.ha-food-testimonials {
  background: var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.ha-food-testimonials::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(to bottom, var(--primary-color), transparent);
  z-index: 2;
}
.ha-food-testimonials::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(to top, var(--primary-color), transparent);
  z-index: 2;
}
.ha-food-testimonials-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-image: var(--testimonials-background);
  z-index: 1;
  background-attachment: fixed;
  mix-blend-mode: multiply;
}
.ha-food-testimonials .container {
  position: relative;
  z-index: 5;
}

.ha-food-testimonials-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--ha-food-gold);
  text-align: center;
  margin-bottom: 3rem;
  letter-spacing: 2px;
  line-height: 1.2;
}

.ha-food-testimonials-title span {
  display: block;
  font-size: 3rem;
  color: white;
}

.ha-food-testimonial-card {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  border: 1px solid rgba(212, 175, 55, 0.3);
  backdrop-filter: blur(15px);
  margin: 20px;
  min-height: 300px;
  position: relative;
  overflow: hidden;
}

.ha-food-testimonial-card::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    45deg,
    transparent,
    rgba(212, 175, 55, 0.1),
    transparent
  );
  transform: rotate(45deg);
  animation: ha-food-shimmer 3s ease-in-out infinite;
}

@keyframes ha-food-shimmer {
  0%,
  100% {
    transform: rotate(45deg) translateX(-100%);
  }
  50% {
    transform: rotate(45deg) translateX(100%);
  }
}

.ha-food-testimonial-avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 30px;
  border: 4px solid var(--ha-food-gold);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  flex-shrink: 0;
}

.ha-food-testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ha-food-testimonial-content {
  flex: 1;
  position: relative;
  z-index: 2;
}

.ha-food-testimonial-quote {
  color: var(--ha-food-gold);
  margin-bottom: 20px;
}

.ha-food-testimonial-text {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 25px;
  font-style: italic;
  position: relative;
  z-index: 2;
}

.ha-food-testimonial-author h5 {
  color: var(--ha-food-gold);
  font-size: clamp(1.1rem, 1.0385rem + 0.3077vw, 1.3rem);
  font-weight: 700;
  margin-bottom: 5px;
  font-family: "Old Standard TT", "UTM Copperplate", "Be Vietnam Pro", serif;
  letter-spacing: 1px;
}

.ha-food-testimonial-author span {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.95rem;
}

.ha-food-testimonials-navigation {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}

.ha-food-testimonials-prev,
.ha-food-testimonials-next {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--ha-food-gold), #ffd700);
  color: var(--ha-food-red);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
}

.ha-food-testimonials-prev:hover,
.ha-food-testimonials-next:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5);
}

.ha-food-testimonials-pagination {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.ha-food-testimonials-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.3);
  opacity: 1;
  margin: 0 5px;
  transition: all 0.3s ease;
}

.ha-food-testimonials-pagination .swiper-pagination-bullet-active {
  background: var(--ha-food-gold);
  transform: scale(1.3);
}
/* khách hàng đánh giá end */

/* tin tức nổi bật start */

/* =========================================
   NEWS SECTION
   ========================================= */
.ha-food-news {
  background: var(--primary-color);
  position: relative;
}
.ha-food-news .container {
  position: relative;
  z-index: 5;
}
.ha-food-news-card-wrapper {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 1));
  -webkit-filter: drop-shadow(0 0 1px rgba(255, 255, 255, 1));
  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;
}
.ha-food-news-card {
  background: #763232;
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.4s ease;
  backdrop-filter: blur(10px);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  clip-path: url(#new-clip-path);
}

.ha-food-news-card-wrapper:hover {
  transform: translateY(-10px);
  -webkit-transform: translateY(-10px);
  -moz-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  -o-transform: translateY(-10px);
}

.ha-food-news-image {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}

.ha-food-news-image img,
.ha-food-news-image a {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
}

.ha-food-news-card:hover .ha-food-news-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);
}

.ha-food-news-date {
  position: absolute;
  top: 15px;
  left: 15px;
  background: linear-gradient(45deg, var(--ha-food-red), var(--ha-food-gold));
  color: white;
  padding: 8px 12px;
  border-radius: 10px;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  z-index: 2;
}

.ha-food-news-date .day {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
}

.ha-food-news-date .month {
  font-size: 0.7rem;
  text-transform: uppercase;
}

.ha-food-news-category {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(0, 0, 0, 0.7);
  color: var(--ha-food-gold);
  padding: 5px 12px;
  border-radius: 15px;
  font-size: 0.8rem;
  font-weight: 600;
  backdrop-filter: blur(5px);
}

.ha-food-news-content {
  padding: 25px;
}
.ha-food-news-title a {
  color: var(--ha-food-white);
  font-size: 1rem;
  letter-spacing: 1px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ha-food-news-content p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ha-food-news-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  padding-top: 15px;
}

.ha-food-news-meta .author {
  color: var(--ha-food-white);
  font-size: 0.85rem;
}

.ha-food-news-meta .read-more {
  color: var(--ha-food-gold);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  position: relative;
}

.ha-food-news-meta .read-more::after {
  content: "→";
  margin-left: 5px;
  transition: transform 0.3s ease;
}

.ha-food-news-meta .read-more:hover {
  color: #ffd700;
}

.ha-food-news-meta .read-more:hover::after {
  transform: translateX(3px);
}

.ha-food-news-navigation {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}

.ha-food-news-prev,
.ha-food-news-next {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--ha-food-gold), #ffd700);
  color: var(--ha-food-red);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
}

.ha-food-news-prev:hover,
.ha-food-news-next:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5);
}

.ha-food-news-view-all {
  display: inline-block;
  background: linear-gradient(45deg, var(--ha-food-gold), #ffd700);
  color: var(--ha-food-red);
  padding: 12px 30px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
}

.ha-food-news-view-all:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5);
  color: var(--ha-food-red);
}

.svg-new {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}
.ha-food-news-view-more {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 33%;
  height: 9.5%;
  background: #763232;
  color: var(--ha-food-white);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px;
  border-radius: 13px;
  font-size: 0.9rem;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  -ms-border-radius: 13px;
  -o-border-radius: 13px;
  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;
}
.ha-food-news-view-more:hover {
  color: var(--ha-food-white);
}
/* tin tức nổi bật end */

/* footer start */
/* =========================================
   NEWSLETTER SECTION
   ========================================= */
.ha-food-footer .container {
  position: relative;
  z-index: 5;
}
.ha-food-newsletter {
  position: relative;
  z-index: 5;
}
.ha-food-newsletter::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--ha-food-gold),
    transparent
  );
}
.ha-food-newsletter-logo img {
  width: 100%;
  min-width: 200px;
  max-width: 200px;
  height: auto;
}

.ha-food-newsletter-logo span {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--ha-food-gold);

  letter-spacing: 2px;
}

.ha-food-newsletter-title {
  color: var(--ha-food-white);
  font-size: clamp(1rem, 0.9692rem + 0.1538vw, 1.1rem);
  font-weight: 500;
  margin-bottom: 0;
}
.ha-food-newsletter-content-text-description {
  color: var(--ha-food-white);
  font-size: clamp(0.8rem, 0.7692rem + 0.1538vw, 0.9rem);
  font-weight: 400;
  margin-bottom: 0;
}
.ha-food-newsletter-content-text-description p {
  margin-bottom: 0;
}
.ha-food-newsletter-input-group {
  display: flex;
  margin-left: auto;
  background: var(--ha-food-white);
  border-radius: 10px;
  padding: 5px;
  border: 1px solid rgba(212, 175, 55, 0.3);
  backdrop-filter: blur(10px);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  /* border-top-right-radius: 0; */
  /* border-bottom-right-radius: 0; */
  overflow: hidden;
  padding-right: 0;
}

.ha-food-newsletter-input-group input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 15px 20px;
  color: var(--ha-food-text-dark);
  font-size: 1rem;
  outline: none;
}

.ha-food-newsletter-input-group input::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.ha-food-newsletter-input-group button {
  background: var(--ha-food-red);
  color: var(--ha-food-gold);
  border: none;
  padding: 15px 35px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.ha-food-newsletter-input-group button:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
}

/* =========================================
     FOOTER
     ========================================= */
.ha-food-footer {
  background: var(--primary-color);
  position: relative;
}

.ha-food-footer-section h4 {
  color: transparent;
  font-size: clamp(1.1rem, 1.0692rem + 0.1538vw, 1.2rem);
  font-weight: 700;
  margin-bottom: 25px;
  letter-spacing: 1px;
  background: linear-gradient(
    92deg,
    #fae063 -0.69%,
    #cd992a 37.4%,
    #fae063 71.49%,
    #cd992a 107.21%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.8;
}

.ha-food-footer-contact {
  margin-top: 20px;
}

.ha-food-contact-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--ha-food-white);
}

.ha-food-contact-item i {
  color: var(--ha-food-white);
  width: 20px;
  margin-right: 10px;
  margin-top: 2px;
  flex-shrink: 0;
}

.ha-food-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ha-food-footer-links li {
  margin-bottom: 12px;
}

.ha-food-footer-links a {
  color: var(--ha-food-white);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  position: relative;
}

.ha-food-footer-links a:hover {
  color: var(--ha-food-gold);
  padding-left: 5px;
}

.ha-food-footer-links a::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  width: 0;
  height: 1px;
  background: var(--ha-food-gold);
  transition: width 0.3s ease;
  transform: translateY(-50%);
}

.ha-food-footer-links a:hover::before {
  width: 5px;
}

.ha-food-social-links {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}

.ha-food-social-link {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ha-food-white);
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid var(--ha-food-white);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}

.ha-food-social-link:hover {
  background: linear-gradient(45deg, var(--ha-food-gold), #ffd700);
  border-color: var(--ha-food-gold);
  color: var(--ha-food-red);
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
  -webkit-transform: translateY(-3px);
  -moz-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  -o-transform: translateY(-3px);
}

.ha-food-qr-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.3);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}

.ha-food-qr-btn:hover {
  background: rgba(212, 175, 55, 0.1);
  border-color: var(--ha-food-gold);
  color: var(--ha-food-gold);
}

.ha-food-qr-btn i {
  margin-right: 8px;
}

.ha-food-footer-bottom {
  margin-top: 40px;
  padding-top: 25px;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.ha-food-footer-links-bottom {
  display: flex;
  gap: 20px;
}

.ha-food-footer-links-bottom a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.ha-food-footer-links-bottom a:hover {
  color: var(--ha-food-gold);
}

.ha-food-copyright {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  margin: 0;
}
.ha-food-copyright a {
  color: rgba(255, 255, 255, 0.6);
  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;
}
.ha-food-copyright a:hover {
  color: var(--ha-food-gold);
}
.ha-food-newsletter-col-right {
  flex: 1;
}
.ha-food-contact-item-icon {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  object-fit: contain;
  transform: translateY(2px);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  -ms-transform: translateY(2px);
  -o-transform: translateY(2px);
}
.ha-food-qr-btn-icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  object-fit: cover;
  border-radius: 50%;
  -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;
}
.ha-food-qr-btn:hover {
  color: var(--ha-food-gold);
}
.ha-food-qr-btn:hover .ha-food-qr-btn-icon {
  transform: translateX(2px);
  -webkit-transform: translateX(2px);
  -moz-transform: translateX(2px);
  -ms-transform: translateX(2px);
  -o-transform: translateX(2px);
}
.ha-food-footer-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
  opacity: 0.8;

  background-image: var(--footer-background-image);
  background-attachment: fixed;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.ha-food-footer::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 60%;
  background: linear-gradient(to bottom, var(--primary-color), transparent);
  top: 0;
  left: 0;
  z-index: 2;
}
.ha-food-footer::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 60%;
  background: linear-gradient(to top, var(--primary-color), transparent);
  bottom: 0;
  left: 0;
  z-index: 2;
}
/* footer end */

/* trang về chúng tôi start */

/* =========================================
   ABOUT PAGE STYLES
   ========================================= */

/* About Hero Section */
.ha-food-about-hero-banner {
  position: relative;
  overflow: hidden;
  background-image: var(
    --banner-background-image,
    linear-gradient(135deg, #667eea 0%, #764ba2 100%)
  );
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  z-index: 1;
  min-height: 400px;
  display: flex;
  align-items: center;
}

.ha-food-about-hero-banner::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 30%;
  background: linear-gradient(to top, var(--ha-food-white), transparent);
  bottom: 0;
  left: 0;
  z-index: 3;
  top: initial !important;
  display: none;
}
.ha-food-about-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
}
.ha-food-about-hero-banner .container {
  position: relative;
  z-index: 5;
}

.ha-food-about-hero-banner .clouds img {
  position: absolute;
  bottom: -52%;
  max-width: 100%;
  animation: cloud-animate-mini calc(2s * var(--i)) linear infinite;
  -webkit-animation: cloud-animate-mini calc(2s * var(--i)) linear infinite;
  opacity: 0;
  animation-delay: calc(0s);
}

@keyframes cloud-animate-mini {
  0% {
    opacity: 0;
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
  }

  25%,
  75% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: scale(1.7, 1.2);
    -webkit-transform: scale(1.7, 1.2);
    -moz-transform: scale(1.7, 1.2);
    -ms-transform: scale(1.7, 1.2);
    -o-transform: scale(1.7, 1.2);
  }
}
.ha-food-about-hero-breadcrumb {
  color: var(--ha-food-white);
  text-transform: uppercase;
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
  line-height: 1.8;
  font-weight: 700;
}
.ha-food-about-hero-breadcrumb a {
  color: var(--ha-food-white);
  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;
}
.ha-food-about-hero-breadcrumb a:hover {
  color: var(--ha-food-gold);
}
.ha-food-about-hero-breadcrumb .current {
  color: transparent;
  background: linear-gradient(
    92deg,
    #fae063 -0.69%,
    #cd992a 37.4%,
    #fae063 71.49%,
    #cd992a 107.21%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ha-food-about-hero-content {
  position: relative;
  z-index: 2;
  padding: 30px 0;
}

.ha-food-about-hero-title .title-highlight {
  font-size: clamp(1.7rem, 1.4538rem + 1.2308vw, 2.5rem);
  color: var(--ha-food-white);
  font-family: "UTM Copperplate B";
  text-transform: uppercase;
}

.ha-food-about-hero-title .title-main {
  display: block;

  font-size: 4rem;
  font-weight: 700;
  background: linear-gradient(
    45deg,
    var(--ha-food-gold),
    #ffd700,
    var(--ha-food-gold)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 2px;
  line-height: 1;
}

.ha-food-about-hero-subtitle {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  margin-bottom: 40px;
  max-width: 500px;
}

.ha-food-about-hero-stats {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}

.stat-item {
  text-align: center;
}

.stat-number {
  display: block;
  font-size: 3rem;
  font-weight: 700;
  color: var(--ha-food-gold);

  margin-bottom: 5px;
}

.stat-label {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.ha-food-about-hero-visual {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px 0;
}

.hero-product-showcase {
  position: relative;
  max-width: 500px;
}

.hero-product-main {
  width: 100%;
  height: auto;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  transition: transform 0.4s ease;
}

.hero-product-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  height: 120%;
  background: radial-gradient(
    ellipse,
    rgba(212, 175, 55, 0.3) 0%,
    transparent 70%
  );
  transform: translate(-50%, -50%);
  animation: ha-food-glow-pulse 3s ease-in-out infinite;
  pointer-events: none;
}

@keyframes ha-food-glow-pulse {
  0%,
  100% {
    opacity: 0.5;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 0.8;
    transform: translate(-50%, -50%) scale(1.1);
  }
}

/* About Content Section */
.page-about-us .ha-food-about-content {
}
.page-about-us .ha-food-about-content .container {
  position: relative;
  z-index: 5;
}

.ha-food-about-content-inner .ha-food-about-subtitle {
  color: var(--primary-color);
}
.ha-food-about-content-inner .ha-food-about-title {
  background-clip: initial;
  background: transparent;
  color: var(--primary-color);
  -webkit-background-clip: initial;
  -webkit-text-fill-color: var(--primary-color);
  overflow: hidden;
}
.page-about-us .ha-food-about-text .section-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--ha-food-red);
  margin-bottom: 30px;
  letter-spacing: 2px;
}

.page-about-us .content-text p {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #333;
  margin-bottom: 20px;
}

.page-about-us .ha-food-about-visual {
  position: relative;
}

.page-about-us .about-product-display {
  position: relative;
}

.page-about-us .about-main-image {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}
.page-about-us .about-main-image img,
.page-about-us .about-main-image a {
  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;
}
.page-about-us .about-main-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);
}
.about-small-image {
  position: absolute;
  bottom: -50px;
  left: -20px;
  z-index: 3;
  pointer-events: none;
  width: 100%;
  max-width: 150px;
  height: auto;
}

.ha-food-about-highlight-item-icon {
  width: 100px;
  height: 100px;
  min-width: 100px;
  min-height: 100px;
  background: var(--primary-color);
  overflow: hidden;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(-10%);
  -webkit-transform: translateX(-10%);
  -moz-transform: translateX(-10%);
  -ms-transform: translateX(-10%);
  -o-transform: translateX(-10%);
}
.ha-food-about-highlight-item-content {
  line-height: 1.5;
  font-size: 0.9rem;
}
.ha-food-about-highlight-item-content p {
  margin-bottom: 0;
}
.ha-food-about-highlight-item-icon img {
  width: 60%;
  height: auto;
  pointer-events: none;
}
.page-about-us .ha-food-about-highlight {
  background: linear-gradient(90deg, #fbafb0 0%, rgba(217, 32, 34, 0) 100%);
  backdrop-filter: blur(3.9000000953674316px);
}

.page-about-us .highlight-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-about-us .highlight-icon {
  font-size: 1.5rem;
}

.page-about-us .highlight-text {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ha-food-red);
}

.ha-food-vision-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
  opacity: 0.35;
  background-attachment: fixed;
  background-image: var(--ha-food-vision-bg);
  mix-blend-mode: luminosity;
  filter: blur(3px);
  -webkit-filter: blur(3px);
}

/* Vision Section */
.page-about-us .ha-food-vision {
  position: relative;
  background: #fff4f4;
  overflow: hidden;
}
.page-about-us .ha-food-vision::before {
  position: absolute;
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: linear-gradient(to bottom, var(--ha-food-white), transparent);
}
.page-about-us .ha-food-vision::after {
  position: absolute;
  content: "";
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(to top, #fff4f4, transparent);
}
.page-about-us .ha-food-vision .container {
  position: relative;
  z-index: 5;
}
.page-about-us .ha-food-vision-image {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}

.page-about-us .vision-main-image {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

.page-about-us .vision-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    45deg,
    rgba(185, 28, 28, 0.8) 0%,
    rgba(212, 175, 55, 0.6) 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-about-us .vision-content {
  text-align: center;
  color: var(--ha-food-white);
  position: absolute;
  bottom: 0;
  right: -1%;
  width: 100%;
  height: 100%;
  z-index: 2;
  font-size: clamp(2rem, 1.5385rem + 2.3077vw, 3.5rem);
  /* font-weight: 700; */
  letter-spacing: 2px;
  text-transform: uppercase;
  text-orientation: upright;
  -webkit-text-orientation: initial;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-lr;
  transform: rotateX(180deg) rotateY(180deg);
  pointer-events: none;
  font-family: "UTM Copperplate B";
}

.vision-content-title {
  color: var(--primary-color);
}
.page-about-us .ha-food-vision-content {
  padding-left: 50px;
}

.page-about-us .ha-food-vision-content .section-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--ha-food-gold);
  margin-bottom: 40px;
  letter-spacing: 2px;
}

.page-about-us .vision-points {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.page-about-us .vision-points::before {
  position: absolute;
  content: "";
  z-index: 1;
  top: 50%;
  left: 40px;
  width: 5px;
  height: 110%;
  background: #d9d9d9;
  transform: translateY(-51%);
  -webkit-transform: translateY(-51%);
  -moz-transform: translateY(-51%);
  -ms-transform: translateY(-51%);
  -o-transform: translateY(-51%);
}
.page-about-us .vision-point {
  position: relative;
  z-index: 5;
}

.page-about-us .point-number {
  width: 90px;
  height: 90px;
  min-width: 90px;
  min-height: 90px;
  background: var(--primary-color);
  color: var(--ha-food-red);
  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%;
}
.page-about-us .point-number img {
  width: 60%;
}
.page-about-us .point-content .point-title {
  color: var(--ha-food-text-dark);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 5px;
}
.page-about-us .point-content .point-description {
  font-size: 0.9rem;
  color: var(--ha-food-text-dark);
}

.ha-food-about-text-inner {
  font-weight: 300;
  line-height: 1.8;
  font-size: 0.95rem;
}

/* Core Values Section */
.page-about-us .ha-food-core-values {
  position: relative;
  z-index: 1;
  overflow: hidden;
  /* background: linear-gradient(to bottom, #fff4f4, var(--ha-food-white)); */
  background: #fff4f4;
}
.page-about-us .ha-food-core-values .container {
  position: relative;
  z-index: 5;
}
.page-about-us .ha-food-core-values::before {
  position: absolute;
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: var(--primary-color);
  clip-path: url(#core-values-clip-path);
  transform: scaleX(1.3);
  -webkit-transform: scaleX(1.3);
  -moz-transform: scaleX(1.3);
  -ms-transform: scaleX(1.3);
  -o-transform: scaleX(1.3);
}
.page-about-us .ha-food-core-values::after {
  position: absolute;
  content: "";
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: var(--primary-color);
  clip-path: url(#core-values-clip-path);
  transform: scaleX(1.3) rotateX(180deg);
  -webkit-transform: scaleX(1.3) rotateX(180deg);
  -moz-transform: scaleX(1.3) rotateX(180deg);
  -ms-transform: scaleX(1.3) rotateX(180deg);
  -o-transform: scaleX(1.3) rotateX(180deg);
}
.ha-food-core-values-bg-wave {
  width: 100%;
  height: 100%;
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
}
.ha-food-core-values-bg-wave::before {
  position: absolute;
  content: "";
  top: 15px;
  left: 0;
  width: 100%;
  height: 50%;
  z-index: 3;
  background: var(--ha-food-red-dark);
  clip-path: url(#core-values-clip-path);
  transform: scaleX(1.3);
  -webkit-transform: scaleX(1.3);
  -moz-transform: scaleX(1.3);
  -ms-transform: scaleX(1.3);
  -o-transform: scaleX(1.3);
  filter: brightness(1.6);
  -webkit-filter: brightness(1.6);
}
.ha-food-core-values-bg-wave::after {
  position: absolute;
  content: "";
  bottom: 20px;
  left: 0;
  top: initial !important;
  width: 100%;
  height: 50%;
  z-index: 3;
  background: var(--ha-food-red-dark);
  clip-path: url(#core-values-clip-path);
  transform: scaleX(1.3) rotateX(180deg);
  -webkit-transform: scaleX(1.3) rotateX(180deg);
  -moz-transform: scaleX(1.3) rotateX(180deg);
  -ms-transform: scaleX(1.3) rotateX(180deg);
  -o-transform: scaleX(1.3) rotateX(180deg);
  filter: brightness(1.6);
  -webkit-filter: brightness(1.6);
}
.svg-core-values {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.page-about-us .ha-food-core-values .section-title.white-title {
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--ha-food-gold);
  text-align: center;
  letter-spacing: 3px;
}

.page-about-us .ha-food-core-values .section-subtitle {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 0;
}

.page-about-us .core-value-item {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px 30px;
  text-align: left;
  border: 1px solid rgba(212, 175, 55, 0.3);
  backdrop-filter: blur(15px);
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.page-about-us .core-value-item::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    45deg,
    transparent,
    rgba(212, 175, 55, 0.1),
    transparent
  );
  transform: rotate(45deg);
  transition: transform 0.6s ease;
}

.page-about-us .core-value-item:hover::before {
  transform: rotate(45deg) translate(50%, 50%);
}

.page-about-us .core-value-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(212, 175, 55, 0.3);
  border-color: var(--ha-food-gold);
}

.page-about-us .value-icon {
  width: 30px;
  height: 30px;
  background: #00b932;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.4);
  position: relative;
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  top: -10px;
  right: -15px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}
.core-value-item-col:nth-child(even) .value-icon {
  background: #565656;
}
.page-about-us .value-icon img {
  width: 60%;
}

.page-about-us .value-content {
  position: relative;
  z-index: 2;
}

.page-about-us .value-content h4 {
  font-size: clamp(1rem, 0.9692rem + 0.1538vw, 1.1rem);
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--ha-food-white);
  line-height: 1.5;
}

.page-about-us .value-content p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

/* Team Section */
.page-about-us .ha-food-team {
  background: #fff4f4;
}

.page-about-us .ha-food-team-content {
  padding-right: 40px;
}

.page-about-us .ha-food-team-content .section-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--ha-food-red);
  margin-bottom: 30px;
  letter-spacing: 2px;
}

.page-about-us .team-description p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #333;
  margin-bottom: 20px;
}

.page-about-us .team-stats {
  display: flex;
  gap: 40px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.page-about-us .team-stat {
  text-align: center;
}

.page-about-us .team-stat .stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--ha-food-red);

  margin-bottom: 5px;
}

.page-about-us .team-stat .stat-label {
  font-size: 0.95rem;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.page-about-us .ha-food-team-visual {
  position: relative;
}

.page-about-us .team-product-showcase {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}
.page-about-us .team-main-image {
  max-height: 600px;
  object-fit: cover;
  width: 100%;
}

.page-about-us .team-badges {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.page-about-us .team-badge {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 30px;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  backdrop-filter: blur(10px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.page-about-us .badge-icon {
  font-size: 1.3rem;
}

.page-about-us .badge-text {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ha-food-red);
}

/* Certificates Section */
.page-about-us .ha-food-certificates {
  background: #fff4f4;
  min-height: 500px;
}
.page-about-us .ha-food-certificates::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(to bottom, #fff4f4, transparent);
  pointer-events: none;
}
.page-about-us .ha-food-certificates::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  z-index: 2;
  background: linear-gradient(to bottom, transparent, #fff4f4);
  pointer-events: none;
}
.page-about-us .ha-food-certificates .container {
  position: relative;
  z-index: 5;
}
.ha-food-certificates-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.5;
  background-attachment: fixed;
  background-image: var(--ha-food-certificates-bg-image);
  mix-blend-mode: multiply;
  background-position: bottom;
  filter: blur(2px);
  -webkit-filter: blur(2px);
}

.page-about-us .ha-food-certificates .section-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--ha-food-gold);
  letter-spacing: 2px;
}

.page-about-us .ha-food-certificates .section-subtitle {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.1rem;
}

.page-about-us .certificate-card {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.2);
  backdrop-filter: blur(10px);
  transition: all 0.4s ease;
}

.page-about-us .certificate-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(212, 175, 55, 0.3);
  border-color: var(--ha-food-gold);
}

.page-about-us .certificate-image {
  width: 100%;
  height: 350px;
  object-fit: cover;
}

.page-about-us .certificate-info {
  padding: 30px;
  text-align: center;
}

.page-about-us .certificate-info h4 {
  color: var(--ha-food-gold);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 10px;
}

.page-about-us .certificate-info p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  margin: 0;
}

.page-about-us .ha-food-certificates-navigation {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}

.page-about-us .ha-food-certificates-prev,
.page-about-us .ha-food-certificates-next {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--ha-food-gold), #ffd700);
  color: var(--ha-food-red);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
}

.page-about-us .ha-food-certificates-prev:hover,
.page-about-us .ha-food-certificates-next:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5);
}
.page-about-us .ha-food-certificates-inner-slide-book {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  background: linear-gradient(
    145deg,
    rgba(115, 17, 18, 0.05),
    rgba(212, 175, 55, 0.05)
  );
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(115, 17, 18, 0.2),
    0 5px 15px rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.2);
}

.page-about-us.certificate-page {
  width: 100%;
  height: 400px;
  position: relative;
  background: #fff;
  border: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-about-us .certificate-page-inner {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.page-about-us .certificate-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.page-about-us .certificate-cover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  color: var(--ha-food-white);
  text-transform: uppercase;
}

.page-about-us .certificate-cover-title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.page-about-us .certificate-cover-description {
  font-size: 0.95rem;
  line-height: 1.4;
  opacity: 0.9;
}

.page-about-us .certificate-book-controls {
  margin-top: 1rem;
}

.page-about-us .btn-book-control {
  width: 45px;
  height: 45px;
  border: 2px solid var(--ha-food-red, #731112);
  background: white;
  color: var(--ha-food-red, #731112);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1rem;
}

.page-about-us .btn-book-control:hover {
  background: var(--ha-food-red, #731112);
  color: white;
  transform: scale(1.1);
  box-shadow: 0 4px 15px rgba(115, 17, 18, 0.3);
}

.page-about-us .btn-book-control:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.page-about-us .book-page-info {
  font-size: 1rem;
  font-weight: 500;
  color: #333;
  min-width: 60px;
  text-align: center;
}

.page-about-us .current-page {
  color: var(--ha-food-red, #731112);
  font-weight: bold;
}

.page-about-us .ha-food-certificates-inner-slide-book {
  max-width: 800px;
}

.page-about-us .certificate-page {
  height: 500px;
}

.page-about-us .certificate-cover-title {
  font-size: 1.8rem;
}

.page-about-us .certificate-cover-description {
  font-size: 1rem;
}

.page-about-us .certificate-page {
  height: 600px;
}

.page-about-us .certificate-cover-title {
  font-size: 2rem;
}
/* trang về chúng tôi end */

/* trang sản phẩm start */

/* =========================================
   PRODUCTS PAGE STYLES
   ========================================= */

/* Products Main Section */
.san-pham .ha-food-products-main {
  background: #fff4f4;
  padding: 40px 0 80px;
  min-height: 100vh;
}

/* Products Sidebar */
.san-pham .ha-food-products-sidebar {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(185, 28, 28, 0.1);
  position: relative;
  top: 0px;
  margin-bottom: 20px;
}

.san-pham .sidebar-title {
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
  font-weight: 700;
  color: var(--ha-food-red);
  margin-bottom: 25px;
  text-align: center;
  letter-spacing: 1px;
  padding-bottom: 15px;
  border-bottom: 2px solid var(--ha-food-gold);
  position: relative;
}

.san-pham .sidebar-title::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 50%;
  width: 30px;
  height: 4px;
  background: var(--ha-food-gold);
  transform: translateX(-50%);
  border-radius: 2px;
}

.san-pham .ha-food-category-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.san-pham .category-item {
  margin-bottom: 12px;
  transition: all 0.3s ease;
}

.san-pham .category-item.active .category-link {
  background: linear-gradient(
    45deg,
    var(--ha-food-red),
    rgba(185, 28, 28, 0.8)
  );
  color: var(--ha-food-white) !important;
  transform: translateX(5px);
  box-shadow: 0 5px 15px rgba(185, 28, 28, 0.3);
}

.san-pham .category-item.active .category-link i {
  transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
  -moz-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  -o-transform: translateY(-2px);
}
.san-pham .category-item.active .category-link i {
  color: var(--ha-food-white);
}

.san-pham .category-link {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(185, 28, 28, 0.2);
  border-radius: 10px;
  color: #333;
  text-decoration: none;
  font-weight: 500;
  font-size: clamp(0.9rem, 0.8846rem + 0.0769vw, 0.95rem);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.san-pham .category-link span {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.san-pham .category-link::before {
  content: "";
  position: absolute;
  left: -100%;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(212, 175, 55, 0.1),
    transparent
  );
  transition: left 0.6s ease;
}

.san-pham .category-link:hover::before {
  left: 100%;
}

.san-pham .category-link:hover {
  background: rgba(185, 28, 28, 0.05);
  border-color: var(--ha-food-red);
  color: var(--ha-food-red);
  transform: translateX(3px);
}

.san-pham .category-link i {
  width: 20px;
  margin-right: 12px;
  color: var(--ha-food-red);
  font-size: 1.1rem;
}

.san-pham .category-link span {
  flex: 1;
  position: relative;
  z-index: 1;
}

/* Products Filter */
.san-pham .ha-food-products-filter {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 15px;
  padding: 20px 25px;
  margin-bottom: 30px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(185, 28, 28, 0.1);
}

.san-pham .products-count {
  font-size: 0.95rem;
  color: #666;
}

.san-pham .products-count strong {
  color: var(--ha-food-red);
  font-weight: 600;
}

.san-pham .products-sort {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}

.san-pham .products-sort label {
  font-weight: 600;
  color: var(--ha-food-red);
  font-size: 0.95rem;
  margin: 0;
}

.san-pham .ha-food-sort-select {
  border: 2px solid rgba(185, 28, 28, 0.2);
  border-radius: 8px;
  padding: 8px 15px;
  background: white;
  color: #333;
  font-size: 0.9rem;
  width: 100%;
  max-width: 200px;
  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;
}

.san-pham .ha-food-sort-select:focus {
  border-color: var(--ha-food-red);
  box-shadow: 0 0 0 0.2rem rgba(185, 28, 28, 0.25);
}

/* Products Grid */
.san-pham .ha-food-products-grid {
  margin-top: 20px;
}

.san-pham .ha-food-product-item {
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(185, 28, 28, 0.1);
  transition: all 0.4s ease;
  height: 100%;
  position: relative;
}

.san-pham .ha-food-product-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(185, 28, 28, 0.15);
  border-color: var(--ha-food-red);
}

.san-pham .product-image {
  position: relative;
  overflow: hidden;
  height: 250px;
  background: #f8f9fa;
}

.san-pham .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.san-pham .ha-food-product-item:hover .product-image img {
  transform: scale(1.1);
}

.san-pham .product-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: linear-gradient(
    45deg,
    var(--ha-food-red),
    rgba(185, 28, 28, 0.9)
  );
  color: white;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(185, 28, 28, 0.3);
}

.san-pham .product-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.san-pham .ha-food-product-item:hover .product-overlay {
  opacity: 1;
}

.san-pham .product-quick-view {
  background: white;
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  color: var(--ha-food-red);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.san-pham .product-quick-view:hover {
  background: var(--ha-food-red);
  color: white;
  transform: scale(1.1);
}

.san-pham .product-info {
  padding: 25px 20px;
  text-align: center;
}

.san-pham .product-title {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--ha-food-red);
  margin-bottom: 15px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.san-pham .product-price {
  margin-bottom: 20px;
}

.san-pham .current-price {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ha-food-gold);
  letter-spacing: 0.5px;
}

.san-pham .product-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.san-pham .btn-add-cart,
.san-pham .btn-buy-now {
  border: none;
  border-radius: 8px;
  padding: 12px 20px;
  font-weight: 600;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.san-pham .btn-add-cart {
  background: rgba(185, 28, 28, 0.1);
  color: var(--ha-food-red);
  border: 2px solid rgba(185, 28, 28, 0.2);
}

.san-pham .btn-add-cart:hover {
  background: var(--ha-food-red);
  color: white;
  border-color: var(--ha-food-red);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(185, 28, 28, 0.3);
}

.san-pham .btn-buy-now {
  background: linear-gradient(45deg, var(--ha-food-gold), #ffd700);
  color: var(--ha-food-red);
  border: 2px solid var(--ha-food-gold);
}

.san-pham .btn-buy-now:hover {
  background: linear-gradient(45deg, #ffd700, var(--ha-food-gold));
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
}

/* Products Pagination */
.san-pham .ha-food-products-pagination {
  border-top: 1px solid rgba(185, 28, 28, 0.1);
}

.san-pham .ha-food-products-pagination .pagination {
  margin: 0;
}

.san-pham .ha-food-products-pagination .page-item {
  margin: 0 5px;
}

.san-pham .ha-food-products-pagination .page-link {
  border: 2px solid rgba(185, 28, 28, 0.2);
  color: var(--ha-food-red);
  padding: 12px 20px;
  font-weight: 600;
  background: white;
  border-radius: 8px !important;
  transition: all 0.3s ease;
  -webkit-border-radius: 8px !important;
  -moz-border-radius: 8px !important;
  -ms-border-radius: 8px !important;
  -o-border-radius: 8px !important;
}

.san-pham .ha-food-products-pagination .page-item.active .page-link {
  background: var(--ha-food-red);
  border-color: var(--ha-food-red);
  color: white;
  transform: scale(1.1);
  box-shadow: 0 5px 15px rgba(185, 28, 28, 0.3);
}

.san-pham .ha-food-products-pagination .page-link:hover {
  background: rgba(185, 28, 28, 0.1);
  border-color: var(--ha-food-red);
  color: var(--ha-food-red);
  transform: translateY(-2px);
}

.category-icon-mini {
  width: 30px;
  height: 30px;
  object-fit: contain;
  transform: translateY(-3px);
  -webkit-transform: translateY(-3px);
  -moz-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  -o-transform: translateY(-3px);
}
.ha-food-category-list .category-item.active .category-icon-mini {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7495%)
    hue-rotate(288deg) brightness(100%) contrast(100%);
}
/* Products Page Responsive */

/* trang sản phẩm end */

/* Danh mục cấp con - Toggle functionality */
.san-pham .category-link-wrapper {
  position: relative;
}

.san-pham .toggle-icon {
  margin-left: auto;
  transition: transform 0.3s ease;
  color: var(--ha-food-red);
  font-size: 0.8rem;
  opacity: 0.7;
}

.san-pham .category-item.expanded .toggle-icon {
  transform: rotate(180deg);
  opacity: 1;
}

.san-pham .category-item.active .toggle-icon {
  color: white;
}

.san-pham .sub-category-list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 0 0 10px 10px;
  border-left: 3px solid var(--ha-food-gold);
  margin-left: 10px;
  margin-top: 5px;
}

.san-pham .category-item.expanded .sub-category-list {
  max-height: 500px;
  padding: 15px 0 10px 0;
  padding-left: 10px;
}

.san-pham .sub-category-item {
  margin-bottom: 8px;
}

.san-pham .sub-category-item:last-child {
  margin-bottom: 0;
}

.san-pham .sub-category-link {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  background: transparent;
  color: #555;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  border-radius: 6px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.san-pham .sub-category-link::before {
  content: "";
  position: absolute;
  left: -100%;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(185, 28, 28, 0.05),
    transparent
  );
  transition: left 0.5s ease;
}

.san-pham .sub-category-link:hover::before {
  left: 100%;
}

.san-pham .sub-category-link:hover {
  background: rgba(185, 28, 28, 0.08);
  color: var(--ha-food-red);
  transform: translateX(5px);
  padding-left: 25px;
}

.san-pham .sub-category-item.active .sub-category-link {
  background: linear-gradient(
    45deg,
    rgba(185, 28, 28, 0.1),
    rgba(185, 28, 28, 0.15)
  );
  color: var(--ha-food-red);
  font-weight: 600;
  border-left: 3px solid var(--ha-food-red);
  padding-left: 17px;
}

.san-pham .sub-category-link i {
  width: 15px;
  margin-right: 10px;
  color: var(--ha-food-gold);
  font-size: 0.8rem;
  transition: transform 0.3s ease;
}

.san-pham .sub-category-link:hover i {
  transform: translateX(2px);
  color: var(--ha-food-red);
}

.san-pham .sub-category-item.active .sub-category-link i {
  color: var(--ha-food-red);
}

/* Animation cho smooth expand/collapse */
@keyframes slideDownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.san-pham .category-item.expanded .sub-category-item {
  animation: slideDownFadeIn 0.3s ease forwards;
  opacity: 0;
}

.san-pham .category-item.expanded .sub-category-item:nth-child(1) {
  animation-delay: 0.05s;
}
.san-pham .category-item.expanded .sub-category-item:nth-child(2) {
  animation-delay: 0.1s;
}
.san-pham .category-item.expanded .sub-category-item:nth-child(3) {
  animation-delay: 0.15s;
}
.san-pham .category-item.expanded .sub-category-item:nth-child(4) {
  animation-delay: 0.2s;
}
.san-pham .category-item.expanded .sub-category-item:nth-child(5) {
  animation-delay: 0.25s;
}

/* AJAX Product Loading States */
.ha-food-products-grid .row {
  transition: opacity 0.3s ease;
}

.products-loading {
  opacity: 0.6;
  pointer-events: none;
}

/* Product badges for AJAX products */
.ha-food-product-item .product-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.ha-food-product-item .badge-new,
.ha-food-product-item .badge-sale {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.ha-food-product-item .badge-new {
  background: linear-gradient(45deg, #28a745, #20c997);
  color: white;
}

.ha-food-product-item .badge-sale {
  background: linear-gradient(45deg, #dc3545, #fd7e14);
  color: white;
}

/* Loading spinner styling */
.ha-food-products-grid .spinner-border {
  width: 3rem;
  height: 3rem;
  color: var(--ha-food-red) !important;
}

/* Pagination AJAX styling */
.ha-food-products-pagination {
  padding-top: 2rem;
  margin-top: 2rem;
  border-top: 1px solid rgba(185, 28, 28, 0.1);
  transition: all 0.3s ease;
}

.ha-food-products-pagination .pagination {
  margin: 0;
}

.ha-food-products-pagination .page-item {
  margin: 0 3px;
}

.ha-food-products-pagination .page-link {
  border: 2px solid rgba(185, 28, 28, 0.2);
  color: var(--ha-food-red);
  padding: 10px 16px;
  font-weight: 600;
  background: white;
  border-radius: 8px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.ha-food-products-pagination .page-item.active .page-link {
  background: var(--ha-food-red);
  border-color: var(--ha-food-red);
  color: white;
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(185, 28, 28, 0.3);
}

.ha-food-products-pagination .page-link:hover {
  background: rgba(185, 28, 28, 0.1);
  border-color: var(--ha-food-red);
  color: var(--ha-food-red);
  transform: translateY(-1px);
}

/* Error message styling */
.ha-food-products-grid .alert {
  border: none;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.ha-food-products-grid .alert-danger {
  background: linear-gradient(135deg, #dc3545, #c82333);
  color: white;
}

/* trang sản phẩm chi tiết start */

/* ========================================
   PRODUCT DETAIL PAGE STYLES
======================================== */

/* Product Detail Section */
.san-pham-detail .ha-food-product-detail {
  background: linear-gradient(to bottom, #ffffff, #fff4f4, #fff4f4, #fff4f4);
}

/* Product Gallery */
.san-pham-detail .ha-food-product-gallery {
  position: relative;
}

.san-pham-detail .ha-food-product-gallery .main-image {
  position: relative;
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
  background: #f8f9fa;
}

.san-pham-detail .ha-food-product-gallery .main-image img {
  width: 100%;
  height: auto;
  min-height: 400px;
  object-fit: cover;
  border-radius: 10px;
}

.san-pham-detail .ha-food-product-gallery .thumbnail-images {
  display: flex;
  gap: 15px;
  justify-content: flex-start;
}

.san-pham-detail .ha-food-product-gallery .thumbnail {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 3px solid transparent;
  transition: all 0.3s ease;
}

.san-pham-detail .ha-food-product-gallery .thumbnail.active {
  border-color: var(--ha-food-red);
  transform: scale(1.05);
}

.ha-food-product-gallery .thumbnail:hover {
  border-color: var(--ha-food-gold);
  transform: scale(1.02);
}

.san-pham-detail .ha-food-product-gallery .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Product Info */
.san-pham-detail .ha-food-product-info {
  padding-left: 40px;
}

.san-pham-detail .ha-food-product-info .product-detail-title {
  font-size: clamp(1.5rem, 1.3462rem + 0.7692vw, 2rem);
  color: #731112;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 0.5px;
  font-family: "Old Standard TT", serif;
}

.san-pham-detail .ha-food-product-info .product-detail-price {
  margin-bottom: 30px;
}

.san-pham-detail .ha-food-product-info .current-price {
  font-size: clamp(1.3rem, 1.2385rem + 0.3077vw, 1.5rem);
  font-weight: 600;
  color: var(--primary-color);
}

.san-pham-detail .ha-food-product-info .product-divider {
  border: none;
  height: 1px;
  background: rgba(0, 0, 0, 0.21);
  margin: 30px 0;
}
.san-pham-detail .ha-food-product-info .old-price {
  font-size: clamp(0.9rem, 0.8692rem + 0.1538vw, 1rem);
  text-decoration: line-through;
}
/* Product Description */
.san-pham-detail .ha-food-product-info .product-description {
  margin-bottom: 40px;
  color: var(--ha-food-text-dark);
}
.san-pham-detail .ha-food-product-info p {
  color: var(--text-color);
}
.san-pham-detail .techno-farm-related-products-swiper .ha-food-product-info p {
  color: var(--ha-food-white);
}
.product-description ul {
  list-style: none;
  padding-left: 0;
}

.san-pham-detail .ha-food-product-info .description-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #000000;
  margin-bottom: 15px;
}

.san-pham-detail .ha-food-product-info .product-ingredients {
  list-style: none;
  padding: 0;
  margin: 0;
}

.san-pham-detail .ha-food-product-info .product-ingredients li {
  font-size: 1rem;
  font-weight: 300;
  color: #000000;
  line-height: 1.6;
  margin-bottom: 8px;
  position: relative;
  padding-left: 15px;
}

.san-pham-detail .ha-food-product-info .product-ingredients li:before {
  content: "•";
  color: var(--ha-food-red);
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

/* Product Actions */
.san-pham-detail .ha-food-product-info .product-actions {
  margin-bottom: 40px;
}

.san-pham-detail .ha-food-product-info .quantity-selector {
  margin-bottom: 25px;
}

.san-pham-detail .ha-food-product-info .quantity-controls {
  display: flex;
  align-items: center;
  gap: 0;
  width: fit-content;
}

.san-pham-detail .ha-food-product-info .quantity-btn {
  width: 35px;
  height: 45px;
  border: 1px solid #d9d9d9;
  background: #ffffff;
  color: #000000;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.san-pham-detail .ha-food-product-info .quantity-btn:hover {
  background: #f8f9fa;
  border-color: var(--ha-food-red);
}

.san-pham-detail .ha-food-product-info .quantity-btn.decrease {
  border-radius: 5px 0 0 5px;
}

.san-pham-detail .ha-food-product-info .quantity-btn.increase {
  border-radius: 0 5px 5px 0;
}

.san-pham-detail .ha-food-product-info .quantity-input {
  width: 60px;
  height: 45px;
  border: 1px solid #d9d9d9;
  border-left: none;
  border-right: none;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  background: #ffffff;
}

.san-pham-detail .ha-food-product-info .quantity-input:focus {
  outline: none;
  /* border-color: var(--ha-food-red); */
}

.san-pham-detail .ha-food-product-info .action-buttons {
  display: flex;
  gap: 15px;
}

.san-pham-detail .ha-food-product-info .btn-order-now {
  background: #c00000;
  color: #ffffff;
  border: none;
  padding: 12px 30px;
  font-size: 1.25rem;
  font-weight: 600;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: capitalize;
}

.san-pham-detail .ha-food-product-info .btn-order-now:hover {
  background: #a00000;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(192, 0, 0, 0.3);
}

.san-pham-detail .ha-food-product-info .btn-add-to-cart {
  background: #cd992a;
  color: #ffffff;
  border: none;
  padding: 12px 30px;
  font-size: 1.25rem;
  font-weight: 600;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: capitalize;
}

.san-pham-detail .ha-food-product-info .btn-add-to-cart:hover {
  background: #b8862a;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(205, 153, 42, 0.3);
}

/* Social Sharing */
.san-pham-detail .ha-food-product-info .product-social {
  display: flex;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid rgba(0, 76, 19, 0.17);
}

.san-pham-detail .ha-food-product-info .social-label {
  font-size: 1.25rem;
  font-weight: 500;
  color: #000000;
}

.san-pham-detail .ha-food-product-info .social-buttons {
  display: flex;
  gap: 10px;
}

.san-pham-detail .ha-food-product-info .social-btn {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #ffffff;
  transition: all 0.3s ease;
  font-size: 14px;
}

.san-pham-detail .ha-food-product-info .social-btn.facebook {
  background: #1877f2;
}

.san-pham-detail .ha-food-product-info .social-btn.twitter {
  background: #1da1f2;
}

.san-pham-detail .ha-food-product-info .social-btn.instagram {
  background: linear-gradient(
    45deg,
    #f09433 0%,
    #e6683c 25%,
    #dc2743 50%,
    #cc2366 75%,
    #bc1888 100%
  );
}

.san-pham-detail .ha-food-product-info .social-btn.linkedin {
  background: #0077b5;
}

.san-pham-detail .ha-food-product-info .social-btn.pinterest {
  background: #bd081c;
}

.san-pham-detail .ha-food-product-info .social-btn:hover {
  transform: scale(1.1);
}

/* Product Promotions */

.san-pham-detail .ha-food-product-info .promotions-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #000000;
  margin-bottom: 15px;
}

.san-pham-detail .ha-food-product-info .promotions-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.san-pham-detail .ha-food-product-info .promotion-item {
  display: flex;
  align-items: center;
  gap: 10px;

  font-size: 0.95rem;
  color: #000000;
}

.san-pham-detail .ha-food-product-info .promotion-item i {
  color: var(--ha-food-red);
  font-size: 16px;
  width: 20px;
  text-align: center;
}

/* Product Terms */
.san-pham-detail .ha-food-product-info .product-terms {
  margin-bottom: 20px;
}

.san-pham-detail .ha-food-product-info .terms-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #000000;
  margin-bottom: 15px;
}

.san-pham-detail .ha-food-product-info .terms-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.san-pham-detail .ha-food-product-info .terms-item {
  display: flex;
  align-items: center;
  gap: 10px;

  font-size: 0.95rem;
  color: #000000;
}

.san-pham-detail .ha-food-product-info .terms-item i {
  color: var(--ha-food-green);
  font-size: 16px;
  width: 20px;
  text-align: center;
}

/* Product Detail Hero */
.san-pham-detail .ha-food-product-hero {
  position: relative;
  padding: 100px 0 60px;
  background: linear-gradient(135deg, #731112 0%, #a01517 50%, #731112 100%);
  overflow: hidden;
}

.san-pham-detail .ha-food-product-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("assets/img/pattern-bg.png") repeat;
  opacity: 0.1;
  mix-blend-mode: luminosity;
}

.san-pham-detail .ha-food-product-hero-content {
  position: relative;
  z-index: 2;
}

.san-pham-detail .ha-food-product-hero-title {
  font-family: "UTM Copperplate", serif;
  font-size: 2.8rem;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  margin-bottom: 20px;
  letter-spacing: 2px;
}

.san-pham-detail .ha-food-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "UTM Copperplate", serif;
  font-size: 1.125rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #ffffff;
}

.san-pham-detail .ha-food-breadcrumb a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;
}

.san-pham-detail .ha-food-breadcrumb a:hover {
  color: var(--ha-food-gold);
}

.san-pham-detail .ha-food-breadcrumb span {
  color: rgba(255, 255, 255, 0.6);
}

.san-pham-detail .ha-food-product-hero-image {
  position: relative;
  z-index: 2;
  text-align: center;
}

.san-pham-detail .ha-food-product-hero-image img {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));
}

/* Product Description Section */
.san-pham-detail .ha-food-product-description {
  background: #fff4f4;
  padding-top: 0;
}
.ha-food-product-description-inner {
  background: var(--ha-food-white);
}

.san-pham-detail .ha-food-product-description .section-title {
  font-size: clamp(1.2rem, 1.1077rem + 0.4615vw, 1.5rem);
  font-weight: 600;
  color: #1d1d1d;
  position: relative;
  padding-bottom: 15px;
  text-transform: uppercase;
}

.san-pham-detail .ha-food-product-description .section-title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 2px;
  background: rgba(0, 76, 19, 0.17);
}

.san-pham-detail .ha-food-product-description .description-content {
  font-size: 1rem;
  font-weight: 300;
  color: #000000;
  line-height: 1.6;
  text-align: justify;
  padding-left: 12px;
}

.san-pham-detail .ha-food-product-description .description-content p {
  margin-bottom: 20px;
}

.san-pham-detail .ha-food-product-description .product-detail-image {
  text-align: center;
  margin-top: 40px;
}

.san-pham-detail .ha-food-product-description .product-detail-image img {
  max-width: 100%;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.ha-food-related-products {
  background: #fff4f4;
  padding-top: 0;
}

.san-pham-detail .product-promotions .accordion-header {
  background: transparent !important;
}
.san-pham-detail .product-promotions .accordion-button {
  color: var(--ha-food-text-dark) !important;
  border: none !important;
  box-shadow: none !important;
  padding: 15px 0;
  font-weight: 700;
}
.san-pham-detail .product-promotions .accordion-button:not(.collapsed) {
  color: var(--ha-food-text-dark) !important;
}
.san-pham-detail .product-promotions .accordion-item {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(0, 76, 19, 0.17) !important;
}
.san-pham-detail .product-promotions .accordion-item:last-of-type {
  border-bottom: none !important;
}
.san-pham-detail .product-promotions .accordion-button {
  background: transparent !important;
}
.san-pham-detail .product-promotions .accordion-body {
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.related-section-title {
  font-family: "Old Standard TT", serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 1.3462rem + 0.7692vw, 2rem);
  text-transform: uppercase;
  color: var(--primary-color);
}

/* Thumbnail Swiper */
.techno-farm-thumb-swiper-container {
  position: relative;
  height: 600px;
  margin-bottom: 20px;
}

.techno-farm-thumb-swiper {
  height: 100%;
  width: 100%;
}

.techno-farm-thumb-swiper .swiper-slide {
  height: auto;
  margin-bottom: 10px;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 5px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.techno-farm-thumb-swiper .swiper-slide:hover {
  border-color: var(--primary-color);
}

.techno-farm-thumb-swiper .swiper-slide.swiper-slide-thumb-active {
  border-color: var(--primary-color);
  box-shadow: 0 3px 10px rgba(34, 197, 94, 0.3);
}

.techno-farm-thumb-swiper .swiper-slide .techno-farm-thumb-swipe-image {
  width: 100%;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}
.techno-farm-thumb-swiper .swiper-slide .techno-farm-thumb-swipe-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Thumbnail Navigation */
.techno-farm-thumb-nav {
  position: absolute;
  top: 50%;
  right: -30px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 10;
}

.techno-farm-thumb-prev,
.techno-farm-thumb-next {
  width: 25px;
  height: 25px;
  background-color: var(--primary-color);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.3s ease;
}

.techno-farm-thumb-prev:hover,
.techno-farm-thumb-next:hover {
  background-color: var(--secondary-color);
  transform: scale(1.1);
}

/* Main Product Swiper */
.techno-farm-main-swiper-container {
  position: relative;
  background-color: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

.techno-farm-main-swiper {
  height: 600px;
}

.techno-farm-product-main-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.techno-farm-product-main-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Product Overlay */
.techno-farm-product-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(34, 197, 94, 0.1) 0%,
    rgba(5, 150, 105, 0.1) 100%
  );
  display: flex;
  align-items: flex-end;
  padding: 30px;
}

.techno-farm-overlay-content h3 {
  color: var(--dark-color);
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 15px;
  line-height: 1.2;
}

.techno-farm-contact-banner {
  background-color: var(--dark-color);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 5px;
  font-weight: 600;
  font-size: 16px;
}

/* Main Swiper Pagination */
.techno-farm-main-swiper .swiper-pagination {
  bottom: 15px;
}

.techno-farm-main-swiper .swiper-pagination-bullets .swiper-pagination-bullet{
  background-color: #ffffff;
  width: 10px;
  height: 10px;
  border: 2px solid #cd992a;
}

.techno-farm-main-swiper .swiper-pagination-bullet-active {
  background-color: var(--primary-color);
  opacity: 1;
}

/* trang sản phẩm chi tiết 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); */
}

.hydrosite-nhadidong-float-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--ha-food-white);
  font-size: 1.2rem;
  box-shadow: var(--shadow-hover);
}

.hydrosite-nhadidong-float-btn:hover {
  transform: scale(1.1);
  color: var(--ha-food-white);
}

.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 */

/* trang liên hệ start */
/* ========================================
   CONTACT PAGE STYLES
======================================== */

/* Contact Hero Section */
.lien-he .ha-food-contact-hero {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(
    135deg,
    var(--ha-food-red) 0%,
    var(--ha-food-red-dark) 50%,
    var(--ha-food-red) 100%
  );
  overflow: hidden;
  display: flex;
  align-items: center;
}

.lien-he .contact-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(
      circle at 30% 20%,
      rgba(212, 175, 55, 0.1) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 70% 80%,
      rgba(250, 224, 99, 0.15) 0%,
      transparent 50%
    );
}

.lien-he .floating-lantern {
  position: absolute;
  font-size: 3rem;
  opacity: 0.6;
  animation: float 6s ease-in-out infinite;
  filter: drop-shadow(0 0 20px rgba(250, 224, 99, 0.5));
}

.lien-he .lantern-1 {
  top: 20%;
  left: 10%;
  animation-delay: 0s;
}

.lien-he .lantern-2 {
  top: 60%;
  right: 15%;
  animation-delay: 2s;
}

.lien-he .lantern-3 {
  top: 80%;
  left: 20%;
  animation-delay: 4s;
}
.lien-he .contact-hero-content {
  position: relative;
  z-index: 2;
}

.lien-he .contact-hero-title {
  margin-bottom: 30px;
}

.lien-he .contact-hero-title .title-decorative {
  display: block;
  font-family: "serif", "楷体";
  font-size: 2rem;
  color: var(--ha-food-gold);
  margin-bottom: 10px;
  opacity: 0.8;
}

.lien-he .contact-hero-title .title-main {
  display: block;
  font-family: "UTM Copperplate", serif;
  font-size: 4rem;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.lien-he .contact-hero-title .title-sub {
  display: block;
  font-family: "UTM Copperplate", serif;
  font-size: 2.5rem;
  color: var(--ha-food-gold);
  margin-top: 10px;
  letter-spacing: 2px;
}

.lien-he .contact-hero-description {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
  margin-bottom: 40px;
  max-width: 500px;
}

.lien-he .contact-quick-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lien-he .quick-info-item {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #ffffff;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}

.lien-he .quick-info-item i {
  width: 40px;
  height: 40px;
  background: rgba(250, 224, 99, 0.2);
  color: var(--ha-food-gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
}

.lien-he .quick-info-item:hover i {
  background: var(--ha-food-gold);
  color: var(--ha-food-red);
  transform: scale(1.1);
}

/* Contact Hero Image */
.lien-he .contact-hero-image {
  position: relative;
  z-index: 2;
}

.lien-he .image-frame {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 2px solid rgba(250, 224, 99, 0.3);
  padding: 20px;
}

.lien-he .hero-image {
  width: 100%;
  border-radius: 15px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.lien-he .image-decorative {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 100px;
  height: 100px;
}

.lien-he .decorative-circle {
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--ha-food-gold), #f4d03f);
  opacity: 0.8;
}

.lien-he .circle-1 {
  width: 60px;
  height: 60px;
  top: 0;
  right: 0;
  animation: pulse 3s infinite;
}

.lien-he .circle-2 {
  width: 30px;
  height: 30px;
  top: 20px;
  right: 50px;
  animation: pulse 3s infinite 1s;
}
/* Contact Form Section */
.lien-he .ha-food-contact-form {
  padding: 100px 0;
  background: linear-gradient(135deg, #fafafa 0%, #f0f0f0 100%);
}

.lien-he .contact-form-wrapper {
  background: #ffffff;
  border-radius: 20px;
  padding: 60px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.2);
  position: relative;
  overflow: hidden;
}

.lien-he .contact-form-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(
    90deg,
    var(--ha-food-red) 0%,
    var(--ha-food-gold) 100%
  );
}

.lien-he .form-header {
  text-align: center;
  margin-bottom: 50px;
}

.lien-he .form-title {
  font-family: "UTM Copperplate", serif;
  font-size: 2.5rem;
  color: var(--ha-food-red);
  margin-bottom: 15px;
  position: relative;
}

.lien-he .chinese-accent {
  display: block;
  font-family: "serif", "楷体";
  font-size: 1.5rem;
  color: var(--ha-food-gold);
  margin-bottom: 10px;
  opacity: 0.8;
}

.lien-he .form-subtitle {
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 0;
}

/* Form Groups */
.lien-he .form-group {
  position: relative;
  margin-bottom: 30px;
}

.lien-he .form-group label {
  font-weight: 600;
  color: var(--ha-food-red);
  margin-bottom: 8px;
  display: block;
  transition: all 0.3s ease;
}

.lien-he .form-control {
  width: 100%;
  padding: 15px 20px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  font-size: 16px;
  background: #ffffff;
  transition: all 0.3s ease;
  outline: none;
}

.lien-he .form-control:focus {
  border-color: var(--ha-food-gold);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
  transform: translateY(-2px);
}

.lien-he .form-focus-line {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--ha-food-red), var(--ha-food-gold));
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.lien-he .form-group.focused .form-focus-line,
.lien-he .form-control:focus + .form-focus-line {
  width: 100%;
  display: none;
}

.lien-he .form-group.focused label,
.lien-he .form-control:focus + label {
  color: var(--ha-food-gold);
  transform: translateY(-3px);
}

/* Submit Button */
.lien-he .form-submit {
  text-align: center;
  margin-top: 40px;
}

.lien-he .btn-submit {
  position: relative;
  background: linear-gradient(
    135deg,
    var(--ha-food-red) 0%,
    var(--ha-food-red-dark) 100%
  );
  color: #ffffff;
  border: none;
  padding: 18px 40px;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 50px;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.lien-he .btn-submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 30px rgba(115, 17, 18, 0.4);
}

.lien-he .btn-submit:active {
  transform: translateY(-1px);
}

.lien-he .btn-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: scale(0);
  transition: transform 0.6s ease;
  pointer-events: none;
}

.lien-he .btn-ripple.active {
  transform: scale(2);
  opacity: 0;
}

/* Contact Info Section */
.lien-he .ha-food-contact-info {
  padding: 100px 0;
  background: #ffffff;
}

.lien-he .section-title {
  font-family: "UTM Copperplate", serif;
  font-size: clamp(1.7rem, 1.4538rem + 1.2308vw, 2.5rem);
  color: var(--ha-food-red);
  margin-bottom: 60px;
  position: relative;
  text-align: center;
}

.lien-he .contact-info-card {
  background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 15px;
  padding: 40px 30px;
  text-align: center;
  transition: all 0.4s ease;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.lien-he .contact-info-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(212, 175, 55, 0.1),
    transparent
  );
  transition: left 0.6s ease;
}

.lien-he .card-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(
    135deg,
    var(--ha-food-red),
    var(--ha-food-red-dark)
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
  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;
}

.lien-he .card-icon img {
  width: 60%;
}

.lien-he .card-content h3 {
  font-family: "UTM Copperplate", serif;
  font-size: clamp(1.1rem, 1.0385rem + 0.3077vw, 1.3rem);
  color: var(--ha-food-red);
  margin-bottom: 15px;
  font-weight: bold;
}

.lien-he .card-content p {
  color: #666;
  line-height: 1.6;
  margin-bottom: 0px;
}

.lien-he .card-link {
  color: var(--ha-food-gold);
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.lien-he .card-link:hover {
  color: var(--ha-food-red);
  transform: translateX(5px);
}

/* Map Section */
.lien-he .ha-food-contact-map {
  padding: 0;
  background: #f8f9fa;
}

.lien-he .map-wrapper {
  position: relative;
}

.lien-he .map-frame {
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

.lien-he .map-overlay {
  position: absolute;
  top: 30px;
  left: 30px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 25px;
  border-radius: 15px;
  max-width: 300px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border: 2px solid var(--ha-food-gold);
}

.lien-he .map-info h4 {
  font-family: "UTM Copperplate", serif;
  color: var(--ha-food-red);
  font-size: 1.2rem;
  margin-bottom: 10px;
  font-weight: bold;
}

.lien-he .map-info p {
  color: #666;
  margin-bottom: 15px;
  line-height: 1.4;
}

.lien-he .btn-directions {
  background: var(--ha-food-red);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
}

.lien-he .btn-directions:hover {
  background: var(--ha-food-gold);
  color: var(--ha-food-red);
  transform: translateY(-2px);
}

/* Success Modal */
.lien-he .modal-content {
  border-radius: 20px;
  border: none;
  overflow: hidden;
}

.lien-he .success-icon {
  font-size: 4rem;
  color: #28a745;
}

.lien-he .success-title {
  color: var(--ha-food-red);
  font-family: "UTM Copperplate", serif;
  margin-bottom: 15px;
}

.lien-he .success-message {
  color: #666;
  margin-bottom: 30px;
}

.lien-he .btn-success-ok {
  background: var(--ha-food-red);
  color: #ffffff;
  border: none;
  padding: 12px 30px;
  border-radius: 25px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.lien-he .btn-success-ok:hover {
  background: var(--ha-food-gold);
  color: var(--ha-food-red);
  transform: translateY(-2px);
}
.lien-he .map-frame iframe {
  pointer-events: all !important;
}
.lien-he .map-frame-inner {
  max-height: 450px;
}
.lien-he .map-frame-inner iframe {
  width: 100%;
  height: 100%;
}
/* trang liên hệ end */

/* trang dự án start */
/* ========================================
   PROJECTS PAGE STYLES
======================================== */

/* Projects Hero Section */
.page-project .ha-food-projects-hero {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(
    135deg,
    var(--ha-food-red) 0%,
    var(--ha-food-red-dark) 50%,
    var(--ha-food-red) 100%
  );
  overflow: hidden;
  display: flex;
  align-items: center;
}

.page-project .projects-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(
      circle at 20% 30%,
      rgba(212, 175, 55, 0.1) 0%,
      transparent 60%
    ),
    radial-gradient(
      circle at 80% 70%,
      rgba(250, 224, 99, 0.15) 0%,
      transparent 60%
    );
}

.page-project .floating-pattern {
  position: absolute;
  font-size: 2.5rem;
  opacity: 0.4;
  animation: floatPattern 8s ease-in-out infinite;
  filter: drop-shadow(0 0 15px rgba(250, 224, 99, 0.3));
  -webkit-animation: floatPattern 8s ease-in-out infinite;
  color: rgba(255, 255, 255, 0.5);
}

.page-project .pattern-1 {
  top: 15%;
  left: 8%;
  animation-delay: 0s;
}

.page-project .pattern-2 {
  top: 65%;
  right: 12%;
  animation-delay: 2s;
}

.page-project .pattern-3 {
  top: 85%;
  left: 15%;
  animation-delay: 4s;
}
.page-project .projects-hero-content {
  position: relative;
  z-index: 2;
}

.page-project .projects-hero-title {
  margin-bottom: 30px;
}

.page-project .projects-hero-title .title-decorative {
  display: block;
  font-family: "serif", "楷体";
  font-size: 2.5rem;
  color: var(--ha-food-gold);
  margin-bottom: 10px;
  opacity: 0.9;
}

.page-project .projects-hero-title .title-main {
  display: block;
  font-family: "UTM Copperplate", serif;
  font-size: 3.5rem;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  margin-bottom: 15px;
}

.page-project .projects-hero-title .title-sub {
  display: block;
  font-family: "UTM Copperplate", serif;
  font-size: 1.8rem;
  color: var(--ha-food-gold);
  letter-spacing: 1.5px;
  opacity: 0.9;
}

.page-project .projects-hero-description {
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin-bottom: 50px;
  max-width: 500px;
}

/* Projects Stats */
.page-project .projects-stats {
  display: flex;
  gap: 20px;
  flex-wrap: nowrap;
}

.page-project .stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.page-project .stat-number {
  font-family: "UTM Copperplate", serif;
  font-size: 3rem;
  font-weight: bold;
  color: var(--ha-food-gold);
  display: block;
  margin-bottom: 10px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.page-project .stat-label {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Projects Hero Showcase */
.page-project .projects-hero-showcase {
  position: relative;
  z-index: 2;
}

.page-project .showcase-item {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 2px solid rgba(250, 224, 99, 0.3);
  transition: all 0.4s ease;
}

.page-project .showcase-item:hover {
  transform: translateY(-5px);
  border-color: var(--ha-food-gold);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}

.page-project .showcase-item.main-item {
  grid-row: span 2;
}

.page-project .showcase-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-project .showcase-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: #ffffff;
  padding: 30px 20px 20px;
  transform: translateY(100%);
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
  pointer-events: none;
}

.page-project .showcase-item:hover .showcase-overlay {
  transform: translateY(0);
}

.page-project .showcase-badge {
  background: var(--ha-food-gold);
  color: var(--ha-food-red);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 10px;
}

.page-project .showcase-overlay h4 {
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
  margin: 0;
  font-weight: 600;
}

/* Portfolio Section */
.page-project .ha-food-portfolio {
  padding: 100px 0;
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
}

.page-project .section-title {
  font-family: "UTM Copperplate", serif;
  font-size: 2.8rem;
  color: var(--ha-food-red);
  margin-bottom: 20px;
  position: relative;
  text-align: center;
}

.page-project .section-title.light {
  color: #ffffff;
}

.page-project .chinese-accent {
  display: block;
  font-family: "serif", "楷体";
  font-size: 1.8rem;
  color: var(--ha-food-gold);
  margin-bottom: 10px;
  opacity: 0.9;
}

.page-project .section-subtitle {
  font-size: 1.2rem;
  color: #666;
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.page-project .section-subtitle.light {
  color: rgba(255, 255, 255, 0.8);
}

/* Portfolio Filter */
.page-project .portfolio-filter {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.page-project .filter-btn {
  background: transparent;
  border: 2px solid var(--ha-food-red);
  color: var(--ha-food-red);
  padding: 12px 25px;
  border-radius: 30px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.9rem;
}

.page-project .filter-btn:hover,
.page-project .filter-btn.active {
  background: var(--ha-food-red);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(115, 17, 18, 0.3);
}

/* Portfolio Grid */
.page-project .portfolio-grid {
  margin-top: 50px;
}

.page-project .portfolio-item {
  transition: all 0.3s ease;
}

.page-project .portfolio-card {
  background: #ffffff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
  border: 2px solid transparent;
}

.page-project .portfolio-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  border-color: var(--ha-food-gold);
}

.page-project .portfolio-image {
  position: relative;
  overflow: hidden;
}

.page-project .portfolio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.page-project .portfolio-card:hover .portfolio-image img {
  transform: scale(1.1);
}

.page-project .portfolio-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.4s ease;
}

.page-project .portfolio-card:hover .portfolio-overlay {
  opacity: 1;
}

.page-project .overlay-content {
  text-align: center;
  color: #ffffff;
}

.page-project .overlay-content h4 {
  font-size: 1.3rem;
  margin-bottom: 8px;
  font-weight: 600;
}

.page-project .overlay-content p {
  margin-bottom: 20px;
  opacity: 0.9;
}

.page-project .overlay-actions {
  display: flex;
  gap: 15px;
  justify-content: center;
}

.page-project .overlay-actions a {
  width: 50px;
  height: 50px;
  background: var(--ha-food-gold);
  color: var(--ha-food-red);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
  text-decoration: none;
}

.page-project .overlay-actions a:hover {
  background: #ffffff;
  color: var(--ha-food-red);
  transform: scale(1.1);
}

.page-project .portfolio-info {
  padding: 25px;
}

.page-project .portfolio-category {
  background: rgba(115, 17, 18, 0.1);
  color: var(--ha-food-red);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 15px;
}

.page-project .portfolio-info h4 {
  font-size: clamp(1rem, 0.9385rem + 0.3077vw, 1.2rem);
  color: var(--ha-food-dark);
  margin-bottom: 10px;
  font-weight: 600;
  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-project .portfolio-info p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* Process Timeline */
.page-project .ha-food-process {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(
    135deg,
    var(--ha-food-red) 0%,
    var(--ha-food-red-dark) 100%
  );
  overflow: hidden;
}

.page-project .process-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-project .traditional-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(212,175,55,0.1)"/><circle cx="20" cy="20" r="1.5" fill="rgba(212,175,55,0.08)"/><circle cx="80" cy="80" r="1.5" fill="rgba(212,175,55,0.08)"/></svg>')
    repeat;
  opacity: 0.3;
}

.page-project .process-timeline {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
}

.page-project .process-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(
    to bottom,
    var(--ha-food-gold),
    rgba(212, 175, 55, 0.3)
  );
  transform: translateX(-50%);
}

.page-project .timeline-item {
  position: relative;
  margin-bottom: 80px;
  display: flex;
  align-items: center;
}

.page-project .timeline-item:nth-child(even) {
  flex-direction: row-reverse;
}

.page-project .timeline-item:nth-child(even) .timeline-content {
  text-align: right;
}

.page-project .timeline-marker {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 50px;
}

.page-project .step-number {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "UTM Copperplate", serif;
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--ha-food-gold);
}

.page-project .marker-icon {
  width: 80px;
  height: 80px;
  min-width: 80px;
  min-height: 80px;
  background: linear-gradient(135deg, var(--ha-food-gold), #f4d03f);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  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;
}

.page-project .marker-icon img {
  width: 50%;
}

.page-project .timeline-item:hover .marker-icon {
  transform: scale(1.1) rotate(5deg);
}

.page-project .timeline-content {
  flex: 1;
  background: rgba(255, 255, 255, 0.95);
  padding: 30px;
  border-radius: 15px;
  backdrop-filter: blur(10px);
  border: 2px solid rgba(250, 224, 99, 0.3);
  transition: all 0.4s ease;
}

.page-project .timeline-content:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
  border-color: var(--ha-food-gold);
}

.page-project .timeline-content h3 {
  font-family: "UTM Copperplate", serif;
  font-size: 1.5rem;
  color: var(--ha-food-red);
  margin-bottom: 15px;
  font-weight: bold;
}

.page-project .timeline-content p {
  color: #666;
  line-height: 1.7;
  margin-bottom: 10px;
}

.page-project .timeline-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.page-project .timeline-content li {
  color: #555;
  padding: 8px 0;
  position: relative;
  padding-left: 25px;
}

.page-project .timeline-content li::before {
  content: "✦";
  position: absolute;
  left: 0;
  color: var(--ha-food-gold);
  font-size: 14px;
}

.page-project .timeline-item:nth-child(even) {
  text-align: right;
}

.page-project .timeline-item:nth-child(even) .timeline-content li::before {
  left: initial;
  right: 0;
}
.page-project .timeline-item:nth-child(even) .timeline-content li {
  padding-left: 0;
  padding-right: 25px;
}

/* Testimonials Section */
.page-project .ha-food-testimonials {
  padding: 100px 0;
  background: #ffffff;
}

.page-project .testimonials-slider {
  padding: 20px 0;
}

.page-project .testimonial-card {
  background: linear-gradient(145deg, #ffffff, #f8f9fa);
  border-radius: 20px;
  padding: 40px 30px;
  margin: 0 15px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
  border: 2px solid transparent;
  transition: all 0.4s ease;
  text-align: center;
}

.page-project .testimonial-card:hover {
  border-color: var(--ha-food-gold);
  transform: translateY(-10px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.page-project .quote-icon {
  font-size: 3rem;
  color: var(--ha-food-gold);
  margin-bottom: 20px;
  opacity: 0.7;
}

.page-project .testimonial-content p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #555;
  font-style: italic;
  margin-bottom: 30px;
}

.page-project .testimonial-author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.page-project .author-image {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--ha-food-gold);
}

.page-project .author-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-project .author-info {
  text-align: left;
}

.page-project .author-info h4 {
  font-size: 1.2rem;
  color: var(--ha-food-red);
  margin-bottom: 5px;
  font-weight: 600;
}

.page-project .author-info span {
  color: #666;
  font-size: 0.9rem;
  display: block;
  margin-bottom: 10px;
}

.page-project .stars {
  display: flex;
  gap: 3px;
}

.page-project .stars i {
  color: #ffc107;
  font-size: 14px;
}

/* Project CTA Section */
.page-project .ha-food-project-cta {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
}

.page-project .cta-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-project .floating-elements {
  position: absolute;
  width: 100%;
  height: 100%;
}

.page-project .floating-element {
  position: absolute;
  font-size: 2rem;
  opacity: 0.3;
  animation: floatCTA 6s ease-in-out infinite;
}

.page-project .element-1 {
  top: 20%;
  left: 10%;
  animation-delay: 0s;
}

.page-project .element-2 {
  top: 60%;
  right: 15%;
  animation-delay: 2s;
}

.page-project .element-3 {
  top: 80%;
  left: 20%;
  animation-delay: 4s;
}
.page-project .cta-content {
  position: relative;
  z-index: 2;
}

.page-project .cta-title {
  font-family: "UTM Copperplate", serif;
  font-size: 2.5rem;
  color: #ffffff;
  margin-bottom: 20px;
  font-weight: bold;
}

.page-project .cta-description {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin-bottom: 40px;
}

.page-project .cta-features {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.page-project .feature-item {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #ffffff;
  font-size: 1.1rem;
}

.page-project .feature-item i {
  color: var(--ha-food-gold);
  font-size: 1.2rem;
}

/* CTA Form */
.page-project .cta-form-wrapper {
  background: rgba(0, 0, 0, 0.02);
  border-radius: 20px;
  padding: 40px;
  backdrop-filter: blur(10px);
  border: 2px solid var(--ha-food-red);
  position: relative;
  z-index: 2;
  backdrop-filter: blur(10px);
}

.page-project .project-inquiry-form h3 {
  font-family: "UTM Copperplate B", serif;
  color: var(--ha-food-red);
  margin-bottom: 30px;
  text-align: center;
  font-size: clamp(1.3rem, 1.1769rem + 0.6154vw, 1.7rem);
}

.page-project .project-inquiry-form .form-group {
  margin-bottom: 20px;
}

.page-project .project-inquiry-form input,
.page-project .project-inquiry-form select,
.page-project .project-inquiry-form textarea {
  width: 100%;
  padding: 15px 20px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  font-size: 16px;
  background: #ffffff;
  transition: all 0.3s ease;
  outline: none;
}

.page-project .project-inquiry-form input:focus,
.page-project .project-inquiry-form select:focus,
.page-project .project-inquiry-form textarea:focus {
  border-color: var(--ha-food-gold);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
}

.page-project .btn-project-submit {
  background: linear-gradient(
    135deg,
    var(--ha-food-red) 0%,
    var(--ha-food-red-dark) 100%
  );
  color: #ffffff;
  border: none;
  padding: 15px 40px;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.page-project .btn-project-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(115, 17, 18, 0.4);
}

.page-project .showcase-item-box .showcase-item.final-item {
  flex: 1;
}

.btn-project-new-item-mini {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  background: var(--ha-food-gold);
  color: var(--ha-food-red);
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  outline: none;
  cursor: pointer;
  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;
}
.btn-project-new-item-mini:hover {
  background: var(--ha-food-red);
  color: var(--ha-food-white);
  transform: scale(1.1) translateY(-5px);
  -webkit-transform: scale(1.1) translateY(-5px);
  -moz-transform: scale(1.1) translateY(-5px);
  -ms-transform: scale(1.1) translateY(-5px);
  -o-transform: scale(1.1) translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.page-project .ha-food-project-cta .cta-title {
  color: var(--primary-color);
}
.page-project .cta-description {
  margin-bottom: 0;
  color: var(--ha-food-dark);
}
.page-project .ha-food-project-cta .feature-item {
  color: var(--ha-food-dark);
}
.page-project .ha-food-project-cta .feature-item i {
  color: var(--ha-food-red);
}
.page-project .portfolio-card:hover .portfolio-info h4 {
  color: var(--ha-food-red-dark) !important;
}
.portfolio-info-defined-style1 {
  font-size: 0.9rem;
  color: #666;
  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-item:first-child .page-link,
.page-item:last-child .page-link {
  border-radius: 8px !important;
  -webkit-border-radius: 8px !important;
  -moz-border-radius: 8px !important;
  -ms-border-radius: 8px !important;
  -o-border-radius: 8px !important;
}
.ha-food-search-product {
  margin-bottom: 20px;
}
.ha-food-search-product .ha-food-product-info p {
  margin-bottom: 0;
}
.ha-food-search-results {
  max-height: 300px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--ha-food-gold) var(--ha-food-red);
  padding-right: 10px;
}
/* trang dự án end */

.split-line-content {
  overflow: hidden;
}

/* bổ sung start */
.san-pham .ha-food-product-price .current {
  font-size: clamp(1rem, 0.847rem + 0.2388vw, 1.05rem);
}
.san-pham .ha-food-product-price .original {
  font-size: clamp(0.8rem, 0.7231rem + 0.3846vw, 1.05rem);
}
.san-pham .ha-food-product-price-label {
  display: none !important;
}

/* trang dự án start */
.ha-food-process .container {
  position: relative;
  z-index: 5;
}
.ha-food-process::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, var(--primary-color), transparent);
  z-index: 2;
}
.ha-food-process::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, var(--primary-color), transparent);
  z-index: 2;
}
.process-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: var(--process-background-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity: 1;
  z-index: 1;
  mix-blend-mode: multiply;
}
.process-line-element {
  position: absolute;
  width: 100%;
  height: auto;
  max-width: 700px;
  object-fit: cover;
  z-index: 3;
  opacity: 0.6;
}
.process-line-top-left {
  top: 5%;
  left: -10%;
}
.process-line-bottom-right {
  bottom: 10%;
  right: 0;
}
.ha-food-projects-hero .container {
  position: relative;
  z-index: 5;
}
/* trang dự án end */

.ha-food-slide-background-mobile {
  overflow: hidden;
}
.ha-food-slide-background-mobile img,
.ha-food-slide-background-mobile a {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ha-food-slide-background-mobile {
  --bs-aspect-ratio: calc(9 / 14 * 100%);
}
.project-image-ratio {
  overflow: hidden;
}
.project-image-ratio a,
.project-image-ratio img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* bổ sung end */

.tab_sanpham .btn-primary {
  background-color: #fff !important;
  color: var(--primary-color);
}

.tab_sanpham .btn-primary.active {
  background-color: var(--primary-color) !important;
  color: #fff;
}

.product-group-star i {
  color: #ffc120;
}

.ha-food-product-review .line {
  width: 1px;
  height: 20px;
  background-color: #000;
  margin: 3px 8px 0;
}

.product-mass span{
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 5px;
  background-color: #fff;
  cursor: pointer;
  display: block;
  transition: all ease 0.5s;
}

.product-mass input{
  display: none;
}

.product-mass input:checked + span{
  background-color: var(--primary-color);
  color: #fff;
}