/* ==========================================================================
   CUSTOM.CSS — Core Flatsome Overrides
   All modules loaded via wp_enqueue_style (parallel <link> tags).
   Load order: fonts → tokens → typography → utilities → THIS FILE → modules → components
   ========================================================================== */

/* ==========================================================================
   FLATSOME OVERRIDES
   Ghi đè style Flatsome để đồng bộ với Design System.
   Chỉ override khi cần thiết, giữ specificity thấp nhất có thể.
   ========================================================================== */

/* ── HEADER ── */
#header .header-wrapper {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(255, 255, 255, 0.85) !important;
  border-bottom: 1px solid var(--border-color-light);
  transition: all var(--transition-base);
}

/* Remove default divider */
#header .top-divider {
  display: none;
}

/* Header layout */

/* Override Flatsome .flex-grow { flex: 1 } — bên trái chỉ chiếm vừa đủ */
#header .header-inner>.flex-col.flex-grow {
  flex: 0 1 auto !important;
}

/* Bên phải: không bị co */
#header .header-inner>.flex-col.flex-right {
  flex: 0 0 auto !important;
}

/* Spacing giữa các items bên phải (phone, lang, button) */
#header .nav.nav-right {
  gap: var(--space-md);
}

/* Nav links: không wrap */
#header .header-nav-main>li>a {
  white-space: nowrap;
}

/* Logo */
#header #logo a,
#header .logo-title {
  font-family: var(--font-heading) !important;
  font-weight: var(--fw-bold) !important;
  font-size: 1.25rem;
  letter-spacing: -0.03em;
  color: var(--text-primary) !important;
  text-transform: uppercase;
}

/* Logo image — đảm bảo hiển thị rõ nét */
/* #header #logo img,
.header-main #logo img {
  max-height: 60px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
} */

/* Nav links — main menu */
#header .header-nav-main>li>a {
  font-family: var(--font-label) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--text-secondary) !important;
  letter-spacing: 0.01em;
  transition: color var(--transition-fast);
}

#header .header-nav-main>li>a:hover,
#header .header-nav-main>li.active>a,
#header .header-nav-main>li.current>a,
#header .header-nav-main>li.current-menu-item>a {
  color: var(--brand-primary) !important;
}

/* Dropdown menu */
#header .nav-dropdown {
  font-family: var(--font-body) !important;
  font-size: var(--fs-small);
  background: var(--bg-primary) !important;
  border: 1px solid var(--border-color-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg) !important;
}

#header .nav-dropdown>li>a {
  font-family: var(--font-body) !important;
  font-size: var(--fs-small) !important;
  color: var(--text-secondary) !important;
  transition: color var(--transition-fast);
}

#header .nav-dropdown>li>a:hover,
#header .nav-dropdown>li.active>a {
  color: var(--brand-primary) !important;
}

/* Gold gradient — CTA button in header */
#header .header-button .button,
#header .button.primary {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary)) !important;
  border: none !important;
  color: var(--text-on-dark) !important;
  font-family: var(--font-label) !important;
  font-size: var(--fs-caption) !important;
  font-weight: var(--fw-bold) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: var(--radius-sm) !important;
  padding: 0.625rem 1.5rem;
  transition: all var(--transition-base);
}

#header .header-button .button:hover,
#header .button.primary:hover {
  filter: brightness(1.1);
  transform: scale(1.02);
}

#header .header-button .button:active,
#header .button.primary:active {
  transform: scale(0.95);
}

/* Sticky header */
#header.stuck .header-wrapper {
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: var(--shadow-sm);
}

/* ── GTRANSLATE LANGUAGE SWITCHER ── */

/* Hide Google Translate top banner */
body>.skiptranslate,
.goog-te-banner-frame {
  display: none !important;
}

body {
  top: 0 !important;
}

/* Light styling — do not override plugin inline styles */
.gt_switcher .gt_selected a {
  font-family: var(--font-label);
  font-size: var(--fs-caption);
  color: var(--text-secondary);
  text-decoration: none;
}

.gt_switcher .gt_selected a:hover {
  color: var(--brand-primary);
}

.gt_switcher .gt_selected img {
  width: 18px;
  height: 18px;
  border-radius: var(--radius-full);
}

.gt_switcher .gt_option a {
  font-family: var(--font-body);
  font-size: var(--fs-caption);
  color: var(--text-secondary);
  text-decoration: none;
  padding: 6px 12px;
}

.gt_switcher .gt_option a:hover {
  color: var(--brand-primary);
  background: var(--bg-secondary);
}

.gt_switcher .gt_option a.gt_current {
  color: var(--brand-primary);
  font-weight: var(--fw-semibold);
}

.gt_switcher .gt_option img {
  width: 18px;
  height: 18px;
  border-radius: var(--radius-full);
}

/* ── BUTTONS ── */
.button.primary,
.button.alt,
button.primary,
.checkout-button,
.woocommerce .button {
  font-family: var(--font-body);
  border-radius: var(--radius-md);
  font-weight: var(--fw-semibold);
  transition: all var(--transition-base);
}

/* ── FORM ELEMENTS ── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: var(--space-sm) var(--space-md);
  transition: border-color var(--transition-fast);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--brand-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.15);
}

/* ==========================================================================
   PAGE-SPECIFIC STYLES
   Custom styles cho từng page/section cụ thể.
   Luôn dùng Design Tokens, không hard-code giá trị.
   ========================================================================== */

/* ── WOOCOMMERCE PRODUCT CARDS — "Material Card" ── */

