/* ==========================================================================
   MonAlternance.fr — Custom CSS Variables & Utility Classes
   Thème enfant Hello Elementor
   ========================================================================== */

:root {
	/* ── Couleurs ───────────────────────────────────────────── */
	--ma-primary: #00B4FF;
	--ma-secondary: #1877F2;
	--ma-accent: #11C98C;
	--ma-accent-dark: #086345;
	--ma-dark: #000000;
	--ma-text: #303030;
	--ma-light-bg: #F5F7FB;
	--ma-white: #FFFFFF;
	--ma-border: #D9D9D9;
	--ma-border-alpha: rgba(217, 217, 217, 0.86);
	--ma-shadow-blue: #77A7FF;
	--ma-input-bg: rgba(221, 221, 221, 0.87);
	--ma-card-bg: rgba(217, 217, 217, 0.5);

	/* ── Dégradés ──────────────────────────────────────────── */
	--ma-gradient-hero: linear-gradient(177deg, rgba(0, 180, 255, 0.4) 20%, rgba(245, 247, 251, 0.4) 80%);
	--ma-gradient-green: linear-gradient(112deg, rgba(17, 201, 140, 0.6) 7%, rgba(8, 99, 69, 0.6) 95%);
	--ma-gradient-logo: linear-gradient(90deg, #00B4FF 0%, #11C98C 100%);

	/* ── Ombres ─────────────────────────────────────────────── */
	--ma-shadow-sm: 0px 4px 4px rgba(0, 0, 0, 0.25);
	--ma-shadow-md: 0px 4px 4px 2px rgba(0, 0, 0, 0.25);
	--ma-shadow-cta: 3px 5px 8px rgba(0, 0, 0, 0.5);
	--ma-shadow-icon: 0px 4px 2px #77A7FF;

	/* ── Typographie ────────────────────────────────────────── */
	--ma-font-heading: 'Poppins', sans-serif;
	--ma-font-body: 'Inter', sans-serif;

	/* ── Rayons de bordure ──────────────────────────────────── */
	--ma-radius-pill: 100px;
	--ma-radius-card: 25px;
	--ma-radius-card-sm: 20px;
	--ma-radius-input: 10px;
	--ma-radius-badge: 8px;
	--ma-radius-icon: 5px;

	/* ── Dimensions ─────────────────────────────────────────── */
	--ma-container-width: 1200px;
	--ma-full-width: 1440px;
}

/* ==========================================================================
   Base — Resets spécifiques au thème
   ========================================================================== */

body {
	font-family: var(--ma-font-body);
	color: var(--ma-dark);
	background-color: var(--ma-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ma-font-heading);
}

/* ==========================================================================
   Elementor Overrides — Styles par défaut des widgets Elementor
   ========================================================================== */

.elementor-widget-heading .elementor-heading-title {
	font-family: var(--ma-font-heading);
}

.elementor-widget-text-editor {
	font-family: var(--ma-font-body);
}

/* Bouton primaire */
.elementor-button.ma-btn-primary,
.ma-btn-primary .elementor-button {
	background-color: var(--ma-primary);
	color: var(--ma-white);
	border-radius: var(--ma-radius-pill);
	font-family: var(--ma-font-body);
	font-weight: 600;
	padding: 16px 34px;
	box-shadow: var(--ma-shadow-sm);
	border: none;
	transition: all 0.3s ease;
}

.elementor-button.ma-btn-primary:hover,
.ma-btn-primary .elementor-button:hover {
	background-color: #009ADB;
	box-shadow: 0px 6px 12px rgba(0, 180, 255, 0.35);
	transform: translateY(-1px);
}

/* Bouton outline */
.elementor-button.ma-btn-outline,
.ma-btn-outline .elementor-button {
	background-color: transparent;
	color: var(--ma-primary);
	border: 1px solid var(--ma-primary);
	border-radius: var(--ma-radius-pill);
	font-family: var(--ma-font-body);
	font-weight: 600;
	padding: 16px 34px;
	box-shadow: var(--ma-shadow-cta);
	transition: all 0.3s ease;
}

.elementor-button.ma-btn-outline:hover,
.ma-btn-outline .elementor-button:hover {
	background-color: var(--ma-primary);
	color: var(--ma-white);
	transform: translateY(-1px);
}

/* Bouton vert (Let's go) */
.elementor-button.ma-btn-green,
.ma-btn-green .elementor-button {
	background: var(--ma-gradient-green);
	color: var(--ma-white);
	border-radius: var(--ma-radius-input);
	font-family: var(--ma-font-body);
	font-weight: 800;
	font-size: 15px;
	border: none;
	transition: all 0.3s ease;
}

.elementor-button.ma-btn-green:hover,
.ma-btn-green .elementor-button:hover {
	opacity: 0.9;
	transform: translateY(-1px);
}

/* Bouton "Voir l'offre" */
.elementor-button.ma-btn-offer,
.ma-btn-offer .elementor-button {
	background-color: var(--ma-primary);
	color: var(--ma-white);
	border-radius: var(--ma-radius-pill);
	font-family: var(--ma-font-heading);
	font-weight: 600;
	font-size: 16px;
	padding: 14px 40px;
	width: 100%;
	text-align: center;
	border: none;
	transition: all 0.3s ease;
}

.elementor-button.ma-btn-offer:hover,
.ma-btn-offer .elementor-button:hover {
	background-color: #009ADB;
}

/* ==========================================================================
   Composants — Classes réutilisables via Elementor CSS Classes
   ========================================================================== */

/* Top bar noire */
.ma-topbar {
	background-color: var(--ma-dark);
	padding: 15px 0;
}

.ma-topbar .elementor-heading-title,
.ma-topbar .elementor-widget-text-editor {
	color: var(--ma-light-bg);
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 20px;
	text-align: center;
}

/* Section Hero */
.ma-hero {
	background: var(--ma-gradient-hero);
	min-height: 851px;
	padding-top: 40px;
}

.ma-hero .elementor-heading-title {
	color: var(--ma-white);
}

.ma-hero-subtitle {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 20px;
	color: var(--ma-white);
	text-align: center;
}

/* Carte de recherche */
.ma-search-card {
	background-color: var(--ma-white);
	border-radius: var(--ma-radius-card-sm);
	box-shadow: var(--ma-shadow-md);
	padding: 20px 30px;
}

.ma-search-card .ma-search-header {
	border-bottom: 1px solid var(--ma-dark);
	padding-bottom: 12px;
	margin-bottom: 16px;
}

/* Champs de recherche */
.ma-search-input,
.ma-search-card input[type="text"],
.ma-search-card input[type="search"] {
	background-color: var(--ma-input-bg);
	border: none;
	border-radius: var(--ma-radius-input);
	padding: 15px 16px;
	font-family: var(--ma-font-body);
	font-weight: 300;
	font-style: italic;
	font-size: 15px;
	color: var(--ma-text);
}

.ma-search-input::placeholder {
	color: var(--ma-text);
	font-style: italic;
}

/* Onglets Poste / Lieu */
.ma-search-tab {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	font-family: var(--ma-font-body);
	font-size: 15px;
	color: var(--ma-dark);
}

/* Carte profil (Candidat / Entreprise / Établissement) */
.ma-profile-card {
	background-color: var(--ma-white);
	border: 2px solid var(--ma-border-alpha);
	border-radius: var(--ma-radius-card);
	box-shadow: var(--ma-shadow-sm);
	padding: 15px;
}

.ma-profile-card .ma-profile-badge {
	background-color: var(--ma-primary);
	border-radius: var(--ma-radius-badge);
	color: var(--ma-white);
	font-family: var(--ma-font-heading);
	font-weight: 600;
	font-size: 16px;
	padding: 15px 10px;
	box-shadow: var(--ma-shadow-sm);
	text-align: center;
}

.ma-profile-card .ma-profile-icon {
	background-color: var(--ma-primary);
	border-radius: var(--ma-radius-badge);
	box-shadow: var(--ma-shadow-icon);
	width: 67px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ma-profile-card .ma-profile-title {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 18px;
	color: var(--ma-dark);
}

.ma-profile-card .ma-profile-list {
	font-family: var(--ma-font-body);
	font-weight: 300;
	font-size: 16px;
	color: var(--ma-dark);
}

.ma-profile-card .ma-profile-cta {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 16px;
	color: var(--ma-dark);
	border-bottom: 2px solid var(--ma-dark);
	padding-bottom: 4px;
	display: inline-block;
}

/* Carte d'offre */
.ma-offer-card {
	background-color: var(--ma-card-bg);
	border-radius: var(--ma-radius-card-sm);
	box-shadow: var(--ma-shadow-sm);
	padding: 0;
	position: relative;
	overflow: visible;
}

.ma-offer-card .ma-offer-logo {
	background-color: var(--ma-primary);
	border-radius: var(--ma-radius-icon);
	box-shadow: var(--ma-shadow-icon);
	width: 50px;
	height: 50px;
}

.ma-offer-card .ma-offer-title {
	font-family: var(--ma-font-heading);
	font-weight: 800;
	font-size: 24px;
	color: var(--ma-dark);
}

.ma-offer-card .ma-offer-tag {
	background-color: var(--ma-white);
	border: 2px solid var(--ma-border);
	border-radius: var(--ma-radius-pill);
	padding: 10px 16px;
	font-family: var(--ma-font-body);
	font-weight: 400;
	font-size: 12px;
	color: var(--ma-dark);
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.ma-offer-card .ma-offer-salary {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 20px;
	color: var(--ma-dark);
}

/* Section "Pourquoi MonAlternance" */
.ma-feature-block {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 20px;
}

.ma-feature-block .ma-feature-icon {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
}

.ma-feature-block .ma-feature-title {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 18px;
	color: var(--ma-dark);
}

.ma-feature-block .ma-feature-desc {
	font-family: var(--ma-font-body);
	font-weight: 400;
	font-size: 14px;
	color: var(--ma-text);
}

/* Bandeau confiance (bleu clair avec forme) */
.ma-trust-banner {
	position: relative;
	overflow: hidden;
}

/* Bande partenaires */
.ma-partners-strip {
	padding: 40px 0;
}

/* Footer */
.ma-footer {
	background-color: var(--ma-light-bg);
	padding: 40px 0 20px;
}

.ma-footer a {
	font-family: var(--ma-font-body);
	font-weight: 400;
	font-size: 14px;
	color: var(--ma-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.ma-footer a:hover {
	color: var(--ma-primary);
}

.ma-footer .ma-footer-heading {
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--ma-dark);
	margin-bottom: 12px;
}

/* Menu actif */
.ma-nav-active {
	color: var(--ma-secondary) !important;
	font-weight: 600 !important;
}

/* Badge vérifié */
.ma-badge-verified {
	position: absolute;
	top: 0;
	right: 0;
	width: 65px;
	height: 65px;
}

/* Bandeau découvrir vert */
.ma-discover-btn {
	background: var(--ma-gradient-green);
	color: var(--ma-white);
	border-radius: var(--ma-radius-input);
	font-family: var(--ma-font-heading);
	font-weight: 600;
	font-size: 14px;
	padding: 12px 24px;
	border: none;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.ma-discover-btn:hover {
	opacity: 0.85;
}

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

@media (max-width: 1024px) {
	:root {
		--ma-container-width: 960px;
	}
}

/* ── Carousel Témoignages ──────────────────────────────── */
.ma-testimonial-card {
	background: var(--ma-white);
	border: 2px solid var(--ma-border);
	border-radius: 24px;
	padding: 40px 26px 26px 26px;
	position: relative;
	min-height: 260px;
}

.ma-testimonial-card .ma-quote-icon {
	position: absolute;
	top: 43px;
	right: 40px;
	width: 35px;
	height: 41px;
}

.ma-testimonial-card .ma-avatar {
	width: 61px;
	height: 61px;
	border-radius: 5px;
	border: 2px solid var(--ma-border);
	object-fit: cover;
	flex-shrink: 0;
}

.ma-testimonial-card .ma-testimonial-name {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 18px;
	color: #000000;
	line-height: 30px;
}

.ma-testimonial-card .ma-testimonial-location {
	font-family: var(--ma-font-body);
	font-weight: 500;
	font-size: 11px;
	color: #000000;
	line-height: 30px;
}

.ma-testimonial-card .ma-testimonial-text {
	font-family: var(--ma-font-body);
	font-weight: 500;
	font-size: 17px;
	color: #000000;
	line-height: 30px;
	text-align: justify;
	margin-top: 20px;
}

/* ── Footer ────────────────────────────────────────────── */
.ma-footer {
	background-color: var(--ma-dark);
}

.ma-footer a,
.ma-footer .elementor-heading-title {
	color: var(--ma-white) !important;
	transition: opacity 0.2s ease;
}

.ma-footer a:hover,
.ma-footer .elementor-heading-title:hover {
	opacity: 0.75;
}

.ma-footer-btn-gradient {
	background: linear-gradient(90deg, #00B4FF 5.74%, #11C98C 100%);
	border: none;
	border-radius: 12px;
	padding: 10px 20px;
	color: var(--ma-white);
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 16px;
	display: inline-block;
	text-decoration: none;
}

.ma-footer-btn-gradient-reverse {
	background: linear-gradient(90deg, #11C98C 0%, #00B4FF 100%);
	border: none;
	border-radius: 12px;
	padding: 10px 20px;
	color: var(--ma-white);
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 16px;
	display: inline-block;
	text-decoration: none;
}

/* ── Cartes Métiers (page Annonces) ─────────────────────── */
.ma-metier-card {
	background: var(--ma-light-bg);
	border-radius: 15px;
	box-shadow: -2px 2px 15px rgba(0, 0, 0, 0.25);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 22px 10px 15px;
	min-height: 156px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ma-metier-card:hover {
	transform: translateY(-3px);
	box-shadow: -2px 4px 20px rgba(0, 0, 0, 0.3);
}

.ma-metier-card .ma-metier-icon {
	width: 67px;
	height: 67px;
	background: rgba(217, 217, 217, 0.4);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	margin-bottom: 10px;
}

.ma-metier-card span {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 16px;
	color: rgba(0, 0, 0, 0.6);
	text-align: center;
	line-height: 35px;
}

/* ── FAQ Accordion (page Annonces) ─────────────────────── */
.ma-faq-item {
	border: 4px solid rgba(217, 217, 217, 0.5);
	border-radius: 20px;
	margin-bottom: 20px;
	overflow: hidden;
}

.ma-faq-item .ma-faq-question {
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 22px;
	color: var(--ma-primary);
}

.ma-faq-item .ma-faq-answer {
	font-family: var(--ma-font-body);
	font-weight: 400;
	font-size: 20px;
	color: rgba(0, 0, 0, 0.8);
	line-height: 25px;
}

/* ── Page Entreprise ──────────────────────────────────── */
.ma-ent-advantages {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
}

.ma-ent-advantages .elementor-column {
	position: relative;
	padding: 12px 0;
}

.ma-ent-advantages .elementor-column:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 10%;
	height: 80%;
	width: 1px;
	background: rgba(0, 0, 0, 0.15);
}

.ma-ent-simulator {
	background: var(--ma-light-bg);
	border-radius: 25px;
	padding: 40px 50px;
}

.ma-ent-simulator-form {
	font-family: var(--ma-font-body);
}

.ma-ent-simulator-form label {
	font-weight: 600;
	font-size: 14px;
	color: #000;
	display: block;
	margin-bottom: 5px;
}

.ma-ent-simulator-form select,
.ma-ent-simulator-form input[type="number"] {
	width: 100%;
	padding: 10px 14px;
	border: 2px solid #D9D9D9;
	border-radius: 8px;
	font-family: var(--ma-font-body);
	font-size: 14px;
	color: #000;
	background: #fff;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' fill='none'%3E%3Cpath d='M1 1l9 8 9-8' stroke='%23333' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 14px;
}

.ma-ent-simulator-form .ma-contract-toggle {
	display: flex;
	gap: 10px;
}

.ma-ent-simulator-form .ma-contract-toggle span {
	padding: 8px 20px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ma-ent-simulator-form .ma-contract-toggle span.active {
	background: var(--ma-primary);
	color: #fff;
}

.ma-ent-simulator-form .ma-contract-toggle span:not(.active) {
	background: #E0E0E0;
	color: #000;
}

.ma-ent-results {
	font-family: var(--ma-font-body);
	background: #fff;
	border-radius: 20px;
	border: 2px solid #E0E0E0;
	padding: 30px;
}

.ma-ent-results h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 5px;
}

.ma-ent-results .ma-result-row {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	font-size: 14px;
	border-bottom: 1px solid rgba(217, 217, 217, 0.3);
}

.ma-ent-results .ma-result-row:last-child {
	border-bottom: none;
}

.ma-ent-results .ma-result-row strong {
	color: var(--ma-primary);
}

.ma-ent-candidatures {
	background: var(--ma-primary);
	position: relative;
	overflow: hidden;
}

.ma-ent-candidatures::before {
	content: "";
	position: absolute;
	left: -88px;
	top: 30px;
	width: 600px;
	height: 600px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	pointer-events: none;
}

/* Bandeau avantages — page Profils entreprises (Figma 925:1218) */
.ma-pe-advantages-bar .elementor-heading-title {
	color: #ffffff !important;
}

.ma-pe-advantages-bar .ma-pe-adv-sep {
	border-left: 2px solid rgba(255, 255, 255, 0.9);
}

.ma-pe-why-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.ma-pe-btn-primary {
	display: inline-block;
	padding: 10px 24px;
	border-radius: 10px;
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 14px;
	color: #fff;
	text-decoration: none;
	background: linear-gradient(112deg, rgba(17, 201, 140, 0.75) 7%, rgba(8, 99, 69, 0.75) 95%);
	border: none;
}

.ma-pe-btn-outline {
	display: inline-block;
	padding: 10px 24px;
	border-radius: 10px;
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 14px;
	color: var(--ma-primary);
	text-decoration: none;
	background: #fff;
	border: 2px solid var(--ma-primary);
}

.ma-pe-verif-card {
	background: rgba(255, 255, 255, 0.14);
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-radius: 16px;
	padding: 22px 26px;
	color: #fff;
	font-family: var(--ma-font-body);
	font-size: 15px;
	line-height: 24px;
}

.ma-pe-verif-card p {
	margin: 0;
	color: inherit;
}

.ma-ent-candidatures .ma-info-card {
	background: rgba(255, 255, 255, 0.15);
	border-radius: 15px;
	padding: 20px 25px;
	color: #fff;
	font-family: var(--ma-font-body);
	font-size: 15px;
	line-height: 24px;
}

@media (max-width: 768px) {
	:root {
		--ma-container-width: 100%;
	}

	.ma-hero .elementor-heading-title {
		font-size: 36px !important;
	}

	.ma-offer-card .ma-offer-title {
		font-size: 18px;
	}

	.ma-topbar .elementor-heading-title,
	.ma-topbar .elementor-widget-text-editor {
		font-size: 14px;
	}
}

/* ── Page Établissements ──────────────────────────────── */
.ma-etab-badge {
	display: inline-block;
	padding: 8px 22px;
	border-radius: 25px;
	background: rgba(255, 255, 255, 0.35);
	color: #fff;
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 14px;
	backdrop-filter: blur(6px);
}

.ma-etab-ctrl-card {
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 4px 20px rgba(0, 180, 255, 0.12);
	padding: 25px 18px 20px;
	text-align: center;
	min-height: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

.ma-etab-ctrl-card .ma-etab-ctrl-icon {
	width: 48px;
	height: 51px;
	background: rgba(0, 180, 255, 0.15);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 12px;
}

.ma-etab-ctrl-card .ma-etab-ctrl-text {
	font-family: var(--ma-font-body);
	font-weight: 500;
	font-size: 15px;
	color: #303030;
	line-height: 22px;
	margin: 0;
}

.ma-etab-pills-grid {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.ma-etab-pills-row {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.ma-etab-pill {
	display: inline-block;
	padding: 12px 32px;
	border-radius: 30px;
	border: 3px solid var(--ma-primary);
	color: var(--ma-primary);
	font-family: var(--ma-font-heading);
	font-weight: 700;
	font-size: 20px;
	font-style: italic;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ma-etab-pill:hover {
	background: var(--ma-primary);
	color: #fff;
}

.ma-etab-formations-banner {
	position: relative;
	overflow: hidden;
}

.ma-etab-formations-banner::before {
	content: "";
	position: absolute;
	left: -30px;
	bottom: -60px;
	width: 476px;
	height: 476px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	pointer-events: none;
}

/* ── Page Acteurs de l'insertion ──────────────────────── */
.ma-ai-intro-card {
	background: rgba(0, 180, 255, 0.12);
	border-radius: 20px;
	padding: 30px 25px;
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 16px;
	color: #000;
	line-height: 26px;
}

.ma-ai-actor-card {
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 4px 18px rgba(0, 180, 255, 0.1);
	padding: 25px 15px 20px;
	text-align: center;
	min-height: 200px;
}

.ma-ai-actor-card .ma-ai-actor-icon {
	width: 48px;
	height: 51px;
	background: rgba(0, 180, 255, 0.15);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin: 0 auto 12px;
}

.ma-ai-actor-card .ma-ai-actor-text {
	font-family: var(--ma-font-body);
	font-weight: 500;
	font-size: 15px;
	color: #303030;
	line-height: 22px;
	margin: 0;
}

.ma-ai-map-card {
	display: flex;
	gap: 30px;
	background: var(--ma-light-bg);
	border-radius: 20px;
	padding: 40px;
	overflow: hidden;
}

.ma-ai-map-left {
	flex: 1;
	min-width: 300px;
}

.ma-ai-map-right {
	flex: 1;
	min-width: 300px;
}

.ma-ai-map-brand {
	font-family: var(--ma-font-heading);
	font-weight: 600;
	font-size: 18px;
	color: var(--ma-primary);
	margin: 0 0 5px;
}

.ma-ai-map-heading {
	font-family: var(--ma-font-heading);
	font-weight: 700;
	font-size: 28px;
	color: #000;
	margin: 0 0 15px;
}

.ma-ai-map-desc {
	font-family: var(--ma-font-body);
	font-size: 14px;
	color: #303030;
	line-height: 22px;
	margin: 0 0 15px;
}

.ma-ai-map-stat {
	font-family: var(--ma-font-heading);
	font-size: 20px;
	color: #000;
	margin: 0 0 15px;
}

.ma-ai-map-btn {
	display: inline-block;
	padding: 10px 24px;
	border-radius: 10px;
	background: var(--ma-primary);
	color: #fff;
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}

.ma-ai-sectors-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
}

.ma-ai-sector-card {
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	padding: 20px 12px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	min-height: 130px;
}

.ma-ai-sector-card .ma-ai-sector-icon {
	width: 50px;
	height: 50px;
	background: rgba(0, 180, 255, 0.12);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}

.ma-ai-sector-card span {
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 13px;
	color: #303030;
	line-height: 18px;
}

.ma-ai-actor-detail {
	background: #E8F4FD;
	border-radius: 25px;
	padding: 40px;
}

.ma-ai-service-tag {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 12px;
	background: rgba(0, 180, 255, 0.15);
	color: var(--ma-primary);
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 13px;
}

.ma-ai-cta-banner {
	background: var(--ma-primary);
	border-radius: 25px;
	padding: 50px 40px;
	position: relative;
	overflow: hidden;
}

/* ── Page Actu / Blog ─────────────────────────────────── */
.ma-blog-cats {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}

.ma-blog-cat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	transition: transform 0.2s ease;
}

.ma-blog-cat-card:hover {
	transform: translateY(-3px);
}

.ma-blog-cat-card .ma-blog-cat-img {
	width: 180px;
	height: 140px;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 48px;
	backdrop-filter: blur(6px);
}

.ma-blog-cat-card span {
	font-family: var(--ma-font-heading);
	font-weight: 700;
	font-size: 24px;
	font-style: italic;
	color: #fff;
}

.ma-blog-sidebar {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ma-blog-sidebar-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.ma-blog-sidebar-thumb {
	width: 157px;
	height: 121px;
	background: #E8F4FD;
	border-radius: 10px;
	flex-shrink: 0;
}

.ma-blog-sidebar-cat {
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 12px;
	color: var(--ma-primary);
	text-transform: uppercase;
}

.ma-blog-sidebar-title {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 15px;
	color: #000;
	line-height: 20px;
	margin: 4px 0;
}

.ma-blog-sidebar-desc {
	font-family: var(--ma-font-body);
	font-weight: 400;
	font-size: 12px;
	color: #666;
	line-height: 18px;
	margin: 0;
}

.ma-blog-top-list {
	font-family: var(--ma-font-body);
}

.ma-blog-top-list hr {
	border: none;
	border-top: 1px solid #E0E0E0;
	margin: 12px 0;
}

.ma-blog-top-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.ma-blog-top-num {
	font-family: var(--ma-font-heading);
	font-weight: 800;
	font-size: 32px;
	color: var(--ma-primary);
	line-height: 1;
	min-width: 30px;
}

.ma-blog-top-item a {
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 15px;
	color: #000;
	text-decoration: none;
	line-height: 22px;
}

.ma-blog-top-item a:hover {
	color: var(--ma-primary);
}

.ma-blog-newsletter {
	background: var(--ma-primary);
	border-radius: 25px;
	padding: 40px 35px;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.ma-blog-newsletter::before {
	content: "";
	position: absolute;
	left: -20px;
	bottom: -40px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
}

.ma-blog-newsletter h3 {
	font-family: var(--ma-font-heading);
	font-weight: 700;
	font-size: 28px;
	margin: 0 0 12px;
	position: relative;
	z-index: 1;
}

.ma-blog-newsletter p {
	font-family: var(--ma-font-body);
	font-size: 14px;
	line-height: 22px;
	margin: 0 0 20px;
	position: relative;
	z-index: 1;
}

.ma-blog-nl-form {
	display: flex;
	gap: 10px;
	position: relative;
	z-index: 1;
}

.ma-blog-nl-form input {
	flex: 1;
	padding: 12px 18px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 14px;
}

.ma-blog-nl-form input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.ma-blog-nl-form button {
	padding: 12px 24px;
	border: none;
	border-radius: 12px;
	background: #fff;
	color: var(--ma-primary);
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}

.ma-blog-tab {
	display: inline-block;
	padding: 8px 20px;
	border-radius: 10px;
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	border: 2px solid #D9D9D9;
	color: #303030;
	background: #fff;
}

.ma-blog-tab.active {
	background: var(--ma-primary);
	color: #fff;
	border-color: var(--ma-primary);
}

.ma-blog-tools-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.ma-blog-tool-card {
	background: #fff;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.ma-blog-tool-card .ma-blog-tool-img {
	width: 100%;
	height: 146px;
	background: #E8F4FD;
}

.ma-blog-tool-card p {
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 15px;
	color: #000;
	line-height: 22px;
	padding: 15px;
	margin: 0;
}

.ma-blog-series-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}

.ma-blog-series-card {
	text-align: center;
}

.ma-blog-series-card .ma-blog-series-img {
	width: 100%;
	height: 260px;
	background: #E8F4FD;
	border-radius: 20px;
	margin-bottom: 12px;
}

.ma-blog-series-card h4 {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 16px;
	color: #000;
	margin: 0 0 4px;
}

.ma-blog-series-card .ma-blog-series-count {
	font-family: var(--ma-font-body);
	font-weight: 400;
	font-size: 14px;
	color: #666;
	margin: 0;
}

.ma-blog-videos-grid {
	display: flex;
	gap: 25px;
}

.ma-blog-video-stack {
	flex: 0 0 45%;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.ma-blog-video-card.small {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.ma-blog-video-card .ma-blog-video-thumb {
	width: 240px;
	height: 160px;
	background: #E8F4FD;
	border-radius: 12px;
	flex-shrink: 0;
}

.ma-blog-video-card.large {
	flex: 1;
}

.ma-blog-video-card .ma-blog-video-thumb-lg {
	width: 100%;
	height: 280px;
	background: #E8F4FD;
	border-radius: 15px;
	margin-bottom: 12px;
}

.ma-blog-video-info p {
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 14px;
	color: #000;
	line-height: 20px;
	margin: 4px 0;
}

/* ── Page Contact ─────────────────────────────────── */
.ma-ct-form-wrapper {
	background: #FFFFFF;
	border-radius: 25px;
	padding: 40px 35px;
	box-shadow: 0 4px 25px rgba(0, 0, 0, 0.08);
}

.ma-ct-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ma-ct-field-full {
	width: 100%;
}

.ma-ct-field-row {
	display: flex;
	gap: 18px;
}

.ma-ct-field-row input {
	flex: 1;
}

.ma-ct-form input,
.ma-ct-form textarea {
	width: 100%;
	padding: 14px 22px;
	border: 2px solid #00B4FF;
	border-radius: 12px;
	background: #FFFFFF;
	font-family: var(--ma-font-body);
	font-size: 15px;
	color: #303030;
	outline: none;
	transition: border-color 0.2s ease;
	box-sizing: border-box;
}

.ma-ct-form input::placeholder,
.ma-ct-form textarea::placeholder {
	color: #999;
}

.ma-ct-form input:focus,
.ma-ct-form textarea:focus {
	border-color: #0090CC;
}

.ma-ct-form textarea {
	resize: vertical;
	min-height: 180px;
}

.ma-ct-submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 28px;
	border: none;
	border-radius: 12px;
	background: #00C896;
	color: #FFFFFF;
	font-family: var(--ma-font-body);
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	transition: background 0.2s ease;
}

.ma-ct-submit:hover {
	background: #00A87A;
}

.ma-ct-space-card {
	border-radius: 40px 40px 0 0;
	text-align: center;
	box-shadow: 0 4px 10px #00B4FF;
	overflow: hidden;
	transition: transform 0.2s ease;
	background: linear-gradient(180deg, #F5F7FB 36%, #E2E4E8 56%, #CCD0D1 78%, #919395 100%);
}

.ma-ct-space-card:hover {
	transform: translateY(-4px);
}

.ma-ct-space-card h4 {
	font-family: var(--ma-font-heading);
	font-weight: 600;
	font-size: 30px;
	color: rgba(0, 0, 0, 0.6);
	margin: 0;
	padding: 30px 15px 10px;
}

.ma-ct-space-illus {
	width: 100%;
	height: 190px;
	background: rgba(0, 180, 255, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.ma-ct-space-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--ma-font-body);
	font-weight: 600;
	font-size: 18px;
	color: #00B4FF;
	text-decoration: none;
	background: #FFFFFF;
	padding: 10px;
	border-bottom: 3px solid #FFFFFF;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25), inset 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.ma-ct-space-link:hover {
	color: #0090CC;
	text-decoration: underline;
}

@media (max-width: 768px) {
	.ma-ai-sectors-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.ma-ai-map-card {
		flex-direction: column;
	}

	.ma-blog-tools-grid,
	.ma-blog-series-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ma-blog-videos-grid {
		flex-direction: column;
	}

	.ma-ct-field-row {
		flex-direction: column;
	}
}

@media (max-width: 480px) {
	.ma-hero .elementor-heading-title {
		font-size: 28px !important;
	}

	.ma-search-card {
		padding: 15px;
	}

	.ma-ai-sectors-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ma-blog-tools-grid,
	.ma-blog-series-grid {
		grid-template-columns: 1fr;
	}
}
