/*
	Theme Name: Detect
	Theme URI: https://moiseefweb.com/
	Description: Detect — кастомная тема для проекта Detect Expert, созданная на базе стартовой темы Hello Elementor и оптимизированная под конструктор страниц Elementor.
	Author: Moiseefweb
	Author URI: https://moiseefweb.com/
	Version: 1.0.0
	Stable tag: 1.0.0
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: detect
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

/* ==========================================================================
   Detect theme base styles
   ========================================================================== */

/* Prototype utilities */
.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}

.animate-float {
	animation: float 3s ease-in-out infinite;
}

/* Hide site title site-wide (not needed per design) */
.site-branding .site-title,
.header-inner .site-title {
	display: none !important;
}

/* header styles */
header#detect-site-header a {
    text-decoration: none;
}

/* Language switcher in the desktop header (next to the CTA) */
.detect-header__pll {
	position: relative;
}
.detect-header__pll .pll-parent-menu-item > a:hover {
	color: var(--detect-nav-hover);
}

/* The switcher has been moved out of the menu. */
.detect-header--desktop .detect-header-nav-holder .pll-parent-menu-item {
	display: none !important;
}
/* footer styles */
.detect-footer-column ul {
	list-style: none;
	padding-left: 0;
  }
/* global styles */
.detect-active a{
    color: var(--detect-nav-hover) !important;
}
@media (max-width: 1260px) {
	#my_cont_f {
	  padding-left: 0.5rem;
	  padding-right: 0.5rem;
	}
  }

  @media (max-width: 1023px) {
    div#note_main {
      width: 70%;
    }
  }
/* page webinars styles */
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
.animate-shimmer { background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent); background-size: 200% 100%; animation: shimmer 2s infinite; }

/* carousel */
@media (max-width: 720px) {
  /* Общий контейнер с тегами и временем */
  .webinar-carousel-card-content > a > div.flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  /* Правая карточка на мобильном: категория сверху, длительность снизу (в DOM справа идёт сначала длительность, потом категория) */
  .webinar-carousel-right .webinar-carousel-card-content > a > div.flex {
    flex-direction: column-reverse;
  }

  /* На всякий случай — чтобы бейджи не раздували ширину */
  .webinar-carousel-card-content span {
    white-space: nowrap;
  }
}
/* счетчик */
@media (max-width: 720px) {
  .my-conters-b .text-3xl {
    font-size: 1.4rem;      /* было ~1.875rem */
    line-height: 1.1;
  }

  .my-conters-b .text-sm {
    font-size: 0.75rem;     /* компактнее подпись */
    line-height: 1.2;
  }
}
/* mobile header styles: активный пункт — цвет задаётся переменной мобильного хедера */
.detect-mobile-header__nav.open .detect-active a {
    color: var(--detect-mh-overlay-text-hover) !important;
}

/* width change — universal calc for all wide screens */
@media (min-width: 1906px) {
  div#my_cont_f {
    padding-left: calc((100vw - 1312px) / 2) !important;
    padding-right: calc((100vw - 1312px) / 2) !important;
  }
  .elementor-26 .elementor-element.elementor-element-68ae4cd {
    --padding-left: calc((100vw - 1312px) / 2) !important;
    --padding-right: calc((100vw - 1312px) / 2) !important;
  }
  .elementor-26 .elementor-element.elementor-element-230b1c6,
  .elementor-26 .elementor-element.elementor-element-64b1b5e,
  .elementor-26 .elementor-element.elementor-element-4f19cdf,
  .elementor-26 .elementor-element.elementor-element-ede5616 {
    --padding-left: calc((100vw - 1328px) / 2) !important;
    --padding-right: calc((100vw - 1328px) / 2) !important;
  }
}

/* ==========================================================================
   Bonus unlock modal — градиент (чтобы не перебивали другие стили)
   ========================================================================== */
