/* Visual repair pass 2026-07-11: keep archived text/content, restore a static
   e-commerce layout around missing Elementor/WooCommerce runtime assets. */
.ast-theme-transparent-header #masthead,
.ast-theme-transparent-header .main-header-bar,
.ast-primary-sticky-enabled #masthead,
#masthead {
  position: relative !important;
  inset: auto !important;
  background: #fff !important;
}

.main-header-bar .main-header-bar-navigation,
.ast-main-header-bar-alignment,
.main-header-bar-navigation {
  display: block !important;
}

.ast-masthead-custom-menu-items,
.ast-site-header-cart,
.ast-woo-header-cart-info-wrap,
.ast-cart-menu-wrap,
.swiper-pagination,
.elementor-swiper-button,
.elementor-screen-only {
  display: none !important;
}

.site-branding p,
.site-branding .site-title,
.site-branding .site-description {
  margin: 0;
}

.site-branding p:first-child a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: transparent !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
}

.site-branding p:first-child a::before {
  content: "VIDA";
  color: #151515;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: .02em;
}

.site-branding p:first-child a::after {
  content: "TRACK";
  color: #f28a18;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: .02em;
}

.site-branding .site-description,
.site-branding p:nth-child(2) {
  color: #5f6871;
  font-size: 13px;
  margin-top: 2px;
}

