/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1782270664
Updated: 2026-06-24 03:11:04

*/
.elementor-widget-form input{
    padding: 16px;
  
}
.elementor-widget-form select {
    padding: 14px;
}

.elementor-widget-form .elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 30px !important;
}

.elementor-widget-form .elementor-field-group {
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.elementor-widget-form .elementor-col-50 {
  width: calc((100% - 30px) / 2) !important;
}

.elementor-widget-form .elementor-col-100 {
  width: 100% !important;
}

@media (max-width: 767px) {
  .elementor-widget-form .elementor-form-fields-wrapper {
    gap: 20px !important;
  }

  .elementor-widget-form .elementor-col-50,
  .elementor-widget-form .elementor-col-100 {
    width: 100% !important;
  }
}
.title_main_color{
	color: #7A431A;
}




/* ================================
   ARROW LINK - BASE
   Dùng:
   dc-arrow-link dc-on-dark
   dc-arrow-link dc-on-light
================================ */

.dc-arrow-link {
  --dc-speed: .45s;
  --dc-gap: 5px;
  --dc-icon-w: 24px;
  --dc-icon-h: 24px;
}

/* Nền tối: chữ trắng, hover nâu vàng */
.dc-arrow-link.dc-on-dark {
  --dc-normal: #ffffff;
  --dc-hover: #b98b55;
  --dc-line-normal: rgba(255,255,255,.45);
  --dc-line-hover: #b98b55;
}

/* Nền sáng: chữ nâu/xám đậm, hover nâu vàng */
.dc-arrow-link.dc-on-light {
  --dc-normal: #2f3136;
  --dc-hover: #8a5638;
  --dc-line-normal: rgba(47,49,54,.32);
  --dc-line-hover: #8a5638;
}

/* Link chính */
.dc-arrow-link .elementor-widget-container a,
.dc-arrow-link a,
a.dc-arrow-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--dc-gap) !important;

  width: fit-content !important;
  max-width: fit-content !important;

  padding-bottom: 5px !important;

  text-decoration: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;

  background-image: linear-gradient(
    90deg,
    var(--dc-hover) 0%,
    var(--dc-hover) 50%,
    var(--dc-normal) 50%,
    var(--dc-normal) 100%
  ) !important;

  background-size: 200% 100% !important;
  background-position: 100% 0 !important;
  background-repeat: no-repeat !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;

  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  transition: background-position var(--dc-speed) cubic-bezier(.22,1,.36,1) !important;
}

/* Nếu Elementor bọc span */
.dc-arrow-link .elementor-widget-container a span,
.dc-arrow-link a span,
a.dc-arrow-link span {
  background-image: linear-gradient(
    90deg,
    var(--dc-hover) 0%,
    var(--dc-hover) 50%,
    var(--dc-normal) 50%,
    var(--dc-normal) 100%
  ) !important;

  background-size: 200% 100% !important;
  background-position: 100% 0 !important;
  background-repeat: no-repeat !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;

  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  transition: background-position var(--dc-speed) cubic-bezier(.22,1,.36,1) !important;
}

/* Icon mũi tên SVG */
.dc-arrow-link .elementor-widget-container a::after,
.dc-arrow-link a::after,
a.dc-arrow-link::after {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;

  width: var(--dc-icon-w) !important;
  height: var(--dc-icon-h) !important;

  background-image: linear-gradient(
    90deg,
    var(--dc-hover) 0%,
    var(--dc-hover) 50%,
    var(--dc-normal) 50%,
    var(--dc-normal) 100%
  ) !important;

  background-size: 200% 100% !important;
  background-position: 100% 0 !important;
  background-repeat: no-repeat !important;

  -webkit-mask-image: url("/wp-content/uploads/2026/06/Frame-1.svg") !important;
  mask-image: url("/wp-content/uploads/2026/06/Frame-1.svg") !important;

  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;

  -webkit-mask-position: center !important;
  mask-position: center !important;

  -webkit-mask-size: contain !important;
  mask-size: contain !important;

  transition:
    background-position var(--dc-speed) cubic-bezier(.22,1,.36,1),
    transform .28s ease !important;
}

/* Gạch chân */
.dc-arrow-link .elementor-widget-container a::before,
.dc-arrow-link a::before,
a.dc-arrow-link::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;

  width: 100% !important;
  height: 2px !important;

  background-image: linear-gradient(
    90deg,
    var(--dc-line-hover) 0%,
    var(--dc-line-hover) 50%,
    var(--dc-line-normal) 50%,
    var(--dc-line-normal) 100%
  ) !important;

  background-size: 200% 100% !important;
  background-position: 100% 0 !important;
  background-repeat: no-repeat !important;

  transition: background-position var(--dc-speed) cubic-bezier(.22,1,.36,1) !important;
}