/* Card container — stone shelf effect */
.product-small .col-inner {
  background: var(--bg-primary);
  border: none;
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
  box-shadow: var(--shadow-sm);
  position: relative;
}

/* Gold accent bar bottom — hiện khi hover */
.product-small .col-inner::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));
  transform: scaleX(0);
  transition: transform var(--transition-base);
}

.product-small .col-inner:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.product-small .col-inner:hover::after {
  transform: scaleX(1);
}

/* Image container */
.product-small .box-image {
  overflow: hidden;
  background: #fff;
  position: relative;
}

.product-small .box-image img {
  transition: transform var(--transition-slow) !important;
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

.product-small .col-inner:hover .box-image img {
  transform: scale(1.06);
}

/* Text content */
.product-small .box-text {
  padding: var(--space-sm) var(--space-md) var(--space-md) !important;
  text-align: left !important;
  position: static !important;
}

/* Category label — showroom tag on image */
.product-small .box-text .category {
  position: absolute;
  top: var(--space-sm);
  left: var(--space-sm);
  z-index: 2;
  display: inline-block;
  font-family: var(--font-label) !important;
  font-size: 0.6rem !important;
  font-weight: var(--fw-bold) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-on-dark) !important;
  margin: 0;
  background: rgba(26, 26, 26, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0.3em 0.8em;
  border-radius: var(--radius-sm);
}

.product-small .box-text .category a {
  color: var(--text-on-dark) !important;
  text-decoration: none;
}

/* Product name */
.product-small .box-text .name a,
.product-small .box-text .product-title a {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-semibold) !important;
  color: var(--text-primary) !important;
  text-decoration: none;
  line-height: var(--lh-snug);
  transition: color var(--transition-fast);
}

.product-small .col-inner:hover .name a,
.product-small .col-inner:hover .product-title a {
  color: var(--brand-primary) !important;
}

/* Hide price wrapper (catalog mode) */
.product-small .price-wrapper {
  display: none;
}

/* Quick view & action buttons — hiện khi hover */
.product-small .image-tools {
  opacity: 0;
  transition: opacity var(--transition-base);
}

.product-small .col-inner:hover .image-tools {
  opacity: 1;
}

/* ── Card height equalization ── */

/* Col-inner fill toàn bộ chiều cao */
.product-small .col-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Box chứa image + text fill đều */
.product-small .product-small.box {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Ảnh cố định tỷ lệ */
.product-small .box-image {
  flex-shrink: 0;
}

/* Text area fill phần còn lại */
.product-small .box-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Tên sản phẩm có chiều cao tối thiểu để card đều nhau */
.product-small .box-text .title-wrapper {
  min-height: 3em;
}

/* Archive page grid spacing */
.products .product-small {
  margin-bottom: var(--space-lg);
}

/* Category page header */
.woocommerce .term-description {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--text-secondary);
  max-width: 720px;
  line-height: var(--lh-normal);
  margin-bottom: var(--space-xl);
}

/* Pagination */
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  font-family: var(--font-label) !important;
  font-size: var(--fs-small) !important;
  border-radius: var(--radius-md) !important;
  transition: all var(--transition-fast);
}

.woocommerce-pagination .page-numbers li span.current {
  background: var(--brand-primary) !important;
  color: var(--text-on-dark) !important;
}

.woocommerce-pagination .page-numbers li a:hover {
  background: var(--bg-secondary) !important;
  color: var(--brand-primary) !important;
}

/* ── BLOG ARCHIVE HEADER ── */

/* Remove gap between header and blog hero */
.blog .page-wrapper>#content,
.blog .main-content,
.blog #content>.row {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.qbs-blog-header {
  background: url('/wp-content/themes/flatsome-child/assets/images/quarry-hero.webp') center/cover no-repeat;
  padding: var(--space-2xl) var(--space-lg) var(--space-xl);
  text-align: center;
  margin: calc(-1 * var(--space-lg)) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

/* Dark overlay for text readability */
.qbs-blog-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
      rgba(26, 26, 26, 0.75) 0%,
      rgba(26, 26, 26, 0.65) 100%);
  pointer-events: none;
  z-index: 0;
}

/* Remove old mosaic pattern */
.qbs-blog-header::after {
  display: none;
}

.qbs-blog-header__inner {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin: 0 auto;
}

.qbs-blog-header__breadcrumb {
  margin-bottom: var(--space-md);
}

.qbs-blog-header__breadcrumb .breadcrumbs,
.qbs-blog-header__breadcrumb a,
.qbs-blog-header__breadcrumb span {
  font-family: var(--font-label) !important;
  font-size: var(--fs-caption) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
}

.qbs-blog-header__breadcrumb a:hover {
  color: var(--brand-primary) !important;
}

.qbs-blog-header__breadcrumb .current {
  color: var(--text-on-dark) !important;
  font-weight: var(--fw-semibold) !important;
}

.qbs-blog-header__breadcrumb .divider {
  background: none !important;
  color: rgba(255, 255, 255, 0.5) !important;
  padding: 0 !important;
  margin: 0 0.3em !important;
}

.qbs-blog-header__label {
  display: inline-block;
  font-family: var(--font-label);
  font-size: 0.6rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  color: var(--brand-primary);
  border: 1px solid rgba(184, 134, 11, 0.3);
  padding: 0.35em 1.2em;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-sm);
}

.qbs-blog-header__title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: var(--fw-bold);
  color: var(--text-on-dark);
  margin: 0 0 var(--space-xs);
  line-height: 1.2;
}

/* Gold accent line */
.qbs-blog-header__title::after {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  background: var(--brand-primary);
  margin: var(--space-sm) auto 0;
}

