/* Couleur principale : Rouge Bordeaux Élégant */
:root {
	--primary-color: #8B1538; /* Rouge bordeaux élégant */
	--primary-dark: #6B0F2A; /* Bordeaux foncé */
	--primary-light: #A51D48; /* Bordeaux clair */
	--primary-gradient: linear-gradient(135deg, #8B1538 0%, #A51D48 100%); /* Dégradé bordeaux */
	--primary-shadow: rgba(139, 21, 56, 0.3);
	--primary-hover: #6B0F2A;
	--gold-color: #8B1538; /* Rouge bordeaux */
	--gold-dark: #6B0F2A; /* Bordeaux foncé */
}

/* Remplacement des couleurs bleues/violettes par le rose */
.cl1, .hov-cl1:hover {
	color: var(--primary-color) !important;
}

.cl4 {
	color: #999;
}

/* Boutons et backgrounds */
.bg3, .bg1 {
	background-color: var(--primary-color) !important;
}

.hov-btn1:hover,
.hov-btn2:hover,
.hov-btn3:hover {
	background-color: var(--primary-color) !important;
}

/* Liens actifs et hover */
.main-menu > li.active-menu > a,
.main-menu > li:hover > a,
.wrap-icon-header .icon-header-item:hover {
	color: var(--primary-color) !important;
}

/* Boutons de formulaire */
.btn-submit,
.flex-c-m.stext-101.cl0.size-101.bg1.bor1.hov-btn1,
.flex-c-m.stext-101.cl0.size-103.bg1.bor1.hov-btn2 {
	background: var(--primary-gradient) !important;
}

.btn-submit:hover {
	box-shadow: 0 8px 25px var(--primary-shadow) !important;
}

/* Icônes de contact */
.contact-icon {
	background: var(--primary-gradient) !important;
	box-shadow: 0 4px 15px var(--primary-shadow) !important;
}

.contact-details a:hover {
	color: var(--primary-color) !important;
}

.social-icon:hover {
	background: var(--primary-gradient) !important;
	box-shadow: 0 5px 15px var(--primary-shadow) !important;
}

/* Input focus */
.form-input:focus,
.form-textarea:focus {
	border-color: var(--primary-color) !important;
	box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.1) !important;
}

.form-input:focus + .input-icon,
.form-textarea:focus ~ .input-icon {
	color: var(--primary-color) !important;
}

/* Filtres et boutons de catégorie */
.filter-tope-group button.how-active1,
.filter-link-active {
	color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}

/* Produits */
.block2-btn {
	background-color: var(--primary-color) !important;
}

.block2-btn:hover {
	background-color: var(--primary-hover) !important;
}

/* Pagination et liens */
a.hov-cl1:hover {
	color: var(--primary-color) !important;
}

/* Badges et labels */
.badge,
.label1::after {
	background-color: var(--primary-color) !important;
}

/* ============================================
   Styles Professionnels Premium pour le Logo
   ============================================ */

/* Logo texte desktop */
.logo-text {
	display: none !important;
}

.logo:hover .logo-text {
	display: none !important;
}

/* Logo texte mobile */
.logo-text-mobile {
	display: none !important;
}

.logo-mobile:hover .logo-text-mobile {
	display: none !important;
}

/* Conteneur du logo desktop - Style Premium */
.logo {
	position: relative;
	padding: 4px !important;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border-radius: 50% !important;
	width: 100px !important;
	height: 100px !important;
	background-color: #FFD700 !important;
	border: 4px solid #ffffff !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2),
				0 0 0 3px rgba(255, 215, 0, 0.5),
				0 8px 30px rgba(255, 215, 0, 0.3) !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	text-decoration: none !important;
	justify-content: center !important;
}

/* Effet de bordure dorée au survol */
.logo::before {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border-radius: 14px;
	background: linear-gradient(135deg, 
		rgba(255, 215, 0, 0.4) 0%, 
		rgba(255, 199, 0, 0.3) 50%,
		rgba(255, 165, 0, 0.4) 100%);
	opacity: 0;
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: -1;
	filter: blur(4px);
}