/* Hover */
.dc-arrow-link .elementor-widget-container a:hover,
.dc-arrow-link .elementor-widget-container a:focus,
.dc-arrow-link a:hover,
.dc-arrow-link a:focus,
a.dc-arrow-link:hover,
a.dc-arrow-link:focus {
  background-position: 0 0 !important;
}

.dc-arrow-link .elementor-widget-container a:hover span,
.dc-arrow-link .elementor-widget-container a:focus span,
.dc-arrow-link a:hover span,
.dc-arrow-link a:focus span,
a.dc-arrow-link:hover span,
a.dc-arrow-link:focus span {
  background-position: 0 0 !important;
}

.dc-arrow-link .elementor-widget-container a:hover::before,
.dc-arrow-link .elementor-widget-container a:focus::before,
.dc-arrow-link a:hover::before,
.dc-arrow-link a:focus::before,
a.dc-arrow-link:hover::before,
a.dc-arrow-link:focus::before {
  background-position: 0 0 !important;
}

.dc-arrow-link .elementor-widget-container a:hover::after,
.dc-arrow-link .elementor-widget-container a:focus::after,
.dc-arrow-link a:hover::after,
.dc-arrow-link a:focus::after,
a.dc-arrow-link:hover::after,
a.dc-arrow-link:focus::after {
  background-position: 0 0 !important;
  transform: translateX(4px) !important;
}

/* Fix margin Text Editor */
.dc-arrow-link p {
  margin-bottom: 0 !important;
}


.title-banner h2{
    background: linear-gradient(180deg, #FFFFFF 0%, #F4EEE6 38%, #C2A996 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}



/* ===== Product Loop Hover Elementor ===== */

.dc-product-card {
  --dc-card-bg: hsla(0, 0%, 100%, 0);
  --dc-card-bg-hover: #FCFAF7;
  --dc-text: #2f3136;
  --dc-brown: #8a5638;
  --dc-img-dim: rgba(0, 0, 0, .42);
  --dc-speed: .42s;

  position: relative;
  overflow: hidden;
  background: var(--dc-card-bg);
}

/* Ảnh sản phẩm */
.dc-product-card .dc-product-img {
  position: relative;
  overflow: hidden;
}

.dc-product-card .dc-product-img img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;

  transition:
    transform var(--dc-speed) ease,
    filter var(--dc-speed) ease;
}

/* Overlay tối trên ảnh khi hover */
.dc-product-card .dc-product-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--dc-img-dim);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dc-speed) ease;
}

/* Container nội dung dưới ảnh */
.dc-product-card .dc-product-info {
  background: var(--dc-card-bg);
  transition: background-color var(--dc-speed) ease;
}

/* Hover đổi màu nền phần nội dung */
.dc-product-card:hover .dc-product-info {
  background: var(--dc-card-bg-hover);
}

/* Title */
.dc-product-card .elementor-heading-title,
.dc-product-card h2,
.dc-product-card h3,
.dc-product-card h4 {
  color: var(--dc-text);
}

/* CTA */
.dc-product-card .dc-product-cta a,
.dc-product-card a.dc-product-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;

  width: fit-content;
  padding-bottom: 5px;

  color: var(--dc-brown) !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Icon mũi tên bằng SVG */
.dc-product-card .dc-product-cta a::after,
.dc-product-card a.dc-product-cta::after {
  content: "";
  display: inline-block;

  width: 24px;
  height: 24px;

  background-color: currentColor;

  -webkit-mask-image: url("/wp-content/uploads/2026/06/Frame-1.svg");
  mask-image: url("/wp-content/uploads/2026/06/Frame-1.svg");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: contain;
  mask-size: contain;

  transition: transform var(--dc-speed) ease;
}

/* Gạch chân CTA */
.dc-product-card .dc-product-cta a::before,
.dc-product-card a.dc-product-cta::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;

  width: 100%;
  height: 1px;

  background: currentColor;

  transform: scaleX(0);
  transform-origin: left center;

  transition: transform var(--dc-speed) cubic-bezier(.22, 1, .36, 1);
}

/* Hover card */
.dc-product-card:hover .dc-product-img img {
  transform: scale(1.035);
  filter: brightness(.82);
}

.dc-product-card:hover .dc-product-img::after {
  opacity: 1;
}

.dc-product-card:hover .dc-product-cta a::before,
.dc-product-card:hover a.dc-product-cta::before {
  transform: scaleX(1);
}

.dc-product-card:hover .dc-product-cta a::after,
.dc-product-card:hover a.dc-product-cta::after {
  transform: translateX(5px);
}

/* Fix p mặc định của Elementor */
.dc-product-card .dc-product-cta p {
  margin: 0;
}




/* ================================
   PRODUCT CATEGORY HOVER CARD
   Elementor Woo Product Categories
   Class widget: dc-cat-hover
================================ */