.qbs-blog-header__desc {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: rgba(255, 255, 255, 0.5);
  margin: var(--space-sm) 0 0;
  line-height: var(--lh-relaxed);
}


/* ── BLOG POST CARDS ── */

/* Card border + hover */
.box-blog-post {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: border-color var(--transition-base);
}

.box-blog-post:hover {
  border-color: var(--brand-primary);
}

/* Image zoom on hover */
.box-blog-post:hover .box-image img {
  transform: scale(1.04);
  transition: transform var(--transition-slow);
}

/* Text căn giữa */
.box-blog-post .box-text {
  text-align: center !important;
}

/* Post title */
.box-blog-post .post-title {
  font-family: var(--font-heading) !important;
  font-weight: var(--fw-semibold) !important;
  line-height: var(--lh-snug) !important;
}

.box-blog-post .post-title a {
  color: var(--text-primary) !important;
  transition: color var(--transition-fast);
}

.box-blog-post:hover .post-title a {
  color: var(--brand-primary) !important;
}

/* Divider — ẩn */
.box-blog-post .is-divider {
  display: none !important;
}

/* Excerpt */
.box-blog-post .from_the_blog_excerpt {
  font-family: var(--font-body) !important;
  font-size: var(--fs-small) !important;
  color: var(--text-secondary) !important;
  line-height: var(--lh-normal) !important;
}

/* Ẩn date badge */
.box-blog-post .badge.post-date {
  display: none !important;
}

/* Post meta */
.box-blog-post .post-meta {
  font-family: var(--font-label) !important;
  color: var(--text-tertiary) !important;
}

/* Comments */
.box-blog-post .from_the_blog_comments {
  font-family: var(--font-label) !important;
  color: var(--text-tertiary) !important;
}


/* ==========================================================================

/* SINGLE POST PAGE + BLOG → Moved to _blog.css */
/* 
   SIDEBAR WIDGETS
   ========================================================================== 
   */

/* Widget container */
#secondary .widget {
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-xl);
  border-bottom: 1px solid var(--border-color-light);
}

#secondary .widget:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Widget title */
#secondary .widget-title {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--text-primary) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-bottom: var(--space-xs);
  margin-bottom: var(--space-md) !important;
  border-bottom: 2px solid var(--brand-primary);
  display: inline-block;
}

/* Widget text (About) */
#secondary .textwidget {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
}

/* Widget lists (Categories, Archives) */
#secondary .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#secondary .widget ul li {
  padding: var(--space-xs) 0;
  border-bottom: 1px solid var(--border-color-light);
  font-family: var(--font-body);
  font-size: var(--fs-small);
}

#secondary .widget ul li:last-child {
  border-bottom: none;
}

#secondary .widget ul li a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

#secondary .widget ul li a:hover {
  color: var(--brand-primary);
}

/* Post count (1), (2) */
#secondary .widget_categories li,
#secondary .widget_archive li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Recent Posts widget */
#secondary .widget_recent_entries li {
  padding: var(--space-sm) 0;
}

#secondary .widget_recent_entries li a {
  font-family: var(--font-heading);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: var(--text-primary);
  line-height: var(--lh-snug);
}

#secondary .widget_recent_entries li a:hover {
  color: var(--brand-primary);
}

#secondary .widget_recent_entries li .post-date {
  display: block;
  font-family: var(--font-label);
  font-size: var(--fs-caption);
  color: var(--text-tertiary);
  margin-top: 2px;
}

/* Recent Posts with thumbnails (Flatsome widget) */
#secondary .recent-blog-posts .recent-blog-post-image {
  border-radius: var(--radius-sm);
  overflow: hidden;
}

#secondary .recent-blog-posts a {
  font-family: var(--font-heading);
  font-weight: var(--fw-medium);
  color: var(--text-primary);
  transition: color var(--transition-fast);
}

#secondary .recent-blog-posts a:hover {
  color: var(--brand-primary);
}

/* Search widget */
#secondary .widget_search .search-field {
  font-family: var(--font-body);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  padding: var(--space-xs) var(--space-sm);
  transition: border-color var(--transition-fast);
}

#secondary .widget_search .search-field:focus {
  border-color: var(--brand-primary);
  outline: none;
}


/* ==========================================================================
   QUICK VIEW POPUP (WooCommerce / Flatsome)
   ========================================================================== */

/* Modal backdrop */
.mfp-bg {
  background: rgba(0, 0, 0, 0.6) !important;
}

/* Modal container */
.mfp-inline-holder .mfp-content {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.product-quick-view-container {
  background: var(--bg-primary);
}

/* Close button */
.mfp-close {
  font-size: var(--fs-h2) !important;
  color: var(--text-tertiary) !important;
  opacity: 1 !important;
  right: var(--space-xs) !important;
  top: var(--space-xs) !important;
  width: var(--space-xl) !important;
  height: var(--space-xl) !important;
  line-height: var(--space-xl) !important;
  transition: color var(--transition-fast);
}

.mfp-close:hover {
  color: var(--text-primary) !important;
}

/* Gallery image */
.product-quick-view-container .product-gallery img {
  border-radius: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Product info panel */
.product-quick-view-container .product-lightbox-inner {
  padding: var(--space-xl) var(--space-lg) !important;
}

/* Product title */
.product-quick-view-container h1 {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-h4) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--text-primary) !important;
  line-height: var(--lh-snug) !important;
  margin-bottom: var(--space-sm) !important;
}

