/*
Theme Name: The7 Child
Theme URI: https://the7.io/
Template: dt-the7
Author: Dream-Theme
Author URI: https://dream-theme.com/
Description: Child theme Solutia Tech — marque teal, slider anti-rognage, lisibilité.
Version: 12.5.0
Updated: 2026-07-23

*/

/* ==========================================================================
   Solutia Tech — tokens
   Scène: atelier logiciel régional TPE/ETI — teal marque #148ba9, confiance, craft
   ========================================================================== */

:root {
	--st-ink: #0b1420;
	--st-ink-soft: #152032;
	--st-surface: #eef3f6;
	--st-paper: #ffffff;
	--st-line: color-mix(in oklab, var(--st-ink) 12%, transparent);
	--st-muted: #4a5563;
	--st-body: #243041;
	/* Aligné sur les sections VC historiques du site */
	--st-accent: #148ba9;
	--st-accent-deep: #0f6f8a;
	--st-accent-bright: #1aa3c4;
	--st-accent-soft: color-mix(in oklab, var(--st-accent) 16%, white);

	--st-font: "Manrope", "Segoe UI", Helvetica, Arial, sans-serif;
	--st-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--st-radius: 12px;
	--st-radius-sm: 8px;
	--st-shadow: 0 1px 2px color-mix(in oklab, var(--st-ink) 7%, transparent),
		0 12px 32px color-mix(in oklab, var(--st-ink) 8%, transparent);
	--st-shadow-lg: 0 4px 8px color-mix(in oklab, var(--st-ink) 6%, transparent),
		0 24px 48px color-mix(in oklab, var(--st-ink) 12%, transparent);

	/* Header : respirer (The7 avait top-padding logo = 0) */
	--the7-main-logo-top-padding: 0px;
	--the7-main-logo-bottom-padding: 0px;
	--the7-transparent-logo-top-padding: 0px;
	--the7-transparent-logo-bottom-padding: 0px;
	--the7-floating-logo-top-padding: 0px;
	--the7-floating-logo-bottom-padding: 0px;
	--the7-mobile-logo-top-padding: 0px;
	--the7-mobile-logo-bottom-padding: 0px;
	--the7-floating-mobile-logo-top-padding: 0px;
	--the7-floating-mobile-logo-bottom-padding: 0px;
	--the7-header-height: 88px;
	--the7-float-menu-height: 80px;

	/* Logo (fichier recadré : ratio ~1.4:1) — tailles d’affichage cohérentes */
	--st-logo-h: 52px;
	--st-logo-h-sticky: 42px;
	--st-logo-h-mobile: 40px;
	--st-logo-h-footer: 56px;
	--st-logo-w-max: 160px;
	--st-logo-w-max-sticky: 130px;
	--st-logo-w-max-mobile: 124px;
	--st-logo-w-max-footer: 180px;

	/* Menu : fin du cyan/mint The7 (#1ebbf0 / #39dfaa) */
	--the7-menu-font-family: var(--st-font);
	--the7-main-menu-font-family: var(--st-font);
	--the7-submenu-font-family: var(--st-font);
	--the7-menu-font-size: 0.9375rem;
	--the7-menu-font-weight: 600;
	--the7-submenu-font-size: 0.9rem;
	--the7-submenu-font-weight: 500;
	--the7-menu-color: #ffffff;
	--the7-submenu-color: var(--st-ink);
	--the7-floating-menu-color: #ffffff;
	--the7-floating-menu-color-hover: #ffffff;
	--the7-floating-menu-color-active: #ffffff;
	--the7-floating-menu-color-hover-2: var(--st-accent);
	--the7-floating-menu-color-active-2: var(--st-accent);
	--the7-floating-menu-hover-last-color: var(--st-accent);
	--the7-floating-menu-active-last-color: var(--st-accent);
	--the7-navigation-line-decoration-color: var(--st-accent);
	--the7-float-menu-bg: var(--st-ink);

	--the7-accent-color: var(--st-accent);
	--the7-accent-bg-color: var(--st-accent);
	--the7-accent-bg-2: var(--st-accent-deep);
	--the7-accent-bg-color-2: var(--st-accent-bright);
	--the7-accent-text-color-2: var(--st-accent);
	--the7-btn-bg-color: var(--st-accent);
	--the7-btn-bg-color-2: var(--st-accent-deep);
	--the7-btn-hover-bg-color: var(--st-ink);
	--the7-btn-hover-bg-color-2: var(--st-ink-soft);
	--the7-btn-border-color: var(--st-accent);
	--the7-btn-border-hover-color: var(--st-ink);
	--the7-btn-color: #ffffff;
	--the7-btn-hover-color: #ffffff;
	--the7-base-color: var(--st-body);
	--the7-secondary-text-color: var(--st-muted);
	--the7-title-color: var(--st-ink);
	--the7-page-title-color: var(--st-ink);
	--the7-body-bg-color: var(--st-paper);
	--the7-base-font-family: var(--st-font);
	--the7-h1-font-family: var(--st-font);
	--the7-h2-font-family: var(--st-font);
	--the7-h3-font-family: var(--st-font);
	--the7-h4-font-family: var(--st-font);
	--the7-h5-font-family: var(--st-font);
	--the7-h6-font-family: var(--st-font);
	--the7-btn-m-font-family: var(--st-font);
	--the7-btn-l-font-family: var(--st-font);
	--the7-base-border-radius: var(--st-radius-sm);
	--the7-border-radius-size: var(--st-radius-sm);
	--the7-btn-m-border-radius: var(--st-radius-sm);
	--the7-btn-l-border-radius: var(--st-radius-sm);

	--the7-header-bg-color: var(--st-ink);
	--the7-mobile-header-bg-color: var(--st-ink);
	--the7-mobile-floating-header-bg-color: var(--st-ink);
}

/* ==========================================================================
   Base
   ========================================================================== */

html {
	scroll-behavior: smooth;
}

body,
#the7-body {
	font-family: var(--st-font);
	color: var(--st-body);
	background: var(--st-paper);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: -0.011em;
}

.content,
.entry-content,
.wpb_text_column,
.wpb_wrapper p,
.dt-icon-text .dt-icon-text-content,
input,
textarea,
button,
select {
	font-family: var(--st-font);
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6,
h1, h2, h3, h4, h5, h6,
.dt-text-title,
.dt-fancy-title,
.st-fancy-title {
	font-family: var(--st-font);
	color: var(--st-ink);
	letter-spacing: -0.028em;
	text-wrap: balance;
	font-weight: 750;
}

.content h1,
h1 {
	font-size: clamp(1.85rem, 1.25rem + 2.2vw, 3.15rem);
	line-height: 1.12;
}

.content h2,
h2 {
	font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.35rem);
	line-height: 1.18;
}

.content h3,
h3,
.dt-text-title {
	font-size: clamp(1.15rem, 1.02rem + 0.55vw, 1.45rem);
	line-height: 1.28;
}

.wpb_wrapper p,
.entry-content p,
.entry-content li,
.entry-content h4,
.content .wpb_text_column li {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--st-body);
	max-width: 68ch;
	text-wrap: pretty;
}

.dt-text-desc {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--st-body);
	text-wrap: pretty;
}

/* Contenu éditorial : jamais de texte blanc sur fond clair */
.entry-content li,
.content .wpb_text_column li,
.wpb_wrapper li,
.post-content li {
	color: var(--st-body) !important;
}

a {
	transition: color 0.25s var(--st-ease);
}

/* Accents The7 : conserver le rendu marque, forcer la teinte Solutia */
.accent-gradient .paint-area.color-accent,
.accent-gradient .accent-bg,
.accent-gradient .btn-accent-color,
.text-primary,
.color-accent,
.accent-color {
	color: var(--st-accent) !important;
}

/* ==========================================================================
   Header / navigation — layout The7 center intact, polish seulement
   ========================================================================== */

.masthead,
.masthead:not(.sticky-on):not(.sticky-mobile-on),
#header .masthead,
.sticky-header .masthead,
.masthead.sticky-on,
.masthead.sticky-mobile-on,
.phantom-sticky .masthead,
.phantom-sticky .masthead.sticky-on,
#phantom,
.ph-wrap {
	background-color: var(--st-ink) !important;
	background-image: none !important;
	border-bottom: 1px solid color-mix(in oklab, #fff 10%, transparent);
	box-shadow: none;
}

.transparent .masthead:not(.sticky-on):not(.sticky-mobile-on) {
	background-color: color-mix(in oklab, var(--st-ink) 72%, transparent) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.sticky-on .masthead,
.masthead.sticky-on,
.phantom-sticky .masthead.sticky-on,
#phantom {
	background: var(--st-ink) !important;
	box-shadow: 0 6px 18px color-mix(in oklab, var(--st-ink) 25%, transparent);
}

#page .masthead.sticky-on .header-bar,
#page .masthead.sticky-mobile-on .header-bar,
#page #phantom .header-bar,
#page #phantom,
.sticky-on .header-bar,
.sticky-mobile-on .header-bar,
.mobile-header-bar,
#page .mobile-header-bar {
	background: var(--st-ink) !important;
	background-color: var(--st-ink) !important;
	background-image: none !important;
}