.dc-cat-hover {
  --dc-card-h: 500px;

  --dc-pad-x: 20px;
  --dc-pad-y: 22px;

  --dc-text: #ffffff;
  --dc-line: rgba(255,255,255,.82);

  --dc-overlay: rgba(0,0,0,.42);
  --dc-overlay-hover: rgba(0,0,0,.58);

  --dc-speed: .42s;

  --dc-icon-size: 24px;
  --dc-icon-left: 110px;

  /* Gạch dưới = chữ + mũi tên */
  --dc-cta-line-w: calc(var(--dc-icon-left) + var(--dc-icon-size));
}

/* Reset item */
.dc-cat-hover .product-category {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  background: #111 !important;
}

/* Link card */
.dc-cat-hover .product-category > a {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: var(--dc-card-h) !important;
  overflow: hidden !important;

  color: var(--dc-text) !important;
  text-decoration: none !important;
}

/* Ảnh category */
.dc-cat-hover .product-category img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  margin: 0 !important;

  transform: scale(1);
  transition:
    transform var(--dc-speed) ease,
    filter var(--dc-speed) ease !important;
}

/* Overlay tối */
.dc-cat-hover .product-category > a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.06) 0%,
      rgba(0,0,0,.20) 42%,
      var(--dc-overlay) 100%
    ) !important;

  pointer-events: none !important;
  transition: background var(--dc-speed) ease !important;
}

/* Title category */
.dc-cat-hover .woocommerce-loop-category__title {
  position: absolute !important;
  left: var(--dc-pad-x) !important;
  bottom: var(--dc-pad-y) !important;
  z-index: 4 !important;

  width: calc(100% - var(--dc-pad-x) * 2) !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--dc-text) !important;
  text-align: left !important;

  transition:
    transform var(--dc-speed) cubic-bezier(.22,1,.36,1),
    color var(--dc-speed) ease !important;
}

/* Ẩn count sản phẩm */
.dc-cat-hover .woocommerce-loop-category__title mark,
.dc-cat-hover .woocommerce-loop-category__title .count {
  display: none !important;
}

/* CTA text */
.dc-cat-hover .woocommerce-loop-category__title::after {
  content: "Xem sản phẩm" !important;

  position: absolute !important;
  left: 0 !important;
  top: calc(100% + 22px) !important;

  display: block !important;

  /* Gạch dưới đúng chiều dài chữ + icon */
  width: var(--dc-cta-line-w) !important;
  height: 32px !important;

  padding: 0 0 8px 0 !important;

  color: var(--dc-text) !important;
  border-bottom: 1px solid var(--dc-line) !important;

  font: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;

  white-space: nowrap !important;

  opacity: 0 !important;
  transform: translateY(10px) !important;

  transition:
    opacity var(--dc-speed) ease,
    transform var(--dc-speed) cubic-bezier(.22,1,.36,1) !important;
}

/* Icon mũi tên 24x24 */
.dc-cat-hover .woocommerce-loop-category__title::before {
  content: "" !important;

  position: absolute !important;
  left: var(--dc-icon-left) !important;
  top: calc(100% + 22px) !important;

  width: var(--dc-icon-size) !important;
  height: var(--dc-icon-size) !important;

  background-color: var(--dc-text) !important;

  -webkit-mask-image: url("/wp-content/uploads/2026/06/Frame-1-1.svg") !important;
  mask-image: url("/wp-content/uploads/2026/06/Frame-1-1.svg") !important;

  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;

  -webkit-mask-position: center !important;
  mask-position: center !important;

  -webkit-mask-size: 24px 24px !important;
  mask-size: 24px 24px !important;

  opacity: 0 !important;
  transform: translate(-6px, 10px) !important;

  transition:
    opacity var(--dc-speed) ease,
    transform var(--dc-speed) cubic-bezier(.22,1,.36,1) !important;
}

/* Hover image */
.dc-cat-hover .product-category:hover img {
  transform: scale(1.045) !important;
  filter: brightness(.82) !important;
}

/* Hover overlay */
.dc-cat-hover .product-category:hover > a::before {
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.18) 0%,
      rgba(0,0,0,.36) 42%,
      var(--dc-overlay-hover) 100%
    ) !important;
}

/* Hover title nhảy lên */
.dc-cat-hover .product-category:hover .woocommerce-loop-category__title {
  transform: translateY(-64px) !important;
}