.logo:hover::before {
	opacity: 1;
	filter: blur(6px);
}

/* Effet de halo lumineux */
.logo::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	border-radius: 12px;
	background: radial-gradient(circle at center, 
		rgba(255, 215, 0, 0.15) 0%, 
		rgba(255, 215, 0, 0) 70%);
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 0;
	pointer-events: none;
}

.logo:hover::after {
	opacity: 1;
}

/* Image du logo desktop - Style Premium */
.logo img {
	max-width: 200px !important;
	max-height: 75px !important;
	height: auto;
	width: auto;
	object-fit: contain;
	border-radius: 8px;
	transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
	filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.12)) 
			drop-shadow(0 6px 16px rgba(255, 215, 0, 0.2))
			brightness(1.02) 
			contrast(1.05);
	background: transparent;
	padding: 6px;
	position: relative;
	z-index: 1;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transform-style: preserve-3d;
}

.logo:hover img {
	transform: scale(1.08) translateY(-3px) rotateX(2deg);
	filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.18)) 
			drop-shadow(0 10px 30px rgba(255, 215, 0, 0.35))
			drop-shadow(0 0 25px rgba(255, 215, 0, 0.4))
			brightness(1.05) 
			contrast(1.08)
			saturate(1.1);
}

.logo:active img {
	transform: scale(1.03) translateY(-1px);
	transition: all 0.2s ease;
}

/* Logo mobile - Style Premium */
.logo-mobile {
	position: relative;
	padding: 8px 12px;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(255, 215, 0, 0.08) 0%, rgba(255, 199, 0, 0.08) 100%);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05),
				0 0 0 1px rgba(255, 215, 0, 0.1) inset;
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
}

.logo-mobile::before {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border-radius: 12px;
	background: linear-gradient(135deg, 
		rgba(255, 215, 0, 0.35) 0%, 
		rgba(255, 199, 0, 0.25) 50%,
		rgba(255, 165, 0, 0.35) 100%);
	opacity: 0;
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: -1;
	filter: blur(3px);
}

.logo-mobile:hover::before {
	opacity: 1;
	filter: blur(5px);
}

.logo-mobile::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background: radial-gradient(circle at center, 
		rgba(255, 215, 0, 0.12) 0%, 
		rgba(255, 215, 0, 0) 70%);
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 0;
	pointer-events: none;
}

.logo-mobile:hover::after {
	opacity: 1;
}

.logo-mobile a {
	display: block;
	transition: all 0.3s ease;
	position: relative;
	z-index: 1;
}

.logo-mobile img {
	max-width: 150px !important;
	max-height: 55px !important;
	height: auto;
	width: auto;
	object-fit: contain;
	border-radius: 6px;
	transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.12)) 
			drop-shadow(0 4px 14px rgba(255, 215, 0, 0.2))
			brightness(1.02) 
			contrast(1.05);
	background: transparent;
	padding: 4px;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	bottom: auto !important;
	margin: 0 auto !important;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.logo-mobile:hover img {
	transform: scale(1.06) translateY(-2px);
	filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.18)) 
			drop-shadow(0 8px 24px rgba(255, 215, 0, 0.35))
			drop-shadow(0 0 20px rgba(255, 215, 0, 0.4))
			brightness(1.05) 
			contrast(1.08)
			saturate(1.1);
}

/* Animation de brillance sophistiquée */
@keyframes logoGlow {
	0%, 100% {
		filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.12)) 
				drop-shadow(0 6px 16px rgba(255, 215, 0, 0.2))
				brightness(1.02) 
				contrast(1.05);
	}
	50% {
		filter: drop-shadow(0 5px 18px rgba(0, 0, 0, 0.16)) 
				drop-shadow(0 10px 28px rgba(255, 215, 0, 0.3))
				drop-shadow(0 0 20px rgba(255, 215, 0, 0.35))
				brightness(1.04) 
				contrast(1.07);
	}
}

@keyframes logoShimmer {
	0% {
		background-position: -200% center;
	}
	100% {
		background-position: 200% center;
	}
}