.product-quick-view-container h1 a {
  color: inherit !important;
  text-decoration: none;
}

.product-quick-view-container h1 a:hover {
  color: var(--brand-primary) !important;
}

/* Ẩn divider trong lightbox */
.product-quick-view-container .is-divider {
  display: none !important;
}

/* Short description */
.product-quick-view-container .product-short-description {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--space-md);
}

/* Ẩn giá + giỏ hàng (catalog mode) */
.product-quick-view-container .price,
.product-quick-view-container .cart,
.product-quick-view-container .quantity,
.product-quick-view-container .single_add_to_cart_button {
  display: none !important;
}

/* SKU & Categories */
.product-quick-view-container .product_meta {
  font-family: var(--font-label);
  font-size: var(--fs-caption);
  color: var(--text-tertiary);
  letter-spacing: 0.02em;
  margin-top: var(--space-sm);
}

.product-quick-view-container .product_meta a {
  color: var(--brand-primary);
  text-decoration: none;
}

.product-quick-view-container .product_meta a:hover {
  text-decoration: underline;
}

/* Attributes table */
.product-quick-view-container table.shop_attributes {
  border: none !important;
  margin-bottom: var(--space-md);
}

.product-quick-view-container table.shop_attributes th {
  font-family: var(--font-label);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: var(--space-xs) var(--space-sm) var(--space-xs) 0;
  border-bottom: 1px solid var(--border-color-light);
  background: none !important;
}

.product-quick-view-container table.shop_attributes td {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--text-secondary);
  padding: var(--space-xs) 0;
  border-bottom: 1px solid var(--border-color-light);
  background: none !important;
}

.product-quick-view-container table.shop_attributes td p {
  margin: 0;
}

/* "Xem chi tiết" link style */
.product-quick-view-container .product-info a.plain {
  transition: color var(--transition-fast);
}

/* ── QV Attributes Table ── */
.qbs-qv-attributes {
  margin: var(--space-md) 0;
}

.qbs-qv-attr-table {
  width: 100%;
  border-collapse: collapse;
}

.qbs-qv-attr-table th {
  font-family: var(--font-label);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: left;
  padding: var(--space-2xs) 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  width: 35%;
  vertical-align: top;
}

.qbs-qv-attr-table td {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--text-primary);
  padding: var(--space-2xs) 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.qbs-qv-attr-table tr:last-child th,
.qbs-qv-attr-table tr:last-child td {
  border-bottom: none;
}

/* ── QV Detail Button ── */
.qbs-qv-detail-btn {
  display: block;
  width: 100%;
  text-align: center;
  font-family: var(--font-label);
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-primary);
  border: 1.5px solid var(--brand-primary);
  border-radius: var(--radius-sm);
  padding: var(--space-sm) var(--space-lg);
  margin-top: var(--space-lg);
  text-decoration: none;
  transition: all var(--transition-base);
}

.qbs-qv-detail-btn:hover {
  background: var(--brand-primary);
  color: var(--text-on-dark);
}


/* ==========================================================================
   SINGLE PRODUCT PAGE
   ========================================================================== */

/* ── Product Title ── */
.single-product .product_title {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--text-primary) !important;
  line-height: var(--lh-tight) !important;
  letter-spacing: -0.01em;
  margin-bottom: var(--space-sm) !important;
}

/* ── Ẩn giá + cart (catalog mode) ── */
.single-product .price,
.single-product .cart,
.single-product .quantity,
.single-product .single_add_to_cart_button,
.single-product .stock {
  display: none !important;
}

/* ── Gallery ── */
.single-product .product-gallery img {
  border-radius: var(--radius-sm);
}

.single-product .product-gallery .product-thumbnails img {
  border-radius: var(--radius-xs);
  transition: opacity var(--transition-fast);
}

.single-product .product-gallery .product-thumbnails img:hover {
  opacity: 0.75;
}

/* ── Short Description ── */
.single-product .product-short-description {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--space-md);
}

/* ── Divider — ẩn ── */
.single-product .product-info .is-divider {
  display: none !important;
}

/* ── Attributes Table ── */
.single-product table.shop_attributes {
  border: none !important;
  border-collapse: collapse;
  margin-bottom: var(--space-lg);
}

.single-product table.shop_attributes tr:nth-child(even) {
  background: none !important;
}

.single-product table.shop_attributes th {
  font-family: var(--font-label);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: var(--space-xs) var(--space-sm) var(--space-xs) 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: none !important;
  width: 30%;
}

.single-product table.shop_attributes td {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--text-primary);
  padding: var(--space-xs) 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: none !important;
}

.single-product table.shop_attributes td p {
  margin: 0;
}

.single-product table.shop_attributes tr:last-child th,
.single-product table.shop_attributes tr:last-child td {
  border-bottom: none;
}

/* ── Product Meta (Category, SKU, Tags) ── */
.single-product .product_meta {
  font-family: var(--font-label);
  font-size: var(--fs-caption);
  color: var(--text-tertiary);
  margin-top: var(--space-md);
}