.mobile-header,
.dt-mobile-header,
.sticky-mobile-header .masthead.sticky-mobile-on {
	background: var(--st-ink) !important;
}

/* Desktop : un seul logo, pas le mobile-logo ni le hamburger */
@media (min-width: 992px) {
	.masthead .mobile-logo,
	.masthead img.mobile-logo,
	.branding .mobile-logo {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		position: absolute !important;
		overflow: hidden !important;
	}

	.dt-mobile-menu-icon,
	.mobile-hamburger,
	.hide-on-desktop,
	.masthead .dt-mobile-menu-icon {
		display: none !important;
	}

	/* Ne pas afficher la barre mobile en parallèle du masthead desktop */
	.mobile-header:not(.sticky-mobile-on),
	.sticky-mobile-header:not(.sticky-mobile-on) .mobile-header-bar {
		display: none !important;
	}
}

/* Respirer en haut (layout center The7 conservé) */
.masthead .header-bar {
	padding-top: max(1.35rem, env(safe-area-inset-top, 0px)) !important;
	padding-bottom: 1.1rem !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
	box-sizing: border-box;
}

.masthead.inline-header.center .branding {
	margin-bottom: 0.65rem !important;
	padding-top: 0.25rem !important;
}

.masthead .branding > a {
	display: inline-block;
	line-height: 0;
}

/* Taille logo — header / sticky / phantom (fichier déjà recadré) */
.masthead .branding > a > img:not(.mobile-logo),
#phantom .branding img:not(.mobile-logo),
.phantom-logo img,
.mobile-branding img,
.mobile-branding .mobile-logo {
	width: auto !important;
	height: auto !important;
	max-height: var(--st-logo-h) !important;
	max-width: var(--st-logo-w-max) !important;
	object-fit: contain !important;
	aspect-ratio: auto !important;
}

.masthead.sticky-on .branding > a > img:not(.mobile-logo),
#phantom .branding img:not(.mobile-logo),
.phantom-sticky .masthead.sticky-on .branding img {
	max-height: var(--st-logo-h-sticky) !important;
	max-width: var(--st-logo-w-max-sticky) !important;
}

/* Footer brand */
#branding-bottom a,
#branding-bottom {
	line-height: 0;
}

#branding-bottom img {
	width: auto !important;
	height: auto !important;
	max-height: var(--st-logo-h-footer) !important;
	max-width: var(--st-logo-w-max-footer) !important;
	object-fit: contain !important;
}

.branding a:hover img,
#branding-bottom a:hover img {
	opacity: 0.92;
}

/* Menu : propre, sans pastille ni dégradé */
#primary-menu.main-nav,
.masthead .main-nav {
	justify-content: center;
	gap: 0.15rem;
}