/* Hover hiện CTA */
.dc-cat-hover .product-category:hover .woocommerce-loop-category__title::after {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Hover hiện icon */
.dc-cat-hover .product-category:hover .woocommerce-loop-category__title::before {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

/* ================================
   TABLET: giữ cùng 1 hàng, kéo ngang
================================ */

@media (max-width: 1024px) {
  .dc-cat-hover {
    --dc-card-h: 480px;
    --dc-pad-x: 18px;
    --dc-pad-y: 20px;

    --dc-icon-size: 24px;
    --dc-icon-left: 110px;
    --dc-cta-line-w: calc(var(--dc-icon-left) + var(--dc-icon-size));
  }

  .dc-cat-hover ul.products,
  .dc-cat-hover .products,
  .dc-cat-hover .elementor-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;

    padding-bottom: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .dc-cat-hover ul.products::before,
  .dc-cat-hover ul.products::after,
  .dc-cat-hover .products::before,
  .dc-cat-hover .products::after {
    display: none !important;
    content: none !important;
  }

  .dc-cat-hover ul.products > li.product-category,
  .dc-cat-hover .products > li.product-category,
  .dc-cat-hover .elementor-grid > .product-category {
    float: none !important;

    flex: 0 0 calc((100% - 36px) / 3) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    scroll-snap-align: start;
  }
}

/* ================================
   MOBILE: vẫn cùng 1 hàng, kéo ngang
================================ */

@media (max-width: 767px) {
  .dc-cat-hover {
    --dc-card-h: 500px;
    --dc-pad-x: 18px;
    --dc-pad-y: 20px;

    --dc-icon-size: 24px;
    --dc-icon-left: 110px;
    --dc-cta-line-w: calc(var(--dc-icon-left) + var(--dc-icon-size));
  }

  .dc-cat-hover ul.products,
  .dc-cat-hover .products,
  .dc-cat-hover .elementor-grid {
    gap: 14px !important;
  }

  .dc-cat-hover ul.products > li.product-category,
  .dc-cat-hover .products > li.product-category,
  .dc-cat-hover .elementor-grid > .product-category {
    float: none !important;

    flex: 0 0 82% !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    scroll-snap-align: start;
  }
}

/* Mobile/touch: hiện CTA luôn */
@media (hover: none) {
  .dc-cat-hover .product-category .woocommerce-loop-category__title {
    transform: translateY(-64px) !important;
  }

  .dc-cat-hover .product-category .woocommerce-loop-category__title::after {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .dc-cat-hover .product-category .woocommerce-loop-category__title::before {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}



/* ================================
   SECTION HEADING - ELEMENTOR
   Parent:
   dc-section-heading dc-heading-light
   dc-section-heading dc-heading-dark

   Child:
   dc-section-left
   dc-section-right
   dc-section-label
   dc-section-title
   dc-section-desc
================================ */

/* Reset */
.dc-section-heading,
.dc-section-heading *,
.dc-section-heading *::before,
.dc-section-heading *::after {
  box-sizing: border-box !important;
}

/* Base */
.dc-section-heading {
  --dc-speed: .35s;

  position: relative !important;
  overflow: visible !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Light */
.dc-section-heading.dc-heading-light,
.dc-section-heading:not(.dc-heading-dark) {
  --dc-bg: #f7f5ef;
  --dc-label-bg: #f7f5ef;
  --dc-text: #242424;
  --dc-muted: rgba(36, 36, 36, .62);
  --dc-brown: #8a5638;

  --dc-line: rgba(138, 86, 56, .18);
  --dc-label-border: rgba(138, 86, 56, .15);
}

/* Dark */
.dc-section-heading.dc-heading-dark {
  --dc-bg: transparent;
  --dc-label-bg: rgba(45, 28, 18, .78);
  --dc-text: #ffffff;
  --dc-muted: rgba(255, 255, 255, .78);
  --dc-brown: #C2A996;

  --dc-line: rgba(255, 255, 255, .25);
  --dc-label-border: rgba(255, 255, 255, .28);
}

/* =================================
   CASE 1: Có .e-con-inner
================================ */

.dc-section-heading > .e-con-inner {
  position: relative !important;

  display: grid !important;
  grid-template-columns: 36% 64% !important;
  align-items: center !important;

  width: 100% !important;
  max-width: 1280px !important;
  min-width: 0 !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 42px 0 34px !important;
}

/* Line ngang desktop/tablet */
.dc-section-heading > .e-con-inner::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 42px !important;

  display: block !important;
  height: 1px !important;

  background: var(--dc-line) !important;
  opacity: .9 !important;
  pointer-events: none !important;
}

/* Line dọc desktop/tablet */
.dc-section-heading > .e-con-inner::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 36% !important;

  display: block !important;
  width: 1px !important;

  background: var(--dc-line) !important;
  opacity: .9 !important;
  pointer-events: none !important;
}

/* =================================
   CASE 2: Không có .e-con-inner
================================ */

.dc-section-heading:not(:has(> .e-con-inner)) {
  position: relative !important;

  display: grid !important;
  grid-template-columns: 36% 64% !important;
  align-items: center !important;

  width: 100% !important;
  max-width: 1280px !important;
  min-width: 0 !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 42px 0 34px !important;
}

/* Line ngang fallback desktop/tablet */
.dc-section-heading:not(:has(> .e-con-inner))::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 42px !important;

  display: block !important;
  height: 1px !important;

  background: var(--dc-line) !important;
  opacity: .9 !important;
  pointer-events: none !important;
}

/* Line dọc fallback desktop/tablet */
.dc-section-heading:not(:has(> .e-con-inner))::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 36% !important;

  display: block !important;
  width: 1px !important;

  background: var(--dc-line) !important;
  opacity: .9 !important;
  pointer-events: none !important;
}

/* =================================
   Cột trái / phải
================================ */

.dc-section-heading .dc-section-left {
  position: relative !important;
  z-index: 2 !important;

  grid-column: 1 !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.dc-section-heading .dc-section-right {
  position: relative !important;
  z-index: 2 !important;

  grid-column: 2 !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  padding-left: 28px !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* Reset Elementor widget */
.dc-section-heading .elementor-widget {
  margin-bottom: 0 !important;
}

.dc-section-heading .elementor-widget,
.dc-section-heading .elementor-widget-container {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Fix container con Elementor */
.dc-section-heading .dc-section-left.e-con,
.dc-section-heading .dc-section-right.e-con {
  --width: 100% !important;
  --min-height: 0px !important;
}

/* =================================
   Label
================================ */

.dc-section-heading .dc-section-label {
  position: relative !important;
  z-index: 5 !important;

  width: fit-content !important;
  max-width: fit-content !important;
  min-width: 0 !important;

  margin: 0 !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.dc-section-heading .dc-section-label .elementor-widget-container {
  position: relative !important;
  z-index: 3 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.dc-section-heading .dc-section-label .elementor-icon-list-items {
  display: inline-flex !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.dc-section-heading .dc-section-label .elementor-icon-list-item {
  position: relative !important;
  z-index: 4 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;

  width: fit-content !important;
  max-width: fit-content !important;

  margin: 0 !important;
  padding: 10px 15px !important;

  background: var(--dc-label-bg) !important;
  border: 1px solid var(--dc-label-border) !important;

  color: var(--dc-text) !important;

  transition:
    background-color var(--dc-speed) ease,
    border-color var(--dc-speed) ease,
    color var(--dc-speed) ease !important;
}

/* Label nền tối */
.dc-section-heading.dc-heading-dark .dc-section-label .elementor-icon-list-item {
  background: rgba(45, 28, 18, .78) !important;
  border-color: rgba(255, 255, 255, .28) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

/* Icon thành chấm nhỏ */
.dc-section-heading .dc-section-label .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
}

.dc-section-heading .dc-section-label .elementor-icon-list-icon i,
.dc-section-heading .dc-section-label .elementor-icon-list-icon svg {
  display: none !important;
}

.dc-section-heading .dc-section-label .elementor-icon-list-icon::before {
  content: "" !important;
  display: block !important;

  width: 5px !important;
  height: 5px !important;

  border-radius: 999px !important;
  background: var(--dc-text) !important;
}

/* Text label */
.dc-section-heading .dc-section-label .elementor-icon-list-text {
  padding: 0 !important;
  color: var(--dc-text) !important;
  white-space: nowrap !important;
}

/* =================================
   Title / Desc
================================ */

.dc-section-heading .dc-section-title {
  width: 100% !important;
  max-width: 720px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.dc-section-heading .dc-section-title .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.dc-section-heading .dc-section-title .elementor-heading-title {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 0 0 18px !important;
  color: var(--dc-text) !important;

  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.dc-section-heading .dc-section-title .elementor-heading-title span {
  color: var(--dc-brown) !important;
}

.dc-section-heading .dc-section-desc {
  width: 100% !important;
  max-width: 680px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.dc-section-heading .dc-section-desc,
.dc-section-heading .dc-section-desc p,
.dc-section-heading .dc-section-desc .elementor-widget-container {
  color: var(--dc-muted) !important;
}

.dc-section-heading .dc-section-desc p {
  margin: 0 !important;
}

/* =================================
   Tablet
================================ */

@media (max-width: 1024px) {
  .dc-section-heading.dc-heading-light,
  .dc-section-heading:not(.dc-heading-dark) {
    --dc-line: rgba(138, 86, 56, .17);
    --dc-label-border: rgba(138, 86, 56, .14);
  }

  .dc-section-heading.dc-heading-dark {
    --dc-line: rgba(255, 255, 255, .22);
    --dc-label-border: rgba(255, 255, 255, .25);
  }

  .dc-section-heading > .e-con-inner,
  .dc-section-heading:not(:has(> .e-con-inner)) {
    grid-template-columns: 32% 68% !important;
    max-width: 100% !important;
    padding: 36px 20px 30px !important;
  }

  .dc-section-heading > .e-con-inner::before,
  .dc-section-heading:not(:has(> .e-con-inner))::before {
    left: 20px !important;
    right: 20px !important;
    top: 36px !important;
    opacity: .9 !important;
  }

  .dc-section-heading > .e-con-inner::after,
  .dc-section-heading:not(:has(> .e-con-inner))::after {
    left: 32% !important;
    opacity: .9 !important;
  }

  .dc-section-heading .dc-section-right {
    padding-left: 26px !important;
  }

  .dc-section-heading .dc-section-title {
    max-width: 620px !important;
  }

  .dc-section-heading .dc-section-desc {
    max-width: 600px !important;
  }
}

/* =================================
   Mobile
   Không còn line xuyên giữa label
================================ */

@media (max-width: 767px) {
  .dc-section-heading {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .dc-section-heading.dc-heading-light,
  .dc-section-heading:not(.dc-heading-dark) {
    --dc-line: rgba(138, 86, 56, .18);
    --dc-label-border: rgba(138, 86, 56, .14);
  }

  .dc-section-heading.dc-heading-dark {
    --dc-line: rgba(255, 255, 255, .25);
    --dc-label-border: rgba(255, 255, 255, .28);
    --dc-label-bg: rgba(45, 28, 18, .82);
  }

  .dc-section-heading > .e-con-inner,
  .dc-section-heading:not(:has(> .e-con-inner)) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    padding: 24px 22px 28px !important;
  }

  /* Tắt sạch line cũ của container trên mobile */
  .dc-section-heading::before,
  .dc-section-heading::after,
  .dc-section-heading > .e-con-inner::before,
  .dc-section-heading > .e-con-inner::after,
  .dc-section-heading .e-con-inner::before,
  .dc-section-heading .e-con-inner::after,
  .dc-section-heading .dc-section-left::before,
  .dc-section-heading .dc-section-left::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
  }

  .dc-section-heading .dc-section-left {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    padding: 0 !important;
    margin: 0 0 28px !important;
    overflow: visible !important;
  }

  /* Line mobile dùng chính label, không nằm sau label */
  .dc-section-heading .dc-section-label::before,
  .dc-section-heading .dc-section-label::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;

    display: block !important;
    width: 50vw !important;
    height: 1px !important;

    background: var(--dc-line) !important;
    opacity: 1 !important;

    pointer-events: none !important;
    z-index: 1 !important;
  }

  .dc-section-heading .dc-section-label::before {
    right: 100% !important;
    transform: translateY(-50%) !important;
  }

  .dc-section-heading .dc-section-label::after {
    left: 100% !important;
    transform: translateY(-50%) !important;
  }

  .dc-section-heading .dc-section-label {
    position: relative !important;
    z-index: 5 !important;

    width: fit-content !important;
    max-width: calc(100vw - 44px) !important;

    margin: 0 auto !important;
    overflow: visible !important;
  }

  .dc-section-heading .dc-section-label .elementor-widget-container,
  .dc-section-heading .dc-section-label .elementor-icon-list-items,
  .dc-section-heading .dc-section-label .elementor-icon-list-item {
    position: relative !important;
    z-index: 4 !important;
  }

  .dc-section-heading .dc-section-label .elementor-icon-list-item {
    padding: 9px 14px !important;
  }

  .dc-section-heading .dc-section-right {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    padding-left: 0 !important;
    align-items: flex-start !important;
  }

  .dc-section-heading .dc-section-title {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .dc-section-heading .dc-section-title .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .dc-section-heading .dc-section-title .elementor-heading-title {
    display: block !important;

    width: 100% !important;
    max-width: calc(100vw - 44px) !important;
    min-width: 0 !important;

    margin-bottom: 14px !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: balance !important;
  }

  .dc-section-heading .dc-section-desc {
    width: 100% !important;
    max-width: calc(100vw - 44px) !important;
    min-width: 0 !important;
  }

  .dc-section-heading .dc-section-desc p,
  .dc-section-heading .dc-section-desc .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

/* =================================
   Mobile nhỏ
================================ */

@media (max-width: 480px) {
  .dc-section-heading > .e-con-inner,
  .dc-section-heading:not(:has(> .e-con-inner)) {
    padding: 24px 22px 26px !important;
  }

  .dc-section-heading .dc-section-left {
    margin-bottom: 24px !important;
  }

  .dc-section-heading .dc-section-label {
    max-width: calc(100vw - 44px) !important;
  }

  .dc-section-heading .dc-section-title .elementor-heading-title,
  .dc-section-heading .dc-section-desc {
    max-width: calc(100vw - 44px) !important;
  }
}






/* ================================
   FORM NHẬN BÁO GIÁ - PRODUCT DETAIL
   Widget class: nhan_bao_gia_pro
================================ */

.nhan_bao_gia_pro {
  --dc-text: #242424;
  --dc-placeholder: rgba(36,36,36,.62);
  --dc-border: #d8c8bd;
  --dc-brown: #7b4325;
  --dc-brown-hover: #63331b;

  --dc-height: 54px;
  --dc-label-w: 122px;
  --dc-btn-size: 34px;
  --dc-btn-inset: 10px;
}

.nhan_bao_gia_pro form {
  width: 100%;
  margin: 0 !important;
}

/* Wrapper chính */
.nhan_bao_gia_pro .elementor-form-fields-wrapper {
  position: relative !important;

  display: grid !important;
  grid-template-columns: var(--dc-label-w) minmax(0, 1fr) !important;
  align-items: center !important;

  gap: 0 !important;
  margin: 0 !important;
}

/* Field chứa label + input */
.nhan_bao_gia_pro .elementor-field-group-email {
  grid-column: 1 / -1 !important;

  display: grid !important;
  grid-template-columns: var(--dc-label-w) minmax(0, 1fr) !important;
  align-items: center !important;

  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Label */
.nhan_bao_gia_pro .elementor-field-label {
  grid-column: 1 !important;

  display: flex !important;
  align-items: center !important;

  height: var(--dc-height) !important;
  margin: 0 !important;
  padding: 0 !important;

  color: var(--dc-text) !important;

  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* Input */
.nhan_bao_gia_pro .elementor-field-textual {
  grid-column: 2 !important;

  width: 100% !important;
  height: var(--dc-height) !important;

  margin: 0 !important;
  padding: 0 calc(var(--dc-btn-size) + 34px) 0 24px !important;

  color: var(--dc-text) !important;
  background: transparent !important;

  border: 1px solid var(--dc-border) !important;
  border-radius: 0 !important;

  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;

  box-shadow: none !important;
  outline: none !important;
}

.nhan_bao_gia_pro .elementor-field-textual::placeholder {
  color: var(--dc-placeholder) !important;

  font-size: 16px !important;
  font-weight: 400 !important;

  opacity: 1 !important;
}

.nhan_bao_gia_pro .elementor-field-textual:focus {
  border-color: var(--dc-brown) !important;
}

/* Cụm button: đặt absolute để nút nằm trong input */
.nhan_bao_gia_pro .e-form__buttons {
  position: absolute !important;
  right: var(--dc-btn-inset) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: var(--dc-btn-size) !important;
  height: var(--dc-btn-size) !important;

  padding: 0 !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  background: transparent !important;

  z-index: 3 !important;
}

/* Button nâu */
.nhan_bao_gia_pro .elementor-button {
  width: var(--dc-btn-size) !important;
  height: var(--dc-btn-size) !important;
  min-height: var(--dc-btn-size) !important;

  padding: 0 !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: var(--dc-brown) !important;
  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;
  cursor: pointer !important;

  transition:
    background-color .25s ease,
    transform .25s ease !important;
}

.nhan_bao_gia_pro .elementor-button:hover {
  background: var(--dc-brown-hover) !important;
}

.nhan_bao_gia_pro .elementor-button:active {
  transform: scale(.96) !important;
}

/* Icon trong button */
.nhan_bao_gia_pro .elementor-button-content-wrapper,
.nhan_bao_gia_pro .elementor-button-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.nhan_bao_gia_pro .elementor-button-icon svg {
  display: block !important;

  width: 18px !important;
  height: 18px !important;

  margin: 0 !important;
}

/* Ẩn text submit nếu Elementor tự sinh */
.nhan_bao_gia_pro .elementor-button-text {
  display: none !important;
}

/* Xóa spacing mặc định Elementor */
.nhan_bao_gia_pro .elementor-field-group,
.nhan_bao_gia_pro .elementor-column,
.nhan_bao_gia_pro .elementor-field-type-submit {
  margin-bottom: 0 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .nhan_bao_gia_pro {
    --dc-height: 52px;
    --dc-label-w: 112px;
    --dc-btn-size: 34px;
    --dc-btn-inset: 9px;
  }

  .nhan_bao_gia_pro .elementor-field-label {
    font-size: 15.5px !important;
  }

  .nhan_bao_gia_pro .elementor-field-textual,
  .nhan_bao_gia_pro .elementor-field-textual::placeholder {
    font-size: 15.5px !important;
  }

  .nhan_bao_gia_pro .elementor-field-textual {
    padding-left: 20px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .nhan_bao_gia_pro {
    --dc-height: 50px;
    --dc-label-w: 100%;
    --dc-btn-size: 34px;
    --dc-btn-inset: 8px;
  }

  .nhan_bao_gia_pro .elementor-form-fields-wrapper {
    display: block !important;
  }

  .nhan_bao_gia_pro .elementor-field-group-email {
    display: block !important;
  }

  .nhan_bao_gia_pro .elementor-field-label {
    height: auto !important;
    margin-bottom: 10px !important;

    font-size: 16px !important;
    font-weight: 600 !important;
  }

  .nhan_bao_gia_pro .elementor-field-textual {
    height: var(--dc-height) !important;
    padding: 0 calc(var(--dc-btn-size) + 28px) 0 16px !important;

    font-size: 16px !important;
  }

  .nhan_bao_gia_pro .elementor-field-textual::placeholder {
    font-size: 16px !important;
  }

  .nhan_bao_gia_pro .e-form__buttons {
    top: auto !important;
    right: var(--dc-btn-inset) !important;
    bottom: 8px !important;
    transform: none !important;
  }
}









/* 
menu */

/* ================================
   ELEMENTOR NAV MENU DROPDOWN
   Class widget: dc-header-menu
   Không ép kích thước chữ
================================ */

.dc-header-menu {
  position: relative !important;
  z-index: 9999 !important;
}

/* Dropdown desktop */
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu {
  min-width: 230px !important;
  width: 230px !important;

  margin-top: 18px !important;
  padding: 0 !important;

  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: 0 14px 32px rgba(0, 0, 0, .12) !important;
  overflow: hidden !important;
}

/* Reset item */
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Link dropdown */
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu a.elementor-sub-item {
  position: relative !important;

  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  min-height: 40px !important;

  margin: 0 !important;
  padding: 0 14px 0 12px !important;

  background: #ffffff !important;
  border: 0 !important;
  border-left: 2px solid transparent !important;

  color: #3f3f3f !important;
  font-family: "Manrope", system-ui, sans-serif !important;

  white-space: nowrap !important;

  transition:
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease !important;
}

/* Hover + active giống hình */
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu a.elementor-sub-item:hover,
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu a.elementor-sub-item:focus,
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu .current-menu-item > a.elementor-sub-item,
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu a.elementor-sub-item.elementor-item-active {
  background: #f5f1e9 !important;
  color: #2d2d2d !important;
  border-left-color: #8a5638 !important;
}

/* Bỏ underline/pointer animation trong submenu */
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu a.elementor-sub-item::before,
.dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu a.elementor-sub-item::after {
  display: none !important;
}

/* Menu item cha có submenu */
.dc-header-menu .elementor-nav-menu--main .menu-item-has-children {
  position: relative !important;
}

/* Icon mũi tên xổ xuống desktop: 14x14 */
.dc-header-menu .elementor-nav-menu--main .elementor-item .sub-arrow {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;

  margin-left: 6px !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dc-header-menu .elementor-nav-menu--main .elementor-item .sub-arrow svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  fill: currentColor !important;
}

/* Mobile/tablet dropdown */
.dc-header-menu .elementor-nav-menu--dropdown .elementor-item,
.dc-header-menu .elementor-nav-menu--dropdown .elementor-sub-item {
  font-family: "Manrope", system-ui, sans-serif !important;
}

/* Icon mũi tên xổ xuống mobile/tablet: 14x14 */
.dc-header-menu .elementor-nav-menu--dropdown .elementor-item .sub-arrow {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;

  margin-left: 6px !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dc-header-menu .elementor-nav-menu--dropdown .elementor-item .sub-arrow svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  fill: currentColor !important;
}

/* Mobile/tablet: không style dropdown desktop */
@media (max-width: 1024px) {
  .dc-header-menu .elementor-nav-menu--main .elementor-nav-menu .sub-menu {
    width: auto !important;
    min-width: auto !important;
  }
}






/* ================================
   BUTTON HOVER - VỆT SÁNG CHÉO QUÉT QUA
   Class: dc-btn-shine
================================ */

.dc-btn-shine .elementor-button,
.dc-btn-shine.elementor-button,
.dc-btn-shine a {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Giữ text + icon nằm trên */
.dc-btn-shine .elementor-button-content-wrapper,
.dc-btn-shine .elementor-button-text,
.dc-btn-shine .elementor-button-icon {
  position: relative !important;
  z-index: 3 !important;
}

/* Vệt sáng chéo rõ hơn */
.dc-btn-shine .elementor-button::before,
.dc-btn-shine.elementor-button::before,
.dc-btn-shine a::before {
  content: "" !important;
  position: absolute !important;
  top: -120% !important;
  left: 0 !important;
  z-index: 2 !important;

  width: 42px !important;
  height: 340% !important;

  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0) 12%,
    rgba(255,255,255,.38) 42%,
    rgba(255,255,255,.95) 50%,
    rgba(255,255,255,.38) 58%,
    rgba(255,255,255,0) 88%,
    transparent 100%
  ) !important;

  transform: translateX(-95px) rotate(24deg) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition:
    transform .78s ease,
    opacity .18s ease !important;
}

/* Hover: vệt sáng xẹt qua */
.dc-btn-shine .elementor-button:hover::before,
.dc-btn-shine.elementor-button:hover::before,
.dc-btn-shine a:hover::before {
  opacity: 1 !important;
  transform: translateX(260px) rotate(24deg) !important;
}