/*!
Theme Name: marbio
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: marbio
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

marbio is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/* =====================
   FONT FACE DECLARATIONS
   ===================== */

@font-face {
  font-family: 'Bebas Neue Pro';
  src: url('fonts/Bebas-Neue-Pro-Regular-BF66cf3d7814160.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bebas Neue Pro';
  src: url('fonts/Bebas-Neue-Pro-Bold-BF66cf3d7770dfe.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bebas Neue Pro Expanded';
  src: url('fonts/Bebas-Neue-Pro-Expanded-Regular-BF66cf3d77b3b0c.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bebas Neue Pro Expanded';
  src: url('fonts/Bebas-Neue-Pro-Expanded-Bold-BF66cf3d77b066f.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bebas Neue Pro Expanded';
  src: url('fonts/Bebas-Neue-Pro-Expanded-ExtraBold-BF66cf3d793166e.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lato';
  src: url('fonts/Lato-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lato';
  src: url('fonts/Lato-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lato';
  src: url('fonts/Lato-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* =====================
   TYPOGRAPHY SYSTEM
   ===================== */

/* Body / paragraphs / general text */
body, p, li, td, input, textarea, select {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
}

/* Hero headline */
.hero-content h1 {
  font-family: 'Bebas Neue Pro Expanded', sans-serif;
}
.hero-content h1 strong {
  font-family: 'Bebas Neue Pro Expanded', sans-serif;
}

/* Section titles h2 */
h2 {
  font-family: 'Bebas Neue Pro', sans-serif;
}

/* Stat numbers */
.stat-animate {
  font-family: 'Bebas Neue Pro Expanded', sans-serif;
}

/* Section labels (NOTRE VISION, À LA UNE, etc.) */
.marbio-vision-wrap > div > span:first-child,
#marbio-actualites span[style*="text-transform"],
#marbio-carrieres span[style*="text-transform"],
#marbio-impact span[style*="text-transform"] {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
}

/* Buttons */
.marbio-btn-navy,
.marbio-btn-white {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
}

/* Navigation */
.marbio-navbar .nav-link {
  font-family: 'Lato', sans-serif;
}

/* WYSIWYG content helper */
.marbio-wysiwyg strong, .marbio-wysiwyg b {
  font-weight: 700;
  color: inherit;
}
.marbio-wysiwyg p {
  margin-bottom: 0;
}

/* Footer */
.marbio-footer-menu li a {
  font-family: 'Lato', sans-serif;
}

/*--------------------------------------------------------------
# WordPress specifiques
--------------------------------------------------------------*/

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* WordPress alignments */
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* WordPress captions */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
	text-align: center;
}

/* WordPress galleries */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }

.gallery-caption {
	display: block;
}

/* Sticky posts */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.bypostauthor {
	display: block;
}

/* Pharmacovigilance page */
section.pharma-intro-section {
	padding: 120px 0 !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	display: block !important;
	box-sizing: border-box !important;
}
section.pharma-intro-section .pharma-intro-inner {
	width: 100% !important;
	max-width: none !important;
	padding: 0 80px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}
.pv-btn.pv-btn-patient {
	border-color: #2BA89D !important;
}
.pv-btn.pv-btn-patient span,
.pv-btn.pv-btn-patient {
	color: #2BA89D !important;
}

section.pharma-intro-section .pv-reveal,
section.pharma-intro-section p {
	max-width: none !important;
	width: 100% !important;
	display: block !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.pharma-intro-section p {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	line-height: 1.8;
	color: #333333;
	text-align: center;
	margin: 0 0 20px 0;
}

.pharma-contact-box {
	border: 1px solid rgba(255,255,255,0.4);
	padding: 20px 30px;
	color: #FFFFFF;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	line-height: 1.65;
}
.pharma-contact-box strong,
.pharma-contact-box b { color: #FFFFFF; font-weight: 700; }
.pharma-contact-box ol,
.pharma-contact-box ul { padding-left: 20px; margin-top: 15px; }
.pharma-contact-box li { margin-bottom: 8px; }
.pharma-contact-box p { margin-bottom: 12px; }
.pharma-contact-box a { color: #FFFFFF; text-decoration: underline; }

.pharma-contact-text {
	color: #FFFFFF;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	line-height: 1.8;
}
.pharma-contact-text strong,
.pharma-contact-text b {
	color: #FFFFFF;
	font-weight: 700;
}
.pharma-contact-text ol,
.pharma-contact-text ul {
	padding-left: 20px;
	margin-top: 15px;
}
.pharma-contact-text li {
	margin-bottom: 8px;
}
.pharma-contact-text p {
	margin-bottom: 12px;
}
.pharma-footer-text {
	max-width: 700px;
	margin: 0 auto;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	line-height: 1.8;
	color: #333333;
	text-align: left;
}
.pharma-footer-text strong {
	font-weight: 700;
	color: #1b2f5e;
}
.pharma-site-web {
	display: inline-block;
	border: 1px solid #2ab5a0;
	padding: 15px 40px;
	margin: 0 auto;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
}
.pharma-site-web span,
.pharma-site-label {
	color: #2ab5a0;
	font-weight: 700;
	margin-right: 8px;
}
.pharma-site-web a {
	color: #2ab5a0;
	text-decoration: none;
}
.pharma-site-web a:hover {
	text-decoration: underline;
}

/* Smooth scroll for anchor links, offset for sticky navbar */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

/*--------------------------------------------------------------
# Custom styles marbio
--------------------------------------------------------------*/

/* ---- Variables ---- */
:root {
	--marbio-blue: #1a2b5f;
	--marbio-blue-light: #243a7a;
	--marbio-green: #2a9d8f;
}

/* ---- Layout (sticky footer) ---- */
#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	padding: 0;
}

#primary {
	flex: 1;
}

/* ---- Header / Navbar ---- */
.marbio-navbar {
	background-color: #fff;
	padding: 0.75rem 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	position: sticky;
	top: 0;
	z-index: 9999;
}

/* Search bar */
.navbar-search-wrapper {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #FFFFFF;
	padding: 0 40px;
	box-shadow: 0 8px 30px rgba(0,0,0,0.12);
	z-index: 9998;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1),
	            opacity 0.3s ease,
	            padding 0.4s cubic-bezier(0.4,0,0.2,1);
}
.navbar-search-wrapper.active {
	max-height: 120px;
	opacity: 1;
	padding: 24px 40px;
}
.navbar-search-wrapper .search-form {
	display: flex;
	align-items: center;
	max-width: 700px;
	margin: 0 auto;
	border-bottom: 2px solid #1F487C;
	transition: border-color 0.3s ease;
}
.navbar-search-wrapper .search-form:focus-within {
	border-color: #2ab5a0;
}
.navbar-search-wrapper .search-field {
	flex: 1;
	border: none;
	padding: 14px 0;
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #0E0E3A;
	outline: none;
	background: transparent;
	letter-spacing: 0.3px;
}
.navbar-search-wrapper .search-field::placeholder {
	color: #aaa;
	font-weight: 300;
}
.navbar-search-wrapper .search-submit {
	background: transparent;
	color: #1F487C;
	border: none;
	padding: 14px 20px;
	cursor: pointer;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: color 0.3s ease;
}
.navbar-search-wrapper .search-submit:hover {
	color: #2ab5a0;
}
.btn-search {
	background: none;
	border: none;
	color: #1F487C;
	cursor: pointer;
	padding: 4px 8px;
	transition: color 0.3s ease, transform 0.3s ease;
}
.btn-search:hover {
	color: #2ab5a0;
	transform: scale(1.1);
}
.btn-search.active svg {
	color: #2ab5a0;
}

.marbio-navbar .navbar-brand {
	padding: 0;
}

.marbio-logo {
	height: 40px;
	width: auto;
}

.marbio-logo-text {
	color: var(--marbio-blue);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 1px;
}

.marbio-navbar .nav-link {
	color: var(--marbio-blue);
	font-size: 0.875rem;
	font-weight: 700;
	padding: 0.5rem 0.85rem;
	transition: color 0.2s ease;
}

.marbio-navbar .nav-link:hover,
.marbio-navbar .nav-link:focus,
.marbio-navbar .nav-link.active {
	color: var(--marbio-green);
}

.marbio-navbar .dropdown-toggle::after {
	display: none;
}

/* Dropdown: show on hover (desktop) */
@media (min-width: 992px) {
	.marbio-navbar .nav-item.dropdown:hover > .dropdown-menu {
		display: block;
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: all;
	}
	/* Allow parent links to navigate — override Bootstrap dropdown behavior */
	.marbio-navbar .nav-link.dropdown-toggle {
		pointer-events: auto;
		cursor: pointer;
	}
}

.marbio-navbar .dropdown-menu {
	background-color: #fff;
	border: none;
	border-radius: 0;
	border-top: 3px solid #2ab5a0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	padding: 8px 0;
	min-width: 220px;
	margin-top: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
	display: block;
}

.marbio-navbar .dropdown-item {
	color: #1b2f5e;
	font-size: 0.875rem;
	padding: 10px 20px;
	transition: all 0.2s ease;
}

.marbio-navbar .dropdown-item:hover,
.marbio-navbar .dropdown-item:focus {
	background-color: #f5f6f7;
	color: #2ab5a0;
	padding-left: 28px;
}

.marbio-navbar .dropdown-item:active,
.marbio-navbar .dropdown-item.active,
.marbio-navbar .dropdown-menu .dropdown-item:active,
.marbio-navbar .dropdown-menu .dropdown-item.active {
	background-color: #f5f6f7 !important;
	color: #2ab5a0 !important;
}

/* Active & current page styles — parent nav items only */
.marbio-navbar .navbar-nav > li:first-child {
	display: none;
}
.marbio-navbar .navbar-nav > .nav-item.current-menu-item > .nav-link,
.marbio-navbar .navbar-nav > .nav-item.current-menu-parent > .nav-link,
.marbio-navbar .navbar-nav > .nav-item.current-menu-ancestor > .nav-link {
	color: #2ab5a0;
	border-bottom: 2px solid #2ab5a0;
	padding-bottom: calc(0.5rem - 2px);
}

/* Submenu items — always dark navy, regular weight, never green */
.marbio-navbar .dropdown-menu .dropdown-item {
	color: #1b2f5e !important;
	border-bottom: none !important;
	background-color: transparent !important;
	font-family: 'Lato', sans-serif !important;
	font-weight: 700 !important;
}
.marbio-navbar .dropdown-menu .dropdown-item:hover,
.marbio-navbar .dropdown-menu .dropdown-item:focus {
	color: #2ab5a0 !important;
	background-color: #f5f6f7 !important;
	padding-left: 28px;
}
.marbio-navbar .dropdown-menu .dropdown-item.active,
.marbio-navbar .dropdown-menu .dropdown-item:active {
	color: #1b2f5e !important;
	background-color: transparent !important;
	border-bottom: none !important;
	font-family: 'Lato', sans-serif !important;
	font-weight: 700 !important;
}

.marbio-navbar .navbar-nav-icons .btn-link {
	color: var(--marbio-blue);
	text-decoration: none;
	font-size: 1rem;
}

.marbio-navbar .navbar-nav-icons .btn-link:hover {
	color: var(--marbio-green);
}

.marbio-navbar .btn-search {
	width: 36px;
	height: 36px;
	border: 1px solid #ddd;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--marbio-blue);
	background: transparent;
}

.marbio-navbar .btn-lang {
	width: 36px;
	height: 36px;
	border: 2px solid var(--marbio-green);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--marbio-green);
	background: transparent;
	font-size: 0.75rem;
	font-weight: 700;
}

.marbio-navbar .navbar-toggler {
	border: none;
	padding: 0;
}

.marbio-navbar .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231a2b5f' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ---- Offcanvas Mobile Menu ---- */
.marbio-offcanvas {
	background-color: var(--marbio-blue);
	max-width: 300px;
	width: 75vw;
	top: 0 !important;
	bottom: 0 !important;
	height: 100% !important;
	min-height: 100vh !important;
	min-height: 100dvh !important;
	position: fixed !important;
	overflow-y: auto;
	z-index: 99999 !important;
}

/* Offcanvas backdrop above navbar */
.offcanvas-backdrop {
	z-index: 99998 !important;
}

/* Block page scroll when offcanvas is open */
body.offcanvas-open {
	overflow: hidden !important;
	position: fixed !important;
	width: 100% !important;
	top: 0 !important;
}

.marbio-offcanvas .offcanvas-header {
	padding: 1.25rem 1.25rem 0.5rem;
}

/* Close button — outlined square */
.marbio-offcanvas .btn-close {
	width: 32px;
	height: 32px;
	border: 1.5px solid rgba(255, 255, 255, 0.5);
	border-radius: 0;
	opacity: 1;
	padding: 0;
	background-size: 12px;
}

.marbio-offcanvas .offcanvas-body {
	padding: 0.5rem 1.25rem 1.25rem;
}

.marbio-offcanvas-menu {
	margin: 0;
	padding: 0;
}

.marbio-offcanvas-menu > li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	padding: 0.85rem 0;
}

.marbio-offcanvas-menu > li:last-child {
	border-bottom: none;
}

/* Hide "Accueil" (first item with no children) */
.marbio-offcanvas-menu > li:first-child {
	display: none;
}

.offcanvas-menu-title {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	display: block;
	margin-bottom: 0.35rem;
}

.offcanvas-menu-title:hover {
	color: rgba(255, 255, 255, 0.8);
}

.offcanvas-menu-link {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
	text-decoration: none;
	display: block;
	padding: 0.2rem 0;
}

.offcanvas-menu-link:hover {
	color: #fff;
}

/* ---- Footer ---- */
.marbio-footer {
	background-color: #1a2b5f !important;
	padding: 3rem 0 2rem;
	color: #fff;
}

.marbio-footer-top {
	gap: 2rem;
	padding-bottom: 28px;
}

.marbio-footer-logo {
	text-decoration: none;
	flex-shrink: 0;
	display: block;
	max-width: 180px;
}

.marbio-footer-logo img {
	height: 36px !important;
	width: auto !important;
	max-width: 180px !important;
	filter: brightness(0) invert(1);
	object-fit: contain;
}

.marbio-footer-logo-text {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 1px;
}

.marbio-footer-menu {
	gap: 3rem;
}

.marbio-footer-menu li a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: 0.875rem;
	transition: color 0.2s ease;
}

.marbio-footer-menu li a:hover {
	color: #fff;
}

.marbio-footer-social {
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.marbio-footer-social:hover {
	opacity: 0.7;
	color: #fff;
}

.marbio-footer-divider {
	border-color: rgba(255, 255, 255, 0.2);
	margin: 0;
}

.marbio-footer-bottom {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.6);
	padding-top: 20px;
}

.marbio-footer-bottom p {
	color: rgba(255, 255, 255, 0.6);
}

.marbio-footer-legal {
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	font-size: 0.8rem;
}

.marbio-footer-legal:hover {
	color: #fff;
}

.marbio-footer-credit {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8rem;
}

.marbio-footer-credit a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}

.marbio-footer-credit a:hover {
	color: #fff;
	text-decoration: underline;
}

/* Mini-tablet: stack the 3-line footer bottom vertically (768–991px) */
@media (max-width: 991px) {
	.marbio-footer-bottom {
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 8px !important;
		text-align: center !important;
	}
}

/* ================================
   MARBIO HOMEPAGE STYLES
================================ */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
#page, .site {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

:root {
  --navy: #1b2f5e;
  --teal: #2ab5a0;
  --light-gray: #f5f6f7;
}

/* HERO */
.hero-section {
  position: relative;
  height: 85vh;
  background-size: cover;
  background-position: center 18%;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  padding: 60px;
  overflow: hidden;
  margin: 0;
  width: 100%;
  backface-visibility: hidden;
  will-change: transform;
}
.hero-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: #ffffff;
  z-index: 3;
  pointer-events: none;
}
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(to right, rgba(0,0,0,0.55) 0%, rgba(14,14,58,0.4) 25%, rgba(94,94,123,0.12) 50%, transparent 65%);
}
.hero-content {
  position: relative;
  z-index: 2;
  color: white;
  max-width: 550px;
}
.hero-content h1 {
  font-size: 72px;
  font-weight: 300;
  line-height: 1.25;
  color: white;
  letter-spacing: -1px;
  margin: 0;
}

