/* ==========================================================================
   Thème Xtensus – styles complémentaires à theme.json
   ========================================================================== */

:root {
	--xt-orange: #f26a2c;
	--xt-accent: #fc5546;
	--xt-nuit: #0e2b5c;
	--xt-ardoise: #627792;
	--xt-texte: #444;
	--xt-fond: #f2f5f8;
	--xt-ombre: 0 10px 30px rgba(14, 43, 92, 0.08);
	--xt-entete-h: 130px;
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { height: auto; }
.xt-orange { color: var(--xt-orange); }
/* « XTENSUS » écrit avec la police du logo */
.xt-logo-texte, em.xt-logo-texte { font-family: Cyberverse, Rubik, sans-serif; font-style: italic; text-transform: uppercase; color: #000; }
.xt-logo-texte--gris { color: #999; }

/* Lien souligné en pointillés (« Découvrez notre entreprise ») */
.xt-pointille, a.dot, .xt-lien-souligne a {
	font-weight: 500;
	color: var(--wp--preset--color--noir);
	text-decoration: none;
	border-bottom: 1px dashed currentColor;
	padding-bottom: 1px;
}
.xt-pointille:hover, a.dot:hover, .xt-lien-souligne a:hover { color: var(--xt-accent); }

/* Lien d'évitement */
.skip-link.screen-reader-text:focus { z-index: 100000; }

/* ---------- En-tête ---------- */
.xt-entete-part { position: sticky; top: 0; z-index: 50; margin-top: 0 !important; }
.admin-bar .xt-entete-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .xt-entete-part { top: 46px; } }
.xt-entete { padding-left: max(16px, 5vw) !important; padding-right: max(16px, 4vw) !important; transition: box-shadow 0.2s ease; box-shadow: 0 1px 0 rgba(14, 43, 92, 0.06); }
.xt-entete.is-scrolled { box-shadow: 0 6px 24px rgba(14, 43, 92, 0.1); background: #fff !important; }
.xt-entete__barre { min-height: var(--xt-entete-h); gap: 24px; transition: min-height 0.2s ease; }
/* En-tête compact une fois la page défilée (comme l'ancien en-tête « sticky ») */
@media (min-width: 1181px) {
	.xt-entete.is-scrolled .xt-entete__barre { min-height: 84px; }
	.xt-entete.is-scrolled .xt-entete__annonce { display: none; }
	.xt-entete.is-scrolled .xt-entete__logo img { width: 64px !important; }
}
.xt-entete__logo { margin: 0; flex: 0 0 auto; }
.xt-entete__logo img { display: block; }
.xt-entete__centre { flex: 1 1 auto; gap: 0 !important; align-items: center; }
.xt-entete__annonce { margin: 0; padding: 14px 0 14px; width: 100%; max-width: 800px; text-align: center; font-size: 1rem; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.xt-entete__annonce a { text-decoration: none; color: var(--xt-texte); }
.xt-entete__annonce a:hover { color: var(--xt-accent); }

.xt-menu { font-weight: 500; }
.xt-menu .wp-block-navigation__container { flex-wrap: nowrap; }
.xt-menu .wp-block-navigation-item__content { display: block; padding: 20px 22px; white-space: nowrap; color: var(--xt-texte); text-decoration: none; position: relative; }
.xt-menu .wp-block-navigation-item__content::before {
	content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 3px;
	background: var(--xt-accent); transform: scaleX(0); transition: transform 0.25s ease;
}
.xt-menu .wp-block-navigation-item__content:hover,
.xt-menu .current-menu-item > .wp-block-navigation-item__content { color: var(--xt-accent); }
.xt-menu .current-menu-item > .wp-block-navigation-item__content::before,
.xt-menu .wp-block-navigation-item__content:hover::before { transform: scaleX(1); }

.xt-entete__droite { flex: 0 0 auto; gap: 16px !important; }
.xt-entete__devis { margin: 0; display: flex; gap: 14px; align-items: center; font-size: 0.95rem; line-height: 1.7; padding-right: 20px; border-right: 1px solid rgba(0, 0, 0, 0.1); }
.xt-entete__devis a { text-decoration: none; color: var(--xt-texte); }
.xt-entete__devis .xt-pointille { color: var(--xt-orange); font-weight: 400; }
.xt-recherche .wp-block-search__button { background: transparent; color: var(--xt-orange); padding: 6px; border: 0; }
.xt-recherche .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }
.xt-recherche.wp-block-search__searchfield-hidden .wp-block-search__input { border: 0; }
.xt-recherche:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { border: 1px solid rgba(3, 42, 95, 0.15); border-radius: 5px; padding: 6px 10px; }

.xt-traduction {
	font: 600 0.75rem/1 Rubik, sans-serif; letter-spacing: 0.05em; cursor: pointer;
	background: #fff; color: var(--xt-nuit); border: 1px solid rgba(14, 43, 92, 0.2);
	border-radius: 3px; padding: 6px 7px;
}
.xt-traduction:hover, .xt-traduction:focus-visible { background: var(--xt-nuit); color: #fff; }
/* Masquer la barre et l'infobulle de Google Traduction */
.goog-te-banner-frame, .skiptranslate iframe, #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
body { top: 0 !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

@media (max-width: 1180px) {
	.xt-entete__annonce, .xt-entete__devis { display: none; }
	.xt-entete__barre { min-height: 90px; }
	.xt-entete__logo img { width: 64px !important; }
	.xt-entete__centre { align-items: flex-end; }
	.xt-menu .wp-block-navigation-item__content { padding: 12px 0; }
	.xt-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; }
}

/* ---------- Bandeau de titre ---------- */
.xt-bandeau-part { margin-top: 0 !important; }
.xt-bandeau {
	position: relative; background: #211932; color: #fff; text-align: center;
	padding: 80px max(16px, 5vw); margin: 0 0 60px; overflow: visible;
}
.xt-bandeau__reseau { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.xt-bandeau__inner { position: relative; max-width: 860px; margin: 0 auto; }
.xt-bandeau__titre { color: #fff; font-size: clamp(2rem, 4vw, 2.875rem); line-height: 1.15; margin: 0; }
.xt-bandeau__soustitre { margin: 16px auto 0; color: rgba(255, 255, 255, 0.75); font-size: 1.125rem; max-width: 700px; }
.xt-bandeau__fleche {
	position: absolute; left: 50%; bottom: -26px; transform: translateX(-50%);
	width: 52px; height: 52px; border-radius: 50%; background: #fff; color: var(--xt-texte);
	display: grid; place-items: center; box-shadow: var(--xt-ombre);
}
.xt-bandeau__fleche:hover { color: var(--xt-accent); }

/* ---------- Contenu ---------- */
.xt-main { padding-bottom: var(--wp--preset--spacing--60); }
.xt-main--accueil { padding-bottom: 0; }
.xt-main > .wp-block-post-content > :first-child { margin-top: 0; }
.wp-block-post-content > .alignfull:last-child { margin-bottom: 0; }

/* Sections pleine largeur */
.xt-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.wp-block-post-content > .xt-section { margin-top: 0; margin-bottom: 0; }
.xt-section--orange { background: var(--wp--preset--color--orange-vif); color: #fff; }
.xt-section--orange a:not(.wp-element-button) { color: #fff; }
.xt-section--sombre { background-color: var(--wp--preset--color--gris-fonce); color: #fff; }
.xt-section--sombre :where(h1,h2,h3,h4,h5,h6) { color: #fff; }
.xt-section--fond { background-size: cover; background-position: center; }

/* Surtitre (« NOS SERVICES ») et titre de section */
.xt-surtitre {
	font-size: 0.8125rem !important; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase;
	color: var(--xt-texte); margin-bottom: 0.4em !important;
}
.xt-section--orange .xt-surtitre, .xt-section--sombre .xt-surtitre { color: rgba(255, 255, 255, 0.65); }
.xt-titre-section { color: var(--xt-orange); font-size: clamp(1.5rem, 2.6vw, 1.875rem) !important; line-height: 1.3; margin-top: 0; }
.xt-section--orange .xt-titre-section, .xt-section--sombre .xt-titre-section { color: #fff; }

/* Cartes de services (anciens « iconbox ») */
.xt-carte-service {
	background: var(--xt-fond); border-radius: 4px; text-align: center; height: 100%;
	padding: 36px 24px 32px !important; display: flex; flex-direction: column; align-items: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.xt-carte-service:hover { transform: translateY(-4px); box-shadow: var(--xt-ombre); }
.xt-carte-service h3, .xt-carte-service h4 { color: var(--xt-orange); font-size: 1.25rem; line-height: 1.15; margin: 0 0 0.6em; }
.xt-carte-service p { margin: 0 0 1em; }
.xt-carte-service .wp-block-image { margin: auto 0 1.2em; }
.xt-carte-service .wp-block-image img { max-height: 90px; width: auto; }
.xt-carte-service .xt-lien-fleche { margin: 0; }
.xt-lien-fleche a { font-weight: 500; text-decoration: none; color: var(--xt-texte); }
.xt-lien-fleche a::after { content: " →"; }
.xt-lien-fleche a:hover { color: var(--xt-accent); }
.wp-block-columns.xt-grille-cartes { gap: 30px; margin-bottom: 30px; }
.wp-block-columns.xt-grille-cartes > .wp-block-column { display: flex; }
.wp-block-columns.xt-grille-cartes > .wp-block-column > * { flex: 1; }

/* Boîtes image (anciens « imagebox ») */
.xt-boite-image { background: #fff; box-shadow: var(--xt-ombre); border-radius: 4px; overflow: hidden; height: 100%; }
.xt-boite-image .wp-block-image { margin: 0; }
.xt-boite-image__corps { padding: 24px 28px 30px; }
.xt-boite-image__corps .xt-surtitre { margin: 0; }
.xt-boite-image__corps h3 { color: var(--xt-texte); font-size: 1.25rem; margin: 0.3em 0 0.8em; }

/* Compteurs */
.xt-compteur { text-align: center; }
.xt-compteur .xt-compteur__valeur { font-size: 2.5rem; font-weight: 500; color: var(--xt-orange); margin: 0.2em 0 0; line-height: 1.1; }

/* Logos clients */
.xt-logos { align-items: center !important; }
.xt-logos .wp-block-image { margin: 0; text-align: center; }
.xt-logos img { filter: grayscale(1); opacity: 0.7; transition: filter 0.2s, opacity 0.2s; max-height: 70px; width: auto; }
.xt-logos img:hover { filter: none; opacity: 1; }

/* Témoignages */
.xt-temoignages { gap: 30px; }
.xt-temoignage {
	background: #fff; box-shadow: var(--xt-ombre); border-radius: 4px; padding: 36px 30px !important; height: 100%;
	font-size: 0.95rem;
}
.xt-temoignage .wp-block-image { margin: 0 0 1.4em; }
.xt-temoignage .wp-block-image img { width: 90px; height: 90px; object-fit: contain; border-radius: 50%; }
.xt-temoignage__nom { color: var(--xt-orange); font-weight: 500; margin: 1.4em 0 0 !important; }
.xt-temoignage__fonction { font-size: 0.875rem; color: var(--wp--preset--color--gris); margin: 0 !important; }

/* « Nos valeurs » : mot animé */
.xt-valeur { font-family: Cyberverse, Rubik, sans-serif; color: var(--xt-orange); letter-spacing: 0.08em; font-size: clamp(2rem, 6vw, 4rem) !important; }

/* Bandeau d'accueil (ancien slider) */
.xt-hero.wp-block-cover { min-height: min(620px, 80vh) !important; }
.xt-hero .xt-hero__accroche { font-family: Cyberverse, Rubik, sans-serif; font-size: clamp(2.6rem, 8vw, 6rem); line-height: 0.95; color: #fff; text-transform: lowercase; margin: 0; }
.xt-hero .xt-hero__sous-titre { font-size: clamp(1.1rem, 2.2vw, 1.75rem); color: #fff; margin: 0.6em 0 0; }
.xt-hero .xt-hero__trait { width: 60px; height: 4px; background: #fff; border: 0; margin: 1.4em auto; opacity: 1; }
.xt-hero .xt-hero__lien a { color: var(--wp--preset--color--jaune); text-transform: uppercase; letter-spacing: 0.15em; font-size: 0.875rem; font-weight: 500; text-decoration: none; }
.xt-hero .xt-hero__lien a::after { content: "  →"; }

/* Cartes (articles, projets) */
.xt-cartes .wp-block-post-template { gap: 30px; }
.xt-cartes .wp-block-post {
	background: #fff; box-shadow: var(--xt-ombre); border-radius: 4px; overflow: hidden;
	display: flex; flex-direction: column; transition: transform 0.25s ease;
}
.xt-cartes .wp-block-post:hover { transform: translateY(-4px); }
.xt-cartes .wp-block-post > :not(.wp-block-post-featured-image) { margin-left: 24px; margin-right: 24px; }
.xt-cartes .wp-block-post > :last-child { margin-bottom: 26px; }
.xt-cartes .wp-block-post-featured-image { margin: 0 0 18px; background: #f7f5f2; }
.xt-cartes .wp-block-post-featured-image img { border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
.xt-cartes .wp-block-post-title { font-size: 1.125rem; line-height: 1.35; margin-top: 4px; }
.xt-cartes .wp-block-post-title a { text-decoration: none; color: var(--xt-texte); }
.xt-cartes .wp-block-post-title a:hover { color: var(--xt-accent); }
.xt-cartes .wp-block-post-date { font-size: 0.8125rem; color: var(--xt-orange); }
.xt-cartes .wp-block-post-excerpt__more-link { font-weight: 500; text-decoration: none; }
.xt-cartes-projets .wp-block-post { border-top: 4px solid var(--xt-projet, var(--xt-orange)); }
.xt-carte__corps { padding: 0 !important; }
.xt-liste-articles .wp-block-post-title { font-size: 1.375rem !important; }
.wp-block-query-pagination { margin-top: 40px; }

/* Article / projet */
.xt-meta { font-size: 0.875rem; color: var(--wp--preset--color--gris); gap: 12px; }
.xt-meta a { color: var(--xt-orange); text-decoration: none; }
.xt-etiquettes { font-size: 0.875rem; }
.xt-navigation-articles { border-top: 1px solid rgba(0, 0, 0, 0.08); padding-top: 30px; margin-top: 60px !important; gap: 20px; }
.xt-navigation-articles a { color: var(--xt-orange); text-decoration: none; font-weight: 500; }
.xt-projet__logo img { max-height: 160px; width: auto; }
.xt-logo-client img { max-height: 60px; width: auto; }
.xt-section--grise .xt-titre-section { margin-bottom: 40px; }

/* Formulaires (Contact Form 7, Mailchimp, candidatures) */
:where(.wpcf7, .mc4wp-form, .aol-form, .xt-main) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="search"], select, textarea) {
	width: 100%; max-width: 100%; font: inherit; color: #032a5f; background: #fff;
	border: 1px solid rgba(3, 42, 95, 0.15); border-radius: 5px; padding: 12px 18px; box-sizing: border-box;
}
:where(.wpcf7, .mc4wp-form, .xt-main) textarea { min-height: 160px; }
:where(.wpcf7, .mc4wp-form, .xt-main) :is(input, select, textarea):focus { outline: 2px solid var(--xt-orange); outline-offset: 1px; }
:where(.wpcf7, .mc4wp-form, .aol-form) :is(input[type="submit"], button[type="submit"]) {
	background: var(--xt-accent); color: #fff; border: 0; border-radius: 5px; cursor: pointer;
	padding: 14px 40px; font: 500 1rem Rubik, sans-serif;
}
:where(.wpcf7, .mc4wp-form, .aol-form) :is(input[type="submit"], button[type="submit"]):hover { background: var(--xt-orange); }
.wpcf7 label { display: block; font-weight: 500; margin-bottom: 6px; }
.wpcf7 p { margin: 0 0 18px; }
.xt-champs-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
@media (max-width: 700px) { .xt-champs-2 { grid-template-columns: 1fr; } }

/* ---------- Pied de page ---------- */
.xt-pied { color: var(--xt-texte); font-size: 0.9375rem; border-top: 1px solid rgba(0, 0, 0, 0.05); }
.xt-pied a { color: inherit; text-decoration: none; }
.xt-pied a:hover { color: var(--xt-accent); }
.xt-pied__titre { color: var(--xt-orange) !important; font-size: 0.9375rem !important; font-weight: 400 !important; text-transform: uppercase; margin: 0 0 12px; }
.xt-pied__liens { list-style: none; padding: 0; margin: 0; color: #777; }
.xt-pied__liens li { margin-bottom: 8px; }
.xt-pied__colonnes { padding-bottom: 50px; }
.xt-pied__copyright { color: #fff; margin-top: 0 !important; }
.xt-pied__copyright p { margin: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.xt-bandeau { padding-top: 56px; padding-bottom: 56px; margin-bottom: 50px; }
	.xt-section { padding-top: 50px; padding-bottom: 50px; }
	.wp-block-columns.xt-grille-cartes { gap: 20px; margin-bottom: 20px; }
	.xt-cartes .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
	.xt-logos { flex-wrap: wrap !important; }
	.xt-logos > .wp-block-column { flex-basis: 30% !important; }
}
@media (min-width: 600px) and (max-width: 1000px) {
	.xt-cartes .wp-block-post-template.is-layout-grid.columns-4,
	.xt-cartes .wp-block-post-template.is-layout-grid.columns-3 { grid-template-columns: repeat(2, 1fr) !important; }
}
.xt-texte-centre { font-size: 1.125rem; }
.xt-carte-service--blanche { background: #fff; box-shadow: var(--xt-ombre); }
.xt-carte-service--blanche .wp-block-image { margin: 0.4em 0 1.4em; }
.xt-carte-service--blanche p:not(.xt-lien-fleche) { margin-top: auto; }
.xt-titre-grand { font-size: clamp(2rem, 4vw, 2.875rem) !important; }

/* Tableaux dans le contenu (ex. postes à pourvoir) */
.xt-main table { width: 100%; border-collapse: collapse; margin: 1.5em 0; }
.xt-main th { text-align: left; font-weight: 400; color: var(--wp--preset--color--gris); padding: 10px 24px; }
.xt-main td { padding: 22px 24px; vertical-align: middle; }
.xt-main tbody tr:nth-child(odd), .xt-main table tr:nth-child(even) { background: var(--xt-fond); }
.xt-main td a:not(.button) { color: var(--xt-orange); font-weight: 500; }
a.button, .xt-main a.button {
	display: inline-block; background: #fff; color: var(--xt-texte); font-weight: 500; font-size: 0.875rem;
	padding: 10px 24px; border-radius: 3px; box-shadow: 0 2px 8px rgba(14, 43, 92, 0.12); text-decoration: none;
}
a.button:hover { color: #fff; background: var(--xt-accent); }
@media (max-width: 700px) { .xt-main td, .xt-main th { padding: 12px 10px; } }
.xt-section--fond { color: #fff; }
.xt-section--fond :where(h1,h2,h3,h4,h5,h6), .xt-section--fond .xt-surtitre { color: #fff; }

/* ==========================================================================
   Retours de la préproduction (novembre 2026)
   ========================================================================== */

/* Pied de page : copyright + slogan */
.xt-pied__copyright > .wp-block-group { max-width: 1300px !important; margin-inline: auto; }
.xt-pied__slogan { margin: 0 !important; }
.xt-pied__slogan img { display: block; }

/* Accueil : diaporama (3 images en fondu) */
.xt-diaporama { position: relative; padding: 0 !important; overflow: hidden; }
.xt-diaporama > .xt-diapo { margin: 0 !important; }
.xt-js .xt-diaporama.is-ready > .xt-diapo { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s ease, visibility 0s linear 1.2s; }
.xt-js .xt-diaporama.is-ready > .xt-diapo:first-child { position: relative; }
.xt-js .xt-diaporama.is-ready > .xt-diapo.is-active { opacity: 1; visibility: visible; transition: opacity 1.2s ease; z-index: 1; }
.xt-diaporama__points { position: absolute; z-index: 3; left: 0; right: 0; bottom: 26px; display: flex; justify-content: center; gap: 10px; }
.xt-diaporama__points button { width: 12px; height: 12px; padding: 0; border-radius: 50%; border: 2px solid #fff; background: transparent; cursor: pointer; }
.xt-diaporama__points button[aria-current="true"] { background: #fff; }
/* Textes du diaporama : « focus on business » en Rubik (et non plus Cyberverse) */
.xt-hero .xt-hero__accroche { font-family: 'Acens', Rubik, sans-serif !important; font-weight: 300; text-transform: lowercase; letter-spacing: 0.01em; font-size: clamp(3rem, 9vw, 7rem); line-height: 0.95; }
.xt-hero .xt-hero__sous-titre { font-weight: 300; }
.xt-hero .xt-hero__sous-titre .xt-logo-texte { color: #000; }
.xt-hero .xt-hero__sous-titre .xt-logo-texte--gris { color: #999; }

/* Section orange (« Qui sommes-nous ? ») : texte et lien de bas de section comme l'original */
.xt-section--orange .xt-texte-centre { color: var(--xt-texte); }
.xt-section--orange .xt-texte-centre a { color: var(--wp--preset--color--noir) !important; }
.xt-section--orange .xt-logo-texte { color: #000; }
.xt-section--chevauchement > .xt-texte-centre:last-child, .xt-section--chevauchement > :last-child { margin-bottom: 0; }

/* Espacements resserrés entre les titres de section et leur contenu */
.xt-titre-section + .wp-block-spacer, .xt-surtitre + .wp-block-spacer { height: 20px !important; }
.xt-section .xt-titre-section { margin-bottom: 0.4em; }

/* « Nos solutions » : cartes dégradées à la couleur du produit, logo dans un encart blanc */
.xt-solutions { margin-top: 10px !important; }
.xt-projets-solutions { gap: 30px !important; }
.xt-projets-solutions .wp-block-post {
	position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
	background: linear-gradient(135deg, var(--xt-projet, #8a8a8c) 0%, rgba(77, 77, 79, 0.95) 100%);
	padding: 44px 24px 0; min-height: 230px; transition: transform 0.25s ease;
}
.xt-projets-solutions .wp-block-post:hover { transform: translateY(-4px); }
.xt-projets-solutions .wp-block-post-title { margin: 0 0 28px; font-size: 1.125rem; line-height: 1.4; text-transform: uppercase; font-weight: 500; }
.xt-projets-solutions .wp-block-post-title a { color: #fff; text-decoration: none; }
.xt-projets-solutions .xt-logo-client {
	margin: auto 0 -40px !important; min-height: 98px; align-items: center; width: 86%; background: #fff; padding: 14px 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); display: flex; justify-content: center;
}
.xt-projets-solutions .xt-logo-client img { max-height: 70px; width: auto !important; object-fit: contain; }
.xt-section--sombre:has(.xt-solutions), .xt-section--sombre:has(.xt-produits) { padding-bottom: 60px !important; }

/* « Nos valeurs » : INNOVATION en Rubik */
/* « Nos valeurs » : mot en Acens, comme l'ancien titre animé (taille ajustée pour tenir sur une ligne, même sur mobile) */
.xt-valeur { font-family: 'Acens', Rubik, sans-serif !important; font-weight: 500; letter-spacing: normal; text-transform: uppercase; color: #fff !important; white-space: nowrap; font-size: min(clamp(2rem, 6vw, 4rem), 10vw) !important; }

/* Fonds image : texte clair ou foncé selon l'image */
.xt-section--fond-clair { color: var(--xt-texte); }
.xt-section--fond-clair :where(h1,h2,h3,h4,h5,h6), .xt-section--fond-clair .xt-surtitre { color: var(--xt-texte); }
.xt-section--fond-sombre { color: #fff; }

/* Témoignages : carrousel, cartes de même hauteur, texte complet au survol */
.xt-carrousel__cadre { position: relative; }
.xt-carrousel {
	display: flex !important; flex-wrap: nowrap !important; gap: 30px !important; overflow-x: auto;
	scroll-snap-type: x mandatory; scrollbar-width: none; padding: 10px 4px 30px; outline-offset: 4px;
}
.xt-carrousel::-webkit-scrollbar { display: none; }
.xt-carrousel > .xt-temoignage { flex: 0 0 calc((100% - 60px) / 3); scroll-snap-align: start; }
@media (max-width: 1000px) { .xt-carrousel > .xt-temoignage { flex-basis: calc((100% - 30px) / 2); } }
@media (max-width: 640px) { .xt-carrousel > .xt-temoignage { flex-basis: 88%; } }
.xt-carrousel__nav { display: flex; justify-content: center; gap: 12px; }
.xt-carrousel__fleche {
	width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.12); background: #fff;
	color: var(--xt-orange); font-size: 1.1rem; cursor: pointer; box-shadow: var(--xt-ombre);
}
.xt-carrousel__fleche:disabled { opacity: 0.35; cursor: default; }
.xt-temoignage { position: relative; display: flex; flex-direction: column; height: 400px !important; overflow: hidden; margin: 0 !important; }
.xt-temoignage__texte { flex: 1 1 auto; overflow: hidden; position: relative; margin: 0 !important; }
.xt-temoignage__texte p { margin: 0 0 0.8em; }
.xt-temoignage.is-tronque .xt-temoignage__texte::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 60px;
	background: linear-gradient(rgba(255, 255, 255, 0), #fff);
}
/* Bouton « Lire plus » et fenêtre du témoignage complet */
.xt-temoignage__plus {
	align-self: flex-start; margin: 10px 0 4px; padding: 0; border: 0; background: none; cursor: pointer;
	font: 500 0.9rem Rubik, sans-serif; color: var(--xt-orange);
}
.xt-temoignage__plus::after { content: " →"; }
.xt-temoignage__plus:hover, .xt-temoignage__plus:focus-visible { color: var(--xt-accent); text-decoration: underline; }
.xt-sans-defilement { overflow: hidden; }
.xt-fenetre-temoignage {
	width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 64px); padding: 0; border: 0; border-radius: 8px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35); color: var(--xt-texte);
}
.xt-fenetre-temoignage::backdrop { background: rgba(24, 18, 35, 0.6); }
.xt-fenetre-temoignage__contenu { padding: 40px 40px 34px; overflow-y: auto; max-height: calc(100vh - 64px); font-size: 1rem; line-height: 1.7; }
.xt-fenetre-temoignage__contenu .wp-block-image { margin: 0 0 1.2em; }
.xt-fenetre-temoignage__contenu .wp-block-image img { width: 90px; height: 90px; object-fit: contain; border-radius: 50%; }
.xt-fenetre-temoignage__contenu .xt-temoignage__texte { max-height: none !important; overflow: visible !important; height: auto !important; }
.xt-fenetre-temoignage__contenu .xt-temoignage__texte::after { display: none !important; }
.xt-fenetre-temoignage__fermer {
	position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%;
	background: var(--xt-fond); color: var(--xt-texte); font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.xt-fenetre-temoignage__fermer:hover, .xt-fenetre-temoignage__fermer:focus-visible { background: var(--xt-orange); color: #fff; }
@media (max-width: 600px) { .xt-fenetre-temoignage__contenu { padding: 56px 22px 26px; } }
.xt-temoignage:focus-visible { outline: 2px solid var(--xt-orange); outline-offset: 2px; }
.xt-texte-centre { margin-bottom: 40px; }

/* Animations d'apparition (seulement si JavaScript est actif et que l'utilisateur accepte les animations) */
@media (prefers-reduced-motion: no-preference) {
	.xt-js .xt-anime { opacity: 0; transition: opacity 0.8s ease, transform 0.8s ease; }
	.xt-js .xt-anime--haut { transform: translateY(40px); }
	.xt-js .xt-anime--bas { transform: translateY(-40px); }
	.xt-js .xt-anime--gauche { transform: translateX(-50px); }
	.xt-js .xt-anime--droite { transform: translateX(50px); }
	.xt-js .xt-anime--zoom { transform: scale(0.85); }
	.xt-js .xt-anime.is-visible { opacity: 1; transform: none; }
	.xt-js .xt-delai-1 { transition-delay: 0.1s; }
	.xt-js .xt-delai-2 { transition-delay: 0.25s; }
	.xt-js .xt-delai-3 { transition-delay: 0.4s; }
	.xt-js .xt-delai-4 { transition-delay: 0.55s; }
}

/* Pagination des actualités */
.wp-block-query-pagination { gap: 8px; align-items: center; font-weight: 500; }
.wp-block-query-pagination-numbers { display: flex; gap: 8px; }
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous, .wp-block-query-pagination-next {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px;
	border: 1px solid rgba(14, 43, 92, 0.12); border-radius: 4px; background: #fff; color: var(--xt-texte); text-decoration: none;
}
.wp-block-query-pagination .page-numbers.current { background: var(--xt-orange); border-color: var(--xt-orange); color: #fff; }
.wp-block-query-pagination a:hover { border-color: var(--xt-orange); color: var(--xt-orange); }
.wp-block-query-pagination .page-numbers.dots { border: 0; }

/* Contact : champs obligatoires */
.xt-requis { color: var(--xt-accent); font-weight: 600; }
.xt-obligatoire { font-size: 0.875rem; color: var(--wp--preset--color--gris); }

/* Carrières (extension ApplyOnline) : couleurs du site au lieu du bleu */
.aol-wrapper, .aol_ad_list, .aol-ad-outer-wrapper { font-size: 0.95rem; }
:is(.aol-wrapper, .aol-ad-outer-wrapper, .aol_app_form, .aol-form) :is(.btn, .button, button, input[type="submit"]),
.xt-main .aol-wrapper a.btn, .xt-main .btn-primary, .xt-main .btn-info, .xt-main .btn-default {
	background: var(--xt-accent) !important; border: 0 !important; color: #fff !important; border-radius: 4px !important;
	padding: 10px 22px !important; font-weight: 500; text-decoration: none; box-shadow: none !important;
}
:is(.aol-wrapper, .aol-ad-outer-wrapper, .aol_app_form, .aol-form) :is(.btn, .button, button, input[type="submit"]):hover,
.xt-main .btn-primary:hover, .xt-main .btn-info:hover, .xt-main .btn-default:hover { background: var(--xt-orange) !important; }
.xt-main .panel, .xt-main .aol-ad-outer-wrapper .panel { border: 0 !important; border-radius: 4px; box-shadow: var(--xt-ombre); margin-bottom: 24px; background: #fff; overflow: hidden; }
.xt-main .panel-heading { background: var(--xt-fond) !important; border: 0 !important; padding: 18px 24px !important; }
.xt-main .panel-heading :is(h3, h4, .panel-title), .xt-main .panel-heading a { color: var(--xt-orange) !important; font-size: 1.125rem !important; font-weight: 500; margin: 0; text-decoration: none; }
.xt-main .panel-body { padding: 18px 24px !important; }
.xt-main .panel-footer { background: #fff !important; border-top: 1px solid rgba(0, 0, 0, 0.06) !important; padding: 12px 24px !important; font-size: 0.875rem; color: var(--wp--preset--color--gris); }
.xt-main .well, .xt-main .aol-filters, .xt-main .aol_filters { background: var(--xt-fond) !important; border: 0 !important; box-shadow: none !important; border-radius: 4px; padding: 24px !important; }
.xt-main .aol-filters select, .xt-main .well select { margin-bottom: 10px; }
.xt-main .form-control { height: auto !important; min-height: 46px; box-shadow: none; }
.xt-main .aol-wrapper .well .form-group { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 12px; }
.xt-main .aol-wrapper .well :is(.aol-md-6, .aol-md-10, .aol-md-2) { flex: 1 1 220px; width: auto !important; float: none !important; padding: 0 !important; }
.xt-main .aol-wrapper .well .aol-md-2 { flex: 0 0 160px; }
.xt-main .aol-wrapper .panel-body p { margin: 0 0 14px; }
.xt-cartes-projets .xt-logo-client { display: flex; align-items: center; justify-content: center; height: 120px; background: #f7f5f2; margin: 0 0 18px !important; }
.xt-projet__logo { margin-bottom: 40px; }
.xt-projet__logo .xt-logo-client img { max-height: 120px; }
.xt-main .xt-texte-centre { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }

/* Accueil : pas d'espace blanc au-dessus et au-dessous de la bannière */
.xt-section:has(> .xt-diaporama) { padding-top: 0 !important; padding-bottom: 0 !important; }
.xt-main--accueil > .wp-block-post-content > :first-child { margin-top: 0 !important; }

/* En-tête fixe compact : un peu d'air au-dessus du logo */
@media (min-width: 1181px) {
	.xt-entete.is-scrolled .xt-entete__barre { padding-top: 12px; padding-bottom: 8px; }
}

/* Images des articles : affichées en entier, sans recadrage (affiches comprises), dans un cadre de taille fixe */
.xt-cartes .wp-block-post-featured-image { aspect-ratio: 16 / 10 !important; height: auto !important; min-height: 0; overflow: hidden; background: #f2f5f8; }
.xt-cartes .wp-block-post-featured-image img { contain-intrinsic-size: auto 300px; }
.xt-cartes .wp-block-post-featured-image a { display: block; height: 100%; }
.xt-cartes .wp-block-post-featured-image img { aspect-ratio: auto !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }
.wp-block-post-featured-image:not(.xt-cartes *) img { object-fit: contain; }

/* Les éléments animés qui arrivent par le côté ne doivent jamais créer de défilement horizontal */
.xt-js .xt-section { overflow-x: clip; }

/* ==========================================================================
   Accueil – « Dernières actualités » : article à la une + liste (proposition A)
   ========================================================================== */
.wp-block-columns.xt-actus { gap: 34px; align-items: flex-start !important; margin-top: 10px; }
.xt-actus .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.xt-actus .wp-block-post-date { color: var(--xt-orange); font-size: 0.8125rem; margin: 0 0 6px; }
.xt-actus .wp-block-post-title { font-weight: 500; line-height: 1.35; margin: 0; }
.xt-actus .wp-block-post-title a { color: var(--wp--preset--color--noir); text-decoration: none; }
.xt-actus .wp-block-post-title a:hover { color: var(--xt-accent); }

/* Article à la une : image entière, sans recadrage */
.xt-actus-une .wp-block-post { background: #fff; box-shadow: var(--xt-ombre); border-radius: 6px; overflow: hidden; }
.xt-actus-une .wp-block-post-featured-image { margin: 0; }
.xt-actus-une .wp-block-post-featured-image img { display: block; width: 100%; height: auto !important; contain-intrinsic-size: auto 420px; }
.xt-actus-une .xt-actus__corps { padding: 22px 26px 26px; }
.xt-actus-une .wp-block-post-title { font-size: 1.375rem; }
.xt-actus-une .wp-block-post-excerpt { margin: 12px 0 0; font-size: 0.95rem; line-height: 1.6; }
.xt-actus-une .wp-block-post-excerpt__excerpt { margin: 0 0 14px; }
.xt-actus-une .wp-block-post-excerpt__more-link { color: var(--xt-orange); font-weight: 500; text-decoration: none; }
.xt-actus-une .wp-block-post-excerpt__more-link::after { content: " →"; }

/* Liste des articles suivants : vignette + date + titre (3 lignes max) */
.xt-actus-liste .wp-block-post-template { display: flex; flex-direction: column; gap: 18px; }
.xt-actus-liste .wp-block-post {
	display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: center; margin: 0;
	background: #fff; box-shadow: 0 6px 20px rgba(14, 43, 92, 0.07); border-radius: 6px; overflow: hidden;
	transition: transform 0.2s ease;
}
.xt-actus-liste .wp-block-post:hover { transform: translateX(4px); }
.xt-actus-liste .wp-block-post-featured-image { margin: 0; width: 150px; height: 104px; }
.xt-actus-liste .wp-block-post-featured-image a { display: block; height: 100%; }
.xt-actus-liste .wp-block-post-featured-image img { width: 150px !important; height: 104px !important; object-fit: cover !important; display: block; }
.xt-actus-liste .xt-actus__corps { padding: 10px 16px 10px 0; }
.xt-actus-liste .wp-block-post-title { font-size: 0.97rem; line-height: 1.35 !important; display: -webkit-box !important; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-height: calc(1.35em * 3); }
@media (max-width: 600px) {
	.xt-actus-liste .wp-block-post { grid-template-columns: 110px 1fr; gap: 12px; }
	.xt-actus-liste .wp-block-post-featured-image, .xt-actus-liste .wp-block-post-featured-image img { width: 110px !important; height: 84px !important; }
}

/* Bouton « Toutes les actualités » (contour orange) */
.xt-actus__bouton { margin-top: 36px !important; }
.xt-bouton-contour .wp-block-button__link {
	background: transparent !important; color: var(--xt-orange) !important; border: 2px solid var(--xt-orange) !important;
	border-radius: 4px !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 0.95rem !important; padding: 12px 30px !important;
}
.xt-bouton-contour .wp-block-button__link:hover { background: var(--xt-orange) !important; color: #fff !important; }

/* ==========================================================================
   Accueil – « Nos solutions » : 5 boîtes produits (couleur du logo, titre, logo)
   ========================================================================== */
.xt-produits { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px; margin-top: 10px !important; margin-bottom: 40px !important; }
.xt-produit {
	position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; margin: 0 !important;
	background: linear-gradient(135deg, var(--xt-produit, #8a8a8c) 0%, rgba(77, 77, 79, 0.95) 100%);
	padding: 30px 14px 0; transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.xt-produit:hover, .xt-produit:focus-within { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35); }
.xt-produit--magistin { --xt-produit: #0c828c; }
.xt-produit--postarion { --xt-produit: #778b4e; }
.xt-produit--passosyf { --xt-produit: #285d8b; }
.xt-produit--dokheon { --xt-produit: #a8860b; }
.xt-produit--agodera { --xt-produit: #18899a; }
.xt-produit__titre { margin: 0 0 18px !important; font-size: 0.92rem; line-height: 1.4; text-transform: uppercase; font-weight: 500; }
.xt-produit__titre a { color: #fff !important; text-decoration: none; }
/* Toute la boîte est cliquable (le lien du titre la recouvre) */
.xt-produit__titre a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.xt-produit__titre a:focus-visible { outline: none; }
.xt-produit:has(a:focus-visible) { outline: 3px solid #fff; outline-offset: 3px; }
.xt-produit__logo {
	margin: auto 0 -40px !important; width: 86%; min-height: 86px; background: #fff; padding: 12px 14px;
	display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}
.xt-produit__logo img { max-height: 58px; width: auto !important; max-width: 100%; object-fit: contain; }
@media (max-width: 1100px) { .xt-produits { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 70px; } }
@media (max-width: 700px) { .xt-produits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; row-gap: 64px; } .xt-produit__titre { font-size: 0.8rem; } }