.single-product .product_meta a {
  color: var(--brand-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.single-product .product_meta a:hover {
  text-decoration: underline;
}

/* ── Tabs ── */
.single-product .woocommerce-tabs .tabs {
  border-bottom: 1px solid var(--border-color) !important;
}

.single-product .woocommerce-tabs .tabs li {
  border: none !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce-tabs .tabs li a {
  font-family: var(--font-label) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-semibold) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-tertiary) !important;
  padding: var(--space-sm) var(--space-md) !important;
  border-bottom: 2px solid transparent !important;
  transition: all var(--transition-fast);
}

.single-product .woocommerce-tabs .tabs li.active a {
  color: var(--brand-primary) !important;
  border-bottom-color: var(--brand-primary) !important;
}

.single-product .woocommerce-tabs .tabs li a:hover {
  color: var(--text-primary) !important;
}

/* Tab content */
.single-product .woocommerce-Tabs-panel {
  padding: var(--space-lg) 0 !important;
  border: none !important;
}

.single-product .woocommerce-Tabs-panel h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-h5);
  font-weight: var(--fw-semibold);
  color: var(--text-primary);
  margin-bottom: var(--space-md);
}

.single-product .woocommerce-Tabs-panel p {
  font-family: var(--font-body);
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
}


/* ── Breadcrumb (GLOBAL — áp dụng toàn site) ── */
.breadcrumb-row,
.breadcrumbs {
  font-family: var(--font-label) !important;
  font-size: var(--fs-small) !important;
}

.breadcrumb-row a,
.breadcrumbs a {
  color: var(--text-secondary) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.breadcrumb-row a:hover,
.breadcrumbs a:hover {
  color: var(--brand-primary) !important;
}

/* Breadcrumb separator */
.breadcrumbs .divider,
.breadcrumb-row .divider {
  color: var(--brand-primary) !important;
  background: none !important;
  margin: 0 0.3em;
}

/* Breadcrumb current page */
.breadcrumbs .current,
.breadcrumb-row .current {
  color: var(--text-primary) !important;
  font-weight: var(--fw-semibold) !important;
}

/* ── Related Products ── */
.single-product .related.products>h2 {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-h4) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--text-primary) !important;
  margin-bottom: var(--space-lg) !important;
}

/* ── Share buttons ── */
.single-product .product-info .social-icons a {
  color: var(--text-tertiary) !important;
  transition: all var(--transition-fast);
}

/* Brand colors per icon */
.single-product .product-info .social-icons .icon-facebook {
  color: #1877F2 !important;
  border-color: #1877F2 !important;
}

.single-product .product-info .social-icons .icon-twitter {
  color: #1DA1F2 !important;
  border-color: #1DA1F2 !important;
}

.single-product .product-info .social-icons .icon-email {
  color: var(--text-secondary) !important;
  border-color: var(--text-secondary) !important;
}

.single-product .product-info .social-icons .icon-pinterest {
  color: #E60023 !important;
  border-color: #E60023 !important;
}

.single-product .product-info .social-icons .icon-linkedin {
  color: #0A66C2 !important;
  border-color: #0A66C2 !important;
}

.single-product .product-info .social-icons .icon-tumblr {
  color: #35465C !important;
  border-color: #35465C !important;
}

/* Hover — fill background */
.single-product .product-info .social-icons a:hover {
  color: var(--text-on-dark) !important;
}

.single-product .product-info .social-icons a:hover .icon-facebook {
  color: var(--text-on-dark) !important;
}

.single-product .product-info .social-icons .icon-facebook:hover {
  background: #1877F2;
  color: var(--text-on-dark) !important;
}

.single-product .product-info .social-icons .icon-twitter:hover {
  background: #1DA1F2;
  color: var(--text-on-dark) !important;
}

.single-product .product-info .social-icons .icon-email:hover {
  background: var(--text-secondary);
  color: var(--text-on-dark) !important;
}

.single-product .product-info .social-icons .icon-pinterest:hover {
  background: #E60023;
  color: var(--text-on-dark) !important;
}

.single-product .product-info .social-icons .icon-linkedin:hover {
  background: #0A66C2;
  color: var(--text-on-dark) !important;
}

.single-product .product-info .social-icons .icon-tumblr:hover {
  background: #35465C;
  color: var(--text-on-dark) !important;
}

/* ── Product Tabs (Description / Additional Information) ── */
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs .wc-tabs {
  border-bottom: 1px solid var(--border-color) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce-tabs .tabs li,
.single-product .woocommerce-tabs .tabs li.active,
.single-product .woocommerce-tabs .tabs li:before,
.single-product .woocommerce-tabs .tabs li:after {
  border: none !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 0 !important;
}

.single-product .woocommerce-tabs .tabs li a,
.single-product .woocommerce-tabs .tabs li.active a,
.single-product .woocommerce-tabs .tabs li a:before,
.single-product .woocommerce-tabs .tabs li a:after {
  font-family: var(--font-label) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--text-tertiary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: var(--space-sm) var(--space-lg) !important;
  border: none !important;
  border-bottom: 1px solid transparent !important;
  transition: all var(--transition-fast) !important;
  text-decoration: none !important;
  background: none !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 0 !important;
}

.single-product .woocommerce-tabs .tabs li.active a {
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--brand-primary) !important;
  font-weight: var(--fw-bold) !important;
}

.single-product .woocommerce-tabs .tabs li a:hover {
  color: var(--text-primary) !important;
}

/* Tab panel — reduce gap to table */
.single-product .woocommerce-tabs .panel {
  padding-top: var(--space-sm) !important;
}

/* ── Attributes Table → Material Spec Cards ── */
.single-product .shop_attributes {
  border: none !important;
  border-collapse: collapse !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: var(--space-sm) !important;
}

.single-product .shop_attributes tbody {
  display: contents !important;
}

.single-product .shop_attributes tr {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border: none !important;
  border-left: 3px solid var(--brand-primary) !important;
  padding: var(--space-md) var(--space-lg) !important;
  background: var(--bg-primary) !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
  box-shadow: var(--shadow-sm) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  min-height: 72px !important;
}

