/*
Theme Name: Weebix Child
Template:   weebix
Theme URI: https://1.envato.market/Wq7m1M
Description: Weebix Child Theme
Author: AwaikenThemes
Author URI: https://awaikenthemes.com/
Version: 1.0.29
Text Domain: weebix-child
*/

/* ═══════════════════════════════════════════════════
   CHARTE COULEURS  #c22c40 (accent) · #24405e (primary)
   ═══════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════
   FIX : zone blanche sous le footer (~677px)
   Les calques de survol ::before/::after des vignettes d'articles
   (ElementsKit blog-posts) sont en position:absolute alors que le lien
   de la vignette est "inline / static" : ils se calent sur un ancêtre
   lointain et dépassent sous le footer (invisibles, mais scrollables).
   On rend la vignette positionnée et on coupe le débordement.
   ═══════════════════════════════════════════════════ */

.elementskit-post-image-card .elementskit-entry-header a.elementskit-entry-thumb,
.elementskit-blog-block-post .elementskit-entry-header a.elementskit-entry-thumb {
	position : relative;
	display  : block;
	overflow : hidden;
}

/* ═══════════════════════════════════════════════════
   CTA — bouton flottant WhatsApp / Appeler
   ═══════════════════════════════════════════════════ */

#easytech-float-contact {
	position       : fixed;
	right          : 20px;
	bottom         : 20px;
	z-index        : 9999;
	display        : flex;
	flex-direction : column;
	gap            : 12px;
}

.easytech-float-btn {
	width         : 56px;
	height        : 56px;
	border-radius : 50%;
	display       : flex;
	align-items   : center;
	justify-content: center;
	color         : #ffffff !important;
	box-shadow    : 0 4px 14px rgba(0,0,0,0.25);
	transition    : transform 0.2s ease-in-out;
}

.easytech-float-btn:hover {
	transform : scale(1.08);
	color     : #ffffff !important;
}

