/*
Theme Name: Viste
Theme URI: https://viste.bg/
Description: Viste Theme
Author: Stefan Parnarov
Author URI: https://stefan.bg/
Template: hello-elementor
Version: 1.0.0
Text Domain: viste
*/

/* General */
.elementor-button-info .elementor-button {
  background: none !important;
}
.elementor-button .elementor-button-icon i {
  font-size: 24px;
}
.icon-accent .elementor-button-icon i {
  color: var( --e-global-color-accent );
}
.text-indent {
  text-indent: 4em;
}

/* Language Switch Toggle Styles */
.lang-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 4px 0;
	border-radius: 999px;
	border: 2px solid var( --e-global-color-primary );
	text-decoration: none;
	font-size: 14px;
	line-height: 1;
	color: var( --e-global-color-primary );
}
.lang-toggle__thumb {
	position: absolute;
	left: 2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var( --e-global-color-primary );
	transition: transform .25s ease;
}
.lang-toggle__label {
  font-family: var(--e-global-typography-3ede638-font-family), Sans-serif;
  font-size: var(--e-global-typography-3ede638-font-size);
  font-weight: var(--e-global-typography-3ede638-font-weight);
  text-transform: var(--e-global-typography-3ede638-text-transform);
  font-style: var(--e-global-typography-3ede638-font-style);
  text-decoration: var(--e-global-typography-3ede638-text-decoration);
  line-height: 1em;
  letter-spacing: var(--e-global-typography-3ede638-letter-spacing);
  word-spacing: var(--e-global-typography-3ede638-word-spacing);
  color: var( --e-global-color-primary );
	position: relative;
	z-index: 1;
}
.lang-toggle--bg .lang-toggle__thumb {
	transform: translateX(0);
}
.lang-toggle--en .lang-toggle__thumb {
	transform: translateX(30px);
}
.lang-toggle--bg .lang-toggle__label:nth-child(2){
	color:transparent;
}
.lang-toggle--bg .lang-toggle__label:nth-child(3){
	padding: 0 8px 0 6px;
}
.lang-toggle--en .lang-toggle__label:nth-child(3){
	color:transparent;
}
.lang-toggle--en .lang-toggle__label:nth-child(2){
	padding: 0 6px 0 8px;
}

