/* Qcentic page behaviour states (src/styles/components.css). Visual styling
   lives in the Elementor global classes; this file only holds the scripted
   states, guarded by html.qs-js so pages still read fine without the script. */

/* Floating CTA */
.q-fixed-cta { position: fixed !important; right: 2.5rem; bottom: 2.5rem; z-index: 100; }
html.qs-js .q-fixed-cta {
  opacity: 0; pointer-events: none;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.6s, color 0.6s;
}
html.qs-js .q-fixed-cta.is-visible { opacity: 1; pointer-events: auto; }
@media (max-width: 767px) { .q-fixed-cta { right: 1.5rem; bottom: 1.5rem; } }

/* How it works: grey track, white fill drawn by the script, steps light up. */
html.qs-js .q-hiw-track { border-left-color: #2a2a2a !important; }
.qs-hiw-fill { position: absolute; top: 0; left: -2px; width: 2px; height: 0; background: #fff; pointer-events: none; }
html.qs-js .q-hiw-step {
  opacity: 0.15; transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
html.qs-js .q-hiw-step.is-active { opacity: 1; transform: none; }
html.qs-js .q-hiw-dot {
  background-color: #0a0a0a !important; border-color: #8a8a8a !important;
  transition: border-color 0.6s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
html.qs-js .q-hiw-step.is-active .q-hiw-dot { background-color: #fff !important; border-color: #fff !important; }

/* What we build: inactive cards dim (opacity set by the script), active card gets the white border. */
html.qs-js .q-cards-list .q-card {
  border-color: #2a2a2a !important;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
html.qs-js .q-cards-list .q-card.is-active { border-color: #fff !important; }

/* Enterprise logos: muted grayscale, brand colours on hover. */
.q-logo {
  filter: grayscale(1) !important; opacity: 0.5 !important;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.q-logo:hover { filter: grayscale(0) !important; opacity: 1 !important; }

/* Products menu chevron: no marker triangle on <summary>. */
.q-products summary { list-style: none; }
.q-products summary::-webkit-details-marker { display: none; }