.easytech-float-whatsapp { background : #25D366; }
.easytech-float-call     { background : #c22c40; }

@media only screen and (max-width: 600px) {
	#easytech-float-contact { right : 14px; bottom : 14px; }
	.easytech-float-btn     { width : 48px; height : 48px; }
}

/* ═══════════════════════════════════════════════════
   CTA — bannière "Devis sur-mesure" (page Sur Mesure)
   ═══════════════════════════════════════════════════ */

.easytech-devis-cta {
	background : #134787;
	padding    : 50px 20px;
	text-align : center;
}

.easytech-devis-cta-inner {
	max-width : 640px;
	margin    : 0 auto;
}

.easytech-devis-cta h3 {
	color         : #ffffff;
	font-size     : 28px;
	font-weight   : 700;
	margin-bottom : 12px;
}

.easytech-devis-cta p {
	color         : rgba(255,255,255,0.85);
	margin-bottom : 24px;
}

.easytech-devis-cta .btn-default {
	display       : inline-block;
	background    : #c22c40 !important;
	color         : #ffffff !important;
	padding       : 14px 32px;
	border-radius : 30px;
	font-weight   : 600;
	text-decoration: none;
}

.easytech-devis-cta .btn-default:hover {
	background : #ffffff !important;
	color      : #c22c40 !important;
}

/* ── Override couleurs Elementor globales ── */
body {
	--e-global-color-primary  : #134787;
	--e-global-color-accent   : #c22c40;
	--primary-color           : #134787;
	--accent-color            : #c22c40;
}

/* ═══════════════════════════════════════════════════
   HEADER — fond foncé + texte BLANC
   ═══════════════════════════════════════════════════ */

header.main-header,
header.main-header .header-sticky {
	background : #134787 !important;
	border-bottom : 1px solid rgba(255,255,255,0.1) !important;
}

/* ── Liens du menu : BLANC sur l'accueil (header transparent sur photo sombre) ── */
.elementor-3000 .main-menu ul li a,
.elementor-3000 .elementskit-navbar-nav > li > a,
.elementor-3000 .ekit-menu-nav-link {
	color : #ffffff !important;
}

.elementor-3000 .main-menu ul li a:hover,
.elementor-3000 .main-menu ul li a:focus,
.elementor-3000 .elementskit-navbar-nav > li > a:hover,
.elementor-3000 .elementskit-navbar-nav > li.current-menu-item > a {
	color : #FFB3BD !important;
}

.elementor-3000 .main-menu ul li.menu-item-has-children > a:after,
.elementor-3000 .elementskit-navbar-nav > li .elementskit-submenu-indicator {
	color : #ffffff !important;
}

/* ── Liens du menu : ROUGE sur les autres pages (header à fond clair) ── */
.elementor-1066 .main-menu ul li a,
.elementor-1066 .elementskit-navbar-nav > li > a,
.elementor-1066 .ekit-menu-nav-link {
	color : #c22c40 !important;
}

.elementor-1066 .main-menu ul li a:hover,
.elementor-1066 .main-menu ul li a:focus,
.elementor-1066 .elementskit-navbar-nav > li > a:hover,
.elementor-1066 .elementskit-navbar-nav > li.current-menu-item > a {
	color : #134787 !important;
}

.elementor-1066 .main-menu ul li.menu-item-has-children > a:after,
.elementor-1066 .elementskit-navbar-nav > li .elementskit-submenu-indicator {
	color : #c22c40 !important;
}

/* ── Bouton CTA highlighted ── */
.main-menu ul li.highlighted-menu a,
.elementskit-navbar-nav > li.highlighted-menu > a {
	background    : #c22c40 !important;
	border-color  : #c22c40 !important;
	color         : #ffffff !important;
	border-radius : 30px !important;
	padding       : 10px 28px !important;
}

.main-menu ul li.highlighted-menu a:hover,
.elementskit-navbar-nav > li.highlighted-menu > a:hover {
	background : #ffffff !important;
	color      : #c22c40 !important;
}

/* ── Sticky : fond blanc au scroll ── */
header.main-header .header-sticky.active,
header.main-header.scrolled,
.ekit-sticky--sticky-content.scrolled {
	background  : #ffffff !important;
	box-shadow  : 0 2px 20px rgba(0,0,0,0.10);
	transition  : all 0.3s ease-in-out;
}

header.main-header .header-sticky.active .main-menu ul li a,
header.main-header.scrolled .main-menu ul li a,
header.main-header.scrolled .elementskit-navbar-nav > li > a {
	color : #134787 !important;
}

header.main-header .header-sticky.active .main-menu ul li a:hover,
header.main-header.scrolled .main-menu ul li a:hover,
header.main-header.scrolled .elementskit-navbar-nav > li > a:hover {
	color : #c22c40 !important;
}

/* ── Sous-menus dropdown ── */
.main-menu ul ul,
.elementskit-navbar-nav .elementskit-submenu-panel {
	background    : #c22c40 !important;
	border-radius : 16px;
}

.main-menu ul ul li a,
.elementskit-navbar-nav .elementskit-submenu-panel li a {
	color : #ffffff !important;
}

.main-menu ul ul li a:hover,
.elementskit-navbar-nav .elementskit-submenu-panel li a:hover {
	color : #24405e !important;
}

/* ── Navbar brand (nom du site si pas de logo) ── */
.navbar-brand h1,
.navbar-brand h2 {
	color : #ffffff !important;
}

/* ═══════════════════════════════════════════════════
   FIX : page Contact visible dans le menu
   (force l'affichage si masquée par overflow/z-index)
   ═══════════════════════════════════════════════════ */

.main-menu ul,
.elementskit-navbar-nav {
	flex-wrap : wrap !important;
	overflow  : visible !important;
}

.main-menu ul li,
.elementskit-navbar-nav > li {
	overflow : visible !important;
}

/* ── Élargit le conteneur du header pour laisser assez de place au menu
      (le header utilise un container Elementor "boxed" limité à 1300px
      par le réglage global du site ; on l'élargit seulement ici) ── */
.ekit-template-content-header .e-con-inner {
	--content-width : 1650px;
}

/* ── Espacement resserré pour que tous les liens tiennent sur une ligne ── */
.elementskit-navbar-nav {
	column-gap : 4px !important;
}

.elementskit-navbar-nav > li {
	margin : 0 6px !important;
}

.elementskit-navbar-nav > li > a {
	padding    : 0 !important;
	font-size  : 15px !important;
	white-space: nowrap;
}

header.main-header,
header.main-header .header-sticky,
.navbar,
.navbar .container {
	overflow : visible !important;
}

/* ── Alignement nav ── */
.elementskit-navbar-nav {
	align-items : center;
	display     : flex;
	list-style  : none;
	margin      : 0;
	padding     : 0;
}

.elementskit-navbar-nav > li {
	position : relative;
	margin   : 0 5px;
}

.elementskit-navbar-nav .elementskit-submenu-panel {
	position       : absolute;
	top            : 100%;
	left           : 0;
	min-width      : 200px;
	padding        : 8px 0;
	opacity        : 0;
	visibility     : hidden;
	transform      : scaleY(0.9);
	transform-origin: top;
	transition     : all 0.25s ease-in-out;
	z-index        : 9999;
	list-style     : none;
}

.elementskit-navbar-nav > li:hover > .elementskit-submenu-panel,
.elementskit-navbar-nav > li.ekit-menu-open > .elementskit-submenu-panel {
	opacity    : 1;
	visibility : visible;
	transform  : scaleY(1);
}

/* ═══════════════════════════════════════════════════
   FIL D'ARIANE — masqué sous le titre dans les hero
   sections des pages intérieures (Home > Nom de la page)
   ═══════════════════════════════════════════════════ */

.elementor-widget-elementskit-breadcrumb,
.page-header-box .breadcrumb-trail {
	display : none !important;
}

/* ═══════════════════════════════════════════════════
   BOUTONS & ACCENTS globaux
   ═══════════════════════════════════════════════════ */

.btn-default,
.elementor-widget-button .elementor-button {
	background   : #c22c40 !important;
	border-color : #c22c40 !important;
	color        : #ffffff !important;
}

.btn-default:hover,
.elementor-widget-button .elementor-button:hover {
	color : #c22c40 !important;
}

/* ── Pagination active ── */
.pagination .nav-links span.current,
.pagination .nav-links a:hover {
	background : #c22c40 !important;
}

/* ── Slicknav mobile ── */
.slicknav_btn,
.slicknav_menu {
	background : #c22c40 !important;
}

/* ═══════════════════════════════════════════════════
   FOOTER — fond bleu foncé + texte clair
   (le footer est un template Elementor global, injecté
   dans .ekit-template-content-footer sur toutes les pages)
   ═══════════════════════════════════════════════════ */

/* ── Fond du footer ── */
.ekit-template-content-footer .elementor-element-c2ce687,
footer.footer {
	background-color : #134787 !important;
}

/* ── Titres de colonnes (Pages / Socials / Services) et sous-titre ── */
.ekit-template-content-footer .elementor-heading-title {
	color : #ffffff !important;
}

/* ── Texte courant : copyright, contact, réseaux sociaux, liens bas de page ── */
.ekit-template-content-footer .ekit-copyright-wrapper,
.ekit-template-content-footer .ekit-copyright-wrapper a,
.ekit-template-content-footer .elementor-icon-list-text,
.ekit-template-content-footer .elementor-icon-list-item > a,
.ekit-template-content-footer .ekit_social_media > li > a {
	color : rgba(255,255,255,0.85) !important;
}

.ekit-template-content-footer .elementor-icon-list-icon i,
.ekit-template-content-footer .elementor-icon-list-icon svg {
	color : #ffffff !important;
	fill  : #ffffff !important;
}

/* ── Liens des menus verticaux (colonnes Pages / Services) ── */
.ekit-template-content-footer .ekit-vertical-navbar-nav > li > a {
	color : #ffffff !important;
}

/* ── Survol : rouge accent, cohérent avec le reste du site ── */
.ekit-template-content-footer .ekit-copyright-wrapper a:hover,
.ekit-template-content-footer .elementor-icon-list-item > a:hover,
.ekit-template-content-footer .ekit_social_media > li > a:hover,
.ekit-template-content-footer .ekit-vertical-navbar-nav > li > a:hover {
	color : #c22c40 !important;
}

/* ── Séparateur discret sur fond foncé ── */
.ekit-template-content-footer .elementor-divider-separator {
	border-color : rgba(255,255,255,0.15) !important;
}

/* ── Ancien template footer.php (filet de sécurité) ── */
.footer-logo h4,
.copyright p,
.footer-menu ul li a {
	color : #ffffff !important;
}

/* ═══════════════════════════════════════════════════
   MOBILE ≤ 1024px
   ═══════════════════════════════════════════════════ */

@media only screen and (max-width: 1024px) {

	.elementskit-navbar-nav-default {
		position   : absolute;
		top        : 100%;
		left       : 0;
		right      : 0;
		background : #134787;
		z-index    : 9999;
		padding    : 10px 0;
	}

	.elementskit-navbar-nav {
		flex-direction : column;
		align-items    : flex-start;
		width          : 100%;
	}

	.elementskit-navbar-nav > li {
		width  : 100%;
		margin : 0;
	}

	.elementskit-navbar-nav > li > a {
		color         : #ffffff !important;
		padding       : 10px 20px !important;
		border-bottom : 1px solid rgba(255,255,255,0.1);
	}

	.elementskit-navbar-nav .elementskit-submenu-panel {
		position   : static;
		opacity    : 1;
		visibility : visible;
		transform  : none;
		border-radius : 0;
		background : rgba(0,0,0,0.2) !important;
		display    : none;
	}

	.elementskit-navbar-nav > li.ekit-menu-open > .elementskit-submenu-panel {
		display : block;
	}

	.mobile-menu {
		display : block;
	}
}

/* ═══════════════════════════════════════════════════
   ACCUEIL — système de sections
   Les classes "et-*" sont posées dans Elementor (Avancé > Classes CSS).
   ═══════════════════════════════════════════════════ */

/* ── Sections ── */
.e-con.et-section        { padding : 90px 20px; }
.e-con.et-section--pale  { background : #F7F8FD; }
.e-con.et-section--tint  { background : #EEF3FA; }
.e-con.et-section--dark  { background : #134787; }

.et-section .elementor-heading-title { letter-spacing : -0.02em; }
.et-section h2.elementor-heading-title { color : #0B2F5E; font-size : clamp(28px, 3.2vw, 40px); line-height : 1.15; }
.et-section h3.elementor-heading-title { color : #15161B; font-size : 21px; line-height : 1.25; }
.et-section .elementor-widget-text-editor,
.et-section .elementor-widget-text-editor p { color : #4B5563; font-size : 17px; line-height : 1.6; }
.et-section .et-intro { max-width : 720px !important; margin-inline : auto; }

.et-eyebrow .elementor-heading-title {
	font-size      : 13px !important;
	font-weight    : 700 !important;
	letter-spacing : 0.09em !important;
	text-transform : uppercase;
	color          : #c22c40 !important;
}

.et-section--dark h2.elementor-heading-title,
.et-section--dark .elementor-widget-text-editor,
.et-section--dark .elementor-widget-text-editor p { color : #ffffff; }

/* ── Grilles ── */
.e-con.et-grid { display : grid !important; gap : 24px; width : 100%; }
.e-con.et-grid--2 { grid-template-columns : repeat(2, minmax(0, 1fr)); }
.e-con.et-grid--3 { grid-template-columns : repeat(3, minmax(0, 1fr)); }
.e-con.et-grid--4 { grid-template-columns : repeat(4, minmax(0, 1fr)); }
.e-con.et-grid--6 { grid-template-columns : repeat(6, minmax(0, 1fr)); gap : 16px; }
.e-con.et-grid--form { grid-template-columns : 1.5fr 1fr; align-items : start; gap : 32px; }
.et-grid > .e-con { width : 100%; }

.e-con.et-cards-center {
	display         : flex !important;
	flex-direction  : row !important;
	flex-wrap       : wrap !important;
	justify-content : center;
	gap             : 24px;
	width           : 100%;
}
.et-cards-center > .e-con { flex : 0 1 calc(25% - 18px); min-width : 250px; width : auto; }

.e-con.et-cta-row { flex-direction : row !important; flex-wrap : wrap !important; gap : 14px; align-items : center; justify-content : center; }

@media only screen and (max-width: 1024px) {
	.e-con.et-section { padding : 64px 20px; }
	.e-con.et-grid--3, .e-con.et-grid--4 { grid-template-columns : repeat(2, minmax(0, 1fr)); }
	.e-con.et-grid--6 { grid-template-columns : repeat(3, minmax(0, 1fr)); }
	.e-con.et-grid--form, .e-con.et-grid--2 { grid-template-columns : 1fr; }
}
@media only screen and (max-width: 767px) {
	.e-con.et-grid--3, .e-con.et-grid--4 { grid-template-columns : 1fr; }
	.e-con.et-grid--6 { grid-template-columns : repeat(2, minmax(0, 1fr)); }
	.et-cards-center > .e-con { flex-basis : 100%; }
}

/* ── Cartes ── */
.e-con.et-card {
	background    : #ffffff;
	border        : 1px solid #E1E4EB;
	border-radius : 16px;
	padding       : 28px;
	gap           : 12px;
	align-items   : flex-start;
	transition    : box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.e-con.et-card:hover { box-shadow : 0 12px 30px rgba(19,71,135,0.12); transform : translateY(-3px); }
.et-card .elementor-widget-text-editor p { margin : 0; font-size : 16px; }
.et-card .elementor-widget-icon .elementor-icon { font-size : 34px; }
.et-card__hook p { color : #134787 !important; font-weight : 700; }
.et-card > .elementor-widget:last-child { margin-top : auto; }
.e-con.et-card--list { justify-content : center; }
.et-card--list > .elementor-widget:last-child { margin-top : 0; }
.et-card--list .elementor-icon-list-text { color : #15161B !important; font-size : 18px; font-weight : 600; }
.et-card--list .elementor-icon-list-item { padding : 8px 0; }

.et-link { color : #c22c40; font-weight : 700; text-decoration : none; }
.et-link:hover { text-decoration : underline; }
.et-pill { display : inline-block; padding : 9px 18px; border-radius : 999px; font-weight : 700; font-size : 14px; text-decoration : none; margin : 4px 8px 0 0; }
.et-pill--primary { background : #c22c40; color : #ffffff; }
.et-pill--primary:hover { background : #134787; color : #ffffff; }
.et-pill--ghost { border : 2px solid #134787; color : #134787; }
.et-pill--ghost:hover { background : #134787; color : #ffffff; }

/* ── Chiffres clés et logos ── */
.e-con.et-stat { align-items : center; text-align : center; gap : 4px; padding : 8px; }
.et-stat__num .elementor-heading-title { font-size : clamp(38px, 5vw, 56px) !important; line-height : 1 !important; color : #134787 !important; font-weight : 800 !important; }
.et-stat__label p { margin : 0; font-weight : 600; }
.e-con.et-logo-ph { min-height : 70px; background : #E5E7EB; border : 2px dashed #9CA3AF; border-radius : 12px; align-items : center; justify-content : center; text-align : center; }
.et-logo-ph p { margin : 0; font-size : 13px !important; color : #6B7280 !important; }

/* ── Étapes ── */
.et-step__n { display : inline-flex; align-items : center; justify-content : center; width : 44px; height : 44px; border-radius : 50%; background : #134787; color : #ffffff; font-weight : 800; font-size : 18px; }

/* ── À fournir / à confirmer par le client ── */
mark.et-todo { background : #FFE58F; color : #5C4400; padding : 1px 6px; border-radius : 4px; font-size : 0.9em; font-weight : 600; }

/* ── Hero : slider photo (le header de l'accueil est transparent, menu blanc) ── */
.et-reassurance span { display : inline-block; margin : 0 22px 6px 0; font-weight : 600; }
.et-reassurance p { color : #ffffff; text-shadow : 0 1px 6px rgba(0,0,0,0.55); }
.et-nowrap { white-space : nowrap; }

/* ── Boutons secondaires ── */
.elementor-widget-button.et-btn-outline .elementor-button { background : transparent !important; border : 2px solid rgba(255,255,255,0.75) !important; color : #ffffff !important; }
.elementor-widget-button.et-btn-outline .elementor-button:hover { background : #ffffff !important; color : #134787 !important; }
.elementor-widget-button.et-btn-outline-dark .elementor-button { background : transparent !important; border : 2px solid #134787 !important; color : #134787 !important; }
.elementor-widget-button.et-btn-outline-dark .elementor-button:hover { background : #134787 !important; color : #ffffff !important; }

/* ── Quiz ── */
.et-quiz { max-width : 820px; margin : 0 auto; background : #ffffff; border : 1px solid #E1E4EB; border-radius : 20px; padding : 36px; }
.et-quiz__progress { color : #5B6270; font-weight : 600; margin : 0 0 8px; }
.et-quiz fieldset { border : 0; margin : 0; padding : 0; min-width : 0; }
.et-quiz legend { float : none; width : auto; padding : 0; font-size : 24px; font-weight : 800; color : #0B2F5E; margin-bottom : 18px; }
.et-quiz__options { display : grid; grid-template-columns : repeat(auto-fit, minmax(200px, 1fr)); gap : 12px; }
.et-quiz__option { position : relative; cursor : pointer; margin : 0; }
.et-quiz__option input { position : absolute; inset : 0; width : 100%; height : 100%; opacity : 0; cursor : pointer; margin : 0; }
.et-quiz__option span { display : block; padding : 16px 18px; border : 2px solid #D5DAE3; border-radius : 12px; font-weight : 600; color : #15161B; background : #ffffff; transition : all 0.15s ease-in-out; }
.et-quiz__option:hover span,
.et-quiz__option input:focus-visible + span { border-color : #134787; background : #F0F5FC; }
.et-quiz__option input:checked + span { border-color : #c22c40; background : #FDF1F3; }
.et-quiz button.et-quiz__back,
.et-quiz button.et-quiz__restart { background : none !important; border : 0 !important; box-shadow : none !important; padding : 0 !important; margin-top : 18px; color : #134787 !important; font-weight : 600; cursor : pointer; text-decoration : underline; }
.et-quiz p { color : #4B5563; }
.et-quiz p.et-quiz__label { color : #c22c40; }
.et-quiz p.et-quiz__hook { color : #0B2F5E; }
.et-quiz__result { text-align : center; }
.et-quiz__label { text-transform : uppercase; letter-spacing : 0.09em; font-size : 13px; font-weight : 700; color : #c22c40; margin : 0 0 6px; }
.et-quiz__product { font-size : 36px !important; color : #134787 !important; margin : 0 0 6px !important; }
.et-quiz__hook { font-weight : 700; color : #0B2F5E; margin : 0 0 6px; }
.et-quiz__actions { display : flex; flex-wrap : wrap; gap : 14px; justify-content : center; align-items : center; margin-top : 22px; }
.et-quiz__cta { background : #c22c40; color : #ffffff !important; padding : 14px 28px; border-radius : 999px; font-weight : 700; text-decoration : none; }
.et-quiz__cta:hover { background : #134787; }
.et-quiz__link { color : #134787; font-weight : 700; }

/* ── Bloc contact à côté du formulaire ── */
.et-contact p { margin : 0 0 14px !important; }
.et-contact a { color : #134787; font-weight : 700; text-decoration : none; }
.et-contact a:hover { text-decoration : underline; }

/* ═══════════════════════════════════════════════════
   PAGE CONTACT
   ═══════════════════════════════════════════════════ */

/* ── Cartes d'orientation : toute la carte est cliquable (lien étiré du titre) ── */
.e-con.et-card--action { position : relative; cursor : pointer; }
.et-card--action > .elementor-widget:last-child { margin-top : 0; }
.et-card--action .elementor-widget,
.et-card--action .elementor-widget-container { position : static; }
.et-card--action .elementor-heading-title a { color : inherit; text-decoration : none; }
.et-card--action .elementor-heading-title a::after { content : ''; position : absolute; inset : 0; border-radius : 16px; }
.et-card--action:focus-within { outline : 3px solid #134787; outline-offset : 2px; }

/* ── Formulaire ── */
.e-con.et-form-card { max-width : 860px; width : 100%; margin : 0 auto; padding : 36px; }
.et-form-card .wpcf7 { width : 100%; }
.et-form-card .form-control,
.et-form-card .form-select { width : 100%; border-radius : 10px; padding : 14px 16px; border : 1px solid #D5DAE3; background-color : #ffffff; }
.et-form-card .wpcf7-acceptance .wpcf7-list-item { margin : 0; }
.et-form-card .wpcf7-acceptance label { display : flex; gap : 10px; align-items : flex-start; color : #4B5563; font-weight : 500; cursor : pointer; }
.et-form-card .wpcf7-acceptance input { margin-top : 5px; flex : none; }
.et-form-note { font-size : 14px; color : #5B6270; margin : 14px 0 0; }

/* ── Bureaux ── */
.et-office .elementor-widget-text-editor p { margin : 0 0 10px; }
.et-office .elementor-widget-text-editor i { width : 24px; color : #c22c40; }
.et-office .elementor-widget-text-editor a { color : #134787; font-weight : 600; text-decoration : none; }
.et-office .elementor-widget-text-editor a:hover { text-decoration : underline; }
.elementor-widget-button.et-btn-whatsapp .elementor-button { background : #25D366 !important; border-color : #25D366 !important; }
.elementor-widget-button.et-btn-whatsapp .elementor-button:hover { background : #128C7E !important; color : #ffffff !important; }

/* ── Cartes Google Maps ── */
.et-map-caption p { margin : 0 0 10px; font-weight : 700; color : #0B2F5E !important; }
.et-map iframe { border-radius : 16px; }

/* ── Bande de réassurance (fond sombre) ── */
.et-section--dark h3.elementor-heading-title { color : #ffffff; }

/* ── Page Merci ── */
.et-merci .elementor-widget-text-editor p { font-size : 19px; max-width : 640px; margin-inline : auto; }
.et-merci .elementor-widget-icon .elementor-icon-wrapper { text-align : center !important; }
.et-merci .elementor-widget-icon .elementor-icon { font-size : 64px; color : #25A244 !important; }
.et-merci .e-con.et-cta-row { justify-content : center; }

/* ═══════════════════════════════════════════════════
   FICHES LOGICIELS (modèle unique, contenu par fiche)
   ═══════════════════════════════════════════════════ */

/* ── Fonds alternés : suit les sections réellement affichées (les masquées disparaissent du DOM) ── */
.fiche-logiciel .elementor > .e-con.fiche-section:nth-child(odd)  { background-color : #F7F8FD; }
.fiche-logiciel .elementor > .e-con.fiche-section:nth-child(even) { background-color : #ffffff; }

/* ── En-tête : titre long, taille adaptée + boutons centrés ── */
.fiche-logiciel h1.elementor-heading-title { font-size : clamp(30px, 4vw, 52px) !important; line-height : 1.1 !important; }
.fiche-logiciel .et-cta-row { justify-content : center; }

/* ── Cartes ── */
.et-fiche-grid { display : grid; gap : 24px; grid-template-columns : repeat(auto-fit, minmax(260px, 1fr)); width : 100%; }
.et-fiche-grid--n1 { grid-template-columns : minmax(0, 560px); justify-content : center; }
.et-fiche-grid--n2 { grid-template-columns : repeat(2, minmax(0, 1fr)); max-width : 920px; margin-inline : auto; }
.et-fiche-grid--n3,
.et-fiche-grid--n6 { grid-template-columns : repeat(3, minmax(0, 1fr)); }
.et-fiche-grid--n4 { grid-template-columns : repeat(4, minmax(0, 1fr)); }
/* 5 cartes : 3 puis 2 centrées */
.et-fiche-grid--n5 { grid-template-columns : repeat(6, minmax(0, 1fr)); }
.et-fiche-grid--n5 > * { grid-column : span 2; }
.et-fiche-grid--n5 > :nth-child(4) { grid-column : 2 / span 2; }
.et-fiche-grid--n5 > :nth-child(5) { grid-column : 4 / span 2; }
@media only screen and (max-width: 1024px) {
	.et-fiche-grid--n3, .et-fiche-grid--n4, .et-fiche-grid--n5, .et-fiche-grid--n6 { grid-template-columns : repeat(2, minmax(0, 1fr)); }
	.et-fiche-grid--n5 > *, .et-fiche-grid--n5 > :nth-child(4), .et-fiche-grid--n5 > :nth-child(5) { grid-column : auto; }
}
@media only screen and (max-width: 767px) {
	.et-fiche-grid--n1, .et-fiche-grid--n2, .et-fiche-grid--n3, .et-fiche-grid--n4, .et-fiche-grid--n5, .et-fiche-grid--n6 { grid-template-columns : minmax(0, 1fr); }
}
.et-fiche-card { display : flex; flex-direction : column; gap : 10px; background : #ffffff; border : 1px solid #E1E4EB; border-radius : 16px; padding : 28px; }
.et-fiche-card > i { font-size : 30px; color : #c22c40; }
.et-fiche-card h3 { margin : 0 !important; font-size : 21px !important; font-weight : 700 !important; line-height : 1.25 !important; color : #15161B; }
.et-fiche-cta { text-align : center; }
.et-fiche-card p { margin : 0; font-size : 16px; line-height : 1.6; color : #4B5563; }
.et-fiche-card p.et-fiche-card__hook { color : #134787; font-weight : 700; }
.et-fiche-card__links { margin-top : auto !important; padding-top : 6px; }
.et-fiche-lead { max-width : 820px; margin : 0 auto 16px !important; text-align : center; font-size : 19px !important; line-height : 1.6; color : #4B5563; }
.et-fiche-shot { margin-top : 24px; padding : 34px 20px; text-align : center; border : 2px dashed #9CA3AF; border-radius : 16px; background : #E5E7EB; color : #4B5563; font-weight : 600; }

/* ── Témoignage ── */
.et-fiche-quote { max-width : 820px; margin : 0 auto; padding : 32px; text-align : center; background : #ffffff; border : 1px solid #E1E4EB; border-radius : 16px; }
.et-fiche-quote blockquote { margin : 0; padding : 0; border : 0; }
.et-fiche-quote blockquote p { margin : 0 0 14px; font-size : 21px; line-height : 1.5; font-style : italic; color : #15161B; }
.et-fiche-quote figcaption { font-weight : 700; color : #134787; }

/* ── FAQ (dépliable) ── */
.et-faq { display : flex; flex-direction : column; gap : 12px; max-width : 860px; width : 100%; margin : 0 auto; }
.et-faq__item { background : #ffffff; border : 1px solid #E1E4EB; border-radius : 14px; }
.et-faq__item summary { display : flex; justify-content : space-between; gap : 16px; align-items : center; padding : 18px 22px; cursor : pointer; list-style : none; font-weight : 700; font-size : 18px; color : #0B2F5E; }
.et-faq__item summary::-webkit-details-marker { display : none; }
.et-faq__item summary::after { content : '+'; font-size : 26px; line-height : 1; color : #c22c40; }
.et-faq__item[open] summary::after { content : '\2212'; }
.et-faq__answer { padding : 0 22px 20px; }
.et-faq__answer p { margin : 0; color : #4B5563; }

/* ── Bandeau "contenu provisoire" d'une fiche ── */
.et-fiche-warning { max-width : 760px; margin : 20px auto 0; padding : 12px 18px; text-align : center; font-weight : 600; color : #5C4400; background : #FFF3BF; border : 1px solid #FFE58F; border-radius : 12px; }

/* Ecran de chargement : favicon Easy dans une pastille blanche au centre de l'anneau */
#loading-icon {
	width: 80px;
	height: 80px;
	max-width: none;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 50%;
}
#loading-icon img {
	width: 80px;
	height: 80px;
	object-fit: contain;
}

/* Méga-menu "Logiciels" (ElementsKit) : panneau + grille des cartes produit. */
.elementskit-megamenu-panel {
	width: 900px !important;
	max-width: calc(100vw - 40px);
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.14);
	padding: 0 !important;
	overflow: hidden;
}
.et-megamenu-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	width: 100%;
}
.et-megamenu-grid > .elementor-widget-html { width: auto !important; }
.et-megamenu-grid .et-fiche-card { height: 100%; margin: 0; padding: 18px; }
.et-megamenu-grid .et-fiche-card h3 { font-size: 16px !important; }
.et-megamenu-grid .et-fiche-card__hook { font-size: 13.5px; }
@media (max-width: 992px) {
	.et-megamenu-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Sélecteur de langue (Polylang) : pastille flottante en haut à droite. */
.easytech-lang-switcher {
	position: fixed;
	top: 84px;
	right: 14px;
	z-index: 9999;
	display: flex;
	gap: 4px;
	background: #ffffff;
	border: 1px solid #E1E4EB;
	border-radius: 999px;
	padding: 4px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.easytech-lang-switcher a {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #5B6270;
	text-decoration: none;
}
.easytech-lang-switcher a:hover { color: #134787; }
.easytech-lang-switcher a.is-current { background: #134787; color: #ffffff; }
@media (max-width: 782px) {
	.easytech-lang-switcher { top: auto; bottom: 14px; left: 14px; right: auto; }
}

/* Icônes du site (Material Symbols, même style que MUI) : seule bibliothèque utilisée, Font Awesome ne doit plus être ajouté. */
.material-symbols-outlined {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: inherit; /* la police Google impose 24px par défaut ; on redonne la main au contexte (cartes, listes…) */
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	vertical-align: middle;
	font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