/* Hero Heading */
.hero-heading {
  text-indent: 8em;
  opacity: 0;
  transform: translateY(120px);
  animation: fadeUp 0.5s ease-out forwards;
}
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(120px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-heading .nowrap {
  display: inline;
  white-space: nowrap;
}
.hero-heading .deco {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
}
.hero-heading .deco img {
  display: inline-block;
  max-width: 1em;
  max-height: 1em;
  position: relative;
}
.deco-arrow img {
  top: .2em;
  mask-image: linear-gradient(to right, black 0%, black 100%);
  -webkit-mask-image: linear-gradient(to right, black 0%, black 100%);
  mask-size: 0% 100%;
  -webkit-mask-size: 0% 100%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  animation: arrow-mask-reveal 1s ease-out forwards;
  animation-delay: .3s;
}
@keyframes arrow-mask-reveal {
  from {
    mask-size: 0% 100%;
    -webkit-mask-size: 0% 100%;
  }
  to {
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
  }
}
.deco-asterisk img {
  top: .25em;
  transform: rotate(0deg);
  opacity: 0;
  animation: asterisk-spin-in 0.6s ease-out forwards, asterisk-spin-slow 6s linear infinite;
  animation-delay: 1.2s, 1.8s;
}
@keyframes asterisk-spin-in {
  0% {
    transform: rotate(0deg) scale(.8);
    opacity: 0;
  }
  100% {
    transform: rotate(360deg) scale(1);
    opacity: 1;
  }
}
@keyframes asterisk-spin-slow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.hero-heading .last-line {
	display: inline !important;
	padding-left: .1em;
	overflow: hidden;
	max-height: 0;
	animation: last-line-curtain 1s ease-out forwards;
	animation-delay: .5s;
}
.hero-heading .last-line span {
	display: inline-block;
}
@keyframes last-line-curtain {
	from {
		max-height: 0;
	}
	99% {
		max-height: 2em;
	}
	100% {
		max-height: 2em;
		overflow: visible;
	}
}

/* Hero Image */
.hero-image {
  transition: padding 0.8s ease;
}
.hero-image.active {
  padding-left: 0;
  padding-right: 0;
}
.hero-image img {
  transition: border-radius 0.8s ease;
}
.hero-image.active img {
  border-radius: 0 !important;
}

/* Masonry Loop Grid */
.masonry-loop-grid .elementor-loop-container {
  display: block !important;
  position: static !important;
  column-count: 2;
  column-gap: 80px;
}
.masonry-loop-grid .elementor-loop-container .e-loop-item {
  display: inline-block;
  width: 100%;
  margin: 0 0 80px 0;
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin-top: 0 !important;
  break-inside: avoid;
}
.masonry-loop-grid .e-loop-item > .e-con,
.masonry-loop-grid .e-loop-item > a.e-con {
  width: 100%;
}
  @media (min-width: 1800px) {
  .masonry-loop-grid .elementor-loop-container {
    column-count: 3;
    column-gap: 100px; /* можеш да смениш */
  }
  .masonry-loop-grid .elementor-loop-container .e-loop-item {
    margin-bottom: 100px; /* можеш да смениш */
  }
  }
  @media (max-width: 1024px) and (min-width: 768px) {
    .masonry-loop-grid .elementor-loop-container {
      column-count: 2;
      column-gap: 56px;
    }
    .masonry-loop-grid .elementor-loop-container .e-loop-item {
      margin-bottom: 56px;
    }
  }
  @media (max-width: 767px) {
    .masonry-loop-grid .elementor-loop-container {
      column-count: 1;
      column-gap: 40px;
    }
    .masonry-loop-grid .elementor-loop-container .e-loop-item {
      margin-bottom: 40px;
    }
  }

/* Loop Items Templates */
body:not(.elementor-editor-active) .masonry-loop-grid .layout-dafault,
body:not(.elementor-editor-active) .masonry-loop-grid .layout-default,
body:not(.elementor-editor-active) .masonry-loop-grid .layout-alt,
body:not(.elementor-editor-active) .masonry-loop-grid .layout-cta {
  display:none!important;
}
body:not(.elementor-editor-active) .masonry-loop-grid .tmpl-default .layout-dafault,
body:not(.elementor-editor-active) .masonry-loop-grid .tmpl-default .layout-default {
  display:flex!important;
}
body:not(.elementor-editor-active) .masonry-loop-grid .tmpl-alt .layout-alt {
  display:flex!important;
}
body:not(.elementor-editor-active) .masonry-loop-grid .tmpl-cta .layout-cta {
  display:flex!important;
}
body:not(.elementor-editor-active) .masonry-loop-grid .e-loop-item:not([class*="tmpl-"]) .layout-dafault,
body:not(.elementor-editor-active) .masonry-loop-grid .e-loop-item:not([class*="tmpl-"]) .layout-default {
  display:flex!important;
}

/* Deliverables List */
.deliverables-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 32px;
  font-family: var(--e-global-typography-3ede638-font-family), Sans-serif;
  font-size: var(--e-global-typography-3ede638-font-size);
  font-weight: var(--e-global-typography-3ede638-font-weight);
  text-transform: var(--e-global-typography-3ede638-text-transform);
  font-style: var(--e-global-typography-3ede638-font-style);
  text-decoration: var(--e-global-typography-3ede638-text-decoration);
  line-height: var(--e-global-typography-3ede638-line-height);
  letter-spacing: var(--e-global-typography-3ede638-letter-spacing);
  word-spacing: var(--e-global-typography-3ede638-word-spacing);
}
.deliverables-list .deliverable-item {
  position: relative;
  padding-left: 32px;
  line-height: 1.4;
}
.deliverables-list .deliverable-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
}
.deliverables-list .gdpr::before {
  background-image: url('/wp-content/uploads/2025/10/icon-gdpr-dark.svg');
}
.deliverables-list .speed_optimization::before {
  background-image: url('/wp-content/uploads/2025/10/icon-speed-optimization-dark.svg');
}
.deliverables-list .onpage_seo::before {
  background-image: url('/wp-content/uploads/2025/10/icon-onpage-seo-dark.svg');
}
.deliverables-list .banner_system::before {
  background-image: url('/wp-content/uploads/2025/10/icon-banner-system-dark.svg');
}
.deliverables-list .facebook_pixel::before {
  background-image: url('/wp-content/uploads/2025/10/icon-facebook-pixel-dark.svg');
}
.deliverables-list .integration_econt::before {
  background-image: url('/wp-content/uploads/2025/10/icon-integration-econt-dark.svg');
}
.deliverables-list .integration_speedy::before {
  background-image: url('/wp-content/uploads/2025/10/icon-integration-speedy-dark.svg');
}
.deliverables-list .onepage_checkout::before {
  background-image: url('/wp-content/uploads/2025/10/icon-onepage-checkout-dark.svg');
}
.deliverables-list .seo_audit::before {
  background-image: url('/wp-content/uploads/2025/10/icon-seo-audit-dark.svg');
}
.deliverables-list .remarketing_tools::before {
  background-image: url('/wp-content/uploads/2025/10/icon-remarketing-tools-dark.svg');
}
.deliverables-list .integration_erp::before {
  background-image: url('/wp-content/uploads/2025/10/icon-integration-erp-dark.svg');
}
.deliverables-list .product_feed_facebook::before {
  background-image: url('/wp-content/uploads/2025/10/icon-product-feed-facebook-dark.svg');
}
.deliverables-list .integration_pazaruvaj::before {
  background-image: url('/wp-content/uploads/2025/10/icon-integration-pazaruvaj-dark.svg');
}
.deliverables-list .ux_ui_optimization::before {
  background-image: url('/wp-content/uploads/2025/10/icon-ux-ui-optimization-dark.svg');
}
.deliverables-list .custom_design::before {
  background-image: url('/wp-content/uploads/2025/10/icon-custom-design-dark.svg');
}
.deliverables-list .mega_menu::before {
  background-image: url('/wp-content/uploads/2025/10/icon-mega-menu-dark.svg');
}
.deliverables-list .amp::before {
  background-image: url('/wp-content/uploads/2025/10/icon-amp-dark.svg');
}
.deliverables-list .advanced_search::before {
  background-image: url('/wp-content/uploads/2025/10/icon-advanced-search-dark.svg');
}
.deliverables-list .supplier_db_sync::before {
  background-image: url('/wp-content/uploads/2025/10/icon-supplier-db-sync-dark.svg');
}
  @media (max-width: 767px) {
    .deliverables-list {
      grid-template-columns: 1fr;
    }
  }

