/* GRAVON_BRAND_V005
 * Products catalogue system: unlimited drag slider, recursive category tree,
 * professional filter panel and admin-controlled design tokens.
 */

/* --------------------------------------------------------------------------
   Global dynamic theme bridge
   -------------------------------------------------------------------------- */
.gravon-brand-v003{
  --gravon-green:var(--crafto-primary,#66cc33);
  --gravon-green-dark:var(--crafto-accent,#4fae25);
  --gravon-navy:var(--crafto-secondary,#0c0d29);
  --gravon-navy-2:color-mix(in srgb,var(--crafto-secondary,#0c0d29) 84%,#fff);
  --gravon-ink:var(--crafto-dark,#08091d);
  --gravon-steel:var(--crafto-border,#dfe5e8);
  --gravon-mist:var(--crafto-light,#f4f7f3);
  --gravon-line:color-mix(in srgb,var(--crafto-secondary,#0c0d29) 12%,transparent);
}
.gravon-brand-v003 .btn-base-color{
  background:linear-gradient(135deg,color-mix(in srgb,var(--crafto-primary) 86%,#fff),var(--crafto-primary))!important;
  border-color:var(--crafto-primary)!important;
  color:var(--crafto-secondary)!important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--crafto-primary) 25%,transparent)!important;
}
.gravon-brand-v003 .btn-base-color:hover{
  background:var(--crafto-secondary)!important;
  border-color:var(--crafto-primary)!important;
  color:#fff!important;
}
.gravon-brand-v003 .crafto-main-navbar:after,
.gravon-brand-v003 .crafto-main-menu-final>.nav-item>.nav-link:after,
.gravon-brand-v003 .gravon-hero-bottom-line,
.gravon-brand-v003 .crafto-home-category-card:before{
  background:var(--crafto-primary)!important;
}
.gravon-brand-v003 .crafto-home-trust-item i,
.gravon-brand-v003 .crafto-home-category-icon,
.gravon-brand-v003 .crafto-home-service-icon,
.gravon-brand-v003 .crafto-service-icon,
.gravon-brand-v003 .crafto-home-quality-card i{
  color:var(--crafto-primary)!important;
  border-color:color-mix(in srgb,var(--crafto-primary) 35%,transparent)!important;
}
.gravon-brand-v003 .crafto-home-category-icon,
.gravon-brand-v003 .crafto-home-service-icon,
.gravon-brand-v003 .crafto-service-icon,
.gravon-brand-v003 .crafto-home-quality-card i{
  background:var(--crafto-secondary)!important;
}
.gravon-brand-v003 .crafto-cms-footer{border-top-color:var(--crafto-primary)!important;background:var(--crafto-footer-bg)!important}
.gravon-brand-v003 .crafto-home-cta,
.gravon-brand-v003 .crafto-home-performance-panel{border-color:color-mix(in srgb,var(--crafto-primary) 38%,transparent)!important}

/* --------------------------------------------------------------------------
   Catalogue design tokens and structure
   -------------------------------------------------------------------------- */
.gravon-brand-v003 .crafto-pro-catalog{
  --catalog-base:var(--crafto-primary,#66cc33);
  --catalog-accent:var(--crafto-accent,#4fae25);
  --catalog-dark:var(--crafto-secondary,#0c0d29);
  --catalog-ink:var(--crafto-dark,#08091d);
  --catalog-muted:var(--crafto-muted,#66737d);
  --catalog-border:var(--crafto-border,#dfe5e8);
  --catalog-soft:var(--crafto-light,#f4f7f3);
  --catalog-surface:var(--crafto-surface,#fff);
  --catalog-page:var(--crafto-catalog-bg,#f4f7f5);
  padding:88px 0 110px;
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--catalog-base) 10%,transparent),transparent 24%),
    var(--catalog-page);
}
.gravon-brand-v003 .crafto-pro-catalog-hero{
  background:
    linear-gradient(120deg,var(--catalog-ink) 0%,var(--catalog-dark) 58%,color-mix(in srgb,var(--catalog-dark) 78%,var(--catalog-base)) 100%);
  border:1px solid color-mix(in srgb,var(--catalog-base) 26%,transparent);
  box-shadow:0 28px 70px color-mix(in srgb,var(--catalog-dark) 24%,transparent);
}
.gravon-brand-v003 .crafto-pro-catalog-hero:before{border-color:color-mix(in srgb,var(--catalog-base) 12%,transparent)}
.gravon-brand-v003 .crafto-pro-catalog-hero .crafto-home-eyebrow,
.gravon-brand-v003 .crafto-pro-catalog-metrics strong{color:var(--catalog-base)!important}
.gravon-brand-v003 .crafto-pro-catalog-trust i{background:var(--catalog-base);color:var(--catalog-dark)}

/* --------------------------------------------------------------------------
   Unlimited horizontal category slider
   -------------------------------------------------------------------------- */
.gravon-brand-v003 .crafto-pro-category-slider{
  position:relative;
  margin:0 0 26px;
  padding:18px 18px 13px;
  border:1px solid var(--catalog-border);
  border-radius:calc(var(--crafto-card-radius,18px) + 4px);
  background:var(--catalog-surface);
  box-shadow:0 16px 42px color-mix(in srgb,var(--catalog-dark) 8%,transparent);
  overflow:hidden;
}
.gravon-brand-v003 .crafto-pro-category-slider:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--catalog-base);
}
.gravon-brand-v003 .crafto-pro-category-slider-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 2px 14px 8px;
}
.gravon-brand-v003 .crafto-pro-category-slider-head>div:first-child{display:flex;flex-direction:column;gap:3px}
.gravon-brand-v003 .crafto-pro-category-slider-head span{
  color:var(--catalog-base);
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.gravon-brand-v003 .crafto-pro-category-slider-head strong{color:var(--catalog-dark);font-size:15px;letter-spacing:-.015em}
.gravon-brand-v003 .crafto-pro-category-slider-controls{display:flex;gap:7px}
.gravon-brand-v003 .crafto-pro-category-slider-controls button{
  width:38px;
  height:38px;
  padding:0;
  border:1px solid var(--catalog-border);
  border-radius:10px;
  background:var(--catalog-surface);
  color:var(--catalog-dark);
  display:grid;
  place-items:center;
  transition:.2s ease;
}
.gravon-brand-v003 .crafto-pro-category-slider-controls button:hover:not(:disabled){
  border-color:var(--catalog-base);
  background:var(--catalog-base);
  color:var(--catalog-dark);
  transform:translateY(-2px);
}
.gravon-brand-v003 .crafto-pro-category-slider-controls button:disabled{opacity:.28;cursor:not-allowed}
.gravon-brand-v003 .crafto-pro-category-slider-mask{position:relative;min-width:0}
.gravon-brand-v003 .crafto-pro-category-slider-mask:before,
.gravon-brand-v003 .crafto-pro-category-slider-mask:after{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  bottom:0;
  width:36px;
  pointer-events:none;
  transition:opacity .2s;
}
.gravon-brand-v003 .crafto-pro-category-slider-mask:before{left:0;background:linear-gradient(90deg,var(--catalog-surface),transparent)}
.gravon-brand-v003 .crafto-pro-category-slider-mask:after{right:0;background:linear-gradient(270deg,var(--catalog-surface),transparent)}
.gravon-brand-v003 .crafto-pro-category-slider.is-at-start .crafto-pro-category-slider-mask:before,
.gravon-brand-v003 .crafto-pro-category-slider.is-at-end .crafto-pro-category-slider-mask:after{opacity:0}
.gravon-brand-v003 .crafto-pro-category-showcase{
  display:flex!important;
  grid-template-columns:none!important;
  gap:11px;
  margin:0!important;
  padding:2px 5px 10px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  cursor:grab;
  touch-action:pan-x pan-y;
  user-select:none;
}
.gravon-brand-v003 .crafto-pro-category-showcase::-webkit-scrollbar{display:none}
.gravon-brand-v003 .crafto-pro-category-showcase.is-dragging{cursor:grabbing;scroll-behavior:auto}
.gravon-brand-v003 .crafto-pro-category-card{
  flex:0 0 var(--crafto-catalog-category-card-width,260px)!important;
  width:var(--crafto-catalog-category-card-width,260px);
  min-width:var(--crafto-catalog-category-card-width,260px)!important;
  min-height:106px;
  padding:15px 16px;
  border:1px solid var(--catalog-border);
  border-radius:var(--crafto-card-radius,18px);
  background:var(--catalog-surface);
  color:var(--catalog-dark);
  scroll-snap-align:start;
  box-shadow:0 8px 24px color-mix(in srgb,var(--catalog-dark) 5%,transparent);
}
.gravon-brand-v003 .crafto-pro-category-card:hover,
.gravon-brand-v003 .crafto-pro-category-card.active{
  border-color:color-mix(in srgb,var(--catalog-base) 78%,var(--catalog-border));
  box-shadow:0 17px 38px color-mix(in srgb,var(--catalog-dark) 12%,transparent);
}
.gravon-brand-v003 .crafto-pro-category-card.active{
  background:linear-gradient(135deg,color-mix(in srgb,var(--catalog-base) 13%,var(--catalog-surface)),var(--catalog-surface));
  box-shadow:inset 0 -3px 0 var(--catalog-base),0 17px 38px color-mix(in srgb,var(--catalog-dark) 12%,transparent);
}
.gravon-brand-v003 .crafto-pro-category-icon{
  background:var(--catalog-soft);
  color:var(--catalog-dark);
  border:1px solid color-mix(in srgb,var(--catalog-dark) 8%,transparent);
}
.gravon-brand-v003 .crafto-pro-category-card.active .crafto-pro-category-icon{background:var(--catalog-dark);color:var(--catalog-base);border-color:var(--catalog-dark)}
.gravon-brand-v003 .crafto-pro-category-card strong{color:var(--catalog-dark);font-size:12px}
.gravon-brand-v003 .crafto-pro-category-card small{color:var(--catalog-muted)}
.gravon-brand-v003 .crafto-pro-category-card>i{color:var(--catalog-muted)}
.gravon-brand-v003 .crafto-pro-category-card.active>i{color:var(--catalog-base)}
.gravon-brand-v003 .crafto-pro-category-slider-progress{
  position:relative;
  height:3px;
  margin:1px 7px 0;
  border-radius:999px;
  overflow:hidden;
  background:color-mix(in srgb,var(--catalog-border) 70%,transparent);
}
.gravon-brand-v003 .crafto-pro-category-slider-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--catalog-base);
  transform-origin:left center;
  transition:transform .12s linear,width .2s ease;
  will-change:transform;
}
.gravon-brand-v003 .crafto-pro-category-slider:not(.is-scrollable) .crafto-pro-category-slider-controls,
.gravon-brand-v003 .crafto-pro-category-slider:not(.is-scrollable) .crafto-pro-category-slider-progress{display:none}

/* --------------------------------------------------------------------------
   Professional filter panel and recursive treeview
   -------------------------------------------------------------------------- */
.gravon-brand-v003 .crafto-pro-catalog-layout{
  grid-template-columns:var(--crafto-catalog-sidebar-width,300px) minmax(0,1fr);
  gap:26px;
}
.gravon-brand-v003 .crafto-pro-filter{
  position:sticky!important;
  top:104px!important;
  width:100%;
  border:1px solid var(--catalog-border);
  border-radius:calc(var(--crafto-card-radius,18px) + 3px);
  background:var(--catalog-surface);
  box-shadow:0 18px 48px color-mix(in srgb,var(--catalog-dark) 10%,transparent);
  overflow:hidden!important;
  z-index:12;
}
.gravon-brand-v003 .crafto-pro-filter:before{
  content:"";
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:var(--catalog-base);
}
.gravon-brand-v003 .crafto-pro-filter-head{
  min-height:84px;
  padding:24px 22px 19px;
  background:linear-gradient(125deg,var(--catalog-ink),var(--catalog-dark));
}
.gravon-brand-v003 .crafto-pro-filter-head span{color:var(--catalog-base)}
.gravon-brand-v003 .crafto-pro-filter-head strong{color:#fff;font-size:16px;letter-spacing:-.01em}
.gravon-brand-v003 .crafto-pro-filter-section{padding-left:20px;padding-right:20px}
.gravon-brand-v003 .crafto-pro-search>span,
.gravon-brand-v003 .crafto-pro-filter-title>span{color:var(--catalog-dark)}
.gravon-brand-v003 .crafto-pro-search>div{
  height:48px;
  border-color:var(--catalog-border);
  border-radius:12px;
  background:var(--catalog-soft);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.gravon-brand-v003 .crafto-pro-search>div:focus-within{
  border-color:var(--catalog-base);
  background:var(--catalog-surface);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--catalog-base) 15%,transparent);
}
.gravon-brand-v003 .crafto-pro-search>div>i{color:var(--catalog-base)}
.gravon-brand-v003 .crafto-pro-filter-title small{background:var(--catalog-dark);color:var(--catalog-base)}
.gravon-brand-v003 .crafto-pro-filter-help{margin:-2px 0 12px;color:var(--catalog-muted);font-size:10px;line-height:1.55}
.gravon-brand-v003 .crafto-pro-filter-tree-section{padding-bottom:1px}
.gravon-brand-v003 .crafto-pro-category-tree{
  display:block!important;
  max-height:520px!important;
  overflow:auto!important;
  padding:2px 5px 5px 0!important;
  scrollbar-width:thin;
  scrollbar-color:var(--catalog-base) var(--catalog-soft);
}
.gravon-brand-v003 .crafto-pro-tree-node{position:relative}
.gravon-brand-v003 .crafto-pro-tree-node+.crafto-pro-tree-node{margin-top:3px}
.gravon-brand-v003 .crafto-pro-tree-row{
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  gap:4px;
  align-items:center;
}
.gravon-brand-v003 .crafto-pro-tree-toggle,
.gravon-brand-v003 .crafto-pro-tree-toggle-spacer{
  width:27px!important;
  min-width:27px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  color:var(--catalog-muted)!important;
  box-shadow:none!important;
}
.gravon-brand-v003 .crafto-pro-tree-toggle:hover{background:var(--catalog-soft)!important;color:var(--catalog-dark)!important}
.gravon-brand-v003 .crafto-pro-tree-toggle i{font-size:14px;transition:transform .2s ease}
.gravon-brand-v003 .crafto-pro-tree-toggle[aria-expanded="true"] i{transform:rotate(90deg)}
.gravon-brand-v003 .crafto-pro-tree-select{
  width:100%!important;
  min-height:48px!important;
  padding:6px 8px!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:9px!important;
  align-items:center!important;
  text-align:left!important;
  color:var(--catalog-dark)!important;
  box-shadow:none!important;
  transition:.2s ease!important;
}
.gravon-brand-v003 .crafto-pro-tree-select:hover{
  border-color:color-mix(in srgb,var(--catalog-border) 76%,var(--catalog-base))!important;
  background:var(--catalog-soft)!important;
}
.gravon-brand-v003 .crafto-pro-tree-select.active{
  border-color:color-mix(in srgb,var(--catalog-base) 55%,var(--catalog-border))!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--catalog-base) 16%,var(--catalog-surface)),var(--catalog-surface))!important;
  box-shadow:inset 3px 0 0 var(--catalog-base)!important;
}
.gravon-brand-v003 .crafto-pro-tree-icon{
  width:34px!important;
  height:34px!important;
  border-radius:9px;
  display:grid!important;
  place-items:center;
  background:var(--catalog-soft);
  color:var(--catalog-muted);
}
.gravon-brand-v003 .crafto-pro-tree-select.active .crafto-pro-tree-icon{background:var(--catalog-dark);color:var(--catalog-base)}
.gravon-brand-v003 .crafto-pro-tree-icon i{width:auto!important;color:inherit!important;font-size:15px!important}
.gravon-brand-v003 .crafto-pro-tree-copy{
  min-width:0;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  gap:2px!important;
}
.gravon-brand-v003 .crafto-pro-tree-copy strong{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--catalog-dark);
  font-size:11px;
  line-height:1.3;
}
.gravon-brand-v003 .crafto-pro-tree-copy small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--catalog-muted);
  font-size:8px;
  font-weight:700;
}
.gravon-brand-v003 .crafto-pro-tree-select>b{
  min-width:27px!important;
  height:27px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:color-mix(in srgb,var(--catalog-border) 54%,var(--catalog-surface))!important;
  color:var(--catalog-muted)!important;
  font-size:9px!important;
}
.gravon-brand-v003 .crafto-pro-tree-select.active>b{background:var(--catalog-base)!important;color:var(--catalog-dark)!important}
.gravon-brand-v003 .crafto-pro-tree-children{
  position:relative;
  margin:3px 0 3px 13px;
  padding-left:13px;
  border-left:1px solid color-mix(in srgb,var(--catalog-border) 78%,var(--catalog-base));
}
.gravon-brand-v003 .crafto-pro-tree-children[hidden]{display:none!important}
.gravon-brand-v003 .crafto-pro-tree-children>.crafto-pro-tree-node:before{
  content:"";
  position:absolute;
  left:-13px;
  top:25px;
  width:11px;
  border-top:1px solid color-mix(in srgb,var(--catalog-border) 78%,var(--catalog-base));
}
.gravon-brand-v003 .crafto-pro-tree-node.is-active-path>.crafto-pro-tree-row>.crafto-pro-tree-toggle{color:var(--catalog-base)!important}
.gravon-brand-v003 .crafto-pro-tree-node.is-all{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--catalog-border)}
.gravon-brand-v003 .crafto-pro-featured-filter{
  border-color:var(--catalog-border);
  border-radius:12px;
  background:var(--catalog-surface);
}
.gravon-brand-v003 .crafto-pro-featured-filter.active{
  border-color:var(--catalog-base);
  background:color-mix(in srgb,var(--catalog-base) 11%,var(--catalog-surface));
}
.gravon-brand-v003 .crafto-pro-featured-filter.active>span>i{color:var(--catalog-accent)}
.gravon-brand-v003 .crafto-pro-filter-reset{
  background:var(--catalog-dark);
  color:#fff;
  border-radius:var(--crafto-button-radius,8px);
}
.gravon-brand-v003 .crafto-pro-filter-reset:hover{background:var(--catalog-base);color:var(--catalog-dark)}

/* Results and cards inherit the same admin theme */
.gravon-brand-v003 .crafto-pro-results-toolbar,
.gravon-brand-v003 .crafto-pro-product-card{border-color:var(--catalog-border);background:var(--catalog-surface)}
.gravon-brand-v003 .crafto-pro-results-copy>span{color:var(--catalog-base)}
.gravon-brand-v003 .crafto-pro-view-toggle button.active,
.gravon-brand-v003 .crafto-pro-product-detail{background:var(--catalog-dark);color:#fff}
.gravon-brand-v003 .crafto-pro-view-toggle button.active{color:var(--catalog-base)}
.gravon-brand-v003 .crafto-pro-product-detail:hover{background:var(--catalog-base);color:var(--catalog-dark)}
.gravon-brand-v003 .crafto-pro-product-card:hover{border-color:color-mix(in srgb,var(--catalog-base) 70%,var(--catalog-border))}
.gravon-brand-v003 .crafto-pro-product-badges em{background:var(--catalog-base);color:var(--catalog-dark)}
.gravon-brand-v003 .crafto-pro-active-filters button{
  border-color:color-mix(in srgb,var(--catalog-base) 42%,var(--catalog-border));
  background:color-mix(in srgb,var(--catalog-base) 10%,var(--catalog-surface));
  color:var(--catalog-dark);
}
.gravon-brand-v003 .crafto-pro-pagination button:hover,
.gravon-brand-v003 .crafto-pro-pagination button[aria-current="page"]{border-color:var(--catalog-dark);background:var(--catalog-dark);color:var(--catalog-base)}

@media(max-width:1199px){
  .gravon-brand-v003 .crafto-pro-catalog-layout{grid-template-columns:min(275px,var(--crafto-catalog-sidebar-width,300px)) minmax(0,1fr)}
}
@media(max-width:991px){
  .gravon-brand-v003 .crafto-pro-catalog{padding:70px 0 86px}
  .gravon-brand-v003 .crafto-pro-filter{
    position:fixed!important;
    top:0!important;
    left:0;
    bottom:0;
    width:min(380px,90vw);
    border-radius:0;
    overflow:auto!important;
  }
  .gravon-brand-v003 .crafto-pro-category-tree{max-height:none!important;overflow:visible!important}
  .gravon-brand-v003 .crafto-pro-category-slider{padding-left:14px;padding-right:14px}
}
@media(max-width:767px){
  .gravon-brand-v003 .crafto-pro-category-slider-head strong{font-size:13px}
  .gravon-brand-v003 .crafto-pro-category-slider-controls button{width:36px;height:36px}
  .gravon-brand-v003 .crafto-pro-category-card{
    flex-basis:min(78vw,var(--crafto-catalog-category-card-width,260px))!important;
    width:min(78vw,var(--crafto-catalog-category-card-width,260px));
    min-width:min(78vw,var(--crafto-catalog-category-card-width,260px))!important;
  }
  .gravon-brand-v003 .crafto-pro-category-slider-mask:before,
  .gravon-brand-v003 .crafto-pro-category-slider-mask:after{width:22px}
}
@media(max-width:430px){
  .gravon-brand-v003 .crafto-pro-category-slider{padding:15px 12px 12px}
  .gravon-brand-v003 .crafto-pro-category-slider-head{align-items:flex-end}
  .gravon-brand-v003 .crafto-pro-category-slider-head span{font-size:8px}
  .gravon-brand-v003 .crafto-pro-category-slider-head strong{font-size:12px}
  .gravon-brand-v003 .crafto-pro-tree-row{grid-template-columns:25px minmax(0,1fr)}
  .gravon-brand-v003 .crafto-pro-tree-select{grid-template-columns:31px minmax(0,1fr) auto!important}
}