#primary-menu > li > a,
.main-nav > li > a {
	font-family: var(--st-font) !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	color: color-mix(in oklab, #fff 84%, transparent) !important;
	padding: 0.4rem 0.85rem 0.55rem !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#primary-menu > li > a .menu-text,
.main-nav > li > a .menu-text,
#primary-menu > li > a .menu-item-text {
	background: none !important;
	background-image: none !important;
	-webkit-text-fill-color: currentColor !important;
	color: inherit !important;
}

#primary-menu > li > a:hover,
#primary-menu > li.act > a,
.main-nav > li > a:hover,
.main-nav > li.act > a {
	color: #fff !important;
	background: transparent !important;
}

.main-nav.gradient-hover > li > a .menu-text,
.main-nav.gradient-hover > li > a:hover .menu-text,
.main-nav.gradient-hover > li.act > a .menu-text,
.sub-nav.gradient-hover > li > a .menu-text {
	background: none !important;
	background-image: none !important;
	-webkit-text-fill-color: currentColor !important;
}

/* Soulignement teal fin uniquement */
#primary-menu > li > a:after,
#primary-menu > li > a:before,
.main-nav > li > a:after,
.main-nav > li > a:before {
	background: var(--st-accent) !important;
	height: 2px !important;
	border-radius: 2px !important;
	bottom: 0.15rem !important;
}

/* Sous-menus + mega « Notre offre » : dropdown compact 1 colonne
   (The7 force mega-column-2 = 540px + uppercase Roboto + double surface wrap/sub-nav) */
.masthead:not(.sub-downwards) .main-nav .dt-mega-menu-wrap,
.top-header .main-nav .dt-mega-menu-wrap,
.top-header .main-nav .mega-auto-width > .dt-mega-menu-wrap,
.masthead:not(.sub-downwards) .main-nav .dt-mega-menu.mega-auto-width.mega-column-2 > .dt-mega-menu-wrap {
	width: min(22.5rem, calc(100vw - 2rem)) !important;
	min-width: 0 !important;
	max-width: min(22.5rem, calc(100vw - 2rem)) !important;
	padding: 0.45rem !important;
	background: var(--st-paper) !important;
	border: 1px solid var(--st-line) !important;
	border-radius: var(--st-radius) !important;
	box-shadow: var(--st-shadow) !important;
	font-size: inherit !important;
	line-height: inherit !important;
	word-spacing: normal !important;
}

/* Surface unique : plus de boîte dans la boîte */
.main-nav .sub-nav,
.dt-mega-menu-wrap .sub-nav,
.dt-mega-menu-wrap > .sub-nav {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	display: flex !important;
	flex-flow: column nowrap !important;
	gap: 0.2rem !important;
}

.masthead:not(.sub-downwards) .main-nav .dt-mega-menu.mega-auto-width .sub-nav .dt-mega-parent,
.masthead:not(.sub-downwards) .dt-mega-menu .dt-mega-menu-wrap .dt-mega-parent,
.main-nav .dt-mega-menu-wrap .dt-mega-parent.wf-1-2,
.main-nav .dt-mega-menu-wrap .dt-mega-parent.wf-1-3,
.main-nav .dt-mega-menu-wrap .dt-mega-parent.wf-1-4 {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.main-nav .sub-nav > li > a,
.dt-mega-menu-wrap .sub-nav > li > a,
.main-nav .sub-nav > li.dt-mega-parent > a,
.main-nav .sub-nav > li.dt-mega-parent:not(.empty-title) > a {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	gap: 0.75rem !important;
	width: 100% !important;
	box-sizing: border-box !important;
	font-family: var(--st-font) !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.015em !important;
	text-transform: none !important;
	color: var(--st-ink) !important;
	padding: 0.7rem 0.85rem !important;
	margin: 0 !important;
	border: none !important;
	border-radius: var(--st-radius-sm) !important;
	background: transparent !important;
	opacity: 1 !important;
	transition: background 0.22s var(--st-ease), color 0.22s var(--st-ease), transform 0.22s var(--st-ease) !important;
}

.main-nav .sub-nav > li > a:hover,
.dt-mega-menu-wrap .sub-nav > li > a:hover,
.main-nav .sub-nav > li.dt-mega-parent:not(.act):not(.wpml-ls-item) > a:not(.not-clickable-item):hover,
.main-nav .sub-nav > li.dt-mega-parent.current-menu-item > a {
	background: var(--st-accent-soft) !important;
	color: var(--st-accent-deep) !important;
	transform: translateX(2px);
}

.main-nav .sub-nav > li > a .menu-text,
.main-nav .sub-nav > li.dt-mega-parent > a .menu-text,
.main-nav .sub-nav > li.dt-mega-parent:not(.act):not(.wpml-ls-item) > a:not(.not-clickable-item):hover .menu-text,
.main-nav .sub-nav > li.dt-mega-parent.current-menu-item > a .menu-text {
	font-family: var(--st-font) !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
	color: inherit !important;
	background: none !important;
	background-image: none !important;
	-webkit-text-fill-color: currentColor !important;
	text-wrap: balance;
}

.main-nav .sub-nav > li > a .menu-item-text,
.dt-mega-menu-wrap .sub-nav > li > a .menu-item-text {
	display: block !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

/* Icônes en pastille teal soft */
.main-nav .sub-nav > li > a > i,
.dt-mega-menu-wrap .sub-nav > li > a > i,
.main-nav .dt-mega-menu .sub-nav .dt-mega-parent > a > i,
.main-nav .dt-mega-menu .sub-nav .dt-mega-parent > a > span i,
.main-nav .sub-nav .mega-menu-img > i,
.main-nav .dt-mega-menu .sub-nav .dt-mega-parent:not(.current-menu-item) > a:not(.not-clickable-item):hover i,
.main-nav .dt-mega-menu .sub-nav .dt-mega-parent.current-menu-item > a i {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.15rem !important;
	height: 2.15rem !important;
	margin: 0 !important;
	border-radius: var(--st-radius-sm) !important;
	background: var(--st-accent-soft) !important;
	color: var(--st-accent-deep) !important;
	font-size: 0.95rem !important;
	line-height: 1 !important;
	transition: background 0.22s var(--st-ease), color 0.22s var(--st-ease) !important;
}

.main-nav .sub-nav > li > a:hover > i,
.dt-mega-menu-wrap .sub-nav > li > a:hover > i,
.main-nav .dt-mega-menu .sub-nav .dt-mega-parent > a:hover > i {
	background: color-mix(in oklab, var(--st-accent) 22%, white) !important;
	color: var(--st-accent-deep) !important;
}

@media (prefers-reduced-motion: reduce) {
	.main-nav .sub-nav > li > a,
	.dt-mega-menu-wrap .sub-nav > li > a,
	.main-nav .sub-nav > li.dt-mega-parent > a,
	.main-nav .sub-nav > li > a > i,
	.dt-mega-menu-wrap .sub-nav > li > a > i {
		transition: none !important;
	}

	.main-nav .sub-nav > li > a:hover,
	.dt-mega-menu-wrap .sub-nav > li > a:hover,
	.main-nav .sub-nav > li.dt-mega-parent:not(.act):not(.wpml-ls-item) > a:not(.not-clickable-item):hover {
		transform: none;
	}
}

.dt-mobile-menu-icon {
	min-width: 44px;
	min-height: 44px;
	color: #fff !important;
}

.dt-mobile-header .menu-item > a {
	font-family: var(--st-font) !important;
	font-weight: 600 !important;
	color: var(--st-ink) !important;
}

@media (max-width: 991px) {
	.masthead .branding > a > img:not(.mobile-logo) {
		display: none !important;
	}

	.masthead .mobile-logo,
	.mobile-branding img,
	.mobile-branding .mobile-logo,
	.sticky-mobile-logo-first-switch img,
	.sticky-mobile-logo-second-switch img {
		display: inline-block !important;
		max-height: var(--st-logo-h-mobile) !important;
		max-width: var(--st-logo-w-max-mobile) !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
	}

	#branding-bottom img {
		max-height: 48px !important;
		max-width: 150px !important;
	}

	.mobile-header-bar {
		padding-top: max(1rem, env(safe-area-inset-top, 0px)) !important;
		padding-bottom: 1rem !important;
		padding-left: 1.15rem !important;
		padding-right: 1.15rem !important;
	}
}

/* ==========================================================================
   Hero / Revolution Slider
   Pas d’overlay / pas de retypage forcé. Seulement anti-rognage texte.
   ========================================================================== */

#main-slideshow,
.rev_slider_wrapper,
rs-module-wrap,
.sr7-module {
	isolation: isolate;
}

#main-slideshow::after,
.rev_slider_wrapper::after,
.sr7-module::after,
rs-module-wrap::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

/* Qualité image : pas de filtre / flou / scale sur le média du slider */
#main-slideshow img,
.rev_slider_wrapper img,
.sr7-module img,
rs-module img,
.sr7-module sr7-module-bg,
.tp-bgimg,
.slotholder,
.rev-slidebg {
	filter: none !important;
	image-rendering: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/*
 * Anti-rognage : les masques d’anim SR7 laissent overflow:hidden après le wipe,
 * ce qui coupe les titres uppercase et les CTA trop larges pour la colonne 2/3.
 */
#main-slideshow sr7-txt.sr7-layer,
.sr7-module sr7-txt.sr7-layer,
.rev_slider_wrapper .tp-caption {
	overflow: visible !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
}

#main-slideshow .sr7-mask,
#main-slideshow [class*="sr7-mask"],
.sr7-module .sr7-mask,
#main-slideshow sr7-txt.sr7-layer,
#main-slideshow sr7-txt.sr7-layer > *,
#main-slideshow .sr7-layer-wrap,
#main-slideshow [class*="sr7-layer"] {
	overflow: visible !important;
}

/*
 * Nom société (layer 23 « Name ») : une seule ligne, texte complet « SOLUTIA TECH ».
 * Le nowrap seul faisait déborder / rogner le H dans la colonne 2/3.
 */
#main-slideshow sr7-txt#SR7_1_1-1-23,
#main-slideshow sr7-txt.sr7-layer[id$="-23"],
.sr7-module[data-alias="the7-company-slider"] sr7-txt.sr7-layer[id$="-23"] {
	white-space: nowrap !important;
	overflow: visible !important;
	width: max-content !important;
	max-width: none !important;
	box-sizing: content-box !important;
	padding-inline-end: 0.15em !important;
	letter-spacing: -0.02em !important;
	/* légèrement sous les tailles SR7 pour tenir sur 1 ligne sans couper le H */
	font-size: clamp(1.5rem, 0.55rem + 4.2vw, 4.35rem) !important;
	line-height: 1.15 !important;
}

#main-slideshow sr7-txt#SR7_1_1-1-23 *,
#main-slideshow sr7-txt.sr7-layer[id$="-23"] *,
#main-slideshow .sr7-layer-wrap:has(sr7-txt[id$="-23"]),
#main-slideshow [class*="sr7-mask"]:has(sr7-txt[id$="-23"]) {
	overflow: visible !important;
	max-width: none !important;
}

/* ==========================================================================
   Front H1 — statement sous le hero
   ========================================================================== */

.solutia-front-h1 {
	font-family: var(--st-font) !important;
	font-size: clamp(1.75rem, 1.25rem + 2.4vw, 2.85rem) !important;
	line-height: 1.15 !important;
	font-weight: 800 !important;
	color: var(--st-ink) !important;
	letter-spacing: -0.032em !important;
	text-wrap: balance;
	margin: 0 auto !important;
	max-width: 24ch;
	padding: clamp(2.25rem, 4.5vw, 3.5rem) 1.25rem clamp(0.75rem, 1.5vw, 1.15rem);
	text-align: center;
	position: relative;
}

.solutia-front-h1::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin: 1.25rem auto 0;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--st-accent), var(--st-accent-bright));
}

.home .content > .wpb-content-wrapper {
	padding-top: 0;
}

/* ==========================================================================
   Buttons — teal marque, pas noir plat
   ========================================================================== */

.dt-btn,
a.dt-btn,
.dt-btn-s,
.dt-btn-m,
.dt-btn-l,
a.dt-btn-submit,
.default-btn-shortcode.dt-btn,
.wp-block-button__link {
	min-height: 46px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	font-family: var(--st-font) !important;
	font-weight: 700 !important;
	letter-spacing: -0.015em !important;
	border-radius: var(--st-radius-sm) !important;
	padding: 0.85rem 1.5rem !important;
	background-image: none !important;
	background-color: var(--st-accent) !important;
	color: #fff !important;
	border: 1px solid var(--st-accent) !important;
	box-shadow: 0 8px 20px color-mix(in oklab, var(--st-accent) 28%, transparent) !important;
	transition:
		background-color 0.28s var(--st-ease),
		border-color 0.28s var(--st-ease),
		box-shadow 0.28s var(--st-ease),
		transform 0.28s var(--st-ease) !important;
}

.dt-btn:hover,
a.dt-btn:hover,
.dt-btn-m:hover,
.dt-btn-l:hover,
a.dt-btn-submit:hover,
.default-btn-shortcode.dt-btn:hover,
.wp-block-button__link:hover {
	background-color: var(--st-ink) !important;
	border-color: var(--st-ink) !important;
	color: #fff !important;
	opacity: 1 !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px color-mix(in oklab, var(--st-ink) 22%, transparent) !important;
}

.btn-no-decoration.dt-btn,
.icon-with-text-shortcode .dt-btn.btn-no-decoration,
.icon-with-text-shortcode a.default-btn-shortcode {
	background: transparent !important;
	border: none !important;
	color: var(--st-accent-deep) !important;
	padding: 0.35rem 0 !important;
	min-height: 40px;
	font-size: 0.92rem !important;
	box-shadow: none !important;
}

