/* TENSUNG - touch interaction states.
 *
 * Mobile browsers paint a translucent blue box over whatever you tap, and an
 * anchor keeps :focus after the tap, so the FAQ rows stayed highlighted in blue
 * long after the finger left. Both are replaced here with a press state drawn
 * from the site palette: ink #16211D, jade #1D5B4A, amber #B35F1B, 3px radius.
 *
 * Keyboard focus is deliberately NOT removed - only the sticky mouse/touch
 * focus ring is. :focus-visible still draws an amber outline.
 */

a,
button,
[role="button"],
.elementor-button,
.xpro-elementor-button,
.tcap-faq-toggle,
.trp-language-item,
#ast-scroll-top,
.xpro-elementor-nav-link,
.xpro-elementor-horizontal-menu-toggler,
.xpro-elementor-horizontal-menu-close {
  -webkit-tap-highlight-color: transparent;
}

/* A tapped anchor keeps focus on mobile; that is what left the blue block on
   screen. Drop the ring for pointer input, keep it for keyboards. */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible),
.elementor-button:focus:not(:focus-visible),
#ast-scroll-top:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
.elementor-button:focus-visible,
#ast-scroll-top:focus-visible {
  outline: 2px solid #B35F1B;
  outline-offset: 2px;
  border-radius: 3px;
}

/* ---------- press states ---------- */

/* Solid buttons dip slightly and darken - enough to register, short enough not
   to lag behind the finger. */
.elementor-button,
.xpro-elementor-button {
  transition: transform .12s ease-out, filter .12s ease-out;
}

.elementor-button:active,
.xpro-elementor-button:active {
  transform: scale(.985);
  filter: brightness(.93);
}

/* FAQ rows are full-width list items, so they take a surface tint rather than a
   scale - a whole row shrinking reads as a glitch. */
.tcap-faq-toggle .elementor-button,
.tcap-faq-toggle a {
  transition: background-color .12s ease-out;
}

.tcap-faq-toggle .elementor-button:active,
.tcap-faq-toggle a:active {
  background-color: #EDF2EF !important;
  transform: none;
  filter: none;
}

/* Navigation rows, in the panel and in the green bar. */
.xpro-elementor-nav-link {
  transition: background-color .12s ease-out, color .12s ease-out;
}

.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-nav-link:active {
  background-color: #EDF2EF;
}

.xpro-theme-builder-header .elementor-element-hnavroot .xpro-elementor-nav-link:active {
  background-color: rgba(255, 255, 255, .10);
}

/* Language rows, header and panel. */
.tensung-navlang__item {
  -webkit-tap-highlight-color: transparent;
}

.tensung-navlang__item:active,
.tensung-lang-switcher .trp-switcher-dropdown-list .trp-language-item:active {
  background-color: #E6EDE9;
}

.xpro-elementor-horizontal-menu-toggler:active,
.xpro-elementor-horizontal-menu-close:active {
  transform: scale(.92);
  transition: transform .1s ease-out;
}

/* Product and category cards. */
.tensung-card a:active,
.tcap-card a:active,
.elementor-widget-image a:active {
  filter: brightness(.96);
  transition: filter .12s ease-out;
}

/* ---------- back to top ---------- */
/* Astra ships this in its default link blue, which is the one colour that
   appears nowhere else on the site. */

#ast-scroll-top {
  background-color: #1D5B4A !important;
  color: #FFFFFF !important;
  border-radius: 3px !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: .9;
  transition: background-color .16s ease-out, opacity .16s ease-out, transform .12s ease-out;
}

#ast-scroll-top:hover {
  background-color: #164437 !important;
  opacity: 1;
}

#ast-scroll-top:active {
  transform: scale(.94);
  background-color: #164437 !important;
}

#ast-scroll-top .ast-arrow-svg,
#ast-scroll-top svg {
  fill: #FFFFFF !important;
  width: 15px !important;
  height: auto !important;
}

@media (max-width: 767px) {
  #ast-scroll-top {
    width: 38px !important;
    height: 38px !important;
    right: 14px !important;
    bottom: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-button,
  .xpro-elementor-button,
  .tcap-faq-toggle a,
  .xpro-elementor-nav-link,
  #ast-scroll-top,
  .xpro-elementor-horizontal-menu-toggler,
  .xpro-elementor-horizontal-menu-close {
    transition: none !important;
  }
  .elementor-button:active,
  .xpro-elementor-button:active,
  #ast-scroll-top:active,
  .xpro-elementor-horizontal-menu-toggler:active,
  .xpro-elementor-horizontal-menu-close:active {
    transform: none !important;
  }
}