.logo img,
.logo-mobile img {
	animation: logoGlow 4s ease-in-out infinite;
}

/* Effet de brillance supplémentaire au chargement */
.logo img::after,
.logo-mobile img::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, 
		transparent, 
		rgba(255, 255, 255, 0.4), 
		transparent);
	animation: logoShimmer 3s ease-in-out infinite;
}

/* Responsive - Ajustements pour petits écrans */
@media (max-width: 768px) {
	.logo img {
		max-width: 160px !important;
		max-height: 60px !important;
	}
	
	.logo {
		padding: 8px 12px;
		margin-right: 15px;
	}
}

@media (max-width: 480px) {
	.logo img {
		max-width: 140px !important;
		max-height: 50px !important;
	}
	
	.logo-mobile img {
		max-width: 130px !important;
		max-height: 48px !important;
	}
	
	.logo-mobile {
		padding: 6px 10px;
	}
}

/* ============================================
   Variante logo circulaire
   ============================================ */

/* Desktop : conteneur circulaire premium - Style identique à la page de connexion */
.logo {
	border-radius: 50% !important;
	width: 100px !important;
	height: 100px !important;
	padding: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	background-color: #FFD700 !important;
	border: 2px solid rgba(255, 255, 255, 0.9) !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2),
				0 0 0 3px rgba(255, 215, 0, 0.5),
				0 8px 30px rgba(255, 215, 0, 0.3) !important;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	position: relative !important;
}

.logo::before {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border-radius: 50%;
	background: linear-gradient(135deg, #FFD700 0%, #FFC700 50%, #FFA500 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: -1;
	filter: blur(8px);
}

.logo:hover::before {
	opacity: 0.6;
}

.logo:hover {
	transform: scale(1.1) translateY(-5px) rotate(5deg) !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3),
				0 0 0 4px rgba(255, 215, 0, 0.6),
				0 12px 40px rgba(255, 215, 0, 0.5) !important;
	filter: brightness(1.05) drop-shadow(0 0 20px rgba(255, 215, 0, 0.6)) !important;
}

.logo img,
.logo .logo-img {
	border-radius: 50% !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	transition: all 0.4s ease !important;
	display: block !important;
}

.logo:hover img {
	filter: brightness(1.1) !important;
}

/* Animation de brillance pour le logo du header */
@keyframes headerLogoGlow {
	0%, 100% {
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2),
					0 0 0 3px rgba(255, 215, 0, 0.5),
					0 8px 30px rgba(255, 215, 0, 0.3);
	}
	50% {
		box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25),
					0 0 0 4px rgba(255, 215, 0, 0.6),
					0 12px 40px rgba(255, 215, 0, 0.5);
	}
}

.logo {
	animation: headerLogoGlow 3s ease-in-out infinite !important;
}

/* Mobile : logo rond plus compact - Style identique */
.logo-mobile {
	border-radius: 50% !important;
	width: 80px !important;
	height: 80px !important;
	padding: 4px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	background-color: #FFD700 !important;
	border: 3px solid #ffffff !important;
	box-shadow: 0 5px 18px rgba(0, 0, 0, 0.2),
				0 0 0 2px rgba(255, 215, 0, 0.5),
				0 7px 25px rgba(255, 215, 0, 0.3) !important;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	position: relative !important;
}

.logo-mobile::before {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border-radius: 50%;
	background: linear-gradient(135deg, #FFD700 0%, #FFC700 50%, #FFA500 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: -1;
	filter: blur(6px);
}

.logo-mobile:hover::before {
	opacity: 0.6;
}

.logo-mobile:hover {
	transform: scale(1.08) translateY(-3px) !important;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3),
				0 0 0 3px rgba(255, 215, 0, 0.6),
				0 10px 35px rgba(255, 215, 0, 0.5) !important;
}

.logo-mobile img,
.logo-mobile .logo-img-mobile {
	border-radius: 50% !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	transition: all 0.4s ease !important;
	display: block !important;
}

.logo-mobile:hover img {
	filter: brightness(1.1) !important;
}