.icon-with-text-shortcode .dt-btn.btn-no-decoration:hover,
.icon-with-text-shortcode a.default-btn-shortcode:hover {
	background: transparent !important;
	color: var(--st-ink) !important;
	transform: translateX(4px);
}

/* ==========================================================================
   Icon + text — profondeur, sans forcer fond blanc
   ========================================================================== */

.home .icon-with-text-shortcode {
	transition:
		transform 0.4s var(--st-ease),
		box-shadow 0.4s var(--st-ease);
}

.home .vc_row .vc_column_inner[class*="vc_custom_"]:hover .icon-with-text-shortcode,
.home .wpb_column.vc_col-has-fill:hover .icon-with-text-shortcode {
	transform: translateY(-4px);
}

.home .icon-with-text-shortcode .text-icon {
	margin-bottom: 0.45rem;
}

.home .icon-with-text-shortcode .icon-inner {
	width: 3rem;
	height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--st-radius-sm);
	background: var(--st-accent-soft);
	box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--st-accent) 22%, transparent);
}

.icon-with-text-shortcode .text-icon .soc-icon,
.icon-with-text-shortcode .dt-regular-icon,
.icon-with-text-shortcode .dt-hover-icon {
	color: var(--st-accent) !important;
}

.icon-with-text-shortcode .dt-text-title a,
.icon-with-text-shortcode .dt-text-title {
	color: var(--st-ink) !important;
}

.icon-with-text-shortcode .dt-text-desc {
	color: var(--st-muted) !important;
	font-size: 0.98rem !important;
	line-height: 1.65 !important;
}

.dt-icon-box,
.icon-box-content {
	border-radius: var(--st-radius);
}

/* ==========================================================================
   Notre offre — capacités (liste horizontale, plus de grille 2×N cassée)
   ========================================================================== */

.st-offer-capabilities.vc_row,
.st-offer-capabilities {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0.5rem !important;
	margin: 0 !important;
}

.st-offer-capabilities > .wpb_column,
.st-offer-capabilities > .vc_column_container {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.st-offer-capabilities .vc_column-inner {
	padding: 0 !important;
	margin: 0 !important;
}

.st-offer-capabilities .wpb_wrapper {
	margin: 0 !important;
}

.st-offer-capabilities .icon-with-text-shortcode,
.st-offer-capabilities .icon-with-text-shortcode.layout-1 {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 0.85rem !important;
	margin: 0 !important;
	padding: 0.65rem 0.85rem !important;
	border-radius: var(--st-radius-sm) !important;
	border: 1px solid var(--st-line) !important;
	background: color-mix(in oklab, var(--st-surface) 70%, white) !important;
	box-shadow: none !important;
	transform: none !important;
	animation: none !important;
	text-align: left !important;
	transition:
		border-color 0.28s var(--st-ease),
		background-color 0.28s var(--st-ease),
		transform 0.28s var(--st-ease) !important;
}

.st-offer-capabilities .icon-with-text-shortcode:hover {
	border-color: color-mix(in oklab, var(--st-accent) 42%, var(--st-line)) !important;
	background: var(--st-paper) !important;
	transform: translateX(3px) !important;
}

.st-offer-capabilities .text-icon,
.st-offer-capabilities .text-icon.dt-icon-bg-on,
.st-offer-capabilities a.text-icon,
.st-offer-capabilities .icon-with-text-shortcode .text-icon {
	position: relative !important;
	float: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 2.65rem !important;
	width: 2.65rem !important;
	height: 2.65rem !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.st-offer-capabilities .icon-inner {
	width: 2.65rem !important;
	height: 2.65rem !important;
	min-width: 2.65rem !important;
	min-height: 2.65rem !important;
	border-radius: var(--st-radius-sm) !important;
	background: var(--st-accent-soft) !important;
	box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--st-accent) 20%, transparent);
}

.st-offer-capabilities .soc-icon,
.st-offer-capabilities .dt-regular-icon,
.st-offer-capabilities .dt-hover-icon {
	font-size: 1.05rem !important;
	line-height: 1 !important;
	color: var(--st-accent) !important;
}

.st-offer-capabilities .dt-text-title {
	float: none !important;
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1rem !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em;
	text-align: left !important;
	white-space: nowrap;
}

.st-offer-capabilities .dt-text-title a {
	color: var(--st-ink) !important;
}

.st-offer-capabilities .dt-text-desc,
.st-offer-capabilities .default-btn-shortcode {
	display: none !important;
}

@media (max-width: 600px) {
	.st-offer-capabilities .dt-text-title {
		white-space: normal;
	}
}

/* ==========================================================================
   Sections — rythme & surfaces, sans écraser les fonds VC
   ========================================================================== */

.wpb_heading,
.dt-fancy-title span,
.fancy-title {
	letter-spacing: -0.028em;
}

.dt-fancy-title.title-style-2 .separator-holder,
.dt-fancy-title .separator-holder {
	background: linear-gradient(90deg, var(--st-accent), transparent) !important;
	height: 2px !important;
}

.home h2 {
	letter-spacing: -0.032em;
}

/* Bandes teal existantes : typo claire et contraste net */
.vc_row[style*="148ba9"] h1,
.vc_row[style*="148ba9"] h2,
.vc_row[style*="148ba9"] h3,
.vc_row[style*="148ba9"] h4,
.vc_row[style*="#148ba9"] p,
.vc_custom_1575455771890 h1,
.vc_custom_1575455771890 h2,
.vc_custom_1575455771890 h3,
.vc_custom_1575455771890 p,
.vc_custom_1575463265784 h1,
.vc_custom_1575463265784 h2,
.vc_custom_1575463265784 h3,
.vc_custom_1575463265784 p {
	color: #fff !important;
}