/* STATS */
.stats-section {
  padding: 60px 80px;
  text-align: center;
  background: white;
}
.stats-tagline {
  font-size: 17px;
  margin-bottom: 40px;
}
.stats-grid {
  display: flex;
  justify-content: center;
  gap: 0;
}
.stat-item {
  flex: 1;
  max-width: 180px;
  padding: 0 20px;
  border-right: 1px solid #e8e8e8;
}
.stat-item:last-child { border-right: none; }
.stat-number {
  display: block;
  font-size: 40px;
  font-weight: 800;
  color: var(--navy);
}
.stat-label {
  display: block;
  font-size: 11px;
  color: #888;
  margin-top: 6px;
  line-height: 1.4;
}

/* VISION */
.vision-section {
  background: var(--light-gray);
  padding: 80px;
}
.vision-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
.vision-text .section-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--teal);
  text-transform: uppercase;
}
.vision-text h2 {
  font-size: 28px;
  font-weight: 800;
  color: var(--navy);
  margin: 14px 0;
  line-height: 1.35;
}
.vision-image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

/* BUTTONS */
.btn-outline, .btn-outline-dark {
  display: inline-block;
  padding: 11px 26px;
  border: 2px solid var(--navy);
  color: var(--navy);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-decoration: none;
  margin-top: 24px;
  transition: all 0.3s;
}
.btn-outline:hover, .btn-outline-dark:hover {
  background: var(--navy);
  color: white;
}
.btn-white {
  display: inline-block;
  padding: 11px 26px;
  border: 2px solid white;
  color: white;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-decoration: none;
  transition: all 0.3s;
}
.btn-white:hover { background: white; color: var(--navy); }