/* Elementor Carousel */
.swiper-pagination-progressbar {
  top: 100% !important;
}

/* Elementor Accordeon */
.elementor-widget-n-accordion .e-child {
  background: #fff;
  margin-top: -1px;
  border-bottom: 1px solid var( --e-global-color-24db20b ) !important;
}

/* Elementor Pagination */
.elementor-pagination {
  display: flex;
  justify-content: center;
}
.elementor-pagination .prev,
.elementor-pagination .next {
  font-size: 0;
}
.elementor-pagination .prev::before {
  content: '\f474';
  font-family: 'remix-icon' !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  color: var( --e-global-color-secondary );
}
.elementor-pagination .next::after {
  content: '\f48f';
  font-family: 'remix-icon' !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  color: var( --e-global-color-secondary );
}
.elementor-pagination span.prev,
.elementor-pagination span.next {
  opacity: .25;
}
.elementor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
}

/* Elementor Post Content */
.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3 {
  font-family: var(--e-global-typography-ca627d1-font-family), Sans-serif;
  font-size: var(--e-global-typography-ca627d1-font-size);
  font-weight: var(--e-global-typography-ca627d1-font-weight);
  text-transform: var(--e-global-typography-ca627d1-text-transform);
  font-style: var(--e-global-typography-ca627d1-font-style);
  text-decoration: var(--e-global-typography-ca627d1-text-decoration);
  line-height: var(--e-global-typography-ca627d1-line-height);
  letter-spacing: var(--e-global-typography-ca627d1-letter-spacing);
  word-spacing: var(--e-global-typography-ca627d1-word-spacing);
  color: var(--e-global-color-secondary);
}
.elementor-widget-theme-post-content h4,
.elementor-widget-theme-post-content h5,
.elementor-widget-theme-post-content h6 {
  font-family: var(--e-global-typography-22e67f1-font-family), Sans-serif;
  font-size: var(--e-global-typography-22e67f1-font-size);
  font-weight: var(--e-global-typography-22e67f1-font-weight);
  text-transform: var(--e-global-typography-22e67f1-text-transform);
  font-style: var(--e-global-typography-22e67f1-font-style);
  text-decoration: var(--e-global-typography-22e67f1-text-decoration);
  line-height: var(--e-global-typography-22e67f1-line-height);
  letter-spacing: var(--e-global-typography-22e67f1-letter-spacing);
  word-spacing: var(--e-global-typography-22e67f1-word-spacing);
  color: var(--e-global-color-secondary);
}
.elementor-widget-theme-post-content strong {
  font-weight: var( --e-global-typography-3ec70bd-font-weight );
}
.elementor-widget-theme-post-content a {
  text-decoration: underline;
}
.elementor-widget-theme-post-content a:hover {
  text-decoration: none;
}

