@font-face { font-family: 'Archivo'; src: url('fonts/archivo-regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/archivo-italic.ttf') format('truetype'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/archivo-bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/archivo-bolditalic.ttf') format('truetype'); font-weight: 700; font-style: italic; font-display: swap; }

@font-face { font-family: 'Euclid Circular A'; src: url('fonts/Euclid-Circular-A-Light.ttf') format('truetype'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Euclid Circular A'; src: url('fonts/Euclid-Circular-A-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Euclid Circular A'; src: url('fonts/Euclid-Circular-A-Medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Euclid Circular A'; src: url('fonts/Euclid-Circular-A-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Euclid Circular A'; src: url('fonts/Euclid-Circular-A-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }

@font-face { font-family: 'Euclid Triangle'; src: url('fonts/EuclidTriangleLight.ttf') format('truetype'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Euclid Triangle'; src: url('fonts/EuclidTriangleRegular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Euclid Triangle'; src: url('fonts/EuclidTriangleMedium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Euclid Triangle'; src: url('fonts/EuclidTriangleBold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }

body, p, a, li, span, input, textarea, button {
	font-family: 'Archivo', Arial, Helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	font-family: 'Euclid Triangle', Arial, sans-serif;
	font-weight: 700;
}

.elementor-widget-theme-site-logo img { max-height: 55px; width: auto; }
.soca-lang-switcher { display: flex; gap: 10px; justify-content: flex-end; align-items: center; }
.soca-lang-switcher ul { display: flex; gap: 10px; list-style: none; margin: 0; padding: 0; }
.soca-lang-switcher img { width: 22px; height: auto; }

.custom-logo { max-height: 55px !important; width: auto !important; }

/* Formulaire de contact stylise */
.soca-contact-card .wpcf7-form p { margin-bottom: 22px; }
.soca-contact-card .wpcf7-form label { display:block; font-family:'Archivo',Arial,sans-serif; font-weight:600; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#8C8272; margin-bottom:10px; }
.soca-contact-card .wpcf7-form-control { width:100%; border:none; border-bottom:1px solid #D9D0C1; border-radius:0; padding:10px 2px; font-family:'Archivo',Arial,sans-serif; font-size:15px; color:#2B2B28; background:transparent; transition:border-color .2s ease; }
.soca-contact-card .wpcf7-form-control:focus { outline:none; border-bottom-color:#A69881; }
.soca-contact-card textarea.wpcf7-form-control { border:1px solid #D9D0C1; border-radius:4px; padding:12px; min-height:120px; }
.soca-contact-card textarea.wpcf7-form-control:focus { border-color:#A69881; }
.soca-contact-card .wpcf7-submit { background:#A69881; color:#ffffff; border:none; border-radius:2px; padding:15px 36px; font-family:'Archivo',Arial,sans-serif; font-weight:700; font-size:13px; letter-spacing:1px; cursor:pointer; margin-top:8px; }
.soca-contact-card .wpcf7-submit:hover { background:#8C8272; }
.soca-contact-card .wpcf7-spinner { display:none; }

.soca-lang-switcher ul { list-style: none !important; }
.soca-lang-switcher li { list-style: none !important; }

@font-face { font-family: 'EUCLID light'; src: url('fonts/Euclid-Circular-A-Light.ttf') format('truetype'); font-weight: normal; font-style: normal; font-display: swap; }
.soca-header-right.elementor-column > .elementor-widget-wrap { display: flex; flex-direction: row; align-items: center; justify-content: flex-end; gap: 30px; }
.soca-header-right .elementor-widget-nav-menu { flex: 0 0 auto; }
.soca-header-right .elementor-widget-shortcode { flex: 0 0 auto; }

.soca-header-right.elementor-column > .elementor-widget-wrap { flex-direction: row !important; align-items: center !important; justify-content: flex-end !important; gap: 30px !important; }

.soca-header-right.elementor-column > .elementor-widget-wrap > .elementor-widget { width: auto !important; flex: 0 0 auto !important; }

/* Bandeaux legendes (heading widget n'a pas de controle background natif en Elementor free,
   background_background/background_color sont ignores : on force via classes CSS + wrapper .elementor-element) */
.soca-bandeau-tan.elementor-element,
.soca-bandeau-tan .elementor-widget-container { background-color: #A69881 !important; }
.soca-bandeau-taupe.elementor-element,
.soca-bandeau-taupe .elementor-widget-container { background-color: #8C8272 !important; }
.soca-bandeau-dark.elementor-element,
.soca-bandeau-dark .elementor-widget-container { background-color: #3A3A38 !important; }

/* Bandeaux couleur dynamique cartes secteurs (Hotels/Restaurants/Lieux/Navires) */
.soca-bandeau-cf9382.elementor-element, .soca-bandeau-cf9382 .elementor-widget-container { background-color: #CF9382 !important; }
.soca-bandeau-d5c9a6.elementor-element, .soca-bandeau-d5c9a6 .elementor-widget-container { background-color: #D5C9A6 !important; }
.soca-bandeau-c28346.elementor-element, .soca-bandeau-c28346 .elementor-widget-container { background-color: #C28346 !important; }
.soca-bandeau-657d8d.elementor-element, .soca-bandeau-657d8d .elementor-widget-container { background-color: #657D8D !important; }

/* Libellés de cartes convertis en boutons : pleine largeur (barre) */
.elementor-element[class*="soca-bandeau"] .elementor-button-wrapper { width: 100%; }
.elementor-element[class*="soca-bandeau"] a.elementor-button { width: 100%; display: block; }

/* Bloc contact "UN PROJET ? PARLONS-EN" : texte centre verticalement a cote de l'image */
.elementor-element.elementor-element-ctatxt1 { justify-content: center; }
@media (max-width: 767px) {
	.elementor-element.elementor-element-ctatxt1 { padding-top: 34px; padding-bottom: 44px; }
}

/* ===== Site en Euclid ===== */
/* Le texte courant (defini en police "Archivo" dans le theme et les widgets) est remappe sur Euclid Circular A. */
/* Les titres restent en Euclid Triangle. Ces regles surchargent les @font-face 'Archivo' d'origine. */
@font-face { font-family: 'Archivo'; src: url('fonts/Euclid-Circular-A-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/Euclid-Circular-A-Regular.ttf') format('truetype'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/Euclid-Circular-A-Medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/Euclid-Circular-A-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/Euclid-Circular-A-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/Euclid-Circular-A-Bold.ttf') format('truetype'); font-weight: 700; font-style: italic; font-display: swap; }
/* Filet de securite : texte de base explicitement en Euclid Circular A */
body { font-family: 'Euclid Circular A', 'Archivo', Arial, Helvetica, sans-serif; }

/* ===== Frise chronologique : barres verticales entre les jalons ===== */
@media (min-width: 768px) {
	.elementor-element-70f61b1 .elementor-column + .elementor-column {
		border-left: 1px solid #D9D0C1;
	}
}

/* ===== Menu principal en majuscules ===== */
.elementor-nav-menu .elementor-item { text-transform: uppercase; letter-spacing: 0.5px; }

/* ===== Section "UNE APPROCHE DES PRINCIPES" : barres verticales entre les colonnes métiers ===== */
@media (min-width: 768px) {
	.elementor-element-a9a822d,
	.elementor-element-177d6f4,
	.elementor-element-5a259e60,
	.elementor-element-7748c98b {
		border-left: 1px solid #D9CFBE;
	}
	.elementor-element-a9a822d > .elementor-widget-wrap,
	.elementor-element-177d6f4 > .elementor-widget-wrap,
	.elementor-element-5a259e60 > .elementor-widget-wrap,
	.elementor-element-7748c98b > .elementor-widget-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* Barres frise principes : raccourcies (ne prennent plus toute la hauteur de colonne) */
@media (min-width: 768px) {
	.elementor-element-a9a822d,
	.elementor-element-177d6f4,
	.elementor-element-5a259e60,
	.elementor-element-7748c98b {
		border-left: 0 !important;
		position: relative;
	}
	.elementor-element-a9a822d::before,
	.elementor-element-177d6f4::before,
	.elementor-element-5a259e60::before,
	.elementor-element-7748c98b::before {
		content: "";
		position: absolute;
		left: 0;
		top: 26px;
		bottom: 26px;
		width: 1px;
		background: #D9CFBE;
	}
}

/* ===== Notre Histoire : rangée de 4 photos uniformes (même hauteur, alignées) ===== */
.elementor-element-cf0da53 img,
.elementor-element-339c805 img,
.elementor-element-3f8aa98 img,
.elementor-element-6bd746d img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	display: block;
}
@media (max-width: 767px) {
	.elementor-element-cf0da53 img,
	.elementor-element-339c805 img,
	.elementor-element-3f8aa98 img,
	.elementor-element-6bd746d img {
		height: 220px;
	}
}

/* Force hauteur uniforme des 4 photos (override Elementor) */
.elementor-element-cf0da53 img,
.elementor-element-339c805 img,
.elementor-element-3f8aa98 img,
.elementor-element-6bd746d img {
	height: 240px !important;
	width: 100% !important;
	object-fit: cover !important;
}

/* ===== Notre Histoire : bloc frise dates + AUJOURD'HUI (fond beige, barres entre dates, marges) ===== */
.elementor-element-2968096d,
.elementor-element-5f0f0356 {
	background-color: #F9F5ED !important;
}
.elementor-element-2968096d {
	padding-top: 55px !important;
	padding-bottom: 20px !important;
}
.elementor-element-5f0f0356 {
	padding-top: 10px !important;
	padding-bottom: 60px !important;
}
@media (min-width: 768px) {
	.elementor-element-39188d8e > .elementor-element-populated,
	.elementor-element-6400afaa > .elementor-element-populated,
	.elementor-element-78850a3f > .elementor-element-populated {
		border-left: 1px solid #CDBFA6;
	}
}

/* Bloc beige frise/aujourd'hui : largeur contenu, centre (marges blanches egales) */
.elementor-element-2968096d,
.elementor-element-5f0f0356 {
	max-width: 1360px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Notre Histoire : aligner le bloc intro (Jacques) sur la largeur des photos/frise (1360px centre) */
@media (min-width: 768px) {
	.elementor-container:has(> .elementor-element-10d4fcac) {
		max-width: 1360px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Intro Jacques : forcer largeur 100% (cap 1360) pour aligner exactement sur photos/frise */
@media (min-width: 768px) {
	.elementor-container:has(> .elementor-element-10d4fcac) {
		width: 100% !important;
		max-width: 1360px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Intro Jacques : reduire le padding horizontal de la section pour aligner le contenu (1360 -> 33..1393) */
@media (min-width: 768px) {
	.elementor-element-760359d9 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* ===== Footer : police des menus reduite + menu de gauche resserre ===== */
.elementor-element-bb935ae a,
.elementor-element-42be5e0 a {
	font-size: 12px !important;
}
.elementor-element-bb935ae p {
	margin-bottom: 4px !important;
	line-height: 1.5 !important;
}

/* Footer : interligne reduit (menus + bloc coordonnees du milieu) */
.elementor-element-bb935ae p,
.elementor-element-42be5e0 p {
	line-height: 1.15 !important;
}
.elementor-element-3939c8b p {
	line-height: 1.5 !important;
}

/* Footer : menu de droite (UNIVERS) resserre comme celui de gauche */
.elementor-element-42be5e0 p {
	margin-bottom: 4px !important;
	line-height: 1.15 !important;
}

/* ===== Page Valeurs : traits verticaux entre colonnes (comme la reference) ===== */
@media (min-width: 768px) {
	/* NOS FONDAMENTAUX : trait entre texte (gauche) et logos (droite) */
	.elementor-element-valcolR > .elementor-element-populated {
		border-left: 1px solid #CDC2AD;
	}
	/* 4 icones metiers : trait entre chaque colonne */
	.elementor-element-mcol2 > .elementor-element-populated,
	.elementor-element-mcol3 > .elementor-element-populated,
	.elementor-element-mcol4 > .elementor-element-populated {
		border-left: 1px solid #CDC2AD;
	}
}




/* ===== Bureau d'études (#144) : rangée d'images alignée aux blocs texte (dessus/dessous) ===== */
.elementor-element-63a0e0b > .elementor-container {
	max-width: 1400px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
/* Desktop : pleine largeur (comme le bloc du bas) ; tablette 24 ; mobile 20 */
.elementor-element-63a0e0b { padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width:1024px){ .elementor-element-63a0e0b { padding-left: 24px !important; padding-right: 24px !important; } }
@media (max-width:767px){ .elementor-element-63a0e0b { padding-left: 20px !important; padding-right: 20px !important; } }

/* La bande « LE SAVIEZ-VOUS ? » (au-dessus) : pleine largeur sur desktop aussi */
@media (min-width:1025px){
	.elementor-element-57ea988 { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Les 3 images : même hauteur, remplissent leur colonne, recadrées proprement */
.elementor-element-63a0e0b .elementor-widget-image,
.elementor-element-63a0e0b .elementor-widget-image .elementor-widget-container,
.elementor-element-63a0e0b .elementor-widget-image a { width: 100% !important; }
.elementor-element-63a0e0b .elementor-widget-image img {
	width: 100% !important;
	height: 300px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

/* Desktop : colonnes alignées exactement sur les colonnes de texte (somme 100%) */
@media (min-width:1025px){
	.elementor-element-4d738d4 { width:24.857% !important; max-width:24.857% !important; flex:0 0 24.857% !important; }
	.elementor-element-b0f3065 { width:26.857% !important; max-width:26.857% !important; flex:0 0 26.857% !important; }
	.elementor-element-fec992c { width:48.286% !important; max-width:48.286% !important; flex:0 0 48.286% !important; }
	/* espaces entre les photos, bords extérieurs affleurants au bloc texte */
	.elementor-element-4d738d4 > .elementor-element-populated { padding: 0 8px 0 0 !important; }
	.elementor-element-b0f3065 > .elementor-element-populated { padding: 0 8px 0 8px !important; }
	.elementor-element-fec992c > .elementor-element-populated { padding: 0 0 0 8px !important; }
}

/* Tablette / mobile : images empilées, pleine largeur, alignées aux blocs texte dessus/dessous */
@media (max-width:1024px){
	.elementor-element-63a0e0b > .elementor-container { display:block !important; }
	.elementor-element-4d738d4,
	.elementor-element-b0f3065,
	.elementor-element-fec992c { width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
	.elementor-element-4d738d4 > .elementor-element-populated,
	.elementor-element-b0f3065 > .elementor-element-populated,
	.elementor-element-fec992c > .elementor-element-populated { padding: 0 !important; }
	.elementor-element-4d738d4,
	.elementor-element-b0f3065 { margin-bottom: 16px !important; }
}


/* ===== Rangée d'images générique (pages métiers #145-148) : alignée, espaces, hauteurs égales ===== */
[class*="elementor-element-socaimg"] > .elementor-container {
	max-width: 1400px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
[class*="elementor-element-socaimg"] .elementor-widget-image,
[class*="elementor-element-socaimg"] .elementor-widget-image .elementor-widget-container,
[class*="elementor-element-socaimg"] .elementor-widget-image a { width: 100% !important; }
[class*="elementor-element-socaimg"] .elementor-widget-image img {
	width: 100% !important;
	height: 300px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}
/* Desktop : colonnes côte à côte, espaces entre, bords extérieurs affleurants */
@media (min-width:1025px){
	[class*="elementor-element-socaimg"] > .elementor-container > .elementor-column > .elementor-element-populated { padding-left: 8px !important; padding-right: 8px !important; }
	[class*="elementor-element-socaimg"] > .elementor-container > .elementor-column:first-child > .elementor-element-populated { padding-left: 0 !important; }
	[class*="elementor-element-socaimg"] > .elementor-container > .elementor-column:last-child > .elementor-element-populated { padding-right: 0 !important; }
	[class*="elementor-element-socaimg"] > .elementor-container > .elementor-column:last-child { flex-grow: 1 !important; }
}
/* Tablette / mobile : images empilées pleine largeur */
@media (max-width:1024px){
	[class*="elementor-element-socaimg"] > .elementor-container { display: block !important; }
	[class*="elementor-element-socaimg"] > .elementor-container > .elementor-column { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
	[class*="elementor-element-socaimg"] > .elementor-container > .elementor-column > .elementor-element-populated { padding: 0 !important; }
	[class*="elementor-element-socaimg"] > .elementor-container > .elementor-column:not(:last-child) { margin-bottom: 16px !important; }
}

/* ===== Hôtels (#55) hero : image collée au panneau sable, même hauteur, texte décalé à droite ===== */
/* Colonne image : pas de marge intérieure -> l'image remplit et touche le panneau */
.elementor-element-04d1e58 > .elementor-element-populated { padding: 0 !important; }
.elementor-element-04d1e58 .elementor-widget-image,
.elementor-element-04d1e58 .elementor-widget-image .elementor-widget-container { margin: 0 !important; }
.elementor-element-04d1e58 .elementor-widget-image img { display: block; width: 100%; height: auto; }
/* Colonne texte (panneau) : texte décalé de 10% vers la droite + centré verticalement */
.elementor-element-8ac4481 > .elementor-element-populated {
	padding: 48px 8% 48px 10% !important;
	justify-content: center !important;
}

/* ===== Hôtels (#55) blocs projet : texte décalé (loin de l'image) + centré. Les images ne bougent pas. ===== */
/* image à DROITE -> texte décalé vers la gauche (plus de marge à droite) */
.elementor-element-e51de82 > .elementor-element-populated,
.elementor-element-41e0f39 > .elementor-element-populated { padding: 48px 10% 48px 8% !important; justify-content: center !important; }
/* image à GAUCHE -> texte décalé vers la droite (plus de marge à gauche) */
.elementor-element-22e0a82 > .elementor-element-populated,
.elementor-element-dda6bca > .elementor-element-populated { padding: 48px 8% 48px 10% !important; justify-content: center !important; }

/* ===== Hôtels (#55) : fond crème uniforme (hero compris) + blocs resserrés ===== */
.elementor-element-be178f2 { background-color: #F9F5ED !important; }
.elementor-element-be178f2,
.elementor-element-61ec473,
.elementor-element-61e1d93,
.elementor-element-7a05a67,
.elementor-element-88bcef8 { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ===== Hôtels (#55) correction fond : page blanche, couleur seulement sur les blocs texte ===== */
.elementor-element-be178f2,
.elementor-element-61ec473,
.elementor-element-61e1d93,
.elementor-element-7a05a67,
.elementor-element-88bcef8 { background-color: #ffffff !important; }
/* panneau crème derrière le texte des projets (le hero garde son panneau sable) */
.elementor-element-e51de82 > .elementor-element-populated,
.elementor-element-22e0a82 > .elementor-element-populated,
.elementor-element-41e0f39 > .elementor-element-populated,
.elementor-element-dda6bca > .elementor-element-populated { background-color: #F9F5ED !important; }

/* ===== Hôtels (#55) : alignement photo/bloc — grille 50/50 commune, images pleines ===== */
/* hero en 50/50 comme les projets */
.elementor-element-04d1e58,
.elementor-element-8ac4481 { width: 50% !important; max-width: 50% !important; flex: 0 0 50% !important; }
/* images projet : remplissent leur colonne (bord à bord, alignées aux panneaux) */
.elementor-element-ad68d9a > .elementor-element-populated,
.elementor-element-106011d > .elementor-element-populated,
.elementor-element-0bdd5af > .elementor-element-populated,
.elementor-element-727b804 > .elementor-element-populated { padding: 0 !important; }
.elementor-element-ad68d9a .elementor-widget-image, .elementor-element-ad68d9a .elementor-widget-image .elementor-widget-container,
.elementor-element-106011d .elementor-widget-image, .elementor-element-106011d .elementor-widget-image .elementor-widget-container,
.elementor-element-0bdd5af .elementor-widget-image, .elementor-element-0bdd5af .elementor-widget-image .elementor-widget-container,
.elementor-element-727b804 .elementor-widget-image, .elementor-element-727b804 .elementor-widget-image .elementor-widget-container { margin: 0 !important; }
.elementor-element-ad68d9a .elementor-widget-image img,
.elementor-element-106011d .elementor-widget-image img,
.elementor-element-0bdd5af .elementor-widget-image img,
.elementor-element-727b804 .elementor-widget-image img { display: block; width: 100%; height: auto; }

/* ===== Hôtels (#55) : espace de 10px entre chaque bloc ===== */
.elementor-element-61ec473,
.elementor-element-61e1d93,
.elementor-element-7a05a67,
.elementor-element-88bcef8 { margin-top: 10px !important; }

/* ===== Hôtels (#55) : la 1ère photo (hero) remplit toute la hauteur de son bloc ===== */
.elementor-element-04d1e58 > .elementor-element-populated,
.elementor-element-04d1e58 .elementor-widget-image,
.elementor-element-04d1e58 .elementor-widget-image .elementor-widget-container { height: 100% !important; }
.elementor-element-04d1e58 .elementor-widget-image { display: flex !important; }
.elementor-element-04d1e58 .elementor-widget-image img { height: 100% !important; width: 100% !important; object-fit: cover !important; }

/* ===== Hôtels (#55) bloc pictos : barres verticales entre les 3 colonnes ===== */
.elementor-element-piccol2 > .elementor-element-populated,
.elementor-element-piccol3 > .elementor-element-populated { border-left: 1px solid #B3A789 !important; }
@media (max-width:767px){
	.elementor-element-piccol2 > .elementor-element-populated,
	.elementor-element-piccol3 > .elementor-element-populated { border-left: none !important; }
}

/* ===== Hôtels (#55) bloc pictos : sable contenu à la largeur des blocs du dessus ===== */
.elementor-element-picsecA,
.elementor-element-picsecB { background-color: #ffffff !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.elementor-element-picsecA > .elementor-container { background-color: #CFC3A9 !important; padding-top: 58px !important; padding-bottom: 6px !important; }
.elementor-element-picsecB > .elementor-container { background-color: #CFC3A9 !important; padding-top: 24px !important; padding-bottom: 62px !important; }

/* ===== Restaurants (#56) : images pleines + hero remplit la hauteur ===== */
.elementor-element-8fe2d57 > .elementor-element-populated,
.elementor-element-2297e9a > .elementor-element-populated,
.elementor-element-15ecdaa > .elementor-element-populated,
.elementor-element-f105d8d > .elementor-element-populated,
.elementor-element-8da48ab > .elementor-element-populated { padding: 0 !important; }
.elementor-element-8fe2d57 .elementor-widget-image, .elementor-element-8fe2d57 .elementor-widget-image .elementor-widget-container,
.elementor-element-2297e9a .elementor-widget-image, .elementor-element-2297e9a .elementor-widget-image .elementor-widget-container,
.elementor-element-15ecdaa .elementor-widget-image, .elementor-element-15ecdaa .elementor-widget-image .elementor-widget-container,
.elementor-element-f105d8d .elementor-widget-image, .elementor-element-f105d8d .elementor-widget-image .elementor-widget-container,
.elementor-element-8da48ab .elementor-widget-image, .elementor-element-8da48ab .elementor-widget-image .elementor-widget-container { margin: 0 !important; }
.elementor-element-2297e9a .elementor-widget-image img,
.elementor-element-15ecdaa .elementor-widget-image img,
.elementor-element-f105d8d .elementor-widget-image img,
.elementor-element-8da48ab .elementor-widget-image img { display: block; width: 100%; height: auto; }
/* hero image remplit toute la hauteur du bloc */
.elementor-element-8fe2d57 > .elementor-element-populated,
.elementor-element-8fe2d57 .elementor-widget-image,
.elementor-element-8fe2d57 .elementor-widget-image .elementor-widget-container { height: 100% !important; }
.elementor-element-8fe2d57 .elementor-widget-image { display: flex !important; }
.elementor-element-8fe2d57 .elementor-widget-image img { height: 100% !important; width: 100% !important; object-fit: cover !important; }

/* ===== Restaurants (#56) bloc pictos : contenu + barres ===== */
.elementor-element-picsecA56, .elementor-element-picsecB56 { background-color:#ffffff !important; padding-top:0 !important; padding-bottom:0 !important; }
.elementor-element-picsecA56 > .elementor-container { background-color:#E0907F !important; padding-top:58px !important; padding-bottom:6px !important; }
.elementor-element-picsecB56 > .elementor-container { background-color:#E0907F !important; padding-top:24px !important; padding-bottom:62px !important; }
.elementor-element-piccol562 > .elementor-element-populated,
.elementor-element-piccol563 > .elementor-element-populated { border-left:1px solid #C77A68 !important; }
@media (max-width:767px){ .elementor-element-piccol562 > .elementor-element-populated, .elementor-element-piccol563 > .elementor-element-populated { border-left:none !important; } }

/* ===== Lieux d'exception (#57) : images pleines + hero remplit la hauteur ===== */
.elementor-element-34e891f > .elementor-element-populated,
.elementor-element-8308ba7 > .elementor-element-populated,
.elementor-element-df1a7b9 > .elementor-element-populated,
.elementor-element-4b58f5c > .elementor-element-populated { padding: 0 !important; }
.elementor-element-34e891f .elementor-widget-image, .elementor-element-34e891f .elementor-widget-image .elementor-widget-container,
.elementor-element-8308ba7 .elementor-widget-image, .elementor-element-8308ba7 .elementor-widget-image .elementor-widget-container,
.elementor-element-df1a7b9 .elementor-widget-image, .elementor-element-df1a7b9 .elementor-widget-image .elementor-widget-container,
.elementor-element-4b58f5c .elementor-widget-image, .elementor-element-4b58f5c .elementor-widget-image .elementor-widget-container { margin: 0 !important; }
.elementor-element-8308ba7 .elementor-widget-image img,
.elementor-element-df1a7b9 .elementor-widget-image img,
.elementor-element-4b58f5c .elementor-widget-image img { display: block; width: 100%; height: auto; }
.elementor-element-34e891f > .elementor-element-populated,
.elementor-element-34e891f .elementor-widget-image,
.elementor-element-34e891f .elementor-widget-image .elementor-widget-container { height: 100% !important; }
.elementor-element-34e891f .elementor-widget-image { display: flex !important; }
.elementor-element-34e891f .elementor-widget-image img { height: 100% !important; width: 100% !important; object-fit: cover !important; }

/* ===== Lieux d'exception (#57) bloc pictos : contenu + barres ===== */
.elementor-element-picsecA57, .elementor-element-picsecB57 { background-color:#ffffff !important; padding-top:0 !important; padding-bottom:0 !important; }
.elementor-element-picsecA57 > .elementor-container { background-color:#D99664 !important; padding-top:58px !important; padding-bottom:6px !important; }
.elementor-element-picsecB57 > .elementor-container { background-color:#D99664 !important; padding-top:24px !important; padding-bottom:62px !important; }
.elementor-element-piccol572 > .elementor-element-populated,
.elementor-element-piccol573 > .elementor-element-populated { border-left:1px solid #BE7A45 !important; }
@media (max-width:767px){ .elementor-element-piccol572 > .elementor-element-populated, .elementor-element-piccol573 > .elementor-element-populated { border-left:none !important; } }

/* ===== Restaurants #56 + Lieux #57 : hero image remplit sans imposer sa hauteur + décalage texte ===== */
/* HERO : image en absolu (le texte impose la hauteur, l'image recadre pour remplir) */
.elementor-element-8fe2d57 > .elementor-element-populated,
.elementor-element-34e891f > .elementor-element-populated { position: relative !important; }
.elementor-element-8fe2d57 .elementor-widget-image,
.elementor-element-34e891f .elementor-widget-image { position: absolute !important; top:0; left:0; width:100%; height:100%; margin:0 !important; }
.elementor-element-8fe2d57 .elementor-widget-image .elementor-widget-container,
.elementor-element-34e891f .elementor-widget-image .elementor-widget-container { height:100% !important; }
.elementor-element-8fe2d57 .elementor-widget-image img,
.elementor-element-34e891f .elementor-widget-image img { width:100% !important; height:100% !important; object-fit:cover !important; display:block; }

/* Texte : centré verticalement + décalé (10% côté image) */
.elementor-element-d467cf4 > .elementor-element-populated,
.elementor-element-c1d67d5 > .elementor-element-populated,
.elementor-element-45c4142 > .elementor-element-populated,
.elementor-element-d6b6b0d > .elementor-element-populated,
.elementor-element-10e2186 > .elementor-element-populated { padding: 54px 8% 54px 10% !important; justify-content:center !important; }
.elementor-element-33dbd68 > .elementor-element-populated,
.elementor-element-1f7bc37 > .elementor-element-populated,
.elementor-element-ca80286 > .elementor-element-populated,
.elementor-element-abcb208 > .elementor-element-populated { padding: 54px 10% 54px 8% !important; justify-content:center !important; }

/* ===== Navires (#58) : images duotone remplissent sans imposer la hauteur + décalage texte ===== */
.elementor-element-1da6b5b > .elementor-element-populated,
.elementor-element-4945a3d > .elementor-element-populated { position: relative !important; }
.elementor-element-1da6b5b .elementor-widget-image,
.elementor-element-4945a3d .elementor-widget-image { position: absolute !important; top:0; left:0; width:100%; height:100%; margin:0 !important; }
.elementor-element-1da6b5b .elementor-widget-image .elementor-widget-container,
.elementor-element-4945a3d .elementor-widget-image .elementor-widget-container { height:100% !important; }
.elementor-element-1da6b5b .elementor-widget-image img,
.elementor-element-4945a3d .elementor-widget-image img { width:100% !important; height:100% !important; object-fit:cover !important; display:block; }

/* Texte (image à gauche) : centré verticalement + décalé vers la droite */
.elementor-element-5e01c5f > .elementor-element-populated,
.elementor-element-072582b > .elementor-element-populated { padding: 54px 8% 54px 10% !important; justify-content:center !important; }

/* Bloc pictos Navires : fond blanc, bande gris-bleu contenue + barres */
.elementor-element-picsecA58, .elementor-element-picsecB58 { background-color:#ffffff !important; padding-top:0 !important; padding-bottom:0 !important; }
.elementor-element-picsecA58 > .elementor-container { background-color:#C8D0D6 !important; padding-top:58px !important; padding-bottom:6px !important; }
.elementor-element-picsecB58 > .elementor-container { background-color:#C8D0D6 !important; padding-top:24px !important; padding-bottom:62px !important; }
.elementor-element-piccol582 > .elementor-element-populated,
.elementor-element-piccol583 > .elementor-element-populated { border-left:1px solid #9DAAB2 !important; }
@media (max-width:767px){ .elementor-element-piccol582 > .elementor-element-populated, .elementor-element-piccol583 > .elementor-element-populated { border-left:none !important; } }

/* ===== Fix mobile : images hero/projet en absolu -> bannière normale quand les colonnes s'empilent ===== */
@media (max-width:767px){
  .elementor-element-1da6b5b .elementor-widget-image,
  .elementor-element-4945a3d .elementor-widget-image,
  .elementor-element-8fe2d57 .elementor-widget-image,
  .elementor-element-34e891f .elementor-widget-image { position: static !important; height: 300px !important; }
  .elementor-element-1da6b5b .elementor-widget-image .elementor-widget-container,
  .elementor-element-4945a3d .elementor-widget-image .elementor-widget-container,
  .elementor-element-8fe2d57 .elementor-widget-image .elementor-widget-container,
  .elementor-element-34e891f .elementor-widget-image .elementor-widget-container { height: 300px !important; }
  .elementor-element-1da6b5b .elementor-widget-image img,
  .elementor-element-4945a3d .elementor-widget-image img,
  .elementor-element-8fe2d57 .elementor-widget-image img,
  .elementor-element-34e891f .elementor-widget-image img { height: 300px !important; width: 100% !important; object-fit: cover !important; }
}

/* ===== Navires (#58) : image navire — marge 10px + coins gauche arrondis, droite inchangée ===== */
.elementor-element-1da6b5b .elementor-widget-image,
.elementor-element-4945a3d .elementor-widget-image {
  top:10px !important; bottom:10px !important; left:10px !important; right:0 !important;
  width:auto !important; height:auto !important;
}
.elementor-element-1da6b5b .elementor-widget-image img,
.elementor-element-4945a3d .elementor-widget-image img {
  height:100% !important; width:100% !important; object-fit:cover !important;
  border-radius:18px 0 0 18px !important;
}
@media (max-width:767px){
  .elementor-element-1da6b5b .elementor-widget-image,
  .elementor-element-4945a3d .elementor-widget-image {
    top:auto !important; bottom:auto !important; left:auto !important; right:auto !important; }
  .elementor-element-1da6b5b .elementor-widget-image img,
  .elementor-element-4945a3d .elementor-widget-image img { border-radius:18px !important; }
}

/* ===== Navires (#58) : panneau texte aligné sur l'image (même marge 10px h/b) + coins droits arrondis ===== */
.elementor-element-5e01c5f > .elementor-element-populated,
.elementor-element-072582b > .elementor-element-populated {
  margin-top:10px !important; margin-bottom:10px !important;
  border-radius:0 18px 18px 0 !important;
}
@media (max-width:767px){
  .elementor-element-5e01c5f > .elementor-element-populated,
  .elementor-element-072582b > .elementor-element-populated {
    margin-top:0 !important; margin-bottom:0 !important;
    border-radius:0 0 18px 18px !important;
  }
}

/* ===== Navires (#58) : panneau texte sans arrondi à droite (angle droit), marge conservée ===== */
.elementor-element-5e01c5f > .elementor-element-populated,
.elementor-element-072582b > .elementor-element-populated { border-radius:0 !important; }

/* ===== Valeurs/ADN (#140) : logos RSE + EPV alignés sur une même hauteur ===== */
.elementor-element-valrse img, .elementor-element-valepv img { height:104px !important; width:auto !important; }
@media (max-width:767px){ .elementor-element-valrse img, .elementor-element-valepv img { height:88px !important; } }

/* ===== Valeurs/ADN (#140) : trait vertical central raccourci (marge nette haut/bas) ===== */
@media (min-width:768px){
  .elementor-element-valcolR > .elementor-element-populated { border-left: 0 !important; }
  .elementor-element-valsec01 .elementor-element-valcolR { position: relative; }
  .elementor-element-valsec01 .elementor-element-valcolR::before {
    content:""; position:absolute; left:0; top:60px; bottom:60px; width:1px; background:#CDC2AD; z-index:2;
  }
}

/* ===== Contact (#17) : hero éditable — photo remplit la colonne, panneau greige ===== */
.elementor-element-contherophotocol > .elementor-element-populated { position:relative; }
.elementor-element-contherophoto { position:absolute !important; top:0; left:0; width:100%; height:100%; margin:0 !important; }
.elementor-element-contherophoto .elementor-widget-container { height:100% !important; }
.elementor-element-contherophoto img { width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
@media (max-width:767px){
  .elementor-element-contherophoto { position:static !important; height:300px !important; }
  .elementor-element-contherophoto .elementor-widget-container { height:300px !important; }
  .elementor-element-contherophoto img { height:300px !important; }
}

/* ===== Collections exclusives (#16) : images remplissent, vignettes 1/3, hauteurs égales ===== */
/* grande image : remplit la colonne */
.elementor-element-c85f984 > .elementor-element-populated,
.elementor-element-5617b16 > .elementor-element-populated,
.elementor-element-b63025c > .elementor-element-populated { height:100%; display:flex; padding:0 !important; min-height:470px; }
.elementor-element-c85f984 .elementor-widget-image,
.elementor-element-5617b16 .elementor-widget-image,
.elementor-element-b63025c .elementor-widget-image { flex:1; display:flex; margin:0 !important; }
.elementor-element-c85f984 .elementor-widget-image .elementor-widget-container,
.elementor-element-5617b16 .elementor-widget-image .elementor-widget-container,
.elementor-element-b63025c .elementor-widget-image .elementor-widget-container { width:100%; height:100%; }
.elementor-element-c85f984 img, .elementor-element-5617b16 img, .elementor-element-b63025c img { width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
/* vignettes : 3 egales qui remplissent la hauteur */
.elementor-element-1b2c642 > .elementor-element-populated,
.elementor-element-f7975ff > .elementor-element-populated,
.elementor-element-7dc2e24 > .elementor-element-populated { height:100%; display:flex; flex-direction:column; gap:10px; padding:0 !important; }
.elementor-element-1b2c642 .elementor-widget-image,
.elementor-element-f7975ff .elementor-widget-image,
.elementor-element-7dc2e24 .elementor-widget-image { flex:1; min-height:0; display:flex; margin:0 !important; }
.elementor-element-1b2c642 .elementor-widget-image .elementor-widget-container,
.elementor-element-f7975ff .elementor-widget-image .elementor-widget-container,
.elementor-element-7dc2e24 .elementor-widget-image .elementor-widget-container { width:100%; height:100%; }
.elementor-element-1b2c642 img, .elementor-element-f7975ff img, .elementor-element-7dc2e24 img { width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
/* responsive : empile proprement */
@media (max-width:767px){
  .elementor-element-c85f984 > .elementor-element-populated,
  .elementor-element-5617b16 > .elementor-element-populated,
  .elementor-element-b63025c > .elementor-element-populated { min-height:300px; }
  .elementor-element-1b2c642 > .elementor-element-populated,
  .elementor-element-f7975ff > .elementor-element-populated,
  .elementor-element-7dc2e24 > .elementor-element-populated { flex-direction:row; height:140px; }
}

/* ===== Collections (#16) : hauteur de rangée fixe (images cover) ===== */
.elementor-element-c85f984 > .elementor-element-populated,
.elementor-element-5617b16 > .elementor-element-populated,
.elementor-element-b63025c > .elementor-element-populated { min-height:0 !important; height:600px !important; }
.elementor-element-1b2c642 > .elementor-element-populated,
.elementor-element-f7975ff > .elementor-element-populated,
.elementor-element-7dc2e24 > .elementor-element-populated { min-height:0 !important; height:600px !important; }
@media (max-width:767px){
  .elementor-element-c85f984 > .elementor-element-populated,
  .elementor-element-5617b16 > .elementor-element-populated,
  .elementor-element-b63025c > .elementor-element-populated { height:320px !important; }
  .elementor-element-1b2c642 > .elementor-element-populated,
  .elementor-element-f7975ff > .elementor-element-populated,
  .elementor-element-7dc2e24 > .elementor-element-populated { height:130px !important; flex-direction:row !important; }
}

/* ===== Collections (#16) : vignettes arrondies + décalées (retrait), image/carte même hauteur ===== */
.elementor-element-1b2c642 > .elementor-element-populated,
.elementor-element-f7975ff > .elementor-element-populated,
.elementor-element-7dc2e24 > .elementor-element-populated { padding:24px 0 24px 16px !important; gap:16px !important; }
.elementor-element-1b2c642 .elementor-widget-image .elementor-widget-container,
.elementor-element-f7975ff .elementor-widget-image .elementor-widget-container,
.elementor-element-7dc2e24 .elementor-widget-image .elementor-widget-container { border-radius:16px !important; overflow:hidden !important; }
.elementor-element-1b2c642 img, .elementor-element-f7975ff img, .elementor-element-7dc2e24 img { border-radius:16px !important; }
@media (max-width:767px){
  .elementor-element-1b2c642 > .elementor-element-populated,
  .elementor-element-f7975ff > .elementor-element-populated,
  .elementor-element-7dc2e24 > .elementor-element-populated { padding:0 !important; gap:10px !important; }
}

/* ===== Collections (#16) : grande image bornée à 600px, alignée à la carte ===== */
.elementor-element-c85f984 > .elementor-element-populated,
.elementor-element-5617b16 > .elementor-element-populated,
.elementor-element-b63025c > .elementor-element-populated { height:600px !important; display:block !important; overflow:hidden !important; padding:0 !important; }
.elementor-element-c85f984 .elementor-widget-image,
.elementor-element-5617b16 .elementor-widget-image,
.elementor-element-b63025c .elementor-widget-image { height:600px !important; margin:0 !important; }
.elementor-element-c85f984 .elementor-widget-image img,
.elementor-element-5617b16 .elementor-widget-image img,
.elementor-element-b63025c .elementor-widget-image img { height:600px !important; width:100% !important; object-fit:cover !important; display:block; }
/* carte : remplit aussi 600 pour un alignement parfait */
.elementor-element-9a08d16 > .elementor-element-populated,
.elementor-element-eaf2ced > .elementor-element-populated,
.elementor-element-bbab54a > .elementor-element-populated { min-height:600px !important; }
@media (max-width:767px){
  .elementor-element-c85f984 > .elementor-element-populated,
  .elementor-element-5617b16 > .elementor-element-populated,
  .elementor-element-b63025c > .elementor-element-populated { height:320px !important; }
  .elementor-element-c85f984 .elementor-widget-image,
  .elementor-element-5617b16 .elementor-widget-image,
  .elementor-element-b63025c .elementor-widget-image,
  .elementor-element-c85f984 .elementor-widget-image img,
  .elementor-element-5617b16 .elementor-widget-image img,
  .elementor-element-b63025c .elementor-widget-image img { height:320px !important; }
  .elementor-element-9a08d16 > .elementor-element-populated,
  .elementor-element-eaf2ced > .elementor-element-populated,
  .elementor-element-bbab54a > .elementor-element-populated { min-height:0 !important; }
}

/* ===== Collections (#16) : retirer le soulignement des boutons "Découvrir la collection" ===== */
.elementor-element-17e92c3 .elementor-button,
.elementor-element-722a1c5 .elementor-button,
.elementor-element-7999882 .elementor-button { border-bottom:0 !important; text-decoration:none !important; }

/* ===== Collections (#16) : vignette du haut agrandie vers le haut (alignée à la grande photo), 10px sous elle, milieu/bas inchangés ===== */
.elementor-element-1b2c642 > .elementor-element-populated,
.elementor-element-f7975ff > .elementor-element-populated,
.elementor-element-7dc2e24 > .elementor-element-populated { padding-top:0 !important; gap:0 !important; }
/* vignette du haut : remplit l'espace jusqu'au sommet + 10px dessous */
.elementor-element-d3ce964, .elementor-element-8fcd7b6, .elementor-element-54aec2d { flex:1 1 auto !important; margin-bottom:10px !important; }
/* milieu : hauteur et position inchangées */
.elementor-element-56a8c34, .elementor-element-50d0623, .elementor-element-032a647 { flex:0 0 173px !important; margin-bottom:16px !important; }
/* bas : inchangé */
.elementor-element-706af9d, .elementor-element-317fc44, .elementor-element-f0c13f8 { flex:0 0 173px !important; margin-bottom:0 !important; }
@media (max-width:767px){
  .elementor-element-1b2c642 > .elementor-element-populated,
  .elementor-element-f7975ff > .elementor-element-populated,
  .elementor-element-7dc2e24 > .elementor-element-populated { padding-top:0 !important; gap:10px !important; }
  .elementor-element-d3ce964,.elementor-element-8fcd7b6,.elementor-element-54aec2d,
  .elementor-element-56a8c34,.elementor-element-50d0623,.elementor-element-032a647,
  .elementor-element-706af9d,.elementor-element-317fc44,.elementor-element-f0c13f8 { flex:1 1 0 !important; margin-bottom:0 !important; }
}

/* ===== Collections (#16) : correction gap 10px uniforme (vignette haut agrandie) ===== */
.elementor-element-1b2c642 > .elementor-element-populated,
.elementor-element-f7975ff > .elementor-element-populated,
.elementor-element-7dc2e24 > .elementor-element-populated { gap:10px !important; padding-top:0 !important; padding-bottom:24px !important; }

/* ===== Collections (#16) : vignette du bas agrandie vers le bas (alignée au bas de la grande photo) ===== */
.elementor-element-1b2c642 > .elementor-element-populated,
.elementor-element-f7975ff > .elementor-element-populated,
.elementor-element-7dc2e24 > .elementor-element-populated { padding-bottom:0 !important; }
.elementor-element-706af9d, .elementor-element-317fc44, .elementor-element-f0c13f8 { flex:1 1 auto !important; }

/* ===== Collections (#16) : marge horizontale entre grande image et vignettes ===== */
.elementor-element-1b2c642 > .elementor-element-populated,
.elementor-element-7dc2e24 > .elementor-element-populated { padding-left:24px !important; padding-right:0 !important; }
.elementor-element-f7975ff > .elementor-element-populated { padding-left:0 !important; padding-right:10px !important; }

/* ===== Collections (#16) : correction écart COLLABS ===== */
.elementor-element-7dc2e24 > .elementor-element-populated { padding-left:10px !important; }

/* ===== Cartes produit (iconiques/pieces-maison/collabs) facon metier : image remplit + barre collee ===== */
.elementor-element-d834211 img,.elementor-element-dcc5a04 img,.elementor-element-fff963d img,.elementor-element-536b5b3 img,.elementor-element-bf5e4a8 img,.elementor-element-3935328 img,.elementor-element-7019ab9 img,.elementor-element-ec57b03 img { width:100% !important; height:400px !important; object-fit:cover !important; display:block; margin:0 !important; }
.elementor-element-0a4180c img,.elementor-element-0d70e95 img,.elementor-element-d9c5716 img,.elementor-element-e719697 img,.elementor-element-8d00b00 img,.elementor-element-830abeb img,.elementor-element-705a2cb img { width:100% !important; height:480px !important; object-fit:cover !important; display:block; margin:0 !important; }
.elementor-element-d834211,.elementor-element-dcc5a04,.elementor-element-fff963d,.elementor-element-536b5b3,.elementor-element-bf5e4a8,.elementor-element-3935328,.elementor-element-7019ab9,.elementor-element-ec57b03,.elementor-element-0a4180c,.elementor-element-0d70e95,.elementor-element-d9c5716,.elementor-element-e719697,.elementor-element-8d00b00,.elementor-element-830abeb,.elementor-element-705a2cb { margin:0 !important; }
.elementor-element-e9023c3,.elementor-element-11eb4c8,.elementor-element-e4783f4,.elementor-element-262d887,.elementor-element-9ed89a0,.elementor-element-4d56a35,.elementor-element-08ff7a6,.elementor-element-eb11387,.elementor-element-e74bea7,.elementor-element-2b2844f,.elementor-element-31495ee,.elementor-element-04f2c50,.elementor-element-ad62de4,.elementor-element-2061c5c,.elementor-element-ddb362d { margin:0 !important; width:100% !important; }
@media (max-width:767px){
.elementor-element-d834211 img,.elementor-element-dcc5a04 img,.elementor-element-fff963d img,.elementor-element-536b5b3 img,.elementor-element-bf5e4a8 img,.elementor-element-3935328 img,.elementor-element-7019ab9 img,.elementor-element-ec57b03 img,.elementor-element-0a4180c img,.elementor-element-0d70e95 img,.elementor-element-d9c5716 img,.elementor-element-e719697 img,.elementor-element-8d00b00 img,.elementor-element-830abeb img,.elementor-element-705a2cb img { height:300px !important; }
}

/* ===== Cartes produit COLLABS FR (124) ===== */
.elementor-element-a60cf12 img,.elementor-element-ed62dee img,.elementor-element-e6c41f6 img { width:100% !important; height:480px !important; object-fit:cover !important; display:block; margin:0 !important; }
.elementor-element-a60cf12,.elementor-element-ed62dee,.elementor-element-e6c41f6 { margin:0 !important; }
.elementor-element-de47eba,.elementor-element-eef11a0,.elementor-element-46e41a4 { margin:0 !important; width:100% !important; }
@media (max-width:767px){
.elementor-element-a60cf12 img,.elementor-element-ed62dee img,.elementor-element-e6c41f6 img { height:300px !important; }
}

/* ===== MOBILE (<=767px) : en-tete compact, titres adaptes, marges, pas de debordement horizontal ===== */
@media (max-width:767px){
	html, body { overflow-x: clip; }

	/* Menu burger : sous-menus lisibles et faciles a toucher */
	.elementor-element-af7df39 nav.elementor-nav-menu--dropdown a.elementor-item,
	.elementor-element-af7df39 nav.elementor-nav-menu--dropdown a.elementor-sub-item { font-size: 16px !important; line-height: 1.3; padding: 14px 24px !important; min-height: 48px; display: flex; align-items: center; }
	.elementor-element-af7df39 nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item { font-size: 15px !important; padding-left: 40px !important; text-transform: none; letter-spacing: 0.2px; }
	.elementor-element-af7df39 nav.elementor-nav-menu--dropdown .sub-menu .sub-menu a.elementor-sub-item { padding-left: 56px !important; }
	.elementor-element-af7df39 nav.elementor-nav-menu--dropdown .sub-arrow { margin-left: auto; padding: 0 4px; font-size: 16px; }

	/* Photos : centrees dans leur bloc (plus de decalage lateral desktop) */
	.elementor-top-section:not(.elementor-element-af7df39) .elementor-widget-image:not(.elementor-element-a4ef308) { margin-left: 0 !important; margin-right: 0 !important; margin-top: 0 !important; text-align: center; }
	.elementor-top-section .elementor-widget-image .elementor-widget-container { text-align: center; }
	.elementor-top-section .elementor-widget-image img { margin-left: auto; margin-right: auto; }
	/* Notre histoire : 4 photos de la frise en 2 x 2 (69 px de large = illisible) */
	.elementor-column:has(> .elementor-widget-wrap > .elementor-element-cf0da53),
	.elementor-column:has(> .elementor-widget-wrap > .elementor-element-339c805),
	.elementor-column:has(> .elementor-widget-wrap > .elementor-element-3f8aa98),
	.elementor-column:has(> .elementor-widget-wrap > .elementor-element-6bd746d) { width: 50% !important; flex: 0 0 50% !important; }

	/* Valeurs / ADN : logos RSE + EPV cote a cote, centres ; moins de vide entre les blocs */
	.elementor-element-vallogos { padding-top: 8px !important; }
	.elementor-element-vallogos > .elementor-container { flex-wrap: nowrap !important; justify-content: center; align-items: center; gap: 20px; }
	.elementor-element-valic1, .elementor-element-valic2 { width: auto !important; flex: 0 1 auto !important; }
	.elementor-element-valic1 > .elementor-widget-wrap, .elementor-element-valic2 > .elementor-widget-wrap { padding: 0 !important; justify-content: center; }
	.elementor-element-valrse img, .elementor-element-valepv img { height: 72px !important; width: auto !important; }
	.elementor-element-valcolL > .elementor-element-populated { padding: 32px 24px 24px !important; }
	.elementor-element-valcolR > .elementor-element-populated { padding: 0 24px 32px !important; }
	.elementor-element-e062e79 p { text-align: left; }

	/* Panneaux de texte : marge interieure laterale minimale (texte jamais colle au bord) */
	:where(.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-text-editor, > .elementor-widget-wrap > .elementor-widget-heading)) > .elementor-element-populated { padding-left: 24px !important; padding-right: 24px !important; }
	.elementor-element-852a900 > .elementor-element-populated { padding-bottom: 24px !important; }

	.elementor-element-8ac4481 > .elementor-element-populated, .elementor-element-e51de82 > .elementor-element-populated, .elementor-element-22e0a82 > .elementor-element-populated,
	.elementor-element-41e0f39 > .elementor-element-populated, .elementor-element-dda6bca > .elementor-element-populated,
	.elementor-element-a9a822d > .elementor-element-populated, .elementor-element-177d6f4 > .elementor-element-populated,
	.elementor-element-5a259e60 > .elementor-element-populated, .elementor-element-7748c98b > .elementor-element-populated { padding-left: 24px !important; padding-right: 24px !important; }
	.elementor-element-822a9a9 > .elementor-element-populated, .elementor-element-53137a0 > .elementor-element-populated { padding-bottom: 24px !important; }

	/* Texte justifie : alignement a gauche sur petit ecran (sinon grands trous entre les mots) */
	.elementor-element-e062e79, .elementor-element-e062e79 p, .elementor-element-e062e79 .elementor-widget-container,
	.elementor-element-e567e70, .elementor-element-e567e70 p, .elementor-element-e567e70 .elementor-widget-container,
	.elementor-element-63d591b, .elementor-element-63d591b p, .elementor-element-63d591b .elementor-widget-container,
	.elementor-element-fa39999, .elementor-element-fa39999 p, .elementor-element-fa39999 .elementor-widget-container,
	.elementor-element-a0da2b1, .elementor-element-a0da2b1 p, .elementor-element-a0da2b1 .elementor-widget-container,
	.elementor-element-200499d, .elementor-element-200499d p, .elementor-element-200499d .elementor-widget-container,
	.elementor-element-ce22440, .elementor-element-ce22440 p, .elementor-element-ce22440 .elementor-widget-container,
	.elementor-element-21b1e32, .elementor-element-21b1e32 p, .elementor-element-21b1e32 .elementor-widget-container,
	.elementor-element-c6bbbf3, .elementor-element-c6bbbf3 p, .elementor-element-c6bbbf3 .elementor-widget-container,
	.elementor-element-4581ec4, .elementor-element-4581ec4 p, .elementor-element-4581ec4 .elementor-widget-container,
	.elementor-element-29d0691, .elementor-element-29d0691 p, .elementor-element-29d0691 .elementor-widget-container,
	.elementor-element-fbaa8ad, .elementor-element-fbaa8ad p, .elementor-element-fbaa8ad .elementor-widget-container,
	.elementor-element-737cb14, .elementor-element-737cb14 p, .elementor-element-737cb14 .elementor-widget-container,
	.elementor-element-9225dbd, .elementor-element-9225dbd p, .elementor-element-9225dbd .elementor-widget-container,
	.elementor-element-cd24a33, .elementor-element-cd24a33 p, .elementor-element-cd24a33 .elementor-widget-container,
	.elementor-element-526135e, .elementor-element-526135e p, .elementor-element-526135e .elementor-widget-container,
	.elementor-element-10ddef2, .elementor-element-10ddef2 p, .elementor-element-10ddef2 .elementor-widget-container,
	.elementor-element-2e8b8fe, .elementor-element-2e8b8fe p, .elementor-element-2e8b8fe .elementor-widget-container,
	.elementor-element-9121fe9, .elementor-element-9121fe9 p, .elementor-element-9121fe9 .elementor-widget-container,
	.elementor-element-196badb, .elementor-element-196badb p, .elementor-element-196badb .elementor-widget-container,
	.elementor-element-ec07dc3, .elementor-element-ec07dc3 p, .elementor-element-ec07dc3 .elementor-widget-container,
	.elementor-element-6fdbe8d, .elementor-element-6fdbe8d p, .elementor-element-6fdbe8d .elementor-widget-container,
	.elementor-element-80d30f2, .elementor-element-80d30f2 p, .elementor-element-80d30f2 .elementor-widget-container,
	.elementor-element-21e1b53, .elementor-element-21e1b53 p, .elementor-element-21e1b53 .elementor-widget-container,
	.elementor-element-66bb60a, .elementor-element-66bb60a p, .elementor-element-66bb60a .elementor-widget-container,
	.elementor-element-aeeec52, .elementor-element-aeeec52 p, .elementor-element-aeeec52 .elementor-widget-container,
	.elementor-element-86b9960, .elementor-element-86b9960 p, .elementor-element-86b9960 .elementor-widget-container,
	.elementor-element-ef0b306, .elementor-element-ef0b306 p, .elementor-element-ef0b306 .elementor-widget-container,
	.elementor-element-4925939, .elementor-element-4925939 p, .elementor-element-4925939 .elementor-widget-container,
	.elementor-element-f5b9210, .elementor-element-f5b9210 p, .elementor-element-f5b9210 .elementor-widget-container,
	.elementor-element-5078315, .elementor-element-5078315 p, .elementor-element-5078315 .elementor-widget-container,
	.elementor-element-f3709cd, .elementor-element-f3709cd p, .elementor-element-f3709cd .elementor-widget-container,
	.elementor-element-399139b, .elementor-element-399139b p, .elementor-element-399139b .elementor-widget-container,
	.elementor-element-8421e6e, .elementor-element-8421e6e p, .elementor-element-8421e6e .elementor-widget-container,
	.elementor-element-96d8424, .elementor-element-96d8424 p, .elementor-element-96d8424 .elementor-widget-container,
	.elementor-element-2a9e37f, .elementor-element-2a9e37f p, .elementor-element-2a9e37f .elementor-widget-container,
	.elementor-element-a012319, .elementor-element-a012319 p, .elementor-element-a012319 .elementor-widget-container { text-align: left !important; }

	/* Hotels : hero empile (photo puis texte) au lieu de deux colonnes de 160 px qui coupent les mots */
	.elementor-element-be178f2 > .elementor-container { flex-direction: column; }
	.elementor-element-04d1e58, .elementor-element-8ac4481 { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; }
	.elementor-element-04d1e58 > .elementor-element-populated { height: 300px !important; min-height: 300px; }
	.elementor-element-04d1e58 .elementor-widget-image img { height: 300px !important; object-fit: cover !important; }
	.elementor-element-8ac4481 > .elementor-element-populated { padding: 32px 24px !important; }

	/* Cartes produits (Iconiques / Pieces maison / Collabs) : 2 par ligne au lieu de 3-4 colonnes de 85 px */
	.elementor-element-c9ceab9,
	.elementor-element-4c9885d,
	.elementor-element-2829be8,
	.elementor-element-9622f65,
	.elementor-element-c7bca84,
	.elementor-element-77ec156 { flex-wrap: wrap !important; gap: 16px !important; padding: 10px 20px 40px !important; margin-top: 0 !important; }
	.elementor-element-c9ceab9 > .e-con,
	.elementor-element-4c9885d > .e-con,
	.elementor-element-2829be8 > .e-con,
	.elementor-element-9622f65 > .e-con,
	.elementor-element-c7bca84 > .e-con,
	.elementor-element-77ec156 > .e-con { flex: 0 0 calc(50% - 8px) !important; width: calc(50% - 8px) !important; max-width: calc(50% - 8px) !important; min-width: 0; padding: 0 !important; }
	.soca-metier-card .soca-metier-bar { padding: 14px 14px !important; }
	.soca-metier-title { font-size: 13px !important; line-height: 1.25 !important; overflow-wrap: anywhere; }

	/* Colonnes vides masquees ; une carte seule prend une largeur confortable */
	.elementor-element-c9ceab9 > .e-con:not(:has(.soca-metier-card)),
	.elementor-element-4c9885d > .e-con:not(:has(.soca-metier-card)),
	.elementor-element-2829be8 > .e-con:not(:has(.soca-metier-card)),
	.elementor-element-9622f65 > .e-con:not(:has(.soca-metier-card)),
	.elementor-element-c7bca84 > .e-con:not(:has(.soca-metier-card)),
	.elementor-element-77ec156 > .e-con:not(:has(.soca-metier-card)) { display: none !important; }
	.elementor-element-c9ceab9 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)),
	.elementor-element-4c9885d > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)),
	.elementor-element-2829be8 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)),
	.elementor-element-9622f65 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)),
	.elementor-element-c7bca84 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)),
	.elementor-element-77ec156 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)) { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }

	.soca-metier-card { height: auto !important; }
	.soca-metier-card .soca-metier-img { height: 210px !important; min-height: 0 !important; background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; background-color: #fff; }
	.elementor-element-c9ceab9 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)) .soca-metier-img,
	.elementor-element-4c9885d > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)) .soca-metier-img,
	.elementor-element-2829be8 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)) .soca-metier-img,
	.elementor-element-9622f65 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)) .soca-metier-img,
	.elementor-element-c7bca84 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)) .soca-metier-img,
	.elementor-element-77ec156 > .e-con:first-child:not(:has(~ .e-con .soca-metier-card)) .soca-metier-img { height: 300px !important; }

	/* Grands titres : taille fluide, jamais plus large que l'ecran */
	.elementor-element-7761cfb .elementor-heading-title,
	.elementor-element-e9c2ae6 .elementor-heading-title,
	.elementor-element-408d647 .elementor-heading-title,
	.elementor-element-3857085d .elementor-heading-title,
	.elementor-element-contherotitle .elementor-heading-title { font-size: clamp(30px, 9vw, 38px) !important; line-height: 1.08 !important; overflow-wrap: break-word; hyphens: auto; }
	.elementor-element-93f238e .elementor-heading-title, .elementor-element-b11eb46 .elementor-heading-title,
	.elementor-element-9d5bf0c .elementor-heading-title, .elementor-element-65b3888 .elementor-heading-title,
	.elementor-element-ceca1e5 .elementor-heading-title, .elementor-element-32dbf35 .elementor-heading-title,
	.elementor-element-657a29c .elementor-heading-title, .elementor-element-5e2ec68 .elementor-heading-title,
	.elementor-element-e70b96b .elementor-heading-title, .elementor-element-426c672 .elementor-heading-title,
	.elementor-element-0494157 .elementor-heading-title, .elementor-element-30c0f87 .elementor-heading-title,
	.elementor-element-77489ee .elementor-heading-title, .elementor-element-080965d .elementor-heading-title,
	.elementor-element-98c6d5c .elementor-heading-title, .elementor-element-bd0d7e7 .elementor-heading-title,
	.elementor-element-6f0de15 .elementor-heading-title, .elementor-element-896c40e .elementor-heading-title,
	.elementor-element-702c3eb .elementor-heading-title, .elementor-element-58571cf .elementor-heading-title,
	.elementor-element-29250bd .elementor-heading-title { font-size: clamp(26px, 8vw, 32px) !important; line-height: 1.1 !important; overflow-wrap: break-word; hyphens: auto; }
	.elementor-element-7b82ca4 .elementor-heading-title,
	.elementor-element-930ac3c .elementor-heading-title,
	.elementor-element-ad33ffc .elementor-heading-title { font-size: 28px !important; line-height: 1.12 !important; overflow-wrap: break-word; }
	.elementor-heading-title { overflow-wrap: break-word; }

	/* Bloc "Manufacture francaise" (accueil) : empile, plus de debordement */
	.soca-manuf-text { min-width: 0; flex: 1 1 100% !important; padding: 32px 24px !important; }
	.soca-manuf-textinner, .soca-manuf-title, .soca-manuf-desc { max-width: 100%; min-width: 0; }
	.soca-manuf-title { font-size: 32px !important; line-height: 1.08 !important; overflow-wrap: break-word; }
	.soca-manuf-desc { font-size: 16px !important; }

	/* Marges laterales des sections / panneaux */
	.elementor-element-b0c8085, .elementor-element-5843aea, .elementor-element-ca02562, .elementor-element-c131516,
	.elementor-element-valsec01, .elementor-element-metsec01, .elementor-element-conthero, .elementor-element-contmain { padding-left: 20px !important; padding-right: 20px !important; }
	.elementor-element-b0c8085 { padding-top: 56px !important; padding-bottom: 40px !important; }
	.elementor-element-valsec01 { padding-top: 56px !important; padding-bottom: 56px !important; }
	.elementor-element-contmain { padding-top: 36px !important; padding-bottom: 48px !important; }
	.elementor-element-contheropanel > .elementor-element-populated { padding: 32px 24px !important; }
	.elementor-element-contheropanel .elementor-widget-text-editor { width: 100% !important; max-width: 100% !important; }
	.elementor-element-contheropanel .elementor-widget { margin-left: 0 !important; margin-right: 0 !important; }
	.elementor-element-9a08d16 > .elementor-element-populated,
	.elementor-element-eaf2ced > .elementor-element-populated,
	.elementor-element-bbab54a > .elementor-element-populated { padding: 28px 22px !important; }



	/* Bandeau "Le sur-mesure au service des projets" : interligne propre, hauteur libre */
	.elementor-element-2a03b7f { height: auto !important; padding: 10px 10px 24px; }
	.elementor-element-01fe18b .elementor-heading-title { line-height: 1.7 !important; font-size: 11px !important; text-align: center; }

	/* Blocs "Contract" / "Contact" : la photo de colonne reprend une hauteur (sinon filet de 1px) */
	.elementor-element-74725ef > .elementor-widget-wrap,
	.elementor-element-14ae0b9 > .elementor-widget-wrap { min-height: 260px !important; background-size: cover !important; background-position: center !important; }

	/* Pied de page : colonnes empilees, sans filets verticaux, sans chevauchement */
	.elementor-element-56190ed > .elementor-container { flex-direction: column; gap: 32px; }
	.elementor-element-56190ed .elementor-column { width: 100% !important; margin: 0 !important; }
	.elementor-element-56190ed .elementor-column > .elementor-element-populated { border: 0 !important; padding: 0 !important; height: auto !important; min-height: 0 !important; }
	.elementor-element-56190ed .elementor-widget { margin-top: 0 !important; height: auto !important; }
	.elementor-element-56190ed .elementor-widget-html > div { height: auto !important; }
	.elementor-element-56190ed .elementor-widget-html p { margin-bottom: 4px !important; }
	.elementor-element-56190ed .elementor-widget-html a { display: inline-block; padding: 6px 0; }
	.elementor-element-56190ed .elementor-element-5326d30 .elementor-button-wrapper { text-align: left; }

	/* Textes : pleine largeur de colonne (les largeurs en % du desktop rendaient les paragraphes etroits) */
	.elementor-top-section:not(.elementor-element-af7df39) .elementor-widget-text-editor,
	.elementor-top-section:not(.elementor-element-af7df39) .elementor-widget-heading { width: 100% !important; max-width: 100% !important; }
	.elementor-element-7cd4278, .elementor-element-a6ae301, .elementor-element-7cd4278 p, .elementor-element-a6ae301 p { font-size: 17px !important; line-height: 1.6 !important; }
	.soca-manuf { height: auto !important; }
	.soca-manuf-thumbs { height: 100px !important; }

	.elementor-element-2da78e7 > .elementor-element-populated,
	.elementor-element-382a99d > .elementor-element-populated { padding: 32px 24px 40px !important; }
	.elementor-element-2da78e7 .elementor-widget:first-child, .elementor-element-382a99d .elementor-widget:first-child { margin-top: 0 !important; }

	/* Marges negatives desktop (chevauchements) : neutralisees en mobile */
	.elementor-element-4922c695.elementor-widget,
	.elementor-element-0e325e0.elementor-widget,
	.elementor-element-596dffe0.elementor-widget,
	.elementor-element-289c1390.elementor-widget,
	.elementor-element-fd73f7d.elementor-widget,
	.elementor-element-8cc90dd.elementor-widget,
	.elementor-element-ae70a1c.elementor-widget,
	.elementor-element-cf41f5c.elementor-widget,
	.elementor-element-921dc1b.elementor-widget,
	.elementor-element-628220a.elementor-widget,
	.elementor-element-5b68618.elementor-widget,
	.elementor-element-fe14914.elementor-widget,
	.elementor-element-fa39999.elementor-widget,
	.elementor-element-5633684.elementor-widget,
	.elementor-element-798114e.elementor-widget,
	.elementor-element-ce22440.elementor-widget,
	.elementor-element-9e571c1.elementor-widget,
	.elementor-element-97d24eb.elementor-widget,
	.elementor-element-2ea5024.elementor-widget,
	.elementor-element-9d5bf0c.elementor-widget,
	.elementor-element-2ceaa67.elementor-widget,
	.elementor-element-acd52f3.elementor-widget,
	.elementor-element-2151f8a.elementor-widget,
	.elementor-element-7b19c10.elementor-widget,
	.elementor-element-fac5dee.elementor-widget,
	.elementor-element-bf75e8d.elementor-widget,
	.elementor-element-a172695.elementor-widget,
	.elementor-element-17e92c3.elementor-widget,
	.elementor-element-27dfb07.elementor-widget,
	.elementor-element-contherodiv.elementor-widget,
	.elementor-element-c8b1aa7.elementor-widget,
	.elementor-element-240a539.elementor-widget { margin-top: 0 !important; }
	.elementor-element-8cc90dd.elementor-widget,
	.elementor-element-ae70a1c.elementor-widget,
	.elementor-element-289c1390.elementor-widget,
	.elementor-element-240a539.elementor-widget,
	.elementor-element-fa39999.elementor-widget,
	.elementor-element-17e92c3.elementor-widget,
	.elementor-element-722a1c5.elementor-widget { margin-bottom: 16px !important; }
	.elementor-element-596dffe0 .elementor-heading-title { font-size: clamp(30px, 9vw, 38px) !important; line-height: 1.08 !important; }
	.elementor-element-32e2a86a, .elementor-element-32e2a86a p { font-size: 17px !important; }

	/* Widgets decales a gauche par des marges desktop (%) : alignes sur la marge de la section */
	.elementor-top-section .elementor-widget:not(.elementor-widget-image) { margin-left: 0 !important; margin-right: 0 !important; }

	/* Images : jamais plus larges que l'ecran ; formulaires lisibles (pas de zoom iOS) */
	.elementor img { max-width: 100%; height: auto; }
	input, select, textarea, .wpcf7 input, .wpcf7 textarea { font-size: 16px !important; max-width: 100%; }
	.wpcf7 input[type=submit], .elementor-button { min-height: 44px; }
}

/* ===== TABLETTE (<=1024px) : en-tete compact comme sur mobile ===== */
@media (max-width:1024px){
	/* En-tete : logo a gauche, drapeaux + menu burger a droite, sur une seule ligne */
	.elementor-element-af7df39 { padding: 10px 20px !important; }
	.elementor-element-af7df39 > .elementor-container { flex-wrap: nowrap !important; align-items: center; min-height: 0 !important; }
	.elementor-element-af7df39 .elementor-col-30 { width: auto !important; flex: 0 0 auto; }
	.elementor-element-af7df39 .elementor-col-70 { width: auto !important; flex: 1 1 auto; }
	.elementor-element-af7df39 .elementor-col-70 > .elementor-widget-wrap { flex-wrap: nowrap; justify-content: flex-end; align-items: center; gap: 14px; }
	.elementor-element-af7df39 .elementor-col-30 > .elementor-widget-wrap,
	.elementor-element-af7df39 .elementor-col-70 > .elementor-widget-wrap { padding: 0 !important; }
	.elementor-element-af7df39 .elementor-widget { width: auto !important; margin: 0 !important; }
	.elementor-element-af7df39 .elementor-element-a84b206 { order: 2; }
	.elementor-element-af7df39 .elementor-element-bcf5f8f { order: 1; }
	.elementor-element-773c38a img { max-height: 44px; width: auto; }
	.elementor-element-af7df39 { position: relative; z-index: 50; }
	.elementor-element-af7df39 nav.elementor-nav-menu--dropdown { z-index: 60; position: fixed !important; left: 0 !important; right: 0; top: 64px; width: 100% !important; max-height: calc(100vh - 64px); overflow: auto; }
	.elementor-element-af7df39 .elementor-menu-toggle { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

}

/* ===== TABLETTE / MOBILE (<=900px) : hero slider texte au-dessus, visuel dessous ===== */
@media (max-width:900px){
	/* Hero slider : texte au-dessus, visuel en dessous (plus de fauteuil qui flotte au milieu) */
	.elementor-element-d6db13e > .elementor-widget-container { margin: 0 !important; }
	.soca-hero-slide { height: auto !important; min-height: 0 !important; padding: 0 0 calc(min(64vw, 420px) + 24px) !important; background-size: 0 0 !important; }
	.soca-hero-slide::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 12px; height: min(64vw, 420px); background-image: inherit; background-repeat: no-repeat; background-position: 85% center; background-size: cover; border-radius: 12px; }
	.soca-hero-text { position: relative !important; width: 100% !important; height: auto !important; padding: 32px 24px 24px !important; }
	.soca-hero-scrim::before { display: none; }
	.soca-hero-label { font-size: 12px; margin-bottom: 12px; }
	.soca-hero-heading { font-size: clamp(26px, 8vw, 32px) !important; margin-bottom: 14px !important; overflow-wrap: break-word; }
	.soca-hero-desc { font-size: 15px !important; max-width: 100% !important; margin-bottom: 16px !important; }
	.soca-hero-dots { margin-bottom: 16px; }
}

/* ===== TABLETTE (<=1024px) : blocs a hauteur libre (pas de chevauchement) ===== */
@media (max-width:1024px){
	.soca-manuf { height: auto !important; }
	.elementor-element-2a03b7f { height: auto !important; padding: 10px 10px 24px; }
	.elementor-element-01fe18b .elementor-heading-title { line-height: 1.7 !important; font-size: 11px !important; text-align: center; }
}

/* ===== TABLETTE (768-1024px) : titres fluides, jamais coupes ===== */
@media (min-width:768px) and (max-width:1024px){
	.elementor-element-7761cfb .elementor-heading-title,
	.elementor-element-e9c2ae6 .elementor-heading-title,
	.elementor-element-408d647 .elementor-heading-title,
	.elementor-element-3857085d .elementor-heading-title,
	.elementor-element-contherotitle .elementor-heading-title { font-size: clamp(32px, 4.6vw, 48px) !important; line-height: 1.08 !important; overflow-wrap: break-word; hyphens: auto; }
	.elementor-element-93f238e .elementor-heading-title,
	.elementor-element-b11eb46 .elementor-heading-title,
	.elementor-element-9d5bf0c .elementor-heading-title,
	.elementor-element-65b3888 .elementor-heading-title,
	.elementor-element-ceca1e5 .elementor-heading-title,
	.elementor-element-32dbf35 .elementor-heading-title,
	.elementor-element-657a29c .elementor-heading-title,
	.elementor-element-5e2ec68 .elementor-heading-title,
	.elementor-element-e70b96b .elementor-heading-title,
	.elementor-element-426c672 .elementor-heading-title,
	.elementor-element-0494157 .elementor-heading-title,
	.elementor-element-30c0f87 .elementor-heading-title,
	.elementor-element-77489ee .elementor-heading-title,
	.elementor-element-080965d .elementor-heading-title,
	.elementor-element-98c6d5c .elementor-heading-title,
	.elementor-element-bd0d7e7 .elementor-heading-title,
	.elementor-element-6f0de15 .elementor-heading-title,
	.elementor-element-896c40e .elementor-heading-title,
	.elementor-element-702c3eb .elementor-heading-title,
	.elementor-element-58571cf .elementor-heading-title,
	.elementor-element-29250bd .elementor-heading-title { font-size: clamp(28px, 4vw, 40px) !important; line-height: 1.1 !important; overflow-wrap: break-word; hyphens: auto; }
	.elementor-heading-title { overflow-wrap: break-word; }
}

/* ===== TABLETTE (<=1024px) : textes pleine largeur de colonne, sans decalage lateral desktop ===== */
@media (max-width:1024px){
	.elementor-top-section:not(.elementor-element-af7df39) .elementor-widget:not(.elementor-widget-image) { margin-left: 0 !important; margin-right: 0 !important; }
	.elementor-top-section:not(.elementor-element-af7df39) .elementor-widget-text-editor,
	.elementor-top-section:not(.elementor-element-af7df39) .elementor-widget-heading { width: 100% !important; max-width: 100% !important; }
	.elementor-top-section:not(.elementor-element-af7df39) .elementor-widget-text-editor p { overflow-wrap: break-word; }
}

/* ===== TABLETTE : bloc "Une approche des principes" en 2 x 2 (4 colonnes trop etroites) ===== */
@media (min-width:768px) and (max-width:1024px){
	.elementor-element-a9a822d, .elementor-element-177d6f4, .elementor-element-5a259e60, .elementor-element-7748c98b { width: 50% !important; max-width: 50% !important; flex: 0 0 50% !important; margin-bottom: 24px; }
	.elementor-element-a9a822d::before, .elementor-element-177d6f4::before, .elementor-element-5a259e60::before, .elementor-element-7748c98b::before { display: none; }
}

@media (max-width:1024px){
	.elementor-element-5b1d1d62 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
	.elementor-element-5b1d1d62 > .elementor-element-populated { padding: 40px 24px 24px !important; }
	.elementor-element-a9a822d > .elementor-element-populated, .elementor-element-177d6f4 > .elementor-element-populated,
	.elementor-element-5a259e60 > .elementor-element-populated, .elementor-element-7748c98b > .elementor-element-populated { padding: 24px 16px !important; }
}

/* ===== Fiches produit EDITIONS : logo du hero sur mobile (évite le chevauchement avec le titre) ===== */
@media (max-width:767px){
  .elementor-element-pflogo.elementor-absolute{
    position: static !important;
    order: -1;
    align-self: flex-end;
    margin: 0 0 2px 0 !important;
    width: auto !important;
    max-width: 130px;
  }
  .elementor-element-pflogo .elementor-widget-container{ text-align: right; }
  .elementor-element-pflogo img{ width: 115px !important; height: auto !important; }
}
@media (max-width:767px){
  .elementor-element-pflogo.elementor-absolute{ margin-left:auto !important; margin-right:0 !important; }
}

/* ===== Notre Histoire : rangée de 4 images en 2x2 sur mobile ===== */
@media (max-width:767px){
  .elementor-element-e6aaa84{ flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }
  .elementor-element-e6aaa84 > .e-con{ flex: 0 0 47% !important; max-width: 47% !important; width:47% !important; }
  .elementor-element-e6aaa84 > .e-con img{ width:100% !important; height:auto !important; }
}

/* ===== Maison Soca (#14) : bloc "NOS ARTISANS" — cartes métier empilées sur tablette/mobile ===== */
@media (max-width:1024px){
  .elementor-element-3a821aec,
  .elementor-element-218f452c{ width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
  .elementor-element-1a37c45a .elementor-column{ width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
  .elementor-element-1a37c45a .soca-metier-img{ height:340px !important; }
}

/* ===== Maison Soca (#14) : cartes métier — largeur égale + marge entre cartes (tablette/mobile) ===== */
@media (max-width:1024px){
  .elementor-element-1a37c45a .elementor-widget-wrap{ margin-left:0 !important; margin-right:0 !important; }
  .elementor-element-1a37c45a .soca-metier-card{ margin-bottom:24px !important; }
}

/* ===== Maison Soca (#14) : égaliser l'espacement entre les cartes empilées ===== */
@media (max-width:1024px){
  .elementor-element-1a37c45a .elementor-column{ margin-bottom:20px !important; }
}

/* ===== Notre Histoire : photos empilées une par une sur mobile ===== */
@media (max-width:767px){
  .elementor-element-e6aaa84 > .e-con{ flex:0 0 100% !important; max-width:100% !important; width:100% !important; }
}

/* ===== Valeurs/ADN (#140) : masquer la barre verticale centrale en tablette/mobile ===== */
@media (max-width:1024px){
  .elementor-element-valcolR::before{ display:none !important; }
}

/* ===== Projets sur-mesure (#15) : cartes 2x2 en tablette, image remplie en mobile ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-47e996f9,
  .elementor-element-1ebb9a18,
  .elementor-element-1fda3de2,
  .elementor-element-29f378e1{ width:50% !important; flex:0 0 50% !important; max-width:50% !important; margin-bottom:24px !important; }
}
@media (max-width:767px){
  .elementor-page-15 .soca-metier-img{ background-size:cover !important; height:340px !important; }
}

/* ===== Hôtels (#55) : images des blocs projet à la hauteur du bloc texte ===== */
@media (min-width:768px){
  .elementor-element-61ec473 .elementor-widget-image,
  .elementor-element-61e1d93 .elementor-widget-image,
  .elementor-element-7a05a67 .elementor-widget-image,
  .elementor-element-88bcef8 .elementor-widget-image{ height:100%; align-self:stretch; }
  .elementor-element-61ec473 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-61e1d93 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-7a05a67 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-88bcef8 .elementor-widget-image > .elementor-widget-container{ height:100%; }
  .elementor-element-61ec473 .elementor-widget-image img,
  .elementor-element-61e1d93 .elementor-widget-image img,
  .elementor-element-7a05a67 .elementor-widget-image img,
  .elementor-element-88bcef8 .elementor-widget-image img{ height:100% !important; width:100% !important; object-fit:cover; display:block; }
}

/* ===== Restaurants/Lieux/Navires : images des blocs projet à la hauteur du bloc texte ===== */
@media (min-width:768px){
  .elementor-element-e6c2596 .elementor-widget-image,
  .elementor-element-4c92ac7 .elementor-widget-image,
  .elementor-element-bf0bd10 .elementor-widget-image,
  .elementor-element-78eb30b .elementor-widget-image,
  .elementor-element-a31ac7b .elementor-widget-image,
  .elementor-element-c04c456 .elementor-widget-image,
  .elementor-element-197ba27 .elementor-widget-image,
  .elementor-element-b05a524 .elementor-widget-image,
  .elementor-element-071a256 .elementor-widget-image,
  .elementor-element-4945a3d .elementor-widget-image
  { height:100%; align-self:stretch; }
  .elementor-element-e6c2596 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-4c92ac7 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-bf0bd10 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-78eb30b .elementor-widget-image > .elementor-widget-container,
  .elementor-element-a31ac7b .elementor-widget-image > .elementor-widget-container,
  .elementor-element-c04c456 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-197ba27 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-b05a524 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-071a256 .elementor-widget-image > .elementor-widget-container,
  .elementor-element-4945a3d .elementor-widget-image > .elementor-widget-container
  { height:100%; }
  .elementor-element-e6c2596 .elementor-widget-image img,
  .elementor-element-4c92ac7 .elementor-widget-image img,
  .elementor-element-bf0bd10 .elementor-widget-image img,
  .elementor-element-78eb30b .elementor-widget-image img,
  .elementor-element-a31ac7b .elementor-widget-image img,
  .elementor-element-c04c456 .elementor-widget-image img,
  .elementor-element-197ba27 .elementor-widget-image img,
  .elementor-element-b05a524 .elementor-widget-image img,
  .elementor-element-071a256 .elementor-widget-image img,
  .elementor-element-4945a3d .elementor-widget-image img
  { height:100% !important; width:100% !important; object-fit:cover; display:block; }
}

/* ===== Navires : retirer le padding vertical de la colonne image du bloc projet ===== */
@media (min-width:768px){
  .elementor-element-1f748dd > .elementor-widget-wrap{ padding-top:0 !important; padding-bottom:0 !important; }
}

/* ===== Navires : forcer l'image à remplir toute la hauteur (flex-grow) ===== */
@media (min-width:768px){
  .elementor-element-4945a3d .elementor-widget-image{ flex-grow:1; display:flex; }
  .elementor-element-4945a3d .elementor-widget-image > .elementor-widget-container{ flex-grow:1; display:flex; }
  .elementor-element-4945a3d .elementor-widget-image a{ display:flex; width:100%; }
}

/* ===== Navires : image remplit toute la hauteur via positionnement absolu ===== */
@media (min-width:768px){
  .elementor-element-1f748dd > .elementor-widget-wrap{ position:relative; }
  .elementor-element-4945a3d .elementor-widget-image img{ position:absolute; top:0; left:0; width:100% !important; height:100% !important; object-fit:cover; }
}

/* ===== Navires : widget image non-positionné pour que l'image absolue remplisse la colonne ===== */
@media (min-width:768px){
  .elementor-element-4945a3d .elementor-widget-image,
  .elementor-element-4945a3d .elementor-widget-image > .elementor-widget-container{ position:static !important; }
}

/* ===== Lieux d'exception : 10px entre les blocs projet (comme Hôtels) ===== */
.elementor-element-197ba27,
.elementor-element-b05a524,
.elementor-element-071a256{ margin-top:10px !important; }

/* ===== Restaurants : marge du bloc intro alignée sur Hôtels ===== */
.elementor-element-e6c2596{ margin-top:10px !important; }

/* ===== Restaurants/Lieux : padding des blocs projet = 0 en tablette (comme Hôtels) ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-e6c2596,
  .elementor-element-4c92ac7,
  .elementor-element-bf0bd10,
  .elementor-element-78eb30b,
  .elementor-element-a31ac7b,
  .elementor-element-c04c456,
  .elementor-element-197ba27,
  .elementor-element-b05a524,
  .elementor-element-071a256
  { padding-top:0 !important; padding-bottom:0 !important; }
}

/* ===== Restaurants : section COMPÉTENCES à la même largeur que les blocs projet (tablette) ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-picsecA56{ padding-left:24px !important; padding-right:24px !important; }
}

/* ===== Projets sur-mesure : sections COMPÉTENCES + pictos à la largeur des blocs projet (tablette) ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-picsecA,  .elementor-element-picsecB,
  .elementor-element-picsecA56,.elementor-element-picsecB56,
  .elementor-element-picsecA57,.elementor-element-picsecB57,
  .elementor-element-picsecA58,.elementor-element-picsecB58{
    padding-left:24px !important; padding-right:24px !important;
  }
}

/* ===== Lieux : bloc intro — image remplit toujours la hauteur du panneau texte (tablette) ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-34e891f > .elementor-widget-wrap{ position:relative; }
  .elementor-element-4e0a699,
  .elementor-element-4e0a699 > .elementor-widget-container{ position:static !important; }
  .elementor-element-c04c456 .elementor-widget-image img{ position:absolute; top:0; left:0; width:100% !important; height:100% !important; object-fit:cover; }
}

/* ===== Lieux intro : recadrer la bande orange en bas de l'image (tablette) ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-34e891f > .elementor-widget-wrap{ overflow:hidden !important; }
  .elementor-element-c04c456 .elementor-widget-image img{ height:calc(100% + 32px) !important; }
}

/* ===== Projets (Hôtels/Restaurants/Lieux) : image toujours avant le texte en mobile ===== */
@media (max-width:767px){
  .elementor-element-be178f2 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-61ec473 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-61e1d93 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-7a05a67 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-88bcef8 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-e6c2596 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-4c92ac7 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-bf0bd10 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-78eb30b > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-a31ac7b > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-c04c456 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-197ba27 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-b05a524 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
  .elementor-element-071a256 > .elementor-container > .elementor-column:has(.elementor-widget-image){ order:-1; }
}

/* ===== Navires : rogner la bande bleue en bas de l'image (tablette) ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-1f748dd > .elementor-widget-wrap{ overflow:hidden !important; }
  .elementor-element-4945a3d .elementor-widget-image img{ height:calc(100% + 34px) !important; }
}

/* ===== Hero slider accueil : fidèle aux maquettes validées (3 slides) ===== */
@media (min-width: 901px) {
	.soca-hero-slide { height: 52.1vw !important; min-height: 0 !important; padding: 0 !important; background-size: 100% 100% !important; background-position: center !important; background-origin: border-box !important; }
	.soca-hero-scrim::before { display: none !important; }
	.soca-hero-text { left: 6.6vw !important; width: 40vw !important; padding: 0 !important; justify-content: center !important; }
	.soca-hero-label { display: none !important; }
	.soca-hero-heading { font-family: 'Euclid Triangle', Arial, sans-serif !important; font-weight: 700 !important; font-size: 3.55vw !important; line-height: 1.07 !important; margin-bottom: 1.9vw !important; white-space: normal !important; color: #474333 !important; }
	.soca-hero-desc { font-family: 'Euclid Circular A', Arial, sans-serif !important; font-size: 1.5vw !important; line-height: 1.34 !important; max-width: 22.5vw !important; margin-bottom: 2.2vw !important; color: #2E2E2D !important; }
	.soca-hero-desc strong { font-weight: 700; }
	.soca-hero-dots { gap: 0.9vw !important; margin-bottom: 1.8vw !important; }
	.soca-hero-dots span { width: 2.45vw !important; height: 2.45vw !important; border-radius: 0.5vw !important; }
	.soca-hero-btn { font-family: 'Euclid Circular A', Arial, sans-serif !important; font-size: max(12px, 0.95vw) !important; font-weight: 500 !important; letter-spacing: 0.08em !important; color: #6B665A !important; border-bottom-width: 1px !important; border-bottom-color: #6B665A !important; padding-bottom: 0.3vw !important; }
	/* Slide 1 (Éditions) : titre taupe comme la maquette */
	.soca-hero-slide[style*="soca-slide-editions"] .soca-hero-heading { color: #9C9787 !important; }
}
@media (max-width: 900px) {
	.soca-hero-slide::after { background-size: contain !important; background-position: center !important; }
	.soca-hero-desc strong { font-weight: 700; }
}
@media (max-width: 900px) {
	.soca-hero-slide::after { background-size: 150% auto !important; background-position: 98% 50% !important; }
	.soca-hero-heading { white-space: normal !important; }
	.soca-hero-label { display: none !important; }
}

/* ===== Euclid partout : sous-menus et liens de navigation Elementor Pro ===== */
.elementor-nav-menu a, .elementor-nav-menu--dropdown a, .elementor-sub-item, .elementor-item { font-family: 'Euclid Circular A', Arial, sans-serif; }


:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) { --u: min(1vw, 14.4px); }
/* ===== Pages Iconiques / Collabs : cadrage fidèle au modèle validé (en-têtes, portraits, cartes) ===== */
@media (min-width: 1025px) {
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] {
		--soca-pad-l: calc(3.75 * var(--u));
	}
	/* En-tête : label, filet, titre, texte alignés à gauche à calc(3.75 * var(--u)) */
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading,
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-divider,
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-text-editor { margin-left: var(--soca-pad-l) !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-text-editor) .elementor-heading-title { font-size: min(calc(5.5 * var(--u)), 96px) !important; line-height: 1.05 !important; margin-bottom: calc(1.4 * var(--u)); }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-text-editor:not(:last-child) .elementor-widget-container,
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading + .elementor-widget-text-editor .elementor-widget-container { text-align: justify; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-text-editor) + .elementor-widget-text-editor { width: calc(52.9 * var(--u)) !important; max-width: none !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-text-editor) + .elementor-widget-text-editor,
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-text-editor) + .elementor-widget-text-editor p { font-size: calc(1.55 * var(--u)) !important; line-height: 1.42 !important; color: #1a1a1a !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-text-editor) + .elementor-widget-text-editor p { margin-bottom: calc(1.4 * var(--u)) !important; }
	/* Portrait « Créée avec… » : 217 x 267, coins arrondis, légende centrée dessous */
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image { margin-left: auto !important; margin-right: calc(2.8 * var(--u)) !important; width: calc(15.1 * var(--u)) !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image img { width: calc(15.1 * var(--u)) !important; height: calc(18.5 * var(--u)) !important; object-fit: cover; border-radius: calc(1.2 * var(--u)) !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image + .elementor-widget-text-editor { margin: calc(0.8 * var(--u)) calc(2.8 * var(--u)) 0 auto !important; width: calc(15.1 * var(--u)) !important; text-align: center; font-size: calc(0.97 * var(--u)) !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image + .elementor-widget-text-editor p { font-size: calc(0.97 * var(--u)) !important; text-align: center; margin: 0; }
	/* Rangée de cartes : marges et gouttières du modèle */
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) { padding: calc(2.8 * var(--u)) calc(1.75 * var(--u)) calc(1.95 * var(--u)) calc(3.3 * var(--u)) !important; gap: calc(1.75 * var(--u)) !important; flex-wrap: nowrap !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) > .e-flexbox-base { flex: 1 1 0 !important; min-width: 0; padding: 0 !important; width: auto !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(4):last-child .soca-metier-card) > .e-flexbox-base:nth-child(4) { flex-grow: 1.65 !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) .elementor-widget-divider { display: none; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .soca-metier-card { border-radius: calc(1.2 * var(--u)) !important; background: #fff; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .soca-metier-img { height: calc(20.8 * var(--u)) !important; background-size: cover; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .soca-metier-bar { min-height: calc(4.7 * var(--u)) !important; padding: 0 calc(1.7 * var(--u)) !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .soca-metier-title { font-family: 'Euclid Circular A', Arial, sans-serif !important; font-weight: 400 !important; font-size: calc(1.2 * var(--u)) !important; letter-spacing: 0.06em !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .soca-metier-plus { font-size: calc(1.6 * var(--u)) !important; }
	/* Rangée de 2 grandes cartes (Collabs) */
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) .e-flexbox-base:has(> .e-flexbox-base:nth-child(2):last-child .soca-metier-card) { padding: calc(2.4 * var(--u)) calc(2.8 * var(--u)) calc(1.8 * var(--u)) calc(8.1 * var(--u)) !important; gap: calc(3.3 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) .e-flexbox-base:has(> .e-flexbox-base:nth-child(2):last-child .soca-metier-card) .soca-metier-img { height: calc(37.4 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) .e-flexbox-base:has(> .e-flexbox-base:nth-child(2):last-child .soca-metier-card) .soca-metier-bar { min-height: calc(7.8 * var(--u)) !important; padding: 0 calc(2.2 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) .e-flexbox-base:has(> .e-flexbox-base:nth-child(2):last-child .soca-metier-card) .soca-metier-title { font-size: calc(2.1 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) .e-flexbox-base:has(> .e-flexbox-base:nth-child(2):last-child .soca-metier-card) .soca-metier-plus { font-size: calc(2.6 * var(--u)) !important; }
}
@media (min-width: 1025px) {
	/* Rangée de cartes alignée sur la largeur du bloc d'en-tête */
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) { margin-left: 20px !important; margin-right: 20px !important; width: calc(100% - 40px) !important; box-sizing: border-box; }
	/* Colonne portrait : remonte l'image, supprime le vide sous le bloc */
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-top-column:has(> .elementor-widget-wrap > .elementor-widget-image) > .elementor-element-populated { padding-top: calc(2.8 * var(--u)) !important; padding-bottom: calc(2 * var(--u)) !important; align-content: flex-start !important; }
}
@media (min-width: 1025px) {
	/* Collabs : tous les blocs à la même largeur (marges latérales de 40px) */
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-top-section { padding-left: 40px !important; padding-right: 40px !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-top-column > .elementor-widget-wrap { padding-left: 10px; padding-right: 10px; }
}
@media (min-width: 1025px) {
	/* Collabs : grandes cartes (1 ou 2 par rangée), conteneurs vides masqués */
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) { padding: calc(2.4 * var(--u)) calc(2.8 * var(--u)) calc(1.8 * var(--u)) calc(8.1 * var(--u)) !important; gap: calc(3.3 * var(--u)) !important; justify-content: flex-start !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) > .e-flexbox-base:not(:has(.soca-metier-card)) { display: none !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) > .e-flexbox-base { flex: 0 0 calc(40.2 * var(--u)) !important; width: calc(40.2 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-img { height: calc(37.4 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-bar { min-height: calc(7.8 * var(--u)) !important; padding: 0 calc(2.2 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-title { font-size: calc(2.1 * var(--u)) !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-plus { font-size: calc(2.6 * var(--u)) !important; }
}

/* Séparateurs résiduels dans les rangées de cartes (visibles sur mobile) */
:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base .elementor-widget-divider { display: none !important; }


@media (min-width: 1025px) {
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-heading:has(+ .elementor-widget-text-editor) + .elementor-widget-text-editor { width: auto !important; max-width: min(calc(52.9 * var(--u)), calc(100% - var(--soca-pad-l) - 24px)) !important; margin-right: 24px !important; }
}
/* ===== Slider accueil : proportions texte/image calées sur les captures (unités relatives à la largeur du slider) ===== */
@media (min-width: 901px) {
	.soca-hero-slider { container-type: inline-size; }
	.soca-hero-slide { height: auto !important; aspect-ratio: 2400 / 1253; }
	.soca-hero-text { left: 7cqw !important; width: 42cqw !important; }
	.soca-hero-heading { font-size: 3.45cqw !important; line-height: 1.07 !important; margin-bottom: 1.7cqw !important; }
	.soca-hero-desc { font-size: 1.47cqw !important; line-height: 1.36 !important; max-width: 22.8cqw !important; margin-bottom: 2.1cqw !important; }
	.soca-hero-dots { gap: 0.7cqw !important; margin-bottom: 1.7cqw !important; }
	.soca-hero-dots span { width: 3cqw !important; height: 3cqw !important; border-radius: 0.6cqw !important; }
	.soca-hero-btn { font-size: max(10px, 0.82cqw) !important; letter-spacing: 0.08em !important; padding-bottom: 0.25cqw !important; }
}
@media (min-width: 901px) {
	.soca-hero-desc, .soca-hero-btn { white-space: pre-line !important; }
	.soca-hero-btn { border-bottom: 0 !important; line-height: 1.5 !important; color: #A69881 !important; }
}
@media (max-width: 900px) {
	.soca-hero-desc, .soca-hero-btn { white-space: normal !important; }
}
@media (max-width: 900px) {
	.soca-hero-slide::after { background-size: 142% auto !important; background-position: 93% 50% !important; }
}

/* Slider accueil : plein cadre, sans fond ni marges autour (plus de liseré beige/blanc) */
.elementor-column:has(.soca-hero-slider) > .elementor-widget-wrap { background: transparent !important; padding: 0 !important; }
.elementor-section:has(.soca-hero-slider) { padding: 0 !important; background: transparent !important; }
.elementor-section:has(.soca-hero-slider) > .elementor-container { max-width: 100% !important; }
.elementor-element:has(> .elementor-widget-container .soca-hero-slider) { margin: 0 !important; }

/* ===== Collections exclusives (#16) : 3 rangées calées sur les captures (panneau / photo / 3 vignettes de même zoom) ===== */
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) { --cw: min(76vw, 1520px); }
	:is(.page-id-16,.page-id-84) .elementor-element-5843aea, :is(.page-id-16,.page-id-84) .elementor-element-ca02562, :is(.page-id-16,.page-id-84) .elementor-element-c131516 { padding: 0 !important; margin: 0 0 calc(var(--cw) * 0.03) 0 !important; background: transparent !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-5843aea > .elementor-container, :is(.page-id-16,.page-id-84) .elementor-element-ca02562 > .elementor-container, :is(.page-id-16,.page-id-84) .elementor-element-c131516 > .elementor-container { width: var(--cw) !important; max-width: var(--cw) !important; margin: 0 auto !important; height: calc(var(--cw) * 0.5066) !important; flex-wrap: nowrap !important; align-items: stretch !important; }
	/* colonnes : largeur fixe, hauteur pleine */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced) { width: 41.4% !important; flex: 0 0 41.4% !important; max-width: none !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c) { width: 43.7% !important; flex: 0 0 43.7% !important; max-width: none !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-5617b16 { width: 43.3% !important; flex: 0 0 43.3% !important; max-width: none !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24) { width: 14.9% !important; flex: 0 0 14.9% !important; max-width: none !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-f7975ff { width: 15.3% !important; flex: 0 0 15.3% !important; max-width: none !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced, .elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16, .elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) { height: 100% !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced, .elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16, .elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) > .elementor-element-populated { height: 100% !important; min-height: 0 !important; }
	/* panneaux texte : texte centré verticalement, marge gauche 7,5 % */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced) > .elementor-element-populated { display: flex !important; flex-direction: column !important; justify-content: center !important; padding: 0 calc(var(--cw) * 0.04) 0 calc(var(--cw) * 0.075) !important; }
	/* photos principales : remplissent leur colonne */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) > .elementor-element-populated { display: block !important; padding: 0 !important; overflow: hidden !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) .elementor-widget-image, :is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) .elementor-widget-image .elementor-widget-container { height: 100% !important; width: 100% !important; margin: 0 !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 0 !important; display: block; }
	/* colonnes de vignettes : 3 vignettes de hauteur égale, même zoom (largeur ajustée, recadrage centré) */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) > .elementor-element-populated { display: flex !important; flex-direction: column !important; justify-content: stretch !important; gap: calc(var(--cw) * 0.0138) !important; padding: 0 calc(var(--cw) * 0.0072) 0 calc(var(--cw) * 0.0132) !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-f7975ff > .elementor-element-populated { padding: 0 0 0 calc(var(--cw) * 0.0132) !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) .elementor-widget-image { flex: 1 1 0 !important; min-height: 0 !important; width: 100% !important; margin: 0 !important; display: block !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) .elementor-widget-image .elementor-widget-container { height: 100% !important; width: 100% !important; border-radius: calc(var(--cw) * 0.0125) !important; overflow: hidden !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; border-radius: 0 !important; display: block; }
}
@media (min-width: 1025px) {
	/* Collections exclusives : typographie des panneaux proportionnelle à la largeur du bloc (comme les captures) */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1fa2ad0, .elementor-element-52fff43, .elementor-element-f02c84a) .elementor-heading-title { font-size: calc(var(--cw) * 0.0128) !important; letter-spacing: 0.19em !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-702c3eb, .elementor-element-58571cf, .elementor-element-29250bd) .elementor-heading-title { font-size: calc(var(--cw) * 0.057) !important; line-height: 1.04 !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-ac199ab, .elementor-element-b4ecbef, .elementor-element-95d7687) { max-width: none !important; width: 100% !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-ac199ab, .elementor-element-b4ecbef, .elementor-element-95d7687), :is(.page-id-16,.page-id-84) :is(.elementor-element-ac199ab, .elementor-element-b4ecbef, .elementor-element-95d7687) p { font-size: calc(var(--cw) * 0.0165) !important; line-height: 1.36 !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-17e92c3, .elementor-element-722a1c5, .elementor-element-7999882) .elementor-button { font-size: calc(var(--cw) * 0.0100) !important; letter-spacing: 0.09em !important; }
}
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced) > .elementor-element-populated { padding: 0 calc(var(--cw) * 0.03) 0 calc(var(--cw) * 0.03) !important; }
}
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced) > .elementor-element-populated { padding-right: calc(var(--cw) * 0.075) !important; }
}
:is(.page-id-16,.page-id-84) [data-elementor-type="wp-page"] .elementor-widget-button, :is(.page-id-16,.page-id-84) [data-elementor-type="wp-page"] .elementor-widget-button .elementor-widget-container { text-align: left !important; }
:is(.page-id-16,.page-id-84) [data-elementor-type="wp-page"] .elementor-widget-button .elementor-button { margin-left: 0 !important; }

/* ===== Collections exclusives (#16) : mobile / tablette — panneau, photo principale, puis 3 vignettes de même zoom ===== */
@media (max-width: 1024px) {
	:is(.page-id-16,.page-id-84) :is(.elementor-element-5843aea, .elementor-element-ca02562, .elementor-element-c131516) { padding: 0 !important; margin: 0 0 28px 0 !important; background: transparent !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-5843aea, .elementor-element-ca02562, .elementor-element-c131516) > .elementor-container { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; width: 100% !important; max-width: 100% !important; height: auto !important; padding: 0 16px !important; margin: 0 auto !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced, .elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16, .elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) { width: 100% !important; max-width: 100% !important; flex: none !important; height: auto !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced) { order: 1; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) { order: 2; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) { order: 3; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced) > .elementor-element-populated { display: flex !important; flex-direction: column !important; justify-content: center !important; height: auto !important; min-height: 0 !important; padding: 32px 24px !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-9a08d16, .elementor-element-bbab54a, .elementor-element-eaf2ced) :is(.elementor-widget-text-editor) { max-width: none !important; width: 100% !important; }
	/* photo principale : plein cadre, recadrée */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) > .elementor-element-populated { display: block !important; height: auto !important; min-height: 0 !important; padding: 0 !important; overflow: hidden !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) .elementor-widget-image, :is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) .elementor-widget-image .elementor-widget-container { height: auto !important; width: 100% !important; margin: 0 !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-c85f984, .elementor-element-b63025c, .elementor-element-5617b16) img { width: 100% !important; height: auto !important; aspect-ratio: 1206 / 1100; object-fit: cover !important; border-radius: 0 !important; display: block; }
	/* vignettes : 3 côte à côte, même zoom et même taille */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) > .elementor-element-populated { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px !important; height: auto !important; min-height: 0 !important; padding: 8px 0 0 0 !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) .elementor-widget-image { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; margin: 0 !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) .elementor-widget-image .elementor-widget-container { height: auto !important; border-radius: 12px !important; overflow: hidden !important; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) img { width: 100% !important; height: auto !important; aspect-ratio: 400 / 542; object-fit: cover !important; display: block; border-radius: 0 !important; }
}
@media (max-width: 1024px) {
	/* Vignettes mobile : produit plus zoomé, même zoom pour les 9 vignettes (portraits calés sur le visage) */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) img { aspect-ratio: 1 / 1.12; transform: scale(1.32); transform-origin: 50% 58%; }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-706af9d, .elementor-element-317fc44, .elementor-element-54aec2d, .elementor-element-f0c13f8) img { transform-origin: 50% 30%; }
}
/* Vignettes : arrondi et recadrage portés par le widget image (pas de conteneur interne) */
:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) .elementor-widget-image { overflow: hidden !important; border-radius: 12px !important; }
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) .elementor-widget-image { border-radius: calc(var(--cw) * 0.0125) !important; }
}
@media (min-width: 1025px) {
	/* Vignettes : les fauteuils / chaise / canapé sont zoomés, portraits inchangés */
	:is(.page-id-16,.page-id-84) :is(.elementor-element-d3ce964, .elementor-element-56a8c34, .elementor-element-8fcd7b6, .elementor-element-50d0623, .elementor-element-032a647) img { transform: scale(1.32); }
	:is(.page-id-16,.page-id-84) :is(.elementor-element-d3ce964, .elementor-element-56a8c34) img { transform-origin: 55% 50%; }
	:is(.page-id-16,.page-id-84) .elementor-element-8fcd7b6 img { transform-origin: 52% 58%; }
	:is(.page-id-16,.page-id-84) .elementor-element-50d0623 img { transform-origin: 58% 52%; }
	:is(.page-id-16,.page-id-84) .elementor-element-032a647 img { transform-origin: 55% 45%; }
}

/* ===== Collections exclusives (#16) : introduction « SOCA® ÉDITIONS » comme la référence (italique, espacement) ===== */
:is(.page-id-16,.page-id-84) .elementor-element-b0c8085 { padding-bottom: 0 !important; }
:is(.page-id-16,.page-id-84) .elementor-element-5267864 .elementor-heading-title { font-family: 'Euclid Circular A', Arial, sans-serif !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase; text-align: center !important; color: #222 !important; }
:is(.page-id-16,.page-id-84) .elementor-element-b05f69e, :is(.page-id-16,.page-id-84) .elementor-element-b05f69e p { font-family: 'Times New Roman', Times, 'Liberation Serif', serif !important; font-style: italic !important; font-weight: 400 !important; text-align: center !important; color: #111 !important; line-height: 1.6 !important; }
:is(.page-id-16,.page-id-84) .elementor-element-b05f69e { max-width: 100% !important; margin: 14px auto 0 auto !important; }
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) .elementor-element-5267864 .elementor-heading-title { font-size: calc(var(--cw) * 0.0165) !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-b05f69e, :is(.page-id-16,.page-id-84) .elementor-element-b05f69e p { font-size: calc(var(--cw) * 0.0165) !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-b05f69e { width: var(--cw) !important; margin-bottom: calc(var(--cw) * 0.034) !important; }
}
@media (max-width: 1024px) {
	:is(.page-id-16,.page-id-84) .elementor-element-b05f69e, :is(.page-id-16,.page-id-84) .elementor-element-b05f69e p { font-size: 15px !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-b05f69e { margin-bottom: 28px !important; }
}
:is(.page-id-16,.page-id-84) .elementor-element-b0c8085 { padding-bottom: 28px !important; }
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) .elementor-element-b0c8085 { padding-bottom: calc(var(--cw) * 0.034) !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-b05f69e { margin-bottom: 0 !important; }
}
:is(.page-id-16,.page-id-84) .elementor-element-b0c8085 { margin-bottom: 0 !important; }

/* ===== Vignettes : hauteurs proportionnelles et cadrages des captures (recadrage intégré aux images) ===== */
:is(.page-id-16,.page-id-84) :is(.elementor-element-1b2c642, .elementor-element-7dc2e24, .elementor-element-f7975ff) img { transform: none !important; }
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) .elementor-element-d3ce964 { flex: 275 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-element-56a8c34 { flex: 212 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-element-706af9d { flex: 237 1 0 !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-8fcd7b6 { flex: 234 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-element-50d0623 { flex: 251 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-element-317fc44 { flex: 235 1 0 !important; }
	:is(.page-id-16,.page-id-84) .elementor-element-54aec2d { flex: 220 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-element-032a647 { flex: 250 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-element-f0c13f8 { flex: 237 1 0 !important; }
}
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) .elementor-column .elementor-element-d3ce964.elementor-widget-image { flex: 275 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-column .elementor-element-56a8c34.elementor-widget-image { flex: 212 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-column .elementor-element-706af9d.elementor-widget-image { flex: 237 1 0 !important; }
	:is(.page-id-16,.page-id-84) .elementor-column .elementor-element-8fcd7b6.elementor-widget-image { flex: 234 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-column .elementor-element-50d0623.elementor-widget-image { flex: 251 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-column .elementor-element-317fc44.elementor-widget-image { flex: 235 1 0 !important; }
	:is(.page-id-16,.page-id-84) .elementor-column .elementor-element-54aec2d.elementor-widget-image { flex: 220 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-column .elementor-element-032a647.elementor-widget-image { flex: 250 1 0 !important; } :is(.page-id-16,.page-id-84) .elementor-column .elementor-element-f0c13f8.elementor-widget-image { flex: 237 1 0 !important; }
}
/* Introduction : 2 lignes italiques resserrées, texte plus grand comme la référence */
:is(.page-id-16,.page-id-84) .elementor-element-b05f69e, :is(.page-id-16,.page-id-84) .elementor-element-b05f69e p { line-height: 1.22 !important; margin-bottom: 0 !important; }
@media (min-width: 1025px) {
	:is(.page-id-16,.page-id-84) .elementor-element-b05f69e, :is(.page-id-16,.page-id-84) .elementor-element-b05f69e p { font-size: calc(var(--cw) * 0.0205) !important; }
}

/* === Iconiques · MARLY TERRASSE : alignement robuste des cartes (identique à MARLY INTÉRIEUR, anti-cache post-122.css) === */
.elementor-element-4c9885d { display: flex !important; flex-wrap: wrap !important; gap: 16px !important; align-items: stretch !important; }
@media (min-width: 768px) {
	.elementor-element-4c9885d > .e-7da430f-af6b0dc,
	.elementor-element-4c9885d > .e-464df13-4f46db8,
	.elementor-element-4c9885d > .e-e4c6cf7-577722c { flex: 1 1 0 !important; width: auto !important; max-width: none !important; }
	.elementor-element-4c9885d > .e-a68867f-8422f0e { flex: 1.6 1 0 !important; width: auto !important; max-width: none !important; }
}
@media (max-width: 767px) {
	.elementor-element-4c9885d > .e-7da430f-af6b0dc,
	.elementor-element-4c9885d > .e-464df13-4f46db8,
	.elementor-element-4c9885d > .e-e4c6cf7-577722c,
	.elementor-element-4c9885d > .e-a68867f-8422f0e { flex: 0 0 calc(50% - 8px) !important; width: calc(50% - 8px) !important; max-width: none !important; }
}

/* Écrans larges : les rangées de cartes restent calées sur la largeur du bloc d'en-tête (1400 px max, centrées) */
@media (min-width: 1025px) {
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) { max-width: 1400px !important; width: calc(100% - 40px) !important; margin-left: auto !important; margin-right: auto !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-top-section > .elementor-container { max-width: 1400px !important; }
}

/* ===== Pages Iconiques / Collabs / Pièces maison : tablette et mobile (≤1024 px) — cartes en grille 2 colonnes, photos non coupées ===== */
@media (max-width: 1024px) {
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: flex-start !important; gap: 14px !important; padding: 16px !important; width: calc(100% - 32px) !important; max-width: 100% !important; margin: 0 16px !important; height: auto !important; box-sizing: border-box; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) > .e-flexbox-base { flex: 0 0 calc(50% - 7px) !important; width: calc(50% - 7px) !important; max-width: calc(50% - 7px) !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card) > .e-flexbox-base:not(:has(.soca-metier-card)) { display: none !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) .soca-metier-img { height: auto !important; aspect-ratio: 1 / 0.9; background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; background-color: #fff; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) .soca-metier-bar { min-height: 56px !important; padding: 0 18px !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) .soca-metier-title { font-size: 14px !important; }
	/* textes : largeur de leur colonne, pas de débordement */
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-text-editor { max-width: 100% !important; width: auto !important; margin-right: 16px !important; }
}
@media (max-width: 1024px) {
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image { margin: 0 auto !important; width: auto !important; max-width: 100% !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image img { width: 150px !important; height: 190px !important; object-fit: cover !important; border-radius: 14px !important; display: block; margin: 0 auto; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image + .elementor-widget-text-editor { margin: 10px auto 0 auto !important; text-align: center !important; width: 100% !important; font-size: 13px !important; }
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image + .elementor-widget-text-editor p { font-size: 13px !important; text-align: center !important; }
}
@media (max-width: 1024px) {
	:is(.page-id-122,.page-id-149,.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .elementor-widget-image { width: 100% !important; text-align: center !important; }
}
@media (min-width: 1025px) {
	/* Rangée 2 : espace de 20 px entre la colonne de vignettes et la grande photo, comme sur la capture */
	:is(.page-id-16,.page-id-84) .elementor-element-f7975ff > .elementor-element-populated { padding: 0 calc(var(--cw) * 0.0132) 0 calc(var(--cw) * 0.0132) !important; }
}

/* ===== Collabs / Pièces maison : cartes à la taille des captures (unités = largeur de la rangée, 1cqw) ===== */
@media (min-width: 1025px) {
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) { container-type: inline-size; padding: 2.4% 0 2% 0 !important; gap: 2cqw !important; justify-content: flex-start !important; }
	/* rangée de 2 cartes (modèle Frizz) : 24 % de large, image 0,94 x, bandeau 0,19 x */
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) > .e-flexbox-base:not(:has(.soca-metier-card)) { display: none !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) > .e-flexbox-base { flex: 0 0 24cqw !important; width: 24cqw !important; max-width: 24cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) > .e-flexbox-base:first-child { margin-left: 6.6cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-img { height: 22.5cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-bar { min-height: 4.56cqw !important; padding: 0 1.75cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-title { font-size: 1.85cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-plus { font-size: 1.9cqw !important; }
	/* rangée d'une seule carte (modèle Orecchino) : 17,9 % de large, image 1,255 x */
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:first-child .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+2) .soca-metier-card)) > .e-flexbox-base:not(:has(.soca-metier-card)) { display: none !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:first-child .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+2) .soca-metier-card)) > .e-flexbox-base:first-child { flex: 0 0 17.9cqw !important; width: 17.9cqw !important; max-width: 17.9cqw !important; margin-left: 6.6cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:first-child .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+2) .soca-metier-card)) .soca-metier-img { height: 22.5cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:first-child .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+2) .soca-metier-card)) .soca-metier-bar { min-height: 3.4cqw !important; padding: 0 1.3cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:first-child .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+2) .soca-metier-card)) .soca-metier-title { font-size: 1.38cqw !important; }
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:first-child .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+2) .soca-metier-card)) .soca-metier-plus { font-size: 1.4cqw !important; }
}

/* ===== Pied de page (barre du bas) : logo SOCA, mention, logo EPV sur une même ligne ; mention en noir, à gauche du logo EPV ===== */
.elementor-element-976f631 > .elementor-container { display: flex !important; flex-wrap: nowrap !important; justify-content: center !important; align-items: center !important; gap: 80px !important; }
.elementor-element-976f631 .elementor-column { width: auto !important; flex: 0 0 auto !important; }
.elementor-element-976f631 .elementor-widget-wrap { align-items: center !important; align-content: center !important; }
.elementor-element-aeaae57 > .elementor-element-populated { display: flex !important; flex-direction: row-reverse !important; align-items: center !important; justify-content: center !important; gap: 22px !important; }
.elementor-element-aeaae57 .elementor-widget { width: auto !important; margin: 0 !important; }
.elementor-element-aeaae57 .elementor-widget-heading .elementor-heading-title { color: #000 !important; text-align: left !important; line-height: 1.5 !important; }
@media (max-width: 700px) {
	.elementor-element-976f631 > .elementor-container { flex-wrap: wrap !important; gap: 20px !important; }
}
@media (min-width: 1025px) {
	:is(.page-id-124,.page-id-151,.page-id-123,.page-id-150) [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2) .soca-metier-card):not(:has(> .e-flexbox-base:nth-child(n+3) .soca-metier-card)) .soca-metier-title { font-size: 1.5cqw !important; letter-spacing: 0.02em !important; white-space: nowrap !important; }
}
.elementor-element-976f631 .elementor-column { width: max-content !important; max-width: 100% !important; }
.elementor-element-976f631 .elementor-widget-image { width: auto !important; }
.elementor-element-976f631 .elementor-column > .elementor-element-populated { width: auto !important; }
.elementor-element-a4ef308 img { width: 150px !important; height: auto !important; max-width: none !important; }
.elementor-element-3dfd2eb img { width: 70px !important; height: auto !important; max-width: none !important; }
.elementor-element-a4ef308 img { transform: translateY(-16px); }
.elementor-element-976f631 > .elementor-container { padding-left: 40px !important; }

/* Blocs de pictos des projets (hôtels, restaurants, lieux d'exception, navires) : le bloc du dessous ne recouvre plus le titre */
[class*="elementor-element-picsecB"] { margin-top: 0 !important; }
[class*="elementor-element-picsecA"] > .elementor-container { padding-bottom: 14px !important; }

/* Navires : le panneau beige couvre toute la hauteur de la photo (alignés en haut et en bas, sans bande blanche) */
.elementor-element-5e01c5f > .elementor-element-populated,
.elementor-element-072582b > .elementor-element-populated { margin-top: 0 !important; margin-bottom: 0 !important; }

/* En-tête : drapeaux de langue sur la même ligne que le menu, centrés verticalement */
@media (min-width: 1025px) {
	.elementor-element-6a15bb3 > .elementor-element-populated { flex-wrap: nowrap !important; align-items: center !important; align-content: center !important; justify-content: flex-end !important; }
	.elementor-element-6a15bb3 .elementor-element-a84b206 { flex: 0 1 auto !important; width: auto !important; margin: 0 !important; }
	.elementor-element-6a15bb3 .elementor-element-bcf5f8f { flex: 0 0 auto !important; width: auto !important; margin: 0 0 0 14px !important; align-self: center !important; }
	.elementor-element-bcf5f8f .soca-lang-switcher { align-items: center !important; justify-content: center !important; margin: 0 !important; }
	.elementor-element-bcf5f8f .soca-lang-switcher img, .elementor-element-bcf5f8f .soca-lang-switcher a { display: block !important; line-height: 0 !important; }
}

/* ===== Complianz (cookies) : bandeau aux couleurs du site (beige #F9F5ED, taupe #A69881, texte #3A3A38, police Euclid) ===== */
.cmplz-cookiebanner { background-color: #F9F5ED !important; color: #3A3A38 !important; border: 1px solid #D9D0C1 !important; border-radius: 4px !important; box-shadow: 0 6px 24px rgba(58,58,56,0.12) !important; font-family: 'Euclid Circular A', 'Archivo', Arial, sans-serif !important; }
.cmplz-cookiebanner * { font-family: 'Euclid Circular A', 'Archivo', Arial, sans-serif; }
.cmplz-cookiebanner .cmplz-title { color: #3A3A38 !important; font-weight: 600 !important; letter-spacing: 0.12em; text-transform: uppercase; font-size: 13px !important; }
.cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-description, .cmplz-cookiebanner .cmplz-category-title, .cmplz-cookiebanner .cmplz-always-active, .cmplz-cookiebanner .cmplz-links { color: #3A3A38 !important; }
.cmplz-cookiebanner .cmplz-message { font-size: 13px; line-height: 1.55; }
.cmplz-cookiebanner .cmplz-divider { background-color: #D9D0C1 !important; }
.cmplz-cookiebanner .cmplz-close, .cmplz-cookiebanner .cmplz-close svg { color: #8C8272 !important; fill: #8C8272 !important; }
.cmplz-cookiebanner a, .cmplz-cookiebanner .cmplz-link { color: #A69881 !important; text-decoration-color: #A69881; }
.cmplz-cookiebanner .cmplz-btn { border-radius: 2px !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.08em; text-transform: uppercase; transition: background-color .2s ease, color .2s ease; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background-color: #A69881 !important; border: 1px solid #A69881 !important; color: #FFFFFF !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background-color: #8C8272 !important; border-color: #8C8272 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny, .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background-color: transparent !important; border: 1px solid #A69881 !important; color: #3A3A38 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover, .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover { background-color: #A69881 !important; color: #FFFFFF !important; }
.cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label, .cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label:before { background-color: #A69881 !important; }
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label { background-color: #D9D0C1 !important; }
.cmplz-cookiebanner .cmplz-always-active { color: #A69881 !important; }
#cmplz-manage-consent .cmplz-manage-consent, .cmplz-manage-consent.cmplz-show { background-color: #A69881 !important; color: #FFFFFF !important; border: 1px solid #A69881 !important; border-radius: 2px !important; font-family: 'Euclid Circular A', Arial, sans-serif !important; font-size: 11px !important; letter-spacing: 0.08em; text-transform: uppercase; }
@media (max-width: 600px) { .cmplz-cookiebanner { border-radius: 0 !important; } }

/* ===== Pages anglaises : mêmes hauteurs de blocs / visuels que les pages françaises (le texte anglais plus court ne réduit plus les images) ===== */
@media (min-width: 1025px) {
	.page-id-83 .elementor-element-cdad15c { min-height: 178px !important; }
	.page-id-83 .elementor-element-cdad15c > .elementor-element-populated { min-height: 178px !important; }
	.page-id-83 .elementor-element-63b94ac { min-height: 110px !important; }
	.page-id-83 .elementor-element-63b94ac > .elementor-element-populated { min-height: 110px !important; }
	.page-id-87 .elementor-element-e6c2596 { min-height: 678px !important; }
	.page-id-87 .elementor-element-e6c2596 > .elementor-element-populated { min-height: 678px !important; }
	.page-id-87 .elementor-element-8fe2d57 { min-height: 678px !important; }
	.page-id-87 .elementor-element-8fe2d57 > .elementor-element-populated { min-height: 678px !important; }
	.page-id-87 .elementor-element-c20b381 { min-height: 678px !important; }
	.page-id-87 .elementor-element-c20b381 > .elementor-element-populated { min-height: 678px !important; }
	.page-id-87 .elementor-element-d467cf4 { min-height: 678px !important; }
	.page-id-87 .elementor-element-d467cf4 > .elementor-element-populated { min-height: 678px !important; }
	.page-id-88 .elementor-element-c04c456 { min-height: 653px !important; }
	.page-id-88 .elementor-element-c04c456 > .elementor-element-populated { min-height: 653px !important; }
	.page-id-88 .elementor-element-34e891f { min-height: 653px !important; }
	.page-id-88 .elementor-element-34e891f > .elementor-element-populated { min-height: 653px !important; }
	.page-id-88 .elementor-element-4e0a699 { min-height: 653px !important; }
	.page-id-88 .elementor-element-4e0a699 > .elementor-element-populated { min-height: 653px !important; }
	.page-id-88 .elementor-element-d6b6b0d { min-height: 653px !important; }
	.page-id-88 .elementor-element-d6b6b0d > .elementor-element-populated { min-height: 653px !important; }
	.page-id-89 .elementor-element-4945a3d { min-height: 638px !important; }
	.page-id-89 .elementor-element-4945a3d > .elementor-element-populated { min-height: 638px !important; }
	.page-id-89 .elementor-element-1f748dd { min-height: 638px !important; }
	.page-id-89 .elementor-element-1f748dd > .elementor-element-populated { min-height: 638px !important; }
	.page-id-89 .elementor-element-072582b { min-height: 638px !important; }
	.page-id-89 .elementor-element-072582b > .elementor-element-populated { min-height: 638px !important; }
	.page-id-150 .elementor-element-ed5d6ec { min-height: 531px !important; }
	.page-id-150 .elementor-element-ed5d6ec > .elementor-element-populated { min-height: 531px !important; }
	.page-id-150 .elementor-element-d3e9391 { min-height: 531px !important; }
	.page-id-150 .elementor-element-d3e9391 > .elementor-element-populated { min-height: 531px !important; }
	.page-id-152 .elementor-element-valsec01 { min-height: 738px !important; }
	.page-id-152 .elementor-element-valsec01 > .elementor-element-populated { min-height: 738px !important; }
	.page-id-152 .elementor-element-valcolL { min-height: 558px !important; }
	.page-id-152 .elementor-element-valcolL > .elementor-element-populated { min-height: 558px !important; }
	.page-id-152 .elementor-element-valcolR { min-height: 558px !important; }
	.page-id-152 .elementor-element-valcolR > .elementor-element-populated { min-height: 558px !important; }
	.page-id-155 .elementor-element-89bddef { min-height: 406px !important; }
	.page-id-155 .elementor-element-89bddef > .elementor-element-populated { min-height: 406px !important; }
	.page-id-155 .elementor-element-3d1b479 { min-height: 346px !important; }
	.page-id-155 .elementor-element-3d1b479 > .elementor-element-populated { min-height: 346px !important; }
	.page-id-155 .elementor-element-88e11cf { min-height: 346px !important; }
	.page-id-155 .elementor-element-88e11cf > .elementor-element-populated { min-height: 346px !important; }
	.page-id-156 .elementor-element-54e3fef { min-height: 443px !important; }
	.page-id-156 .elementor-element-54e3fef > .elementor-element-populated { min-height: 443px !important; }
	.page-id-156 .elementor-element-ceec5b6 { min-height: 383px !important; }
	.page-id-156 .elementor-element-ceec5b6 > .elementor-element-populated { min-height: 383px !important; }
	.page-id-156 .elementor-element-174a295 { min-height: 383px !important; }
	.page-id-156 .elementor-element-174a295 > .elementor-element-populated { min-height: 383px !important; }
	.page-id-157 .elementor-element-7dc11f1 { min-height: 275px !important; }
	.page-id-157 .elementor-element-7dc11f1 > .elementor-element-populated { min-height: 275px !important; }
	.page-id-157 .elementor-element-a47d91f { min-height: 275px !important; }
	.page-id-157 .elementor-element-a47d91f > .elementor-element-populated { min-height: 275px !important; }
	.page-id-157 .elementor-element-512c875 { min-height: 275px !important; }
	.page-id-157 .elementor-element-512c875 > .elementor-element-populated { min-height: 275px !important; }
	.page-id-157 .elementor-element-97879f7 { min-height: 275px !important; }
	.page-id-157 .elementor-element-97879f7 > .elementor-element-populated { min-height: 275px !important; }
	.page-id-158 .elementor-element-d99e47c { min-height: 224px !important; }
	.page-id-158 .elementor-element-d99e47c > .elementor-element-populated { min-height: 224px !important; }
	.page-id-158 .elementor-element-4e504c6 { min-height: 224px !important; }
	.page-id-158 .elementor-element-4e504c6 > .elementor-element-populated { min-height: 224px !important; }
	.page-id-158 .elementor-element-ca59c6a { min-height: 224px !important; }
	.page-id-158 .elementor-element-ca59c6a > .elementor-element-populated { min-height: 224px !important; }
	.page-id-158 .elementor-element-5c21738 { min-height: 224px !important; }
	.page-id-158 .elementor-element-5c21738 > .elementor-element-populated { min-height: 224px !important; }
	.page-id-81 .elementor-element-e6c17d0 { min-height: 862px !important; }
	.page-id-81 .elementor-element-e6c17d0 > .elementor-element-populated { min-height: 862px !important; }
	.page-id-81 .elementor-element-2da78e7 { min-height: 862px !important; }
	.page-id-81 .elementor-element-2da78e7 > .elementor-element-populated { min-height: 862px !important; }
	.page-id-81 .elementor-element-74725ef { min-height: 862px !important; }
	.page-id-81 .elementor-element-74725ef > .elementor-element-populated { min-height: 862px !important; }
	.page-id-1561 .elementor-element-pfspec { min-height: 432px !important; }
	.page-id-1561 .elementor-element-pfspec > .elementor-element-populated { min-height: 432px !important; }
	.page-id-1561 .elementor-element-pfspl { min-height: 432px !important; }
	.page-id-1561 .elementor-element-pfspl > .elementor-element-populated { min-height: 432px !important; }
	.page-id-1561 .elementor-element-pfspr { min-height: 432px !important; }
	.page-id-1561 .elementor-element-pfspr > .elementor-element-populated { min-height: 432px !important; }
	.page-id-1562 .elementor-element-pfspec { min-height: 432px !important; }
	.page-id-1562 .elementor-element-pfspec > .elementor-element-populated { min-height: 432px !important; }
	.page-id-1562 .elementor-element-pfspl { min-height: 432px !important; }
	.page-id-1562 .elementor-element-pfspl > .elementor-element-populated { min-height: 432px !important; }
	.page-id-1562 .elementor-element-pfspr { min-height: 432px !important; }
	.page-id-1562 .elementor-element-pfspr > .elementor-element-populated { min-height: 432px !important; }
}

/* === Projets sur-mesure (FR 15 / EN 83) : recadrage carte NAVIRES (navire centré, zoom comme PJ) === */
.elementor-element-61d8ca60 .soca-metier-img{ background-size:160% !important; background-position:50% 64% !important; }

/* ===== Fiches produits : visuels de même hauteur, groupe centré, alignés sur le bas ===== */
.page-id-1070{--vh:340;}
.page-id-1563{--vh:340;}
.page-id-1118{--vh:340;}
.page-id-1564{--vh:340;}
.page-id-1125{--vh:340;}
.page-id-1562{--vh:340;}
.page-id-1131{--vh:340;}
.page-id-1561{--vh:340;}
.page-id-1137{--vh:340;}
.page-id-1566{--vh:340;}
.page-id-1143{--vh:340;}
.page-id-1567{--vh:340;}
.page-id-1149{--vh:340;}
.page-id-1565{--vh:340;}
.page-id-1153{--vh:340;}
.page-id-1568{--vh:340;}
.page-id-1608{--vh:340;}
.page-id-1609{--vh:340;}
.page-id-1610{--vh:340;}
.page-id-1611{--vh:340;}
.page-id-1612{--vh:287;}
.page-id-1613{--vh:287;}
.page-id-1614{--vh:300;}
.page-id-1615{--vh:300;}
.page-id-1616{--vh:340;}
.page-id-1617{--vh:340;}
.page-id-1633{--vh:400;}
.page-id-1634{--vh:400;}
.page-id-1635{--vh:340;}
.page-id-1636{--vh:340;}

:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues { --vimg: min(calc(var(--vh,340) / 14.4 * 1vw), calc(var(--vh,340) * 1px)); }
:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues > .elementor-container { justify-content: center; }
:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues .elementor-column > .elementor-element-populated { padding: min(2vw,28px) min(2.08vw,30px) !important; }
:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues .pfvf > .elementor-element-populated { padding: 0 !important; }
:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues .elementor-widget-image { width: 100% !important; max-width: none !important; margin: 0 !important; }
:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues .elementor-widget-image img { display: block; width: 100% !important; max-width: 100% !important; height: var(--vimg) !important; object-fit: contain; object-position: center bottom; }
@media (max-width: 767px) {
	:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues .pfvf { display: none !important; }
	:is(.page-id-1070,.page-id-1563,.page-id-1118,.page-id-1564,.page-id-1125,.page-id-1562,.page-id-1131,.page-id-1561,.page-id-1137,.page-id-1566,.page-id-1143,.page-id-1567,.page-id-1149,.page-id-1565,.page-id-1153,.page-id-1568,.page-id-1608,.page-id-1609,.page-id-1610,.page-id-1611,.page-id-1612,.page-id-1613,.page-id-1614,.page-id-1615,.page-id-1616,.page-id-1617,.page-id-1633,.page-id-1634,.page-id-1635,.page-id-1636) .elementor-element-pfvues .elementor-widget-image img { height: min(70vw, 300px) !important; }
}

/* Iconiques : équilibre des proportions des vignettes */
.elementor-element-76e06a6 .soca-metier-img, .elementor-element-8d4e778 .soca-metier-img { background-size: 90% auto !important; }
.elementor-element-784e10a .soca-metier-img { background-size: 128% auto !important; }

/* Fiches produits : le trait sous le label ne doit jamais chevaucher le nom de la collection */
.elementor-element-pfdiv { margin-top: max(-2%, -16px) !important; }

/* Accueil : le slider suit la même largeur que les blocs situés dessous (conteneur 1600px + gouttières 24px) */
.elementor-section:has(.soca-hero-slider) { padding-left: 24px !important; padding-right: 24px !important; }
.elementor-section:has(.soca-hero-slider) > .elementor-container { max-width: 1600px !important; }
@media (max-width: 767px) {
	.elementor-section:has(.soca-hero-slider) { padding-left: 14px !important; padding-right: 14px !important; }
}

/* Formulaires : cases à cocher empilées */
.wpcf7-checkbox { display: block; }
.wpcf7-checkbox .wpcf7-list-item { display: block; margin: 0 0 8px 0; }
.wpcf7-checkbox .wpcf7-list-item label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.wpcf7-checkbox input[type="checkbox"] { width: 18px; height: 18px; accent-color: #A69881; margin: 0; flex: 0 0 auto; }

/* Accueil : « Relier les talents… » — compense l'espace d'interlettrage final pour un centrage optique exact */
.elementor-element-3ac37f4 .elementor-heading-title { padding-left: 3.9px; }

/* Accueil : la ligne « Relier les talents… » est centrée verticalement entre le slider et les blocs du dessous */
.elementor-element-401b1a7 { padding-top: 46px !important; padding-bottom: 0 !important; }
@media (max-width: 767px) { .elementor-element-401b1a7 { padding-top: 36px !important; } }