/* NEWS */
.news-section { padding: 80px; background: white; }
.section-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.accent-bar { display: inline-block; width: 3px; height: 18px; background: var(--teal); }
.accent-bar-white { display: inline-block; width: 3px; height: 18px; background: white; }
.section-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--teal);
  text-transform: uppercase;
}
.news-section h2 {
  font-size: 30px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 36px;
}
.news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-bottom: 36px; }
.news-card { border: 1px solid #eee; overflow: hidden; }
.news-image img { width: 100%; height: 220px; object-fit: cover; display: block; }
.news-body { padding: 20px 24px; }
.news-date { font-size: 10px; color: var(--teal); font-weight: 700; letter-spacing: 1px; }
.news-body h3 { font-size: 15px; font-weight: 800; color: var(--navy); margin: 8px 0; line-height: 1.4; }
.news-body p { font-size: 13px; color: #777; line-height: 1.65; }
.news-link { font-size: 10px; font-weight: 700; color: var(--teal); letter-spacing: 1px; display: inline-block; margin-top: 14px; text-decoration: none; }
.center { text-align: center; margin-top: 36px; }

/* PRODUCTS */
.products-section { background: var(--navy); padding: 80px; }
.products-header { display: flex; align-items: center; gap: 12px; margin-bottom: 36px; }
.products-header h2 { font-size: 26px; font-weight: 800; color: white; line-height: 1.3; }
.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-bottom: 36px; }
.product-card { position: relative; overflow: hidden; height: 280px; }
.product-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; display: block; }
.product-card:hover img { transform: scale(1.05); }
.product-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(27,47,94,0.88);
  padding: 14px 20px;
}
.product-overlay span { color: white; font-size: 11px; font-weight: 800; letter-spacing: 2px; }

