/* VQ NEXUS 2.2.9.0 - Three-level navigation and featured category gallery */
.vq2290-category-icon-image {display:block;width:24px;height:24px;object-fit:contain;flex:none;border-radius:6px}
.vq2290-nav-anchor{display:flex!important;align-items:center;gap:9px;min-width:0;text-decoration:none}
.vq2290-nav-anchor strong{min-width:0;overflow-wrap:anywhere}
.vq2290-menu-all .vq2290-nav-level-1{border-bottom:1px solid #e7ebf3;margin-bottom:4px;padding-bottom:4px}
.vq2290-menu-all .vq2290-nav-level-2{background:rgba(78,110,161,.055);border-radius:9px;margin:3px 0 3px 8px;padding:3px 6px;position:relative}
.vq2290-menu-all .vq2290-nav-level-3{margin:2px 0 2px 11px;padding:4px 8px;border-left:2px solid #d3e0f2;border-radius:5px}
.vq2290-menu-all .vq2290-nav-level-2>.vq2290-nav-anchor{font-size:13px}
.vq2290-menu-all .vq2290-nav-level-3>.vq2290-nav-anchor{font-size:12px}
.vq2290-menu-all .v2242-nav-children:not([hidden]){display:block!important;position:static;max-height:none;overflow:visible}
.vq2290-menu-all .v2242-nav-children[hidden]{display:none!important}
.vq2290-menu-all .v2242-nav-expand{flex:none;position:absolute;right:8px;top:7px}
.vq2290-category-grid{background:var(--vq-grid-bg,#fff);border:1px solid #dce5f2;border-radius:22px;padding:22px 24px;margin:20px 0;box-shadow:0 8px 24px #1326430a}
.vq2290-grid-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.vq2290-grid-head h2{margin:0;font-size:clamp(21px,2vw,28px);font-weight:800;color:#14233f}
.vq2290-grid-head span{background:#eff5ff;color:var(--vq-grid-accent,#2563eb);font-size:12px;padding:6px 11px;border-radius:999px;font-weight:700}
.vq2290-tiles{display:grid;grid-template-columns:repeat(var(--vq-grid-cols,8),minmax(0,1fr));gap:19px 12px}
.vq2290-category-tile{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid transparent;padding:10px 4px 12px;border-radius:15px;text-decoration:none;color:#1a2c4b;transition:background .2s,transform .2s}
.vq2290-category-tile:hover,.vq2290-category-tile:focus-visible{background:#f0f6ff;border-color:#d8e7ff;transform:translateY(-2px)}
.vq2290-category-tile-art{display:flex;align-items:center;justify-content:center;width:84px;height:86px}
.vq2290-category-tile-art img{width:76px;height:76px;object-fit:contain;display:block}
.vq2290-category-tile-art i{font-size:49px;color:var(--vq-grid-accent,#2563eb)}
.vq2290-category-tile-name{font-size:14px;line-height:1.34;font-weight:600;text-align:center;overflow-wrap:anywhere}
@media(max-width:1050px){.vq2290-tiles{grid-template-columns:repeat(min(var(--vq-grid-cols,8),6),minmax(0,1fr))}}
@media(max-width:680px){.vq2290-category-grid{padding:16px 10px;border-radius:16px}.vq2290-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 2px}.vq2290-category-tile-art{height:66px;width:65px}.vq2290-category-tile-art img{width:60px;height:60px}.vq2290-category-tile-name{font-size:11px}.vq2290-grid-head h2{font-size:20px}}
@media(max-width:355px){.vq2290-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Detail/booking theme rules moved to v2291-contrast.css: per-surface palettes.
   Do not force inherited white text onto white product/category cards. */
.vq2286-service-photo-name img.vq2290-category-icon-image{height:34px;width:34px;object-fit:contain;filter:drop-shadow(0 2px 4px #0006)}
.v1-detail-container .v218-child-card .vq2290-category-icon-image,.vq-directory-page .vq2290-category-icon-image{width:52px;height:52px;object-fit:contain}

/* VQ NEXUS 2.2.9.2 — Danh mục nổi bật: neon gallery, style scoped entirely to this block. */
.vq2292-neon-gallery.vq2290-category-grid{
  position:relative;isolation:isolate;overflow:hidden;
  padding:27px clamp(14px,2.4vw,34px) 32px;
  border:1px solid var(--vq-grid-border,#183c76);border-radius:22px;
  background:var(--vq-grid-bg,#070e21);
  box-shadow:inset 0 0 42px #006fff1b,0 20px 46px #07142b33;
  color:var(--vq-grid-text,#fff);
}
.vq2292-neon-gallery.vq2290-category-grid:before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('/assets/images/tech-backgrounds/tech-07.webp') center/cover no-repeat;
  opacity:0; /* Off by default: the block background color is authoritative. */
  visibility:hidden;
}
/* Optional texture is additive, never a replacement for the selected background. */
.vq2292-neon-gallery.vq2294-grid-pattern:before{visibility:visible;opacity:var(--vq-grid-pattern-opacity,.12)}
.vq2292-neon-gallery .vq2290-grid-head{position:relative;margin:0 0 22px;align-items:center}
.vq2292-neon-gallery .vq2290-grid-head h2{font-size:clamp(20px,2.6vw,30px);color:var(--vq-grid-title,#fff)!important;font-weight:800;line-height:1.2;margin:4px 0 0;text-shadow:0 1px 14px #007bff4d}
.vq2292-neon-gallery .vq2292-grid-eyebrow{display:block;width:max-content;max-width:100%;font-size:10px;letter-spacing:.14em;color:var(--vq-grid-title,#67d8ff);font-weight:800;background:transparent;padding:0;border:0;border-radius:0}
.vq2292-neon-gallery .vq2292-grid-count{background:color-mix(in srgb,var(--vq-grid-bg,#070e21) 82%,var(--vq-grid-text,#fff) 18%);color:var(--vq-grid-text,#fff);border:1px solid var(--vq-grid-border,#155d82);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.vq2292-neon-gallery .vq2290-tiles{gap:16px;grid-template-columns:repeat(var(--vq-grid-cols,5),minmax(0,1fr));max-width:1150px;margin:auto}
.vq2292-neon-gallery .vq2290-category-tile{
  --vq-tile-neon:#00c8ff;position:relative;overflow:hidden;box-sizing:border-box;
  min-width:0;min-height:145px;padding:17px 9px 13px;gap:8px;display:flex;
  align-items:center;justify-content:center;flex-direction:column;
  background:linear-gradient(160deg,#091b38f5,#030c1bef 70%);
  border:1px solid color-mix(in srgb,var(--vq-tile-neon) 85%,#152343);
  border-radius:18px;color:#ffffff!important;
  box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 0 28px #0484dc1b,0 0 14px color-mix(in srgb,var(--vq-tile-neon) 18%,transparent);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.vq2292-neon-gallery .vq2290-category-tile:before{
 content:'';position:absolute;inset:7px 7px auto;width:30px;height:22px;
 border-left:1px solid var(--vq-tile-neon);border-top:1px solid var(--vq-tile-neon);border-radius:7px 0 0;
 opacity:.42;pointer-events:none;
}
.vq2292-neon-gallery .vq2290-category-tile:nth-child(5n+2){--vq-tile-neon:#15adff}
.vq2292-neon-gallery .vq2290-category-tile:nth-child(5n+3){--vq-tile-neon:#a16bff}
.vq2292-neon-gallery .vq2290-category-tile:nth-child(5n+4){--vq-tile-neon:#05e7bb}
.vq2292-neon-gallery .vq2290-category-tile:nth-child(5n+5){--vq-tile-neon:#ffbc42}
.vq2292-neon-gallery .vq2290-category-tile:hover,.vq2292-neon-gallery .vq2290-category-tile:focus-visible{
 color:white!important;background:linear-gradient(150deg,#0d2850,#0a1831)!important;
 border-color:#effcff;transform:translateY(-4px);outline:2px solid #f7ffff55;outline-offset:2px;
 box-shadow:0 0 20px color-mix(in srgb,var(--vq-tile-neon) 48%,transparent),inset 0 0 26px #65dcff2a;
}
.vq2292-neon-gallery .vq2290-category-tile-art{
 width:100%;height:80px;display:flex;align-items:center;justify-content:center;
}
.vq2292-neon-gallery .vq2290-category-tile-art .vq2292-neon-icon{
 display:block;width:min(84px,78%);height:76px;object-fit:contain;
 filter:drop-shadow(0 0 10px color-mix(in srgb,var(--vq-tile-neon) 65%,transparent));
}
.vq2292-neon-gallery .vq2290-category-tile-art i{color:var(--vq-tile-neon);font-size:51px;filter:drop-shadow(0 0 10px currentColor)}
.vq2292-neon-gallery .vq2290-category-tile-name{color:#fff!important;font-weight:750;font-size:14px;line-height:1.3;text-align:center;text-wrap:balance;text-shadow:0 1px 6px #000b}
@media(max-width:1050px){.vq2292-neon-gallery .vq2290-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:730px){.vq2292-neon-gallery .vq2290-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vq2292-neon-gallery .vq2290-category-tile{min-height:128px}}
@media(max-width:510px){.vq2292-neon-gallery.vq2290-category-grid{padding:19px 13px 22px;border-radius:16px}.vq2292-neon-gallery .vq2290-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vq2292-neon-gallery .vq2290-category-tile{min-height:124px;padding:12px 6px 10px}.vq2292-neon-gallery .vq2290-category-tile-art{height:65px}.vq2292-neon-gallery .vq2290-category-tile-art .vq2292-neon-icon{height:62px}.vq2292-neon-gallery .vq2290-category-tile-name{font-size:12px}}
@media(prefers-reduced-motion:reduce){.vq2292-neon-gallery .vq2290-category-tile{transition:none}.vq2292-neon-gallery .vq2290-category-tile:hover{transform:none}}


/* VQ NEXUS 2.2.9.3 — Danh mục nổi bật: 8 cột, thẻ nhỏ gọn 2 hàng trên desktop. */
.vq2292-neon-gallery.vq2290-category-grid{padding:20px clamp(12px,2vw,27px) 24px}
.vq2292-neon-gallery .vq2290-grid-head{margin-bottom:16px}
.vq2292-neon-gallery .vq2290-tiles{
    grid-template-columns:repeat(var(--vq-grid-cols,8),minmax(0,1fr));
    max-width:none;gap:13px 11px;
}
.vq2292-neon-gallery .vq2290-category-tile{
    min-height:110px; padding:11px 5px 9px;gap:4px;border-radius:15px;
}
.vq2292-neon-gallery .vq2290-category-tile-art{height:55px}
.vq2292-neon-gallery .vq2290-category-tile-art .vq2292-neon-icon{width:min(57px,75%);height:54px}
.vq2292-neon-gallery .vq2290-category-tile-art i{font-size:35px}
.vq2292-neon-gallery .vq2290-category-tile-name{font-size:12px;line-height:1.3}
@media(max-width:1100px){.vq2292-neon-gallery .vq2290-tiles{grid-template-columns:repeat(min(var(--vq-grid-cols,8),6),minmax(0,1fr))}}
@media(max-width:730px){.vq2292-neon-gallery .vq2290-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vq2292-neon-gallery .vq2290-category-tile{min-height:108px}}
@media(max-width:510px){.vq2292-neon-gallery .vq2290-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vq2292-neon-gallery .vq2290-category-tile{min-height:102px;padding:9px 5px}.vq2292-neon-gallery .vq2290-category-tile-art{height:50px}.vq2292-neon-gallery .vq2290-category-tile-art .vq2292-neon-icon{height:49px}.vq2292-neon-gallery .vq2290-category-tile-name{font-size:11.5px}}

/* VQ NEXUS 2.2.9.5 - Align category names to the left next to their icons (all three levels, desktop and mobile). */
.category-dropdown .vq2290-menu-all .vq2290-nav-anchor{
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
  text-align:left!important;
  direction:ltr;
  gap:10px!important;
}
.category-dropdown .vq2290-menu-all .vq2290-nav-anchor > strong{
  flex:1 1 auto;
  min-width:0;
  margin:0!important;
  text-align:left!important;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:break-word;
}
.category-dropdown .vq2290-menu-all .vq2290-nav-anchor > .vq2290-category-icon-image,
.category-dropdown .vq2290-menu-all .vq2290-nav-anchor > i{
  flex:0 0 auto;
  margin:0!important;
}
/* Keep the independent expand/collapse chevron at the far right. */
.category-dropdown .vq2290-menu-all .v2244-nav-expand{right:8px;left:auto;}
