/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Thème enfant LOVALANCHE (modules sur mesure : effets, vitrine, créateurs, parcours, pop-up Paris)
Author: LOVALANCHE
Template: hello-elementor
Version: 1.2.1
Text Domain: hello-elementor-child
*/

/* Styles communs LOVALANCHE (le reste passe par le kit Elementor et les modules inc/). */

/* Liens dans les textes : soulignés comme sur le site d'origine. */
.elementor-widget-text-editor a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Header : fond opaque quand le menu burger est ouvert (le contenu ne transparaît plus sous le menu). */
.lv-header:has(.elementor-menu-toggle.elementor-active) {
	background-color: var(--e-global-color-primary, #171717) !important;
}

/* Section à grille dynamique (classe lv-masque-si-vide) : masquée tant qu'aucune fiche ne s'y affiche
   (ex. pièces de la Collection Boudoir), elle apparaît seule dès qu'une fiche est rangée dans la catégorie. */
.lv-masque-si-vide:not(:has(.e-loop-item)) {
	display: none;
}

/* Rangée qui défile horizontalement sur mobile (3 visuels et galerie Instagram de l'accueil). */
@media (max-width: 767px) {
	.lv-defile-mobile {
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.lv-defile-mobile::-webkit-scrollbar {
		display: none;
	}
	.lv-defile-mobile > * {
		flex-shrink: 0 !important;
		scroll-snap-align: start;
	}
}

/* Visuels cliquables de l'accueil : pastille « + » en haut à droite. */
.lv-carte-visuel::after {
	content: "+";
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #FFFFFF;
	color: #171717;
	font: 300 26px/34px Arial, sans-serif;
	text-align: center;
	pointer-events: none;
}

/* Galerie Instagram : voile et icône au survol (ordinateur), icône discrète toujours visible sur écran tactile. */
.lv-insta::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: rgba(0, 0, 0, .35) no-repeat center / 34px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.3' cy='6.7' r='.6' fill='%23FFFFFF'/%3E%3C/svg%3E");
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.lv-insta:hover::after,
.lv-insta:focus-visible::after {
	opacity: 1;
}
@media (hover: none) {
	.lv-insta::after {
		inset: auto 10px 10px auto;
		width: 26px;
		height: 26px;
		background-color: transparent;
		background-size: 22px;
		opacity: .9;
	}
}

/* Galerie Instagram de l'accueil : le flux Smash Balloon (lv-insta-flux) remplace la galerie fixe (lv-insta-statique)
   dès qu'il contient des publications ; tant qu'aucun compte n'est connecté, il reste masqué (message d'erreur compris). */
.lv-insta-zone:has(.lv-insta-flux .sbi_item) .lv-insta-statique,
.lv-insta-flux:not(:has(.sbi_item)) {
	display: none;
}
.lv-insta-flux #sb_instagram,
.lv-insta-flux #sb_instagram #sbi_images {
	padding: 0 !important;
}
.lv-insta-flux #sbi_load {
	display: none;
}
.lv-insta-flux .sbi_photo_wrap {
	position: relative;
}
.lv-insta-flux .sbi_photo_wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .35) no-repeat center / 34px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.3' cy='6.7' r='.6' fill='%23FFFFFF'/%3E%3C/svg%3E");
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.lv-insta-flux .sbi_photo_wrap:hover::after,
.lv-insta-flux .sbi_photo_wrap:focus-within::after {
	opacity: 1;
}
@media (hover: none) {
	.lv-insta-flux .sbi_photo_wrap::after {
		inset: auto 8px 8px auto;
		width: 24px;
		height: 24px;
		background-color: transparent;
		background-size: 20px;
		opacity: .9;
	}
}
