/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/

/* =Theme customization starts here
------------------------------------------------------- */

:root {
	--color-primary: #00442E;
	--color-secondary: #F2A900;
	--color-secondary-soft: #FFC34A;
}

/* === Smooth scroll pour les ancres du menu ===
   L'offset d'ancre (scroll-padding-top) est défini une seule fois dans
   header.css, calculé sur --vo-header-height pour rester cohérent avec
   la hauteur réelle du header fixe. Ne pas le redéclarer ici. */
html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* === Texte ferré à gauche plutôt que justifié ===
   Le justifié (réglage « Justifié » des modules Divi → classes
   .et_pb_text_align_justified*) crée des espaces irréguliers et des
   « rivières » blanches, surtout sur les colonnes étroites en mobile.
   On force l'alignement à gauche partout pour une meilleure lisibilité.
   !important car le CSS Divi est injecté en inline (gagne sur l'ordre). */
.et_pb_module.et_pb_text_align_justified,
.et_pb_module.et_pb_text_align_justified-tablet,
.et_pb_module.et_pb_text_align_justified-phone {
	text-align: left !important;
}

/* === Titre : marque sur sa propre ligne en mobile ===
   À mettre sur un module Titre dont le 1er <span> contient la marque
   (ex. « VO&CO »). Sur mobile, ce span passe en bloc → la marque occupe
   la 1re ligne et le reste du titre (« c'est sûr ? ») descend dessous.
   Aucun effet en desktop. */
@media (max-width: 767px) {
	.vo-title-stack span {
		display: block;
	}
}

/* === Module image avec classe custom .zoom-img === */

.zoom-img {
	position: relative;
}

.zoom-img .et_pb_image_wrap {
	display: block;
	overflow: hidden;
}

.zoom-img .et_pb_image_wrap img {
	display: block;
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
				filter 0.5s ease;
	will-change: transform;
}

.zoom-img:hover .et_pb_image_wrap img {
	transform: scale(1.07);
	filter: brightness(1.04) saturate(1.08);
}

/* Carré jaune décoratif en haut à droite */
.zoom-img::after {
	content: "";
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	background-color: var(--color-secondary);
	pointer-events: none;
	z-index: 2;
	transition: transform 0.4s ease;
}

.zoom-img:hover::after {
	transform: translate(-3px, 3px);
}