.vektor-bonus-unlock-modal.from-gray-900.to-gray-950.bg-gradient-to-b,
.vektor-bonus-unlock-modal.bg-gradient-to-b {
	background-image: linear-gradient(to bottom, #111827, #030712);
}

/* Утилиты градиента на случай переопределения Tailwind */
.from-gray-900 {
	--tw-gradient-from: #111827;
	--tw-gradient-from-position: var(--tw-gradient-from-position);
	--tw-gradient-to: rgb(17 24 39 / 0);
	--tw-gradient-to-position: var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-gray-950 {
	--tw-gradient-to: #030712;
	--tw-gradient-to-position: var(--tw-gradient-to-position);
}
.bg-gradient-to-b {
	background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
/* webinar page */
/* Sticky footer на странице вебинара */
#single-webinar-wrap {
	display: flex !important;
	flex-direction: column !important;
	min-height: 100vh !important;
	/* Offset for fixed .detect-header-outer.
	 * --detect-header-h is set by JS from real header bottom-edge (see functions.php:detect_header_height_sync).
	 * Fallback handles first paint / JS-off: 56px mobile, 64px desktop. */
	padding-top: var(--detect-header-h, 56px);
}
@media (min-width: 768px) {
	#single-webinar-wrap {
		padding-top: var(--detect-header-h, 64px);
	}
}
/* Speaker block: avatar stacks above text on mobile, stays 80x80 sidebar on desktop */
.cyz-speaker-avatar-wrap {
	width: 100%;
}
.cyz-speaker-avatar-box {
	width: 100%;
	aspect-ratio: 1 / 1;
}
@media (min-width: 768px) {
	.cyz-speaker-avatar-wrap {
		width: auto;
	}
	.cyz-speaker-avatar-box {
		width: 80px;
		height: 80px;
		aspect-ratio: auto;
	}
}
.single-webinar-main {
	flex: 1 1 0% !important;
	min-height: 0;
}
/* vebinar page: секции попапов RU + EN + UK + ES + PT */
.elementor-315,
.elementor-330,
.elementor-339,
.elementor-873,
.elementor-840,
.elementor-807,
.elementor-878,
.elementor-846,
.elementor-813,
.elementor-882,
.elementor-850,
.elementor-819,
.elementor-887,
.elementor-854,
.elementor-824,
.elementor-891,
.elementor-860,
.elementor-828,
.elementor-895,
.elementor-864,
.elementor-831,
.elementor-900,
.elementor-868,
.elementor-835 {
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Контейнеры внутри секций попапов — обнуляем отступ под футером */
.elementor-element-522f2cc,
.elementor-element-81931f4,
.elementor-element-5cdef87 {
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-315 .e-con-inner,
.elementor-330 .e-con-inner,
.elementor-339 .e-con-inner,
.elementor-873 .e-con-inner,
.elementor-840 .e-con-inner,
.elementor-807 .e-con-inner,
.elementor-878 .e-con-inner,
.elementor-846 .e-con-inner,
.elementor-813 .e-con-inner,
.elementor-882 .e-con-inner,
.elementor-850 .e-con-inner,
.elementor-819 .e-con-inner,
.elementor-887 .e-con-inner,
.elementor-854 .e-con-inner,
.elementor-824 .e-con-inner,
.elementor-891 .e-con-inner,
.elementor-860 .e-con-inner,
.elementor-828 .e-con-inner,
.elementor-895 .e-con-inner,
.elementor-864 .e-con-inner,
.elementor-831 .e-con-inner,
.elementor-900 .e-con-inner,
.elementor-868 .e-con-inner,
.elementor-835 .e-con-inner {
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Urgency bar on webinar: smaller font on mobile so text doesn't wrap to 2 lines */
@media (max-width: 640px) {
  .max-w-7xl:has([data-urgency-countdown]) > .font-semibold {
    font-size: 0.7rem !important;
  }

  /* Stack rows + wrap inner blocks so the bar never overflows the viewport. */
  .urgency-bar > .max-w-7xl {
    flex-direction: column;
    gap: 8px 0 !important;
    padding: 8px 12px !important;
  }
  .urgency-bar > .max-w-7xl > div {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    max-width: 100%;
  }
  /* Slightly tighter title/subtitle so the headline can sit on one line. */
  .urgency-bar > .max-w-7xl > div:first-child > span:nth-child(2) {
    font-size: 13px !important;
  }
  .urgency-bar > .max-w-7xl > div:first-child > span:nth-child(3) {
    font-size: 12px !important;
  }
}

/* Carousel prev/next labels: hide arrows on mobile */
@media (max-width: 640px) {
  .webinar-carousel-arrow {
    display: none;
  }
}

/* Retrodrop card CTA column: full-width buttons on small screens (zaps the 180px min-width). */
@media (max-width: 640px) {
  .cyz-retrodrop-cta {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Webinar hero video: lift it visually on mobile so it doesn't get lost in the feed. */
@media (max-width: 640px) {
  [data-vimeo-quality] {
    border-radius: 20px;
    box-shadow:
      0 0 0 2px rgba(124, 58, 237, .7),
      0 0 28px rgba(124, 58, 237, .5),
      0 18px 44px -10px rgba(124, 58, 237, .7),
      0 4px 14px rgba(0, 0, 0, .4);
  }
}

/* CTA buttons (Elementor academy-cta widget + single-webinar bottom CTA):
   stack to one column on mobile so both buttons share the same full width. */
@media (max-width: 640px) {
  .vektor-cta__buttons,
  .cyz-cta-buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .vektor-cta__buttons > a,
  .cyz-cta-buttons > a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* Hide Discord social icon in footer (no Discord channel right now — kept in
   the markup so we can un-hide later by removing this rule). Covers both
   the Elementor widget and the theme template-part variants. */
.vektor-footer-social-discord,
.detect-footer-social-discord {
  display: none !important;
}

/* switch language  */
a[href="#pll_switcher"] > span {
  display: none;
}
/* mr */
.elementor-widget-vektor-hero{
  margin-top: 3%;
}
@media(max-width: 768px){
  .elementor-widget-vektor-hero{
    margin-top: 10%;
  }
}
/* text a decaration */
a{
  text-decoration: none;
}
/* vektor badge start */
@media (max-width: 767px) {
  :where(.mt-6.rounded-2xl) > .p-1[style*="linear-gradient"] 
    .flex.items-center.gap-3 {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
/* vektor badge end */
/* vektor speaker start */
.elementor-widget-vektor-speaker .elementor-widget-container{
  background: none !important;
}
/* vektor speaker end */  
/* cart webinar start */
.c-m-title-box {
  display: none !important;
}
/* cart webinar end */
.vektor-filter__views {
  bottom: 0.2rem;
}