/* main menu "header, footer",
 * store category menu,
 * store tag menu,
 * email "footer",
 * phone "footer",
 * about "home - hero section"
*/
.elementor-widget-nav-menu .elementor-item,
.text-link .elementor-button,
.text-link.elementor-widget-icon-box .elementor-widget-container,
.about-link,
.mega-menu__wrapper .product-categories a,
.mega-menu__wrapper .tagcloud a {
  position: relative;
  display: inline-block;
}
.elementor-widget-nav-menu .elementor-item::before,
.text-link .elementor-button::before,
.text-link.elementor-widget-icon-box .elementor-widget-container::before,
.about-link::before,
.mega-menu__wrapper .product-categories a::before,
.mega-menu__wrapper .tagcloud a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #000;
  width: 0%;
}
.mega-menu__wrapper .product-categories a::before,
.mega-menu__wrapper .tagcloud a::before {
  background-color: #ffffff;
}
.elementor-widget-nav-menu .elementor-item:hover::before,
.text-link .elementor-button:hover::before,
.text-link.elementor-widget-icon-box .elementor-widget-container:hover::before,
.tag-all-btn:hover .text-link.elementor-widget-icon-box .elementor-widget-container::before,
.about-link:hover::before,
.mega-menu__wrapper .product-categories a:hover::before,
.mega-menu__wrapper .tagcloud a:hover::before {
  animation: slideIn 0.3s forwards;
}
.elementor-widget-nav-menu .elementor-item:not(:hover)::before,
.text-link .elementor-button:not(:hover)::before,
.text-link.elementor-widget-icon-box .elementor-widget-container:not(:hover)::before,
.tag-all-btn:not(:hover) .text-link.elementor-widget-icon-box .elementor-widget-container::before,
.about-link:not(:hover)::before,
.mega-menu__wrapper .product-categories a:not(:hover)::before,
.mega-menu__wrapper .tagcloud a:not(:hover)::before {
  animation: slideOut 0.3s forwards;
}
@keyframes slideIn {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@keyframes slideOut {
  from {
    width: 100%;
  }
  to {
    width: 0%;
  }
}

/* play video button */
.play-btn {
  transform: scale(1);
  opacity: 1;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.video-review__wrapper:hover .play-btn {
  animation: pulse 1s infinite ease-in-out;
}
.play-btn.pulse-out {
  animation: pulseOut 2s ease forwards;
}
@keyframes pulse {
  0%   { transform: scale(1); opacity: 1; }
  50%  { transform: scale(1.1); opacity: 0.8; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes pulseOut {
  from { transform: scale(1.1); opacity: 0.8; }
  to   { transform: scale(1); opacity: 1; }
}

/* messenger button */
.btn-messanger .elementor-button-content-wrapper {
    align-items: center;
}
.btn-messanger .elementor-button-text {
    text-align: left;
}
.btn-messanger svg {
  position: relative;
  width: 32px;
  height: 32px;
  display: block;
}
.btn-messanger .icon-first,
.btn-messanger .icon-second {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transform-origin: center;
}
.btn-messanger .icon-second {
  opacity: 0;
  transform: translate(-50%, 50%);
}
.btn-messanger:hover .icon-first {
  opacity: 0;
  transform: translate(50%, -50%);
}
.btn-messanger:hover .icon-second {
  opacity: 1;
  transform: translate(0%, 0%);
}

/* more button */
.more-btn .elementor-button-content-wrapper {
    align-items: center;
}
.more-btn svg {
  position: relative;
  width: 16px;
  height: 16px;
  display: block;
}
.more-btn .icon-first,
.more-btn .icon-second {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transform-origin: center;
}
.more-btn .icon-second {
  opacity: 0;
  transform: translate(-50%, 50%);
}
.more-btn:hover .icon-first {
  opacity: 0;
  transform: translate(50%, -50%);
}
.more-btn:hover .icon-second {
  opacity: 1;
  transform: translate(0%, 0%);
}
.more-btn:hover svg path {
	fill: #000000 !important;
}
/* review like button on product page */
.review-actions .heart {
  transform: scale(1);
  opacity: 1;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.review-actions:hover .heart {
  animation: pulseHeart 1s infinite ease-in-out;
}
.review-actions .heart.pulse-out {
  animation: pulseHeartOut 2s ease forwards;
}
@keyframes pulseHeart {
  0%   { transform: scale(1); opacity: 1; }
  50%  { transform: scale(1.1); opacity: 0.8; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes pulseHeartOut {
  from { transform: scale(1.1); opacity: 0.8; }
  to   { transform: scale(1); opacity: 1; }
}
/* developer logo */
.dev-logo__wrapper svg path {
  opacity: 1;
  transition: opacity 0.6s ease;
}
.dev-logo__wrapper svg path.flicker {
  animation: flicker 0.8s ease-in-out infinite;
}
.dev-logo__wrapper svg path.fadeback {
  animation: fadeBack 0.6s ease forwards;
}
@keyframes flicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
@keyframes fadeBack {
  from { opacity: 0; }
  to { opacity: 1; }
}
