/* Виджеты «Венера-М». Классы совпадают с Elementor Pro, чтобы работали старые правила из «Дополнительных стилей». */

/* ---------- Общие: стрелки и точки ---------- */
.venera-slideshow .swiper,
.venera-hero .swiper { position: relative; overflow: hidden; }

.venera-slideshow .elementor-swiper-button,
.venera-hero .elementor-swiper-button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: inline-flex;
	cursor: pointer;
	font-size: 25px;
	color: hsla(0, 0%, 93%, .9);
	line-height: 1;
}
.venera-slideshow .elementor-swiper-button-prev,
.venera-hero .elementor-swiper-button-prev { left: 10px; }
.venera-slideshow .elementor-swiper-button-next,
.venera-hero .elementor-swiper-button-next { right: 10px; }
.venera-slideshow .elementor-swiper-button.swiper-button-disabled,
.venera-hero .elementor-swiper-button.swiper-button-disabled { opacity: .3; }

.venera-slideshow .swiper-pagination-bullet,
.venera-hero .swiper-pagination-bullet {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 6px;
	border-radius: 50%;
	background: #000;
	opacity: .2;
	cursor: pointer;
}
.venera-slideshow .swiper-pagination-bullet-active,
.venera-hero .swiper-pagination-bullet-active { opacity: 1; }

/* ---------- Слайдшоу ---------- */
.venera-slideshow .elementor-carousel-image {
	height: 100%;
	position: relative;
	background: no-repeat 50%;
	background-size: cover;
}
.venera-slideshow .venera-main .swiper-slide > a { display: block; height: 100%; }

.venera-slideshow.elementor-skin-slideshow .elementor-main-swiper { height: 450px; }
.venera-slideshow .elementor-thumbnails-swiper .swiper-slide { cursor: pointer; position: relative; }
.venera-slideshow .elementor-thumbnails-swiper .swiper-slide:not(.swiper-slide-thumb-active)::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, .3);
	pointer-events: none;
}
.venera-slideshow .elementor-fit-aspect-ratio { height: auto; }
.venera-slideshow .elementor-fit-aspect-ratio::before { content: ""; display: block; padding-bottom: 75%; }
.venera-slideshow.elementor-aspect-ratio-169 .elementor-fit-aspect-ratio::before { padding-bottom: 56.25%; }
.venera-slideshow.elementor-aspect-ratio-32 .elementor-fit-aspect-ratio::before { padding-bottom: 66.6666%; }
.venera-slideshow.elementor-aspect-ratio-11 .elementor-fit-aspect-ratio::before { padding-bottom: 100%; }

/* Карусель без миниатюр: точки под фото */
.venera-slideshow.elementor-skin-carousel .elementor-main-swiper { height: 230px; padding-bottom: 30px; }
.venera-slideshow.elementor-skin-carousel .elementor-swiper-button { top: calc(50% - 15px); }
.venera-slideshow.elementor-skin-carousel .swiper-pagination {
	position: absolute;
	bottom: 5px;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 10;
}

/* ---------- Слайдер с заголовками ---------- */
.venera-hero .swiper-slide { position: relative; overflow: hidden; height: 400px; }
.venera-hero .swiper-slide-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.venera-hero .swiper-slide-inner {
	position: absolute;
	inset: 0;
	padding: 50px;
	margin: auto;
	display: flex;
	color: #fff;
	text-decoration: none;
}
.venera-hero.elementor--v-position-middle .swiper-slide-inner { align-items: center; }
.venera-hero.elementor--h-position-center .swiper-slide-inner { justify-content: center; text-align: center; }
.venera-hero .swiper-slide-contents { position: relative; z-index: 1; }
.venera-hero .elementor-slide-heading { font-size: 35px; font-weight: 700; line-height: 1; }
.venera-hero .elementor-slide-description { font-size: 17px; line-height: 1.4; }
.venera-hero .elementor-slide-heading:not(:last-child),
.venera-hero .elementor-slide-description:not(:last-child) { margin-bottom: 30px; }
.venera-hero .elementor-slide-button { display: inline-block; border: 2px solid #fff; color: inherit; }
.venera-hero .swiper-pagination {
	position: absolute;
	bottom: 5px;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 10;
}

.venera-hero .elementor-ken-burns { transition-property: transform; transition-duration: 10s; transition-timing-function: linear; }
.venera-hero .elementor-ken-burns--out { transform: scale(1.3); }
.venera-hero .elementor-ken-burns--active { transition-duration: 20s; }
.venera-hero .elementor-ken-burns--active.elementor-ken-burns--out { transform: scale(1); }
.venera-hero .elementor-ken-burns--active.elementor-ken-burns--in { transform: scale(1.3); }

@media (max-width: 767px) {
	.venera-hero .swiper-slide-inner { padding: 30px; }
	.venera-hero .elementor-slide-heading { font-size: 23px; margin-bottom: 15px; }
	.venera-hero .elementor-slide-description { font-size: 13px; margin-bottom: 15px; }
}

@media (prefers-reduced-motion: reduce) {
	.venera-hero .elementor-ken-burns { transition: none; transform: none !important; }
}

/* ---------- Галерея с вкладками ---------- */
.venera-gallery .elementor-gallery__titles-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 2em;
}
.venera-gallery .elementor-gallery-title {
	padding: 7px 10px;
	cursor: pointer;
	color: #020202;
	text-decoration: none;
	font-weight: 600;
	transition: color .3s;
}
.venera-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	align-items: start;
}
.venera-gallery .e-gallery-item { display: block; overflow: hidden; line-height: 0; }
.venera-gallery .e-gallery-item[hidden] { display: none; }
.venera-gallery .elementor-gallery-item__image {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .8s, filter .3s;
}
.venera-gallery .e-gallery-item:hover .elementor-gallery-item__image,
.venera-gallery .e-gallery-item:focus .elementor-gallery-item__image { transform: scale(1.1); filter: brightness(128%); }