/* Remove Baseline Gap Under Elementor Icon Widget */
.elementor-element.elementor-element-eafa7df .elementor-icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  vertical-align: middle;
}
.elementor-element.elementor-element-eafa7df .elementor-icon {
  display: block;
  line-height: 1;
}
.elementor-element.elementor-element-eafa7df .elementor-icon i,
.elementor-element.elementor-element-eafa7df .elementor-icon svg {
  display: block;
  line-height: 1;
}
.elementor-element.elementor-element-eafa7df.elementor-widget-icon {
  margin-bottom: 0;
}

/* Blog Post Show One Category Shortcode */
.one-cat-wrapper a {
  color: var( --e-global-color-secondary ) !important;
}
.one-cat-extra {
  font-size: 12px;
  margin-left: 4px;
}

/* Contact Form */
.contact-form .elementor-field {
  padding: 16px 0;
}
.contact-form .elementor-field:focus {
  border: none;
  border-bottom: 1px solid #000 !important;
  box-shadow: none;
}
.contact-form .elementor-button {
  margin-top: 16px;
}
.contact-form .elementor-button .elementor-button-text {
  padding-left: 28px;
}
.contact-form .elementor-button .elementor-button-text::before {
  content: '\f4b7';
  font-family: 'remix-icon' !important;
  font-size: 24px;
  position: absolute;
  left: 8px;
}

@media only screen and (max-width: 1024px) {
  /* General Tablet */
  .text-indent {
    text-indent: 2em;
  }
  /* Hero Heading Tablet */
  .hero-heading {
    text-indent: 4em;
  }
  .hero-heading .last-line {
    padding-left: .01em;
  }
  .elementor-2 .elementor-element.elementor-element-80f32ba {
    overflow-x: auto;
  }
}

@media only screen and (max-width: 767px) {
/* Hero Heading Mobile */
.hero-heading {
  text-indent: 2em;
}
.hero-heading .last-line {
  padding-left: .01em;
}
}