.vc_custom_1575455771890,
.vc_custom_1575463265784 {
	box-shadow: inset 0 1px 0 color-mix(in oklab, #fff 18%, transparent);
}

/* Testimonials */
.testimonials-carousel-shortcode,
.testimonial-item {
	font-family: var(--st-font);
}

.testimonial-content,
.testimonial-item .testimonial-content,
.testimonial-item blockquote,
.testimonial-item .text-secondary {
	color: var(--st-body) !important;
	font-size: 1.08rem;
	line-height: 1.75;
	font-weight: 500;
}

.testimonial-name .text-primary,
.testimonial-name {
	color: var(--st-ink) !important;
	font-weight: 750 !important;
	background: none !important;
}

.testimonial-thumb img {
	border-radius: 999px;
	border: 2px solid var(--st-paper);
	box-shadow: 0 0 0 2px color-mix(in oklab, var(--st-accent) 35%, transparent);
}

.testimonial-avatar {
	filter: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */

.dt-contact-form label.assistive-text,
form.dt-form label.assistive-text {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 0.4rem !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	border: 0 !important;
	display: block;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--st-ink);
}

.dt-contact-form .form-fields > div,
form.dt-form .form-fields > div {
	margin-bottom: 0.95rem;
}

.dt-contact-form input[type="text"],
.dt-contact-form input[type="email"],
.dt-contact-form input[type="tel"],
.dt-contact-form textarea,
form.dt-form input[type="text"],
form.dt-form input[type="email"],
form.dt-form textarea,
.content input[type="text"],
.content input[type="email"],
.content textarea {
	border: 1px solid var(--st-line) !important;
	border-radius: var(--st-radius-sm) !important;
	background: var(--st-paper) !important;
	padding: 0.8rem 1rem !important;
	font-size: 0.98rem !important;
	color: var(--st-ink) !important;
	transition: border-color 0.25s var(--st-ease), box-shadow 0.25s var(--st-ease);
	box-shadow: none !important;
}

.dt-contact-form input:focus,
.dt-contact-form textarea:focus,
form.dt-form input:focus,
form.dt-form textarea:focus,
.content input:focus,
.content textarea:focus {
	outline: none !important;
	border-color: var(--st-accent) !important;
	box-shadow: 0 0 0 3px var(--st-accent-soft) !important;
}

.dt-contact-form input[type="submit"].assistive-text {
	position: absolute !important;
	left: -9999px;
}

.dt-contact-form a.dt-btn-submit {
	cursor: pointer;
	min-height: 46px;
}

::placeholder {
	color: var(--st-muted) !important;
	opacity: 0.75;
}

/* ==========================================================================
   Footer
   ========================================================================== */

#footer,
.footer,
.wf-container-footer {
	background:
		radial-gradient(120% 80% at 10% 0%, color-mix(in oklab, var(--st-accent) 22%, transparent), transparent 55%),
		var(--st-ink) !important;
	color: color-mix(in oklab, #fff 78%, transparent);
}

#footer a,
.footer a,
.widget-title,
#footer .widget .widget-title {
	color: #fff !important;
}

#footer a:hover,
.footer a:hover {
	color: var(--st-accent-bright) !important;
}

#footer .widget,
.footer .widget,
#footer p,
.footer p {
	color: color-mix(in oklab, #fff 72%, transparent) !important;
	font-size: 0.92rem;
	line-height: 1.65;
}

#bottom-bar,
.bottom-bar {
	background: color-mix(in oklab, var(--st-ink) 94%, black) !important;
	border-top: 1px solid color-mix(in oklab, #fff 10%, transparent);
	color: color-mix(in oklab, #fff 58%, transparent);
}

#bottom-bar a {
	color: color-mix(in oklab, #fff 74%, transparent);
}

/* ==========================================================================
   Page titles / breadcrumbs
   ========================================================================== */

.page-title,
#page-title,
.page-header {
	background:
		linear-gradient(135deg, color-mix(in oklab, var(--st-accent) 28%, transparent), transparent 55%),
		var(--st-ink) !important;
}

.page-title h1,
#page-title h1,
.page-title .entry-title {
	color: #fff !important;
	letter-spacing: -0.03em;
}

.breadcrumbs,
.breadcrumbs a {
	color: color-mix(in oklab, #fff 70%, transparent) !important;
}

/* ==========================================================================
   Blog / misc
   ========================================================================== */

.blog-shortcode article,
.post,
.wf-cell {
	border-radius: var(--st-radius);
}

.content blockquote {
	border-left: 4px solid var(--st-accent) !important;
	padding-left: 1.35rem;
	color: var(--st-ink);
	font-style: normal;
	background: color-mix(in oklab, var(--st-accent) 6%, white);
	border-radius: 0 var(--st-radius-sm) var(--st-radius-sm) 0;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

.vc_row-has-fill {
	position: relative;
}

/* ==========================================================================
   Motion
   ========================================================================== */

@keyframes st-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.home .solutia-front-h1 {
	animation: st-rise 0.75s var(--st-ease) both;
}

.home .icon-with-text-shortcode {
	animation: st-rise 0.8s var(--st-ease) both;
}

.home .vc_row .vc_column_inner:nth-child(1) .icon-with-text-shortcode {
	animation-delay: 0.06s;
}
.home .vc_row .vc_column_inner:nth-child(2) .icon-with-text-shortcode {
	animation-delay: 0.14s;
}
.home .vc_row .vc_column_inner:nth-child(3) .icon-with-text-shortcode {
	animation-delay: 0.22s;
}

.st-reveal.is-in {
	animation: st-rise 0.7s var(--st-ease) both;
}

/* ==========================================================================
   Accessibility & reduced motion
   ========================================================================== */

:focus-visible {
	outline: 2px solid var(--st-accent);
	outline-offset: 3px;
}

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

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.st-reveal.is-in {
		animation: none !important;
	}
}

/* ==========================================================================
   Page Tarifs & aides
   Scène: atelier conseil régional — devis clair, aides comme preuve concrète
   ========================================================================== */

.page-id-4924 #fancy-header.fancy-header {
	background:
		radial-gradient(90% 120% at 85% 10%, color-mix(in oklab, var(--st-accent) 42%, transparent), transparent 55%),
		radial-gradient(70% 90% at 10% 90%, color-mix(in oklab, var(--st-accent-deep) 35%, transparent), transparent 50%),
		linear-gradient(160deg, var(--st-ink) 0%, var(--st-ink-soft) 100%) !important;
	padding-top: clamp(5.5rem, 10vw, 7.5rem) !important;
	padding-bottom: clamp(2.5rem, 5vw, 3.75rem) !important;
	border-bottom: 1px solid color-mix(in oklab, #fff 10%, transparent);
}

.page-id-4924 #fancy-header .fancy-title {
	color: #fff !important;
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.032em !important;
}

.page-id-4924 #fancy-header .fancy-subtitle,
.page-id-4924 #fancy-header .fancy-subtitle.color-accent {
	color: color-mix(in oklab, #fff 78%, var(--st-accent-bright)) !important;
	font-size: clamp(1rem, 0.92rem + 0.35vw, 1.2rem) !important;
	font-weight: 500 !important;
	letter-spacing: -0.01em !important;
	margin-top: 0.65rem !important;
}

.page-id-4924 #fancy-header .fancy-header-overlay {
	display: none !important;
}

.page-id-4924 .content > .wpb-content-wrapper,
.page-id-4924 .content > .solutia-tarifs {
	max-width: 72rem;
	margin-inline: auto;
}

.solutia-tarifs {
	padding: clamp(1.75rem, 3.5vw, 2.75rem) 0 clamp(3rem, 6vw, 4.5rem);
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 3.25rem);
}

.solutia-tarifs h2,
.solutia-tarifs h3,
.solutia-tarifs h4 {
	color: var(--st-ink);
	text-wrap: balance;
}

.solutia-tarifs p,
.solutia-tarifs li {
	color: var(--st-body);
	max-width: 68ch;
	text-wrap: pretty;
}

.solutia-tarifs ul {
	margin: 0.65rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.55rem;
}

.solutia-tarifs ul li {
	position: relative;
	padding-left: 1.15rem;
	font-size: 1.02rem;
	line-height: 1.55;
	max-width: none;
}

.solutia-tarifs ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 999px;
	background: var(--st-accent);
}

.st-tarifs-intro {
	display: grid;
	gap: 1.5rem;
	padding: clamp(1.5rem, 3vw, 2.15rem);
	background:
		linear-gradient(135deg, color-mix(in oklab, var(--st-accent) 9%, white), white 55%),
		var(--st-paper);
	border: 1px solid var(--st-line);
	border-radius: var(--st-radius);
}

.st-tarifs-lede {
	font-size: clamp(1.12rem, 1.02rem + 0.45vw, 1.32rem) !important;
	line-height: 1.65 !important;
	color: var(--st-ink) !important;
	max-width: 52ch !important;
	margin: 0 !important;
	font-weight: 500;
}

.st-tarifs-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem 1.15rem;
}

.st-tarifs-phone {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-height: 46px;
	padding: 0.45rem 0.15rem 0.45rem 0.35rem;
	text-decoration: none !important;
	color: var(--st-ink) !important;
	border-bottom: 1px solid transparent;
	transition: color 0.25s var(--st-ease), border-color 0.25s var(--st-ease), transform 0.25s var(--st-ease);
}

.st-tarifs-phone:hover {
	color: var(--st-accent-deep) !important;
	border-bottom-color: color-mix(in oklab, var(--st-accent) 45%, transparent);
	transform: translateY(-1px);
}

.st-tarifs-phone-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--st-muted);
	line-height: 1.2;
}

.st-tarifs-phone-num {
	font-size: 1.05rem;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.st-tarifs-travel {
	padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.35rem, 3vw, 2rem);
	background: var(--st-surface);
	border-radius: var(--st-radius);
	border: 1px solid var(--st-line);
}

.st-tarifs-travel h2 {
	font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.55rem) !important;
	margin: 0 0 0.55rem !important;
}

.st-tarifs-travel p {
	margin: 0 !important;
	font-size: 1.05rem !important;
}

.st-tarifs-aids {
	display: grid;
	gap: clamp(1.75rem, 3.5vw, 2.75rem);
}

.st-tarifs-aids-head h2 {
	font-size: clamp(1.55rem, 1.2rem + 1.2vw, 2.15rem) !important;
	margin: 0 0 0.55rem !important;
}

.st-tarifs-aids-head p {
	margin: 0 !important;
	font-size: 1.08rem !important;
	color: var(--st-muted) !important;
}

.st-region {
	display: grid;
	gap: clamp(1.35rem, 2.8vw, 2rem);
	padding: clamp(1.5rem, 3vw, 2.35rem);
	border-radius: var(--st-radius);
	border: 1px solid var(--st-line);
	background: var(--st-paper);
}

.st-region--cvdl {
	background:
		linear-gradient(180deg, color-mix(in oklab, var(--st-accent) 7%, white) 0%, var(--st-paper) 38%),
		var(--st-paper);
}

.st-region--pdl {
	background:
		linear-gradient(180deg, color-mix(in oklab, var(--st-ink) 4%, white) 0%, var(--st-paper) 40%),
		var(--st-paper);
}

.st-region-kicker {
	margin: 0 0 0.35rem !important;
	font-size: 0.92rem !important;
	font-weight: 750 !important;
	color: var(--st-accent-deep) !important;
	letter-spacing: -0.01em;
	max-width: none !important;
}