.single-product .shop_attributes tr:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
}

.single-product .shop_attributes th,
.single-product .shop_attributes td {
  display: block !important;
  border: none !important;
  padding: 0 !important;
  width: 100% !important;
  background: transparent !important;
  text-align: left !important;
}

.single-product .shop_attributes th {
  font-family: var(--font-label) !important;
  font-size: 0.65rem !important;
  font-weight: var(--fw-semibold) !important;
  color: var(--text-tertiary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-bottom: var(--space-3xs) !important;
}

.single-product .shop_attributes td {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-body-lg) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--text-primary) !important;
  line-height: 1.3 !important;
}

.single-product .shop_attributes td p {
  margin: 0 !important;
}

@media (max-width: 520px) {
  .single-product .shop_attributes {
    grid-template-columns: 1fr !important;
  }

  #logo img {
    max-height: 80px !important;
  }
}

/* ── Contact CTA Buttons (Single Product) ── */
.qbs-contact-cta {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}

.qbs-cta-btn {
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-sm);
  text-decoration: none !important;
  transition: all var(--transition-base);
}

/* Icon */
.qbs-cta-icon {
  font-size: 1.15rem;
  flex-shrink: 0;
}

/* Text block */
.qbs-cta-text {
  display: flex;
  flex-direction: column;
}

.qbs-cta-label {
  font-family: var(--font-label);
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
}

.qbs-cta-number {
  font-family: var(--font-body);
  font-size: var(--fs-caption);
  opacity: 0.75;
  line-height: var(--lh-snug);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

/* Phone button — gold */
.qbs-cta-phone {
  border: 1.5px solid var(--brand-primary);
  color: var(--brand-primary);
  background: transparent;
}

.qbs-cta-phone:hover {
  background: var(--brand-primary);
  color: var(--text-on-primary) !important;
}

.qbs-cta-phone:hover .qbs-cta-label,
.qbs-cta-phone:hover .qbs-cta-number {
  color: var(--text-on-dark);
}

/* Zalo button — blue */
.qbs-cta-zalo {
  border: 1.5px solid #0068ff;
  color: #0068ff;
  background: transparent;
}

.qbs-cta-zalo:hover {
  background: #0068ff;
  color: var(--text-on-dark) !important;
}

.qbs-cta-zalo:hover .qbs-cta-label,
.qbs-cta-zalo:hover .qbs-cta-number {
  color: var(--text-on-dark);
}

/* Mobile — stack vertically */
@media (max-width: 520px) {
  .qbs-contact-cta {
    flex-direction: column;
  }
}


/* FLOATING CONTACT BUTTONS → Moved to _float-buttons.css */



/* SHOP (Category Archive + Sidebar) → Moved to _shop.css */


/* ==========================================================================
   FOOTER
   ========================================================================== */

/* ── Footer 1 — Main widget area ── */
.footer-wrapper {
  background: var(--bg-dark) !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.footer-wrapper .row {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-xl);
}

/* Widget titles */
.footer-wrapper .widget-title,
.footer-wrapper .widgettitle,
.footer-wrapper h4 {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-bold) !important;
  color: var(--text-on-dark) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: var(--space-md) !important;
  padding-bottom: var(--space-sm);
  border-bottom: 2px solid var(--brand-primary);
  display: block;
}

/* Body text */
.footer-wrapper p,
.footer-wrapper .textwidget {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: rgba(255, 255, 255, 0.6);
  line-height: var(--lh-normal);
}

/* Links */
.footer-wrapper a {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none;
  transition: color var(--transition-fast);
}

.footer-wrapper a:hover {
  color: var(--brand-primary) !important;
}

/* Lists (menu, categories) */
.footer-wrapper ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-wrapper ul li {
  padding: var(--space-2xs) 0;
}

.footer-wrapper ul li a {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: rgba(255, 255, 255, 0.6) !important;
  display: block;
  padding: var(--space-2xs) 0;
  transition: all var(--transition-fast);
}

.footer-wrapper ul li a:hover {
  color: var(--brand-primary) !important;
  padding-left: var(--space-2xs);
}