.main-header-menu > li > a,
.main-header-menu .menu-link {
  color: #111 !important;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.main-header-menu > li.current-menu-item > a,
.main-header-menu > li > a:hover {
  color: #ef7d00 !important;
}

.elementor-section:first-of-type {
  padding-top: 44px !important;
}

.elementor-section:first-of-type .elementor-headline {
  display: block;
  margin: 0 0 34px;
  color: #2c3238;
  font-size: clamp(38px, 6.8vw, 76px);
  line-height: .98;
  letter-spacing: 0;
  max-width: 950px;
}

.elementor-section:first-of-type .elementor-headline-dynamic-wrapper {
  display: none !important;
}

.elementor-section:first-of-type .elementor-slides-wrapper {
  border-radius: 0;
  box-shadow: 0 24px 55px rgba(12, 24, 34, .12);
}

.swiper-slide,
.elementor-repeater-item-a0562a8,
.elementor-repeater-item-aa6f963,
.elementor-repeater-item-0e94280 {
  min-height: 485px !important;
  background:
    radial-gradient(circle at 78% 45%, rgba(255,255,255,.12) 0 0, transparent 30%),
    linear-gradient(110deg, rgba(20,27,33,.96), rgba(47,62,73,.94)) !important;
  position: relative;
  overflow: hidden;
}

.swiper-slide::after,
.elementor-repeater-item-a0562a8::after,
.elementor-repeater-item-aa6f963::after,
.elementor-repeater-item-0e94280::after {
  content: none;
  position: absolute;
  right: clamp(18px, 3vw, 44px);
  top: 50%;
  width: clamp(135px, 20vw, 250px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  border-radius: 24px;
  background: linear-gradient(145deg, #f8fbfd, #b9c5cc);
  box-shadow: inset 0 -18px 45px rgba(0,0,0,.12), 0 24px 70px rgba(0,0,0,.25);
  opacity: .34;
  z-index: 0;
}

.swiper-slide::before,
.elementor-repeater-item-a0562a8::before,
.elementor-repeater-item-aa6f963::before,
.elementor-repeater-item-0e94280::before {
  content: none;
  position: absolute;
  right: clamp(48px, 9vw, 126px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
  font-size: clamp(34px, 6vw, 82px);
  font-weight: 900;
  color: rgba(30,45,56,.14);
  letter-spacing: .04em;
}

.swiper-slide-inner,
.elementor-slide-inner {
  position: relative;
  z-index: 2;
}

.elementor-slide-contents {
  max-width: 760px;
}

.elementor-slide-heading {
  font-size: clamp(34px, 5vw, 66px) !important;
  line-height: 1.08;
  margin-bottom: 18px;
}

.elementor-slide-description {
  max-width: 720px;
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.55;
}

.elementor-slide-button {
  margin-top: 28px !important;
  padding: 17px 28px !important;
}

.elementor-widget-star-rating {
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 0;
}

.elementor-star-rating__wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #2e3740;
}

.elementor-star-rating::before {
  content: "★★★★★";
  color: #f6a900;
  letter-spacing: 2px;
  font-size: 20px;
}

.elementor-divider,
.elementor-divider-separator {
  display: none !important;
}

.elementor-section[data-settings*="gradient"] {
  background: linear-gradient(135deg, #f4f7f8, #fff) !important;
}

.elementor-section[data-settings*="gradient"] .elementor-row {
  align-items: center;
}

.elementor-section[data-settings*="gradient"] .elementor-column:last-child .elementor-widget-wrap::before,
.elementor-widget-image .elementor-image:empty::before {
  content: "TELTONIKA";
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 330px;
  border-radius: 8px;
  background: radial-gradient(circle at 50% 42%, #fff 0 0, #dfe7eb 46%, #b9c8d0 100%);
  color: #586773;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 900;
  letter-spacing: .08em;
  box-shadow: 0 22px 50px rgba(26,45,58,.14);
}

.woocommerce ul.products li.product::before,
.products li.product::before,
.product_list_widget li::before {
  background: linear-gradient(150deg, #fff, #dbe4e9) !important;
}

.woocommerce ul.products li.product::after,
.products li.product::after {
  content: "TELTONIKA" !important;
  color: #4b5b66 !important;
}

.woocommerce ul.products li.product .button,
.products li.product .button {
  width: 100%;
  margin-top: auto;
}

.ast-shop-product-out-of-stock {
  display: inline-flex;
  position: absolute;
  left: 18px;
  top: 18px;
  z-index: 2;
  background: #1c252d;
  color: #fff;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .main-header-container {
    align-items: center !important;
  }

  .main-header-bar .ast-container,
  .main-header-container {
    gap: 16px !important;
  }

  .main-header-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 0 12px;
  }

  .main-header-menu > li > a,
  .main-header-menu .menu-link {
    font-size: 12px !important;
    padding: 7px 0 !important;
  }

  .elementor-section:first-of-type {
    padding-top: 30px !important;
  }

  .elementor-section:first-of-type .elementor-headline {
    font-size: 34px;
    margin-bottom: 22px;
  }

  .swiper-slide,
  .elementor-repeater-item-a0562a8,
  .elementor-repeater-item-aa6f963,
  .elementor-repeater-item-0e94280 {
    min-height: 430px !important;
  }

  .swiper-slide::after,
  .swiper-slide::before,
  .elementor-repeater-item-a0562a8::after,
  .elementor-repeater-item-a0562a8::before,
  .elementor-repeater-item-aa6f963::after,
  .elementor-repeater-item-aa6f963::before,
  .elementor-repeater-item-0e94280::after,
  .elementor-repeater-item-0e94280::before {
    opacity: .18;
    right: -70px;
  }

  .elementor-slide-heading {
    font-size: 34px !important;
  }

  .elementor-star-rating__wrapper {
    flex-direction: column;
    gap: 4px;
    text-align: center;
  }
}

.products li.product.has-product-image::before,
.woocommerce ul.products li.product.has-product-image::before,
.products li.product.has-product-image::after,
.woocommerce ul.products li.product.has-product-image::after {
  display: none !important;
}

.astra-shop-thumbnail-wrap {
  display: block;
  margin-bottom: 10px;
}

.astra-shop-thumbnail-wrap a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / .72;
  overflow: hidden;
  border: 1px solid #e4e8ec;
  border-radius: 4px;
  background: #fff;
}

.vidatrack-product-image {
  width: 100%;
  height: 100%;
  padding: 14px;
  object-fit: contain;
  background: #fff;
}

.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
}

.single-product .woocommerce-product-gallery::before {
  display: none !important;
}

.woocommerce-product-gallery__wrapper {
  margin: 0;
}

.woocommerce-product-gallery__image a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  border-radius: 4px;
  background: #fff;
}

.vidatrack-main-product-image {
  width: 100%;
  max-height: 420px;
  padding: 18px;
  object-fit: contain;
}

.ast-shop-product-out-of-stock {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
}