.st-region-head h3 {
	font-size: clamp(1.35rem, 1.15rem + 0.85vw, 1.85rem) !important;
	margin: 0 0 0.75rem !important;
	letter-spacing: -0.03em;
}

.st-region-lead {
	margin: 0 !important;
	font-size: 1.05rem !important;
	line-height: 1.65 !important;
	max-width: 58ch !important;
}

.st-volets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}

.st-volet {
	padding: 1.25rem 1.3rem 1.35rem;
	background: var(--st-paper);
	border: 1px solid var(--st-line);
	border-radius: var(--st-radius-sm);
}

.st-volet h4 {
	margin: 0 0 0.85rem !important;
	font-size: 1.05rem !important;
	font-weight: 750 !important;
}

.st-volet-figure {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin: 0 0 0.35rem !important;
	max-width: none !important;
}

.st-volet-upto {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--st-muted);
}

.st-volet-value {
	font-size: clamp(2rem, 1.55rem + 1.6vw, 2.65rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.05;
	color: var(--st-accent-deep);
}

.st-volet-range {
	margin: 0 0 0.75rem !important;
	font-size: 0.98rem !important;
	font-weight: 650 !important;
	color: var(--st-ink) !important;
	max-width: none !important;
}

.st-volet-desc {
	margin: 0 !important;
	font-size: 0.98rem !important;
	line-height: 1.6 !important;
	color: var(--st-muted) !important;
	max-width: none !important;
}

.st-pdl-highlight {
	padding: 1.15rem 1.35rem;
	border-radius: var(--st-radius-sm);
	background: color-mix(in oklab, var(--st-accent) 12%, white);
	border: 1px solid color-mix(in oklab, var(--st-accent) 28%, transparent);
	width: fit-content;
	max-width: 100%;
}

.st-pdl-highlight .st-volet-value {
	color: var(--st-ink);
}

.st-region-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}

.st-region-block {
	padding: 1.15rem 1.25rem 1.25rem;
	border-radius: var(--st-radius-sm);
	background: color-mix(in oklab, var(--st-surface) 85%, white);
	border: 1px solid var(--st-line);
}

.st-region-block--accent {
	background: color-mix(in oklab, var(--st-accent) 10%, white);
	border-color: color-mix(in oklab, var(--st-accent) 22%, transparent);
}

.st-region-block--span {
	grid-column: 1 / -1;
}

.st-region-block h4 {
	margin: 0 !important;
	font-size: 1.02rem !important;
	font-weight: 750 !important;
}

.st-region-note {
	margin: 1rem 0 0 !important;
	font-size: 0.92rem !important;
	line-height: 1.6 !important;
	color: var(--st-muted) !important;
	max-width: none !important;
}

.st-tarifs-foot-cta {
	padding: clamp(1.75rem, 3.5vw, 2.65rem);
	border-radius: var(--st-radius);
	background:
		radial-gradient(90% 120% at 100% 0%, color-mix(in oklab, var(--st-accent) 38%, transparent), transparent 55%),
		var(--st-ink);
	color: #fff;
	display: grid;
	gap: 1.15rem;
}

.st-tarifs-foot-cta h2 {
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(1.45rem, 1.2rem + 1vw, 2rem) !important;
}

.st-tarifs-foot-cta p {
	margin: 0 !important;
	color: color-mix(in oklab, #fff 78%, transparent) !important;
	font-size: 1.05rem !important;
	max-width: 48ch !important;
}

.st-tarifs-phone--on-dark {
	color: #fff !important;
}

.st-tarifs-phone--on-dark .st-tarifs-phone-label {
	color: color-mix(in oklab, #fff 62%, transparent);
}

.st-tarifs-phone--on-dark:hover {
	color: var(--st-accent-bright) !important;
	border-bottom-color: color-mix(in oklab, var(--st-accent-bright) 55%, transparent);
}

.st-tarifs-foot-cta .dt-btn {
	box-shadow: 0 10px 28px color-mix(in oklab, #000 28%, transparent) !important;
}

/* Motion — contenu visible par défaut */
.solutia-tarifs .st-tarifs-intro,
.solutia-tarifs .st-tarifs-travel,
.solutia-tarifs .st-region,
.solutia-tarifs .st-tarifs-foot-cta {
	opacity: 1;
	transform: none;
}

.solutia-tarifs .st-reveal.is-in {
	animation: st-rise 0.7s var(--st-ease) both;
}

/* ==========================================================================
   Page Automatisation & workflows
   ========================================================================== */

.page-id-3644 #fancy-header .fancy-header-overlay {
	display: none !important;
}

.page-id-3644 .content > .wpb-content-wrapper,
.page-id-3644 .content > .solutia-auto {
	max-width: 72rem;
	margin-inline: auto;
}

.solutia-auto {
	padding: clamp(1.75rem, 3.5vw, 2.75rem) 0 clamp(3rem, 6vw, 4.5rem);
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4.5vw, 3.5rem);
}

.solutia-auto h2,
.solutia-auto h3 {
	color: var(--st-ink);
	text-wrap: balance;
}

.solutia-auto p {
	color: var(--st-body);
	max-width: 68ch;
	text-wrap: pretty;
}

.st-auto-intro {
	display: grid;
	gap: 1.15rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background:
		linear-gradient(135deg, color-mix(in oklab, var(--st-accent) 10%, white), white 58%),
		var(--st-paper);
	border: 1px solid var(--st-line);
	border-radius: var(--st-radius);
}

.st-auto-lede {
	font-size: clamp(1.2rem, 1.05rem + 0.65vw, 1.5rem) !important;
	line-height: 1.45 !important;
	color: var(--st-ink) !important;
	max-width: 36ch !important;
	margin: 0 !important;
	font-weight: 750;
	letter-spacing: -0.028em;
	text-wrap: balance;
}

.st-auto-lede-sub {
	margin: 0 !important;
	font-size: 1.05rem !important;
	line-height: 1.65 !important;
	color: var(--st-body) !important;
	max-width: 52ch !important;
}

.st-auto-position {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}

@media (min-width: 900px) {
	.st-auto-position {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		gap: clamp(2rem, 4vw, 3rem);
	}
}

.st-auto-position-copy h2 {
	font-size: clamp(1.55rem, 1.2rem + 1.2vw, 2.15rem) !important;
	margin: 0 0 0.85rem !important;
	letter-spacing: -0.03em;
}

.st-auto-position-copy p {
	margin: 0 0 0.85rem !important;
	font-size: 1.05rem !important;
	line-height: 1.7 !important;
}

.st-auto-position-copy p:last-child {
	margin-bottom: 0 !important;
}

.st-auto-flow {
	margin: 0;
	padding: 0;
}

.st-auto-flow-svg {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--st-radius);
	box-shadow: var(--st-shadow);
}

.st-auto-flow-cap {
	margin: 0.75rem 0 0 !important;
	font-size: 0.92rem !important;
	line-height: 1.5 !important;
	color: var(--st-muted) !important;
	max-width: 46ch !important;
}

.st-auto-section-head h2 {
	font-size: clamp(1.55rem, 1.2rem + 1.2vw, 2.15rem) !important;
	margin: 0 0 0.55rem !important;
	letter-spacing: -0.03em;
}

.st-auto-section-head p {
	margin: 0 !important;
	font-size: 1.05rem !important;
	color: var(--st-muted) !important;
	max-width: 52ch !important;
}

.st-auto-cases,
.st-auto-method {
	display: grid;
	gap: clamp(1.35rem, 2.8vw, 2rem);
}

.st-auto-case-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	border-top: 1px solid var(--st-line);
}

.st-auto-case-list > li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem 1.25rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--st-line);
	align-items: start;
}

.st-auto-case-num {
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--st-accent-deep);
	line-height: 1.4;
	padding-top: 0.15rem;
	font-variant-numeric: tabular-nums;
}

.st-auto-case-list h3 {
	margin: 0 0 0.35rem !important;
	font-size: clamp(1.08rem, 1rem + 0.35vw, 1.22rem) !important;
	font-weight: 750 !important;
	letter-spacing: -0.02em;
}

.st-auto-case-list p {
	margin: 0 !important;
	font-size: 1.02rem !important;
	line-height: 1.6 !important;
	max-width: 58ch !important;
}

.st-auto-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
	counter-reset: st-auto-step;
}

@media (min-width: 768px) {
	.st-auto-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.15rem;
	}
}

.st-auto-steps > li {
	counter-increment: st-auto-step;
	display: grid;
	gap: 0.45rem;
	padding: 1.25rem 1.3rem 1.35rem;
	background: var(--st-surface);
	border-radius: var(--st-radius-sm);
	border-left: 3px solid var(--st-accent);
}