/* ENGAGEMENT */
.engagement-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; }
.engagement-text {
  padding: 80px 60px; background: white;
  display: flex; flex-direction: column; justify-content: center;
}
.engagement-text h2 { font-size: 34px; font-weight: 800; color: var(--navy); line-height: 1.2; margin: 14px 0; }
.engagement-text p { font-size: 13px; color: #666; line-height: 1.75; }
.engagement-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* SOUVERAINETÉ */
.souverainete-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 440px; }
.souverainete-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.souverainete-text {
  padding: 80px 60px; background: var(--light-gray);
  display: flex; flex-direction: column; justify-content: center;
}
.souverainete-text h2 { font-size: 28px; font-weight: 800; color: var(--navy); line-height: 1.35; margin: 14px 0; }
.souverainete-text p { font-size: 13px; color: #666; line-height: 1.75; }

/* ================================
   ANIMATIONS & INTERACTIONS
================================ */

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.reveal--left  { transform: translateX(-50px); }
.reveal.reveal--right { transform: translateX(50px); }
.reveal.reveal--scale { transform: scale(0.92); }

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

.reveal--delay-1 { transition-delay: 0.1s; }
.reveal--delay-2 { transition-delay: 0.2s; }
.reveal--delay-3 { transition-delay: 0.3s; }
.reveal--delay-4 { transition-delay: 0.4s; }

/* Staggered children animation */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0s; }
.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 0.1s; }
.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 0.2s; }
.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 0.3s; }
.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 0.4s; }
.reveal-stagger.is-visible > * {
  opacity: 1;
  transform: translateY(0);
}