/* ── Footer 2 — Copyright bar ── */
.absolute-footer,
.footer-2 {
  background: var(--bg-dark-secondary) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.absolute-footer,
.absolute-footer p,
.absolute-footer a,
.footer-2,
.footer-2 p {
  font-family: var(--font-label) !important;
  font-size: var(--fs-caption) !important;
  color: rgba(255, 255, 255, 0.35) !important;
  letter-spacing: 0.02em;
}

.absolute-footer a:hover {
  color: var(--brand-primary) !important;
}

/* ── Footer logo ── */
.footer-wrapper img {
  max-width: 240px !important;
  margin-bottom: var(--space-sm);
  filter: brightness(1.1);
}

/* ── Social icons in footer ── */
.footer-wrapper .social-icons a {
  color: rgba(255, 255, 255, 0.4) !important;
  transition: color var(--transition-fast);
}

.footer-wrapper .social-icons a:hover {
  color: var(--brand-primary) !important;
}

/* ── Google Maps iframe ── */
.footer-wrapper iframe {
  border-radius: var(--radius-md);
  opacity: 0.85;
  transition: opacity var(--transition-base);
}

.footer-wrapper iframe:hover {
  opacity: 1;
}


/* ── Dividers — hidden in footer ── */
.footer-wrapper .is-divider {
  display: none !important;
}


/* ==========================================================================
   MOBILE RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {

  /* ── Shop page title + Breadcrumb ── */
  .shop-page-title {
    padding: var(--space-sm) 0 !important;
    min-height: auto !important;
  }

  /* Make both flex-cols flow as block */
  .shop-page-title .page-title-inner {
    display: block !important;
  }

  .shop-page-title .page-title-inner>.flex-col {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  .shop-page-title .page-title {
    font-size: var(--fs-h3) !important;
    line-height: var(--lh-tight) !important;
    margin: 0 !important;
  }

  /* Breadcrumbs on 1 line */
  .shop-page-title .breadcrumbs,
  .breadcrumb-row,
  .breadcrumb-row a,
  .breadcrumb-row span {
    font-size: var(--fs-caption) !important;
    white-space: nowrap !important;
  }

  /* Filter + Ordering — inline row */
  .shop-page-title .page-title-inner>.flex-col:last-child {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
  }

  .woocommerce-ordering {
    flex: 1;
    min-width: 0;
  }

  .woocommerce-ordering select {
    width: 100% !important;
    font-size: var(--fs-caption) !important;
    padding: var(--space-xs) !important;
  }

  /* Hide result count + FILTER on mobile */
  .woocommerce-result-count {
    display: none !important;
  }

  .shop-page-title .filter-button,
  .shop-page-title [data-open="off-canvas-filter"] {
    display: none !important;
  }

  /* ── Header — logo text fix ── */
  .header-main .logo a,
  .header-main .logo-title {
    font-size: var(--fs-small) !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;

  }

  .header-main .logo {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    z-index: 9999 !important;
  }

  /* Logo image — tăng kích thước trên mobile cho rõ nét */
  .header-main #logo img,
  #logo img {
    max-height: 86px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
  }

  /* .has-sticky .header-main #logo img {
    max-height: 76px !important;
  } */

  /* 
  .header-main .flex-row {
    position: relative;
    align-items: center;
    justify-content: space-between;
  } */

  /* .header-main {
    min-height: auto !important;
    padding: var(--space-xs) 0 !important;
  } */

  /* Hide Newsletter + Search + Account in mobile menu */
  .off-canvas .nav-sidebar li.header-newsletter-item,
  .off-canvas .nav-sidebar a[href*="newsletter"],
  .off-canvas .sidebar-menu li.header-newsletter-item,
  .off-canvas li.html-element,
  #main-menu .header-newsletter-item,
  .off-canvas .header-search-form,
  .off-canvas .searchform,
  .off-canvas .search-form,
  .off-canvas input[type="search"],
  .off-canvas .nav-sidebar li.header-search-item,
  .off-canvas .sidebar-menu .search-field,
  .off-canvas .nav-sidebar li.account-item,
  .off-canvas .sidebar-menu li.account-item,
  #main-menu li.account-item {
    display: none !important;
  }

  /* ── Mobile Off-Canvas Menu — Warm Stone Style ── */
  .off-canvas,
  .off-canvas-left,
  .off-canvas-right,
  .off-canvas .inner,
  .off-canvas .sidebar-inner,
  .off-canvas .off-canvas-inner,
  .off-canvas-left>.inner,
  .mfp-content .off-canvas,
  .mfp-content .sidebar-menu,
  .mfp-content .mobile-sidebar,
  .mfp-content,
  #main-menu.off-canvas,
  #main-menu.mobile-sidebar,
  .mobile-sidebar,
  .sidebar-menu,
  .off-canvas>* {
    background: var(--bg-secondary) !important;
    background-color: var(--bg-secondary) !important;
    max-width: 300px !important;
  }

  /* Ensure full-height coverage */
  .mobile-sidebar,
  #main-menu.mobile-sidebar {
    min-height: 100vh !important;
    max-width: 300px !important;
  }

  .off-canvas .nav-sidebar {
    padding: var(--space-sm) 0 !important;
  }

  .off-canvas .nav-sidebar>li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  .off-canvas .nav-sidebar>li:last-child {
    border-bottom: none !important;
  }

  .off-canvas .nav-sidebar>li>a {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-small) !important;
    font-weight: var(--fw-semibold) !important;
    color: var(--text-primary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: var(--space-sm) var(--space-lg) !important;
    transition: all var(--transition-fast) !important;
  }

  .off-canvas .nav-sidebar>li>a:hover,
  .off-canvas .nav-sidebar>li.active>a,
  .off-canvas .nav-sidebar>li.current-menu-item>a {
    color: var(--brand-primary) !important;
    background: rgba(0, 0, 0, 0.03) !important;
    padding-left: var(--space-lg) !important;
  }

  /* Submenu */
  .off-canvas .nav-sidebar .children,
  .off-canvas .nav-sidebar .sub-menu {
    background: rgba(0, 0, 0, 0.03) !important;
  }

  .off-canvas .nav-sidebar .children a,
  .off-canvas .nav-sidebar .sub-menu a {
    font-size: var(--fs-small) !important;
    font-weight: var(--fw-regular) !important;
    color: var(--text-secondary) !important;
    padding: var(--space-sm) var(--space-lg) var(--space-sm) var(--space-xl) !important;
    text-transform: none !important;
  }

  /* ── Single Product — Breadcrumb + Title ABOVE image ── */

  /* Mobile header block (JS-injected) */
  .qbs-mobile-product-header {
    padding: var(--space-sm) var(--space-md) var(--space-xs);
  }

  .qbs-mobile-product-header .breadcrumbs {
    margin-bottom: var(--space-xs) !important;
  }

  .qbs-mobile-product-header .breadcrumbs a,
  .qbs-mobile-product-header .breadcrumbs span {
    font-size: var(--fs-caption) !important;
    color: var(--text-secondary) !important;
  }

  .qbs-mobile-product-header .product_title {
    font-size: var(--fs-h3) !important;
    font-weight: var(--fw-bold) !important;
    color: var(--text-primary) !important;
    margin: 0 !important;
    line-height: var(--lh-snug);
  }

  .single-product .product-gallery {
    margin-bottom: 0 !important;
  }

  .off-canvas .nav-sidebar .children a:hover,
  .off-canvas .nav-sidebar .sub-menu a:hover {
    color: var(--brand-primary) !important;
  }

  /* Dropdown toggle icon */
  .off-canvas .nav-sidebar .toggle {
    color: rgba(0, 0, 0, 0.3) !important;
  }

  /* Close button */
  .off-canvas .mfp-close,
  .off-canvas .close-button {
    color: var(--text-primary) !important;
  }

  /* Overlay */
  .mfp-bg {
    background: rgba(0, 0, 0, 0.5) !important;
  }

  /* ── Product grid — 2 columns ── */
  .products .product {
    width: 50% !important;
  }

  /* ── Single Product (remaining styles) ── */
  .single-product .product-short-description {
    font-size: var(--fs-small);
  }

  /* CTA buttons — stack */
  .qbs-contact-cta {
    flex-direction: column !important;
  }

  .qbs-cta-btn {
    padding: var(--space-sm) var(--space-sm) !important;
  }

  .qbs-cta-number {
    max-width: none;
  }

  /* Tabs */
  .single-product .woocommerce-tabs .tabs li a {
    padding: var(--space-xs) var(--space-sm) !important;
    font-size: var(--fs-caption) !important;
  }

  /* Attributes table */
  .single-product table.shop_attributes th {
    font-size: var(--fs-caption);
    width: 35%;
  }

  .single-product table.shop_attributes td {
    font-size: var(--fs-caption);
  }

  /* Related products title */
  .single-product .related.products>h2 {
    font-size: var(--fs-h3) !important;
  }

  /* ── Share icons ── */
  .single-product .product-info .social-icons a {
    width: var(--space-xl) !important;
    height: var(--space-xl) !important;
    font-size: var(--fs-small) !important;
  }

  /* ── Card contact button ── */
  .qbs-card-contact {
    font-size: var(--fs-caption);
    padding: var(--space-2xs) var(--space-xs);
  }

  /* ── Floating buttons ── */
  .qbs-float-contact {
    right: var(--space-sm);
    bottom: 70px;
    gap: var(--space-sm);
  }

  .qbs-float-btn {
    width: var(--space-2xl);
    height: var(--space-2xl);
  }

  .qbs-float-btn svg {
    width: var(--space-lg);
    height: var(--space-lg);
  }

  /* ── Footer ── */
  .footer-wrapper .row {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-md);
  }

  .footer-wrapper .widget-title,
  .footer-wrapper .widgettitle,
  .footer-wrapper h4 {
    font-size: var(--fs-small) !important;
    margin-bottom: var(--space-sm) !important;
  }

  .footer-wrapper p,
  .footer-wrapper .textwidget,
  .footer-wrapper ul li a {
    font-size: var(--fs-small) !important;
  }

  .footer-wrapper img {
    max-width: 140px;
  }

  .footer-wrapper iframe {
    height: 160px !important;
  }
}