.st-auto-steps > li::before {
	content: "Étape " counter(st-auto-step);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--st-accent-deep);
}

.st-auto-steps strong {
	font-size: 1.05rem;
	font-weight: 750;
	color: var(--st-ink);
	letter-spacing: -0.02em;
}

.st-auto-steps span {
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--st-body);
}

.st-auto-bridge {
	padding: clamp(1.35rem, 2.8vw, 1.85rem) clamp(1.35rem, 3vw, 2rem);
	background: var(--st-paper);
	border: 1px solid var(--st-line);
	border-radius: var(--st-radius);
}

.st-auto-bridge-inner h2 {
	font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.55rem) !important;
	margin: 0 0 0.55rem !important;
}

.st-auto-bridge-inner p {
	margin: 0 0 0.75rem !important;
	font-size: 1.05rem !important;
}

.st-auto-bridge-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.65rem;
	margin: 0 !important;
	font-weight: 650;
}

.st-auto-bridge-links a {
	color: var(--st-accent-deep) !important;
	text-decoration: none !important;
	border-bottom: 1px solid color-mix(in oklab, var(--st-accent) 35%, transparent);
	transition: color 0.25s var(--st-ease), border-color 0.25s var(--st-ease);
}

.st-auto-bridge-links a:hover {
	color: var(--st-ink) !important;
	border-bottom-color: var(--st-ink);
}

.solutia-auto .st-auto-intro,
.solutia-auto .st-auto-position,
.solutia-auto .st-auto-cases,
.solutia-auto .st-auto-method,
.solutia-auto .st-auto-bridge,
.solutia-auto .st-tarifs-foot-cta {
	opacity: 1;
	transform: none;
}

.solutia-auto .st-reveal.is-in {
	animation: st-rise 0.7s var(--st-ease) both;
}

@media (max-width: 767px) {
	.solutia-auto {
		padding-inline: 0;
		gap: 1.75rem;
	}

	.st-auto-intro,
	.st-auto-bridge,
	.solutia-auto .st-tarifs-foot-cta {
		padding: 1.25rem 1.1rem;
	}

	.st-auto-case-list > li {
		grid-template-columns: 2rem 1fr;
		gap: 0.65rem 0.85rem;
		padding: 1.05rem 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.solutia-auto .st-reveal.is-in {
		animation: none !important;
	}
}

/* ==========================================================================
   Images — fluidité & perf d’affichage
   ========================================================================== */

.content img,
.entry-content img,
.wpb_single_image img,
.wpb_text_column img,
.dt-blog-shortcode img,
.post img,
.wf-container img,
.st-cta-band img {
	max-width: 100%;
	height: auto;
}

.wpb_single_image .vc_single_image-wrapper,
.wpb_single_image .vc_figure,
.wpb_single_image .vc_single_image-img {
	max-width: 100%;
}

.wpb_single_image img,
.vc_single_image-img {
	max-width: 100%;
	height: auto;
}

/*
 * Ne JAMAIS forcer max-width/overflow sur .vc_row / .wpb_column :
 * ça écrase la grille flex WPBakery (colonnes ultra-étroites à gauche).
 * On restaure explicitement les largeurs desktop des rows flex.
 */
@media (min-width: 768px) {
	.vc_row.vc_row-flex:not(.st-offer-capabilities) {
		display: flex !important;
		flex-wrap: wrap !important;
		box-sizing: border-box !important;
	}

	.vc_row.vc_row-flex:not(.st-offer-capabilities) > .vc_column_container.vc_col-sm-3 {
		width: 25% !important;
		max-width: 25% !important;
		flex: 0 0 25% !important;
	}

	.vc_row.vc_row-flex:not(.st-offer-capabilities) > .vc_column_container.vc_col-sm-4 {
		width: 33.33333333% !important;
		max-width: 33.33333333% !important;
		flex: 0 0 33.33333333% !important;
	}

	.vc_row.vc_row-flex:not(.st-offer-capabilities) > .vc_column_container.vc_col-sm-6 {
		width: 50% !important;
		max-width: 50% !important;
		flex: 0 0 50% !important;
	}

	.vc_row.vc_row-flex:not(.st-offer-capabilities) > .vc_column_container.vc_col-sm-8 {
		width: 66.66666667% !important;
		max-width: 66.66666667% !important;
		flex: 0 0 66.66666667% !important;
	}

	.vc_row.vc_row-flex:not(.st-offer-capabilities) > .vc_column_container.vc_col-sm-12 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
}

.icon-with-text-shortcode .dt-text-desc {
	max-width: none !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 991px) {
	.solutia-front-h1 {
		max-width: 20ch;
		padding-left: 1.1rem;
		padding-right: 1.1rem;
	}

	.solutia-tarifs {
		padding-left: max(0.85rem, env(safe-area-inset-left, 0px));
		padding-right: max(0.85rem, env(safe-area-inset-right, 0px));
	}

	.st-region,
	.st-tarifs-intro,
	.st-tarifs-travel,
	.st-tarifs-foot-cta {
		padding-left: clamp(1rem, 3vw, 1.5rem);
		padding-right: clamp(1rem, 3vw, 1.5rem);
	}

	.st-volets,
	.st-region-grid {
		grid-template-columns: 1fr;
	}

	.st-region-block--span {
		grid-column: auto;
	}

	#fancy-header.fancy-header {
		padding-top: clamp(4.75rem, 12vw, 6.25rem) !important;
		padding-bottom: clamp(1.75rem, 4vw, 2.75rem) !important;
	}

	.st-cta-band {
		margin-left: max(0.5rem, env(safe-area-inset-left, 0px));
		margin-right: max(0.5rem, env(safe-area-inset-right, 0px));
	}
}

@media (max-width: 600px) {
	.dt-btn,
	a.dt-btn,
	.dt-btn-m {
		width: auto;
		max-width: 100%;
	}

	.st-tarifs-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.st-tarifs-actions .dt-btn,
	.st-tarifs-phone {
		width: 100%;
		text-align: center;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		box-sizing: border-box;
	}

	.st-tarifs-phone {
		padding: 0.65rem 0.85rem;
		border: 1px solid var(--st-line);
		border-radius: var(--st-radius-sm);
		background: color-mix(in oklab, var(--st-surface) 80%, white);
	}

	.st-tarifs-phone--on-dark {
		border-color: color-mix(in oklab, #fff 18%, transparent);
		background: color-mix(in oklab, #fff 8%, transparent);
	}

	.st-pdl-highlight {
		width: 100%;
	}

	.st-volet,
	.st-region-block {
		padding: 1rem 1.05rem 1.1rem;
	}

	.st-volet-value {
		font-size: clamp(1.75rem, 8vw, 2.25rem);
	}

	.page-id-1489 .dt-contact-form,
	.page-id-1489 form.dt-form {
		padding: 1rem;
		margin-inline: 0;
		max-width: 100%;
	}

	.home .icon-with-text-shortcode .icon-inner {
		width: 2.65rem;
		height: 2.65rem;
	}

	/* Slider : éviter le crop agressif du texte sur petit écran */
	#main-slideshow,
	.rev_slider_wrapper,
	.sr7-module {
		max-width: 100vw;
	}
}

@media (max-width: 380px) {
	.solutia-front-h1 {
		max-width: none;
		font-size: clamp(1.45rem, 7.5vw, 1.85rem) !important;
	}

	.st-tarifs-lede {
		font-size: 1.05rem !important;
	}
}

/* ==========================================================================
   Site relook — $impeccable bolder (DESIGN.md)
   Focal: apps sur mesure TPE/ETI + contact devis|tél. Slider intact.
   ========================================================================== */

/* Ultimate Headings → encre / Manrope (plus de gris #222 catalogue) */
.uvc-heading h1,
.uvc-heading h2,
.uvc-heading h3,
.uvc-heading h4,
.ultimate-heading h1,
.ultimate-heading h2,
.ultimate-heading h3,
.ultimate-heading h4,
.uvc-main-heading,
.uvc-main-heading * {
	font-family: var(--st-font) !important;
	color: var(--st-ink) !important;
	letter-spacing: -0.028em !important;
	font-weight: 750 !important;
	text-wrap: balance;
}

.uvc-heading .uvc-headings-line,
.ultimate-heading .uvc-headings-line {
	border-color: var(--st-accent) !important;
	background: var(--st-accent) !important;
}

/* Titres Ultimate sur bandes teal : rester blancs */
.vc_row[style*="148ba9"] .uvc-heading h1,
.vc_row[style*="148ba9"] .uvc-heading h2,
.vc_row[style*="148ba9"] .uvc-heading h3,
.vc_row[style*="148ba9"] .uvc-main-heading,
.vc_row[style*="148ba9"] .uvc-main-heading *,
.vc_custom_1575455771890 .uvc-heading h1,
.vc_custom_1575455771890 .uvc-heading h2,
.vc_custom_1575455771890 .uvc-heading h3,
.vc_custom_1575455771890 .uvc-main-heading,
.vc_custom_1575455771890 .uvc-main-heading *,
.vc_custom_1575463265784 .uvc-heading h1,
.vc_custom_1575463265784 .uvc-heading h2,
.vc_custom_1575463265784 .uvc-heading h3,
.vc_custom_1575463265784 .uvc-main-heading,
.vc_custom_1575463265784 .uvc-main-heading * {
	color: #fff !important;
}

/* Fancy headers — Ink Chrome sitewide (hors home / slider) */
#fancy-header.fancy-header {
	background:
		radial-gradient(90% 120% at 88% 8%, color-mix(in oklab, var(--st-accent) 38%, transparent), transparent 55%),
		radial-gradient(70% 90% at 8% 95%, color-mix(in oklab, var(--st-accent-deep) 28%, transparent), transparent 50%),
		linear-gradient(160deg, var(--st-ink) 0%, var(--st-ink-soft) 100%) !important;
	padding-top: clamp(5.25rem, 9vw, 7rem) !important;
	padding-bottom: clamp(2.25rem, 4.5vw, 3.5rem) !important;
	border-bottom: 1px solid color-mix(in oklab, #fff 10%, transparent);
}

#fancy-header .fancy-title,
#fancy-header .fancy-title span {
	color: #fff !important;
	font-family: var(--st-font) !important;
	font-weight: 800 !important;
	letter-spacing: -0.032em !important;
	font-size: clamp(1.85rem, 1.3rem + 2vw, 3rem) !important;
}

#fancy-header .fancy-subtitle,
#fancy-header .fancy-subtitle.color-accent,
#fancy-header .fancy-subtitle span {
	color: color-mix(in oklab, #fff 78%, var(--st-accent-bright)) !important;
	font-family: var(--st-font) !important;
	font-weight: 500 !important;
	font-size: clamp(1rem, 0.92rem + 0.3vw, 1.15rem) !important;
}

#fancy-header .fancy-header-overlay {
	opacity: 0.15 !important;
	background: var(--st-ink) !important;
}