/* Hero text entrance */
@keyframes heroSlideUp {
  from { opacity: 0; transform: translateY(60px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-content h1 {
  animation: heroSlideUp 1s ease 0.3s both;
}

/* Stat number count-up feel */
@keyframes statPop {
  0% { opacity: 0; transform: scale(0.5); }
  70% { transform: scale(1.05); }
  100% { opacity: 1; transform: scale(1); }
}
.stat-animate {
  opacity: 0;
}
.stat-animate.is-visible {
  animation: statPop 0.6s ease forwards;
}

/* Accent bar grow */
.accent-grow {
  width: 0;
  transition: width 0.6s ease;
}
.accent-grow.is-visible {
  width: 40px;
}

/* News card hover */
.news-card-hover {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.news-card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}
.news-card-hover img {
  transition: transform 0.5s ease;
}
.news-card-hover:hover img {
  transform: scale(1.06);
}

/* News "Lire la suite" link arrow slide */
.news-link-hover {
  transition: color 0.3s ease, letter-spacing 0.3s ease;
}
.news-link-hover:hover {
  letter-spacing: 2px;
  color: #1b2f5e;
}

/* Product card hover - zoom + overlay shift */
.product-card-hover {
  overflow: hidden;
  cursor: pointer;
}
.product-card-hover > div:first-child {
  transition: opacity 0.4s ease;
}
.product-card-hover:hover > div:first-child {
  background: rgba(27, 47, 94, 0.55);
}
.product-card-hover span {
  transition: letter-spacing 0.4s ease, transform 0.4s ease;
}
.product-card-hover:hover span {
  letter-spacing: 6px;
  transform: scale(1.05);
}

/* Card hover lift */
.actualite-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.actualite-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(14, 14, 58, 0.12);
}

/* ================================
   RESPONSIVE — MOBILE (max 768px)
================================ */
@media (max-width: 768px) {

  /* --- GENERAL --- */
  body, .site {
    overflow-x: hidden;
    max-width: 100vw;
  }
  .reveal {
    transform: translateY(20px) !important;
    transition: opacity 0.5s ease, transform 0.5s ease !important;
  }
  .reveal--left, .reveal--right {
    transform: translateY(20px) !important;
  }
  .reveal.is-visible,
  .reveal--left.is-visible,
  .reveal--right.is-visible {
    transform: translateY(0) translateX(0) scale(1) !important;
  }

  /* --- 1. HERO --- */
  #page, body {
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }
  .hero-section {
    min-height: 450px !important;
    height: 450px !important;
    padding: 0 20px 40px !important;
    margin: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #0E1C4A !important;
    display: flex !important;
    align-items: flex-end !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  .hero-content {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-content h1 {
    font-size: 36px !important;
    max-width: 100% !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .hero-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.15) 50%, transparent 100%) !important;
  }


@media (min-width: 769px) and (max-width: 1024px) {
  .hero-section {
    height: 75vh;
    background-size: cover;
    background-position: center 22%;
    padding: 40px;
  }
  .hero-content h1 {
    font-size: 48px;
    line-height: 1.2;
    margin: 0;
  }
}

/* Ensure following sections sit above any hero overlap */
#marbio-vision,
#marbio-stats,
#marbio-produits,
#marbio-impact,
#marbio-carrieres {
  position: relative;
  z-index: 2;
}

  /* --- 2. STATS --- */
  #marbio-stats {
    padding: 40px 20px !important;
  }
  #marbio-stats > div {
    padding: 0 !important;
  }
  #marbio-stats p.reveal {
    font-size: 20px !important;
    margin-bottom: 32px !important;
  }
  #marbio-stats .reveal-stagger {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px 16px !important;
    justify-content: center !important;
  }
  #marbio-stats .reveal-stagger > div {
    text-align: center !important;
  }
  #marbio-stats .reveal-stagger > div:last-child {
    grid-column: 1 / -1;
  }
  #marbio-stats .stat-animate {
    font-size: 56px !important;
    line-height: 1 !important;
    margin-bottom: 6px !important;
  }
  #marbio-stats .reveal-stagger > div > span:last-child {
    font-size: 13px !important;
    color: #555 !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }

  /* --- 3. NOTRE VISION --- */
  #marbio-vision {
    min-height: auto !important;
    background-position: 75% center !important;
    background-size: cover !important;
    padding: 60px 20px !important;
    display: flex !important;
    align-items: center !important;
  }
  #marbio-vision > div:first-child {
    background: rgba(240,244,247,0.35) !important;
  }
  .marbio-vision-wrap {
    padding: 0 !important;
    flex-direction: column !important;
    display: flex !important;
  }
  .marbio-vision-wrap > div {
    width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
  }
  .marbio-vision-wrap h2 {
    font-size: 28px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
  }
  .marbio-vision-wrap p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
    text-align: center !important;
    color: #0E0E3A !important;
  }
  .marbio-vision-wrap .marbio-btn-navy {
    display: inline-block !important;
    margin: 0 auto !important;
  }

  /* --- 4. ACTUALITES --- */
  #marbio-actualites {
    padding: 40px 20px !important;
  }
  #marbio-actualites > div {
    padding: 0 !important;
  }
  #marbio-actualites h2 {
    font-size: 28px !important;
    margin-bottom: 24px !important;
  }
  #marbio-actualites > div > div[style*="grid"] {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  /* Remove card border/shadow — just raw content */
  .actualite-card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
  }
  /* Show only 1st card on mobile — hide all after first */
  #marbio-actualites > div > div[style*="grid"] > .actualite-card:nth-child(n+2) {
    display: none !important;
  }
  .actualite-card div[style*="height:260px"] {
    height: auto !important;
  }
  .actualite-card div[style*="height:260px"] img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    max-height: 240px !important;
  }
  .actualite-card div[style*="padding:24px"] {
    padding: 16px 0 0 0 !important;
  }
  .actualite-card span[style*="color:#1F487C"] {
    font-size: 13px !important;
    color: #1F487C !important;
    display: block !important;
    margin-bottom: 8px !important;
  }
  .actualite-card h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
    color: #0E0E3A !important;
  }
  .actualite-card p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin-bottom: 0 !important;
  }
  .actualite-card .news-link-hover {
    display: inline-block !important;
    margin-top: 16px !important;
    font-size: 12px !important;
  }
  #marbio-actualites .marbio-btn-navy {
    display: inline-block !important;
    width: auto !important;
    margin: 24px 0 0 !important;
    text-align: center !important;
    padding: 10px 20px !important;
    font-size: 10px !important;
  }

  /* --- 5. PRODUITS --- */
  #marbio-produits {
    padding: 40px 20px !important;
    min-height: auto !important;
  }
  #marbio-produits > div:first-child {
    padding: 0 !important;
    margin-bottom: 32px !important;
  }
  #marbio-produits h2 {
    font-size: 26px !important;
  }
  #marbio-produits > div[style*="grid"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 0 !important;
  }
  #marbio-produits .product-card-hover {
    height: 280px !important;
  }
  #marbio-produits .product-card-hover span {
    font-size: 13px !important;
    letter-spacing: 2.5px !important;
  }
  #marbio-produits > div:last-child {
    padding: 0 !important;
    margin-top: 40px !important;
  }
  #marbio-produits .marbio-btn-white {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    text-align: center !important;
    padding: 10px 20px !important;
    font-size: 10px !important;
  }

  /* --- 6. NOTRE IMPACT --- */
  #marbio-impact {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  #marbio-impact > div:first-child {
    order: 2 !important;
    padding: 40px 20px !important;
  }
  #marbio-impact > div:last-child {
    display: block !important;
    order: 1 !important;
    min-height: 350px !important;
    background-position: center center !important;
    background-size: cover !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
  }
  #marbio-impact h2 {
    font-size: 32px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
  }
  #marbio-impact p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin-bottom: 32px !important;
  }
  #marbio-impact .marbio-btn-navy {
    display: inline-block !important;
    width: auto !important;
    padding: 10px 20px !important;
    font-size: 10px !important;
  }

  /* --- 7. CARRIERES --- */
  #marbio-carrieres {
    min-height: 500px !important;
    justify-content: center !important;
    align-items: flex-end !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  #marbio-carrieres > div:first-child {
    background: rgba(240,244,247,0.45) !important;
  }
  #marbio-carrieres > div:last-child {
    width: 100% !important;
    padding: 0 20px 40px !important;
    text-align: center !important;
    align-items: center !important;
  }
  #marbio-carrieres > div:last-child span,
  #marbio-carrieres > div:last-child h2,
  #marbio-carrieres > div:last-child p {
    color: white !important;
    text-align: center !important;
  }
  #marbio-carrieres > div:last-child h2 {
    font-size: 30px !important;
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
  }
  #marbio-carrieres > div:last-child p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin-bottom: 32px !important;
  }
  /* Move green line to CARRIÈRE label on mobile */
  #marbio-carrieres .home-title-lined::before {
    display: none !important;
  }
  #marbio-carrieres .carriere-label {
    position: relative !important;
    padding-left: 0 !important;
  }
  #marbio-carrieres .carriere-label::after {
    content: '' !important;
    display: block !important;
    width: 35px !important;
    height: 2px !important;
    background: #71D4A6 !important;
    margin-top: 8px !important;
  }
  /* All text #0E0E3A on mobile */
  #marbio-carrieres > div:last-child span,
  #marbio-carrieres > div:last-child h2,
  #marbio-carrieres > div:last-child p {
    color: #0E0E3A !important;
  }
  #marbio-carrieres .marbio-btn-navy {
    border-color: #0E0E3A !important;
    color: #0E0E3A !important;
    background: transparent !important;
    display: inline-block !important;
    width: auto !important;
    padding: 10px 20px !important;
    font-size: 10px !important;
  }
  #marbio-carrieres .marbio-btn-navy:hover {
    background: #0E0E3A !important;
    color: #FFFFFF !important;
  }

  /* --- 8. FOOTER --- */
  .marbio-footer {
    padding: 40px 24px 28px !important;
    text-align: center !important;
  }
  .marbio-footer-top {
    flex-direction: column !important;
    align-items: center !important;
    gap: 24px !important;
    padding-bottom: 24px !important;
  }
  .marbio-footer-logo {
    margin: 0 auto !important;
  }
  /* Show nav on mobile */
  .marbio-footer-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
  }
  .marbio-footer-menu {
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
  }
  .marbio-footer-menu li a {
    font-size: 14px !important;
  }
  .marbio-footer-social {
    margin: 0 auto !important;
  }
  .marbio-footer-divider {
    margin: 0 !important;
  }
  .marbio-footer-bottom {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    padding-top: 16px !important;
    text-align: center !important;
  }
  .marbio-footer-bottom p {
    font-size: 12px !important;
    margin: 0 !important;
  }
  .marbio-footer-legal,
  .marbio-footer-credit {
    font-size: 12px !important;
  }

}