@media (max-width: 480px) {

  /* Extra small: single column products */
  .products .product {
    width: 100% !important;
  }

  .single-product .product_title {
    font-size: var(--fs-h3) !important;
  }

  .qbs-cta-label {
    font-size: var(--fs-small) !important;
  }

  .qbs-cta-number {
    font-size: var(--fs-caption) !important;
  }

  .qbs-float-contact {
    right: var(--space-sm);
    bottom: 60px;
    gap: var(--space-xs);
  }

  .qbs-float-btn {
    width: 44px;
    height: 44px;
  }
}

/* ==========================================================================


/* BLOG EDITORIAL + SIDEBAR CTA + SIDEBAR WIDGETS → Moved to _blog.css */



/* ABOUT PAGE → Moved to _about.css */


/* ==========================================================================
   CONTACT PAGE — Icon Box Cards Refinement
   Override Flatsome .icon-box.featured-box on /lien-he/
   ========================================================================== */

/* Card container — clean, minimal */
.page-id-contact .icon-box.featured-box,
.page-template-page-contact .icon-box.featured-box,
body.page .icon-box.featured-box.icon-box-center {
  background: #FFFFFF !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-left: 3px solid var(--brand-secondary, #C9A96E) !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  padding: 24px 20px !important;
  text-align: left !important;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

body.page .icon-box.featured-box.icon-box-center:hover {
  border-left-color: var(--brand-primary, #B8860B) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(-2px);
}

/* Icon — smaller, refined */
body.page .icon-box.featured-box .icon-box-img {
  width: 40px !important;
  margin: 0 0 12px !important;
}

body.page .icon-box.featured-box .icon-inner {
  width: 40px !important;
  height: 40px !important;
}

body.page .icon-box.featured-box .icon-inner img {
  width: 20px !important;
  height: 20px !important;
}

/* Title — tighter */
body.page .icon-box.featured-box .icon-box-text h3 {
  font-family: var(--font-heading, 'Noto Serif', serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--text-primary, #1A1A1A) !important;
  margin: 0 0 6px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Description — subtle */
body.page .icon-box.featured-box .icon-box-text p {
  font-family: var(--font-body, 'Inter', sans-serif) !important;
  font-size: 13px !important;
  color: var(--text-secondary, #666666) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}