/* Accueil — statement + CTA sous hero (slider non touché) */
.solutia-front-h1 {
	font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3.1rem) !important;
	max-width: 22ch;
	margin-bottom: 0 !important;
}

.home .st-cta-band--light {
	margin: 0 auto clamp(1.5rem, 3vw, 2.5rem);
	max-width: 52rem;
}

/* Bandes CTA conversion */
.st-cta-band {
	margin: clamp(1.75rem, 4vw, 3rem) 0;
	border-radius: var(--st-radius);
}

.st-cta-band-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 1.75rem;
	padding: clamp(1.35rem, 3vw, 2rem) clamp(1.35rem, 3vw, 2.15rem);
}

.st-cta-band-copy {
	flex: 1 1 16rem;
	min-width: 0;
}

.st-cta-band-title {
	margin: 0 0 0.4rem !important;
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.65rem) !important;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.st-cta-band-text {
	margin: 0 !important;
	font-size: 1.02rem !important;
	line-height: 1.55 !important;
	max-width: 42ch !important;
}

.st-cta-band-actions {
	flex: 0 1 auto;
}

.st-cta-band--light {
	background:
		linear-gradient(135deg, color-mix(in oklab, var(--st-accent) 10%, white), white 60%),
		var(--st-paper);
	border: 1px solid var(--st-line);
	box-shadow: var(--st-shadow);
}

.st-cta-band--light .st-cta-band-title {
	color: var(--st-ink) !important;
}

.st-cta-band--light .st-cta-band-text {
	color: var(--st-body) !important;
}

.st-cta-band--dark {
	background:
		radial-gradient(90% 120% at 100% 0%, color-mix(in oklab, var(--st-accent) 36%, transparent), transparent 55%),
		var(--st-ink);
	border: 1px solid color-mix(in oklab, #fff 10%, transparent);
}

.st-cta-band--dark .st-cta-band-title {
	color: #fff !important;
}

.st-cta-band--dark .st-cta-band-text {
	color: color-mix(in oklab, #fff 76%, transparent) !important;
}

.st-cta-band--dark .dt-btn {
	box-shadow: 0 10px 28px color-mix(in oklab, #000 28%, transparent) !important;
}

/* Accueil — offre : moins “catalogue”, plus cabinet */
.home .st-offer-capabilities .icon-with-text-shortcode,
.home #nosservices .icon-with-text-shortcode {
	border-radius: var(--st-radius-sm);
}

.home .icon-with-text-shortcode .dt-text-title {
	font-size: 1.08rem !important;
	font-weight: 750 !important;
	letter-spacing: -0.022em;
}

.home .icon-with-text-shortcode .dt-text-desc {
	font-size: 0.95rem !important;
	color: var(--st-muted) !important;
}

/* Témoignages — preuve humaine plus décisive */
.testimonials-carousel-shortcode .testimonial-content,
.testimonial-item .testimonial-content {
	font-size: clamp(1.08rem, 1rem + 0.35vw, 1.22rem) !important;
	line-height: 1.7 !important;
	font-weight: 500 !important;
	max-width: 54ch;
}

.vc_custom_1575455771890 .testimonial-content,
.vc_custom_1575455771890 .testimonial-item .testimonial-content,
.vc_custom_1575455771890 blockquote {
	color: #fff !important;
}

.vc_custom_1575455771890 .testimonial-name,
.vc_custom_1575455771890 .testimonial-name .text-primary {
	color: #fff !important;
}

.vc_custom_1575455771890 {
	padding-top: clamp(2.5rem, 5vw, 3.75rem) !important;
	padding-bottom: clamp(2.5rem, 5vw, 3.75rem) !important;
}

/* Contenu pages — rythme & lisibilité */
.page .content .wpb_text_column p,
.page .content .wpb_wrapper > p {
	max-width: 68ch;
}

.page:not(.home) .content h2.uvc-main-heading,
.page:not(.home) .uvc-heading h2 {
	font-size: clamp(1.45rem, 1.15rem + 1.1vw, 2.1rem) !important;
	margin-bottom: 0.85rem !important;
}

/* Contact — formulaire plus tactile */
.page-id-1489 #fancy-header .fancy-title {
	font-size: clamp(2rem, 1.4rem + 2.2vw, 3.1rem) !important;
}

.page-id-1489 .dt-contact-form,
.page-id-1489 form.dt-form {
	max-width: 36rem;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--st-paper);
	border: 1px solid var(--st-line);
	border-radius: var(--st-radius);
	box-shadow: var(--st-shadow);
}

.page-id-1489 .st-cta-band {
	margin-top: 0.5rem;
}

/* Qui sommes-nous / offres — blocs icônes moins agence */
.page-id-1479 .icon-with-text-shortcode .dt-text-title,
.page-id-4088 .icon-with-text-shortcode .dt-text-title,
.page-id-3644 .icon-with-text-shortcode .dt-text-title {
	font-weight: 750 !important;
	color: var(--st-ink) !important;
}

/* Lien contenu */
.content a:not(.dt-btn):not(.vc_btn3):not(.st-tarifs-phone):not(.st-cta-band a) {
	color: var(--st-accent-deep);
	text-underline-offset: 0.18em;
}

.content a:not(.dt-btn):not(.vc_btn3):not(.st-tarifs-phone):hover {
	color: var(--st-ink);
}

@media (max-width: 700px) {
	.st-cta-band-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
		padding: 1.15rem 1.1rem;
	}

	.st-cta-band-actions {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 0.65rem;
	}

	.st-cta-band-actions .dt-btn,
	.st-cta-band-actions .st-tarifs-phone {
		width: 100%;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.st-cta-band-text {
		max-width: none !important;
	}
}

/* Contenu pages : colonnes VC qui ne forcent plus le scroll horizontal */
@media (max-width: 767px) {
	.vc_row .vc_col-sm-6,
	.vc_row .vc_col-sm-4,
	.vc_row .vc_col-sm-3,
	.vc_row .vc_col-md-6,
	.vc_row .vc_col-md-4 {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
	}

	.wpb_single_image {
		margin-bottom: 1rem !important;
	}

	.content .wpb_text_column,
	.content .wpb_wrapper > p {
		padding-left: 0;
		padding-right: 0;
	}
}