/* ================================
   HOMEPAGE — GREEN DASH INLINE LEFT
================================ */
.home-title-lined {
	position: relative;
	display: block;
	padding-left: 0;
}
.home-title-lined::before {
	content: '';
	position: absolute;
	left: -45px;
	width: 35px;
	height: 2px;
	background: #71D4A6;
}
.home-lined-actu::before { top: 14px; }
.home-lined-impact::before { top: 24px; }
.home-lined-carriere::before { top: 24px; }

/* ================================
   PAGE CARRIÈRES — PARAGRAPH SPACING
================================ */
.collab-text p {
	margin-bottom: 20px;
	line-height: 1.6;
}
.collab-text p:last-child {
	margin-bottom: 0;
}
.promesse-text p {
	margin-bottom: 25px;
	line-height: 1.8;
}
.promesse-text p:last-child {
	margin-bottom: 0;
}

/* ================================
   PAGE MÉDIA
================================ */
.media-section-title {
	font-family: 'Bebas Neue Pro', sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 1.1;
	color: #1F487C;
	text-align: center;
	margin: 0 0 50px 0;
}

/* Actualités cards */
.media-actu-card {
	display: block;
	background: #FFFFFF;
	box-shadow: 0 4px 20px rgba(14,28,74,0.08);
	text-decoration: none;
	color: inherit;
	max-width: 480px;
	width: 100%;
	margin: 0 auto;
	height: 520px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.media-actu-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 40px rgba(14,28,74,0.15);
}
.media-actu-thumb {
	width: 100%;
	height: 240px !important;
	max-height: 240px !important;
	object-fit: cover;
	display: block;
}
.media-actu-placeholder {
	background: linear-gradient(135deg, #1F487C 0%, #0E1C4A 100%);
	height: 240px !important;
	max-height: 240px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
}
.media-actu-placeholder span {
	font-family: 'Bebas Neue Pro', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 0.5px;
}
.media-actu-card .media-actu-date,
.media-actu-card .media-actu-title,
.media-actu-card .media-actu-excerpt {
	padding-left: 30px;
	padding-right: 30px;
}
.media-actu-date {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: #1F487C;
	margin-top: 25px;
}
.media-actu-title {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #1b2f5e;
	margin: 12px 0 0 0;
	line-height: 1.35;
}
.media-actu-excerpt {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 15px;
	color: #555555;
	line-height: 1.7;
	margin: 18px 0 30px 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Communiqués de presse cards */
.media-cp-card {
	display: flex;
	flex-direction: column;
	background: #1F487C;
	padding: 40px 90px;
	min-height: 420px;
	text-decoration: none;
	color: #FFFFFF;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}
.media-cp-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(14,28,74,0.2);
}
.media-cp-date {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #FFFFFF;
	opacity: 0.95;
	margin: 0 0 0 -90px;
}
.media-cp-date::before {
	content: '';
	display: inline-block;
	width: 50px;
	height: 2px;
	background: #2BA89D;
	flex-shrink: 0;
}
.media-cp-title {
	font-family: 'Bebas Neue Pro', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #FFFFFF;
	text-transform: uppercase;
	line-height: 1.4;
	text-align: center;
	margin: auto 0;
}

/* Buttons */
.media-btn {
	display: inline-block;
	border: 1px solid #1F487C;
	color: #1F487C;
	padding: 12px 40px;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
	margin-top: 40px;
	transition: all 0.3s ease;
}
.media-btn:hover {
	background: #1F487C;
	color: #FFFFFF;
}
.media-btn-outline {
	border-color: #1F487C;
}

@media (max-width: 992px) {
	.media-actu-section .col-lg-6,
	.media-cp-section .col-lg-4 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
@media (max-width: 768px) {
	.media-section-title { font-size: 36px !important; margin-bottom: 36px !important; }
	.media-actu-thumb { height: 200px !important; }
	.media-actu-title { font-size: 20px !important; }
	.media-cp-title { font-size: 20px !important; }
	.media-actu-section,
	.media-cp-section { padding: 40px 20px !important; }
}

/* ================================
   HOME — ACTUALITÉS CARDS EQUAL HEIGHT
================================ */
#marbio-actualites .actualite-card {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}
#marbio-actualites .actualite-card > div:last-child {
	display: flex;
	flex-direction: column;
	flex: 1;
}
#marbio-actualites .actualite-card p {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
#marbio-actualites > div > div[style*="grid"] {
	align-items: stretch !important;
}

/* ================================
   SINGLE POST
================================ */
section.single-hero {
	min-height: 460px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center 30%;
	background-color: #0E1C4A;
}
.single-content-section {
	padding: 60px 0;
}
.single-content-inner {
	max-width: 860px;
	margin: 0 auto;
}
.single-meta {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #888888;
	margin-bottom: 20px;
}
.single-post-title {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 36px;
	color: #1F487C;
	border-bottom: 2px solid #EFF1F3;
	padding-bottom: 20px;
	margin: 0 0 30px 0;
	line-height: 1.3;
}
.single-post-content {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 1.8;
	color: #333333;
	max-width: 860px;
}
.single-post-content p { margin: 0 0 20px 0; }

.single-contacts-box {
	margin: 80px 0 40px 0;
}
.single-contact-label {
	background: #1F487C;
	color: #FFFFFF;
	padding: 20px 30px;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
}
.single-contact-info {
	border: 1px solid #EFF1F3;
	padding: 20px 30px;
	height: 100%;
}
.single-contact-item {
	margin-bottom: 10px;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	color: #333333;
	line-height: 1.6;
}
.single-contact-item:last-child { margin-bottom: 0; }
.single-contact-item strong {
	color: #1F487C;
	font-weight: 700;
}
.single-contact-item a {
	color: #2ab5a0;
	text-decoration: none;
}
.single-contact-item a:hover { text-decoration: underline; }

.single-back-wrap {
	margin-top: 40px;
	margin-bottom: 60px;
}
.single-back-btn {
	display: inline-block;
	border: 1px solid #1F487C;
	color: #1F487C;
	padding: 12px 30px;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.3s ease;
}
.single-back-btn:hover {
	background: #1F487C;
	color: #FFFFFF;
}

@media (max-width: 768px) {
	.single-hero-title { font-size: 48px !important; line-height: 52px !important; }
	.single-hero { min-height: 300px !important; }
	.single-post-title { font-size: 26px !important; }
	.single-content-section { padding: 40px 20px !important; }
	.single-contacts-box .col-lg-3,
	.single-contacts-box .col-lg-9 {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.single-contact-label { padding: 16px 20px; }
}

/* ================================
   INNER PAGE HEROES — REDUCE ZOOM
================================ */
section.gouv-hero,
section.mv-hero,
section.part-hero,
section.car-hero,
section.eng-hero,
section.pv-hero,
section.prod-hero,
section.qual-hero,
section.tech-hero,
section.single-hero {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-attachment: scroll !important;
	background-color: #0E1C4A !important;
	width: 100% !important;
	margin: 0 !important;
}
section.gouv-hero img,
section.mv-hero img,
section.part-hero img,
section.car-hero img,
section.eng-hero img,
section.pv-hero img,
section.prod-hero img,
section.qual-hero img,
section.tech-hero img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	background-color: #0E1C4A !important;
	display: block !important;
}

/* ================================
   PHARMACOVIGILANCE — GLOBAL FIXES
================================ */
.pharmacovigilance-page * { box-sizing: border-box; }
body { overflow-x: hidden; }
.pv-hero img,
.pv-section img,
.pharma-intro-section img,
.consultez-section img { max-width: 100%; height: auto; }

/* ================================
   PHARMACOVIGILANCE — MOBILE
================================ */
@media (max-width: 768px) {
  /* General — no horizontal scroll */
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }

  /* Hero */
  .pv-hero {
    height: auto !important;
    min-height: 300px !important;
    padding: 40px 20px !important;
  }
  .pv-hero-title {
    font-size: 48px !important;
    line-height: 52px !important;
  }

  /* Intro section */
  section.pharma-intro-section {
    padding: 40px 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  section.pharma-intro-section .pharma-intro-inner {
    padding: 0 !important;
  }
  .pharma-intro-section p {
    font-size: 18px !important;
    text-align: center !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
  }

  /* Contact banner (navy) */
  .pv-section[style*="1F487C"] {
    padding: 40px 20px !important;
  }
  .pv-contact-grid {
    display: block !important;
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  .pv-contact-grid > div {
    height: auto !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  .pv-contact-grid img,
  .pv-contact-image {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
  }
  .pharma-contact-box {
    width: 100% !important;
    padding: 20px !important;
    font-size: 16px !important;
    max-height: none !important;
    height: auto !important;
    overflow-y: visible !important;
  }

  /* Two buttons section */
  .pv-buttons-row {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 40px 20px !important;
    gap: 0 !important;
  }
  .pv-btn {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 15px 0 !important;
    padding: 15px 20px !important;
    font-size: 14px !important;
    justify-content: center !important;
  }

  /* Footer text section */
  section.pv-section[style*="FFFFFF"] {
    padding: 40px 20px !important;
  }
  .pharma-footer-text {
    font-size: 18px !important;
    text-align: left !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* Site web box */
  .pharma-site-web {
    width: 90% !important;
    max-width: 90% !important;
    margin: 0 auto !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }
  .pharma-site-web a {
    word-break: break-all !important;
    overflow-wrap: break-word !important;
  }

  /* Consultez également */
  .consultez-section {
    padding: 40px 20px !important;
  }
  .consultez-grid {
    display: block !important;
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  .consultez-card {
    width: 100% !important;
    height: 200px !important;
    margin-bottom: 20px !important;
  }
  .consultez-title {
    font-size: 40px !important;
    line-height: 44px !important;
  }
}

/* ================================
   ARCHIVE PAGE
================================ */
.archive-intro {
	font-family: 'Lato', sans-serif;
	font-size: 22px;
	font-weight: 400;
	color: #0E0E3A;
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}
.archive-intro strong,
.archive-intro b {
	font-weight: 800;
	color: #0E0E3A;
}
.archive-card {
	display: block;
	background: #FFFFFF;
	box-shadow: 0 4px 20px rgba(14,28,74,0.08);
	text-decoration: none;
	color: inherit;
	margin-bottom: 30px;
	height: 520px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.archive-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(14,28,74,0.15);
	text-decoration: none;
	color: inherit;
}
.archive-card-img {
	width: 100%;
	height: 240px !important;
	max-height: 240px !important;
	object-fit: cover;
	display: block;
}
.archive-card-placeholder {
	width: 100%;
	height: 240px !important;
	max-height: 240px !important;
	background: linear-gradient(135deg, #1F487C 0%, #0E1C4A 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
}
.archive-card-placeholder span {
	font-family: 'Bebas Neue Pro', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
	line-height: 1.3;
}
.archive-card-body {
	padding: 25px 30px;
}
.archive-card-date {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: #1F487C;
	display: block;
	margin-bottom: 12px;
}
.archive-card-title {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #000000;
	line-height: 1.3;
	display: block;
	margin-bottom: 10px;
}
.archive-card-excerpt {
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	color: #555555;
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.archive-pagination {
	margin: 0 auto;
	text-align: center;
}
.navigation.pagination {
	width: 100%;
	padding: 50px 0;
	display: flex;
	justify-content: center;
}
.nav-links {
	display: flex;
	justify-content: center;
	gap: 16px;
	align-items: center;
	width: 100%;
}
.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #1F487C;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	background: transparent;
	border: none;
	transition: all 0.3s ease;
}
.page-numbers.current {
	background: #1F487C;
	color: #FFFFFF;
}
.page-numbers:hover:not(.current) {
	background: rgba(31, 72, 124, 0.1);
	color: #1F487C;
	text-decoration: none;
}
.page-numbers.next,
.page-numbers.prev {
	font-size: 24px;
	width: 40px;
	height: 40px;
	border: none;
	background: transparent;
	color: #1F487C;
}
.page-numbers.next:hover,
.page-numbers.prev:hover {
	background: transparent;
	color: #2ab5a0;
}
.page-numbers.dots {
	border: none;
	background: transparent;
	color: #1F487C;
	width: auto;
}

@media (max-width: 768px) {
	.arch-hero { min-height: 300px !important; }
	.arch-hero-title { font-size: 48px !important; line-height: 52px !important; }
	.archive-card { height: auto !important; }
	.archive-card-img,
	.archive-card-placeholder { height: 200px; }
	.archive-card-title { font-size: 17px; }
}

/* Search bar mobile */
@media (max-width: 768px) {
	.navbar-search-wrapper.active { padding: 16px 20px !important; }
	.navbar-search-wrapper .search-field { font-size: 16px !important; }
	.navbar-search-wrapper .search-submit { padding: 12px 16px !important; font-size: 12px !important; }
}

/* ================================
   MEDIA + SINGLE — MOBILE
================================ */
.media-actu-section img,
.media-cp-section img,
.single-content-section img { max-width: 100%; height: auto; }

@media (max-width: 768px) {
  /* ---- page-media.php ---- */

  /* Hero */
  section.media-hero {
    height: auto !important;
    min-height: 300px !important;
    padding: 40px 20px !important;
  }
  .media-hero-title {
    font-size: 48px !important;
    line-height: 1.1 !important;
  }

  /* Actualités */
  .media-actu-section { padding: 40px 20px !important; }
  .media-actu-section .col-lg-5 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
  .media-actu-card {
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }
  .media-actu-thumb { height: 220px !important; }
  .media-actu-title { font-size: 20px !important; }
  .media-actu-excerpt { font-size: 14px !important; }

  /* Communiqués de presse */
  .media-cp-section { padding: 40px 20px !important; }
  .media-cp-section .col-lg-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
  }
  .media-cp-card {
    min-height: 150px !important;
    padding: 30px 40px !important;
  }
  .media-cp-date {
    font-size: 14px !important;
    margin-left: -40px !important;
  }
  .media-cp-date::before { width: 30px !important; }
  .media-cp-title { font-size: 18px !important; }

  /* Buttons */
  .media-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 12px !important;
    padding: 12px 20px !important;
    box-sizing: border-box !important;
  }

  /* ---- single.php ---- */

  /* Hero */
  section.single-hero {
    height: auto !important;
    min-height: 220px !important;
    max-height: 300px !important;
    padding: 30px 20px !important;
    background-size: cover !important;
    background-position: center center !important;
  }
  .single-hero-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }

  /* Post content */
  .single-content-section { padding: 30px 15px !important; }
  .single-content-inner {
    max-width: 100% !important;
    padding: 0 5px !important;
  }
  .single-meta { font-size: 14px !important; }
  .single-post-title { font-size: 24px !important; }
  .single-post-content {
    font-size: 16px !important;
    line-height: 1.7 !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  .single-post-content img {
    max-width: 100% !important;
    height: auto !important;
  }
  .single-post-content iframe,
  .single-post-content video,
  .single-post-content embed {
    max-width: 100% !important;
  }

  /* Contacts presse */
  .single-contacts-box .col-lg-3,
  .single-contacts-box .col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .single-contact-label {
    width: 100% !important;
    padding: 15px !important;
    font-size: 14px !important;
  }
  .single-contact-info {
    width: 100% !important;
    padding: 15px !important;
    font-size: 14px !important;
  }
  .single-contact-item { font-size: 14px !important; }
  .single-contact-item a {
    word-break: break-all !important;
    overflow-wrap: break-word !important;
  }

  /* Back button */
  .single-back-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  .media-hero-title,
  .single-hero-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }
}
