@charset "UTF-8";
/* ============================================================================
   RESPONSIVE.CSS — Fichier unique fusionné
   ----------------------------------------------------------------------------
   Remplace : rwd.css + rwd_smart.css + patch-ecrans-15-pouces.css
   Ne remplace PAS : menu-patch.css (comportement du méga-menu, à garder
   séparé et chargé APRÈS ce fichier, comme avant).

   ORDRE DE CASCADE CONSERVÉ À L'IDENTIQUE :
   1. Règles globales (état par défaut desktop)
   2. Ex-rwd.css       (grands écrans -> jusqu'à 989px inclus)
   3. Ex-rwd_smart.css (767px -> 359px)
   4. Ex-patch-ecrans-15-pouces.css (990px-1650px, doit rester APRÈS
      la section 2 : ses règles corrigent volontairement certaines
      règles de la section 2 sur la plage 1281-1600px qui se chevauche)

   ⚠ ZONE À SURVEILLER (repérée lors de la fusion) :
   Entre 768px et 989px, seule la grosse section §2 (@media max-width:989px)
   s'applique. Aucune des règles fines de la section §3 (qui ne démarre qu'à
   767px) ne vient la compléter. Si un bug apparaît uniquement dans cette
   tranche de largeur, c'est le premier endroit à regarder.
   ============================================================================ */

/* Les 4 cartes de ".items.its_4.itsMulti" restent sur une seule ligne, avec un vrai espacement, à partir de 768px */
@media all and (min-width: 768px) {
	body .items.its_4.itsMulti,body .items.its_3.itsMulti {
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none !important;
		box-sizing: border-box !important;
		gap: 16px !important;
	}
	body .items.its_4.itsMulti .item, body .items.its_3.itsMulti .item {
		width: calc((100% - 48px) / 4) !important; /* 48px = 3 x gap 16px */
		flex: 0 1 auto !important;   /* peut rétrécir un peu si besoin, ne mange plus le gap */
		min-width: 0 !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}
	body .items.its_4.itsMulti .item .int .textBox,
	body .items.its_3.itsMulti .item .int .textBox {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}
	body.not-front .items.its_4.itsMulti .item .int .textBox,
	body.not-front .items.its_3.itsMulti .item .int .textBox {
		width: auto !important;      /* neutralise le 255px fixe, s'adapte à la carte */
		margin-left: 15px !important;
		margin-right: 15px !important;
		box-sizing: border-box !important; /* le padding:25px ne doit pas dépasser de la largeur */
	}
}
/* 768px → 989px : 2 cartes en haut, 2 en bas */
@media all and (min-width: 768px) and (max-width: 989px) {
	body .items.its_4.itsMulti, body .items.its_3.itsMulti {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}
	body .items.its_4.itsMulti .item, body .items.its_3.itsMulti .item {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
	}
	.item .dateBox.dateSeule .dateT{
		width: 68%!important;
	}
}

/* À partir de 990px : les 4 cartes sur une seule ligne (règle existante, plage ajustée) */
@media all and (min-width: 990px) {
	
	body .items.its_4.itsMulti {
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none !important;
		box-sizing: border-box !important;
		gap: 16px !important;
	}
	body .items.its_4.itsMulti .item {
		width: calc((100% - 48px) / 4) !important;
		flex: 0 1 auto !important;
		min-width: 0 !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}
}

/* ============================================================================
   SECTION 1 — RÈGLES GLOBALES (état par défaut, non responsive)
   Ex-rwd.css, lignes hors media query.
   ============================================================================ */
.bNav,
.bNavRech,
.zMenu .accessBox,
.tab,
.tab2,
.smart,
.bTab .act,
.bTab2 .act,
.bSmart .act,
.footer .bRWD,
.bNavi .act,
.fermerMenu,
.navi ul li .menuOpen {
	display:none;
}
.bSmart .zone,
.bTab .zone,
.bTab2 .zone {
		display: block;
}
.siteAuto .siteAuto {
	/* 🔧 BUG CORRIGÉ lors de la fusion : le mot "ferme" trainait ici
	   (".siteAuto .siteAuto {ferme") ce qui rendait cette règle CSS
	   invalide et donc totalement ignorée par le navigateur. */
	max-width:100% !important;
}


/* ============================================================================
   SECTION 2 — EX-RWD.CSS (grands écrans jusqu'à 989px inclus)
   ============================================================================ */

@media all and (min-width: 1281px) and (max-width: 1600px) {
    /* 1. Corriger la largeur du site */
    .siteAuto,
    .site1,
    .nod1 .siteAuto {
        max-width: 95% !important;
    }

    /* 2. Corriger le menu */
    .navi {
        width: 100%;
        /*overflow-x: auto;*/
    }

    .navi ul li {
        white-space: nowrap;
        padding: 0 10px;
    }

    /* 3. Corriger les cartes */
    .items.its_4.itsMulti {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 15px !important;
    }

    .path-page-thematique .items.itsMulti .item {
        width: 30% !important;
        margin: 0 1.5% !important;
    }

    .path-page-thematique .items.itsMulti .item .int .textBox {
        margin-top: -80px !important;
        width: 90% !important;
    }

    /* 4. Corriger les sous-menus */
    .ul-parent-main.niv0 > .li-item-main.li-0 > .ul-child-main.niv1 {
        width: auto !important;
        max-width: none !important;
    }
}
 @media all and (max-width: 1570px) and (min-width: 1281px) {
    .siteAuto,
    .site1,
    .site1 .siteAuto,
    .nod1 .siteAuto {
        max-width: 95%; /* ou 1200px */
    }
	
}
@media all and (max-width: 1570px) { /* LARGEURS */
	.siteAuto {
		margin-left:auto;
		margin-right:auto;
	}
	.paraVue .siteAuto,
	.siteAuto,
	.site1,
	.site1 .siteAuto {
		max-width:92%;
	}
}
@media all and (max-width: 1410px) {
	.nod1 .siteAuto {
		max-width:92%;
	}
}
@media all and (max-width: 1280px) {
	 .site2, .nod2 .siteAuto, .site2 .siteAuto {
        max-width: 95%; /* Plus flexible */
    }
}
@media all and (max-width: 1160px) {
	.site2,
	.nod2 .siteAuto {
		max-width:92%;
	}
	.site2 .siteAuto {
		max-width:none;
	}
}
@media all and (max-width: 900px) {
	.site3,
	.nod3 .siteAuto,
	.site3 .siteAuto {
		max-width:92%;
	}
}
/* FIN LARGEURS */
@media all and (min-width: 768px) {
	.zSmenu {
		display: block !important;
	}
}
@media all and (max-width: 1150px) {
	.not-node .art {
		padding-bottom: 45px;
	}
}
/*** FIN RWD ***/
/*** DEBUT 989 ***/
@media all and (max-width: 989px) {
	.zMenu .accessBox,
	.bNavRech,
	.tab,
	.bNavi .act,
	.tdSiteName .siteSlogan {
		display:block;
	}
	.bNavi .act {
		display:flex;
	}
	.roleAdmin .adminFixed,
	.navi ul li.not-parent .menuOpen,
	.head3 .accessBox,
	.head_rech {
		display: none !important;
	}
	.siteSlogan,
	.bMenuNav .zone,
	.menuBas .menuOpen,
	.ordi,
	.bTab .zOpen {
		/* 🔧 BUG CORRIGÉ lors de la fusion : c'était ".head2 .siteSlogan",
		   un sélecteur qui ne correspond à rien dans le HTML réel
		   (.siteSlogan est en fait dans .head1). Cette règle ne s'est
		   donc JAMAIS appliquée, et sur la plage 768-989px, le slogan
		   restait affiché, se cassait sur 3 lignes dans le header fixe
		   de 100px de haut, et débordait par-dessus la bannière photo
		   juste en dessous — c'est le bug visible sur la capture de la
		   page d'accueil. */
		display: none;
	}
	.bFd {
		z-index:auto;
	}
	.bTab .zone {
		position: absolute;
	}
	.front div[role='contentinfo'],
.node-type div[role='contentinfo'] {
	width: 90%;
	margin-left: -45%;
}
	.accessBox > .int {
  justify-content: center;
}
	.zSuite {
	position:relative;
	width:auto;
	margin:3px 0px 6px 0px;
}
	
	.bRoll.actif > .zone {
	display: block;
}
	p {
    margin: 20px 0px;
}
	.vueFlex .items {
	justify-content: center;
}
	.img img, .texte img {
    max-height: 500px;
}
.img img[data-align='right'],
.texte img[data-align='right'],
.img img[data-align='left'],
.texte img[data-align='left'] {
	margin:10px auto;
	float: none;
	max-width:none;
}
	/* tables RWD  */
	.acts .ic {
    	display: block;
		margin:5px 0px;
	}
	/* fin tables RWD  */
	
		/* NAV MENU 1 RWD  */
	.toolbar-fixed .header {
	top:38px !important;
}
	.block-user-login-block {
		max-width: 400px;
		margin:auto;
	}
	.header {
		position: fixed;
		width: 100%;
		height: 100px;
		top:0;
		background: #FFF;
		z-index: 100;
		box-shadow:0px 0px 6px rgba(0,0,0,0.3);
	}
	.tabLogo {
		height: 100px;
	}
	.main {
    padding-top: 100px;
}
	.flexHead {
		display: block;
	}
	.header.abs {
		position:absolute;
	}
	.boxNav,
	.header1, .head {
  height: 0;
}
	.head {
    	position: absolute;
		top:0;
		height: auto;
	}
	.navi {
		height: auto;
		display: block;
	}
	.espaceMembre .header{
		    height: 103px;
	}
	.head1 {
    	z-index: 20;
		width: 48%;
		left:2%;
		top:38px;
	}
	.head3,
	.head2 {
		width:100% !important;
		left: 0;
	}
	.head3 {
    	text-align: left;
	}
	.bMenuNav .zone {
    margin-top: 100px;
}
	.boxNav .site {
    	max-width:none;
		position: absolute;
		top:0px;
		width:100%;
	}
	.navi ul ul,
	.navi {
		background-color: #FFF;
	}
	.bMenuNav .box_act {
		position: absolute;
		top:18px;
		width:100px;
		text-align: center;
		margin:0px;
		z-index: 200;
	}
	
	.bMenuNav.bNavi .box_act {
		right:20px;
	}
	.bMenuNav.bUser .box_act {
		right:150px
	}
	.block-language {
		position: absolute;
		right: 10px;
		top:25px;
	}
	.text-sizing {
		display: flex;
		justify-content: center;
	}
	/* FIN NAV MENU 1 RWD  */
	/* NAVIGATION */
	.navi ul li.li-expanded.active > ul,
	.navi ul li.li-expanded > span.menuOpen {
		display: block;
	}
	.navi ul li.li-expanded > ul {
		display: none;
	}
	.navi ul ul {
    	background:none;
	}
	.navi a.is-active::after {
    	display: none;
	}
	.navi ul ul {
		position: relative;
		width: auto;
	}
	.navi ul li:hover > span,
	.navi ul li:hover > a {
		background-color: rgba(0,50,100, 0.13);
		color: #ffcc00 !important;
	}
	.navi ul li {
		display: block !important;
		text-align: left;
		border-bottom:1px solid rgba(0,50,100, 0.13);
	}
	.navi ul li a {
		display: block !important;
		text-align: left;
	}
	.navi ul .li-0.active, 
	.navi ul li.active > a, 
	.navi li.active > span:not(.menuOpen) {
    	background-color:rgba(0,50,100, 0.13);
		position: relative;
	}
	.navi ul .li-0 span, .navi ul .li-0 a {
    	padding: 16px 65px 16px 45px;
		color:#000;
	}
	.navi ul .li-0 ul li span:not(.menuOpen),
	.navi ul .li-0 ul li a {
		padding: 12px 105px 12px 85px;
	}
	.navi ul li.li-parent span.menuOpen {
		position: absolute;
		right: 20px;
		top:5px;
		height: 45px;
		width: 45px;
		background: url('../images/icons/fleche_menu_open.svg') no-repeat center;
		background-size:40px auto;
		padding:0px;
		z-index: 20;
	}
	.navi ul li ul li span.menuOpen {
		top:0px;
	}
	.navi ul ul ul {
    	left: 0px;
	}
	.navi ul li.li-expanded.active > span.menuOpen,
	.navi ul ul li span.menuOpen.actif {
		background-image: url('../images/icons/fleche_menu_open.svg');
	}
	.navi ul li.li-expanded.active > span.menuOpen:hover {
		background-image: url('../images/icons/fleche_menu_open.svg') !important;
	}
	.navi ul li span.menuOpen:hover {
		background-image: url('../images/icons/fleche_menu_open.svg') !important;
		cursor: pointer;
	}
	/* FIN NAVIGATION */
	
	.tabHead .zone > div {
    padding:35px;
}
	.tabHead .zone {
    padding: 40px 0%;
}
	.bNavRech form {
		display: flex;
		align-items: center;
		width:80%;
		margin:0px auto;
		padding:25px 0px;
	}
	.bNavRech form .js-form-item {
		width:80%;
	}
	.bNavRech form .js-form-item input {
		width:90%;
	}
	.bNavRech form input {
		margin:0px !important;
	}
	.bNavPageHead {
		padding:25px 0px;
	}
	.front div[role="contentinfo"], 
	.node-type div[role="contentinfo"] {
    width: 92%;
margin-left: -48%;
padding-left: 2%;
padding-right: 2%;
}
	.chapo_diapo {
	font-size: 1em !important;
}
	.views-exposed-form #edit-actions {
    display: block;
}
	.mediaPrincipal .taille3 .mMedia.notImg {
	max-width:90%;
}
.mediaPrincipal .taille2 .mMedia.notImg {
	max-width: 70%;
}
.mediaPrincipal .taille1 .mMedia.notImg {
	max-width: 55%;
} 
	/* ls listes */
	.item, .vLogo, .mFile {
  margin-top: 13px;
  margin-bottom: 13px;
}
	.notCenter.hSmall .logos, .notCenter.hSmall .filesBox, .lsGrid.ls4 .items {
  grid-template-columns: repeat(auto-fill, 31.5%);
  grid-gap: 0 0.5%;
}
	.notCenter .iBox, .notCenter .logos, .notCenter .filesBox, .lsGrid.ls3 .items {
  grid-template-columns: repeat(auto-fill, 48%);
  grid-gap: 0 2%;
}
	.notCenter.hLarge .logos, .notCenter.hLarge .filesBox, .lsGrid.ls2 .items {
  display: block
}
	.hLarge .mFile {
  margin-left: auto;
		margin-right: auto;
  max-width: 550px;
}
	/* fin ls listes */
	/* lsTouch */
	.lsTouch .items,
	.lsTouch .logos {
    	overflow-x: scroll;
		overflow-y: hidden;
		scrollbar-width: none;
		grid-template-columns:auto;
		grid-gap: 0;
		display: flex !important;
		flex-wrap: nowrap !important;
		margin-right: -4% !important;
		margin-left:-4% !important;
		padding-right:4% !important;
		padding-left:4% !important;
		justify-content: flex-start;
		padding-bottom: 15px;
	}
	.lsTouch .logos .vLogo,
	.lsTouch .items .item {
		flex-shrink: 0;
		min-height:100px;
		width:57%;
		margin-right: 3%;
	}
	.lsTouch .logos .vLogo:last-child,
	.lsTouch .items .item:last-child {
		margin-right: 0px !important;
	}
	/* fin lsTouch */
}
/*** FIN 989 ***/


/* ============================================================================
   SECTION 3 — EX-RWD_SMART.CSS (767px -> 359px)
   ============================================================================ */

@charset "UTF-8";
/*** DEBUT 767 ***/
@media all and (max-width: 767px) {
	.items.its_3.itsMulti{
		    gap: 1px;
    flex-direction: column;
	}
	.bandeauDiapo .itDiapo h2{
		
    font-size: 42px;
	}
	.mobileH{
		background: #f2f2f2;
  padding: 24px;
  border: 1px solid #FFD700;
  margin-left: 10px;
    margin-right: 10px;
	}
	.mobileH .disMob{
	display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: stretch;
    align-content: stretch;
    gap: 24px;
	}
	.navi div:first-of-type{
		width: 100%;
	}
	.contentResR{
		grid-template-columns: 1fr;
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: none;
    grid-template-columns: auto;
    grid-gap: 0px;
    display: flex !important;
    flex-wrap: nowrap !important;
    margin-right: -4% !important;
    margin-left: -4% !important;
    padding-right: 4% !important;
    padding-left: 4% !important;
    justify-content: flex-start;
    padding-bottom: 15px;
	}
	.post-reseau-social{
		position: relative;
  overflow: hidden;
  border-radius: 0px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  width: 78%!important;
  flex-shrink: 0;
  margin-right: 3%;
  min-height: 100px;
	}
	.publications-grid{
		grid-template-columns: 1fr;
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: none;
    grid-template-columns: auto;
    grid-gap: 20px;
    display: flex !important;
    flex-wrap: nowrap !important;
   /* margin-right: -4% !important;
    margin-left: -4% !important;
    padding-right: 4% !important;
    padding-left: 4% !important;
    justify-content: flex-start;*/
    padding-bottom: 15px;
	        flex-direction: column;
	}
	.publication-card{
		position: relative;
  overflow: hidden;
  border-radius: 0px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  width: 100%;
  flex-shrink: 0;
  margin-right: 3%;
  min-height: 100px;
	}
	.overlay_text{
		transform: none!important;
	}
	#aeroport_search_form{
		flex-direction: column;
	}
	.search-container{
		padding: 0px!important;
		align-items:left!important;
		overflow: hidden;
	}
	/*.post-reseau-social{
		width: 100%!important;
	}*/
	.nav-container{
display: none;
	}
	.jDiaporama h2.titre{
		font-size: 28px!important;
	}
	.item .dateBox.dateSeule .dateT{
		width: 45%;
	}
	.item h3.titre {
  font-size: 17px;
}
	.bMenuNav .act .ic{
		padding-top: 21px;
  margin-right: -5px;
	}
	.bMenuNav .act .txt{
		line-height: 8px;
	}
	.flexIcon{
		display: none;
	}
	.navi ul .li-0 ul li span:not(.menuOpen), .navi ul .li-0 ul li a{
		padding: 13px!important;
	}
ul.niv2{
		background: #fff!important;
	}
	.li-2 a,.navi ul ul li.li-2 span{
		color:#000!important;
	}
	.navi ul{
		display: block;
	}
	.siteSlogan{
display: none;
	}
	.bNav,
	.tab2,
	.bTab2 .act {
		display:block;
	}
	.bNavHead,
	.bTab2 .zOpen {
		display:none;
	}
	.align-left,
.cke_editable .align-left,
.align-right,
.cke_editable .align-right {
	float: none !important;
	margin:30px auto !important;
}
	.bOver .pop,
	.pFixe {
    	top: 2%;
    	width: 90%;
    	margin:0px 0px 0px -45%;
		max-height: 96%;
	}
	.bTab2 .zone {
		position: absolute;
	}
	form label:not(.option), .formulaire th {
		display: block;
    	width:auto;
    	padding: 15px 0px 2px 0px;
	}
	.h1, h1 {

  font-size:34px;
}
img{
	width: 100%;
    height: auto;
}
	h2 {
  margin: 25px 0 20px 0;
  font-size: 1.4em;
}
	h3 {
	margin:20px 0 15px 0;
	font-size:1.22em;
}
	.citation h3 {
  font-size: 1.12em;
}
h4 {
	margin:15px 0 12px 0;
	font-size:1.12em;
}
h5 {
	margin:12px 0 7px 0;
	font-size:1.07em;
}
	.text ol li, 
	.cke_editable ol li, 
	ol.text li {
    margin: 0.7em 20px;
}
	.box, .margTB, .msg {
    margin: 45px 0px;
}
	.not-node .art {
	padding-bottom: 25px;
}
	.intTag .textBox > .int {
    padding:0px;
}
	.intTag {
    display: block;
}
	.intTag .textBox,
.intTag .media {
    width:auto;
}
	.intTag .media {
    max-width:360px;
}
	.vueTags {
    padding-bottom: 35px;
}
	.user_page .photo {
    width: 150px;
    height: 150px;
}
	.taille3 .doc iframe {
  height: 550px;
}
	.center .iBox .iBloc, 
	.center .logos .vLogo, 
	.center .filesBox .mFile, 
	.lsFlex.ls3 .item, 
	.lsFlex.ls4 .item {
  width: 45%;
}
	.ls2 .items {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 0;
}
	.notCenter.hSmall .logos, .notCenter.hSmall .filesBox, .lsGrid.ls4 .items {
  grid-template-columns: repeat(auto-fill, 48%);
  grid-gap: 0 2%;
}
	.notCenter .iBox {
  display: block;
}
/* lsTouch */
	.lsTouch .logos .vLogo,
	.lsTouch .items .item {
   		width: 78%;
    	flex-shrink: 0;
    	margin-right: 3%;
    	min-height: 100px;
	}
	.vContenu.ls1 .mediaBox {
  		width: 100%;
	}
	/* fin lsTouch */

	/* ===== TABLEAU RESPONSIVE (ex: liste publications cols-3) ===== */
	table.cols-3 {
		display: block;
		width: 100%;
		border: none;
		border-collapse: collapse;
	}
	table.cols-3 thead {
		display: none; /* on cache l'entête, remplacée par des labels par ligne */
	}
	table.cols-3 tbody,
	table.cols-3 tr {
		display: block;
		width: 100%;
	}
	table.cols-3 tr {
		margin-bottom: 20px;
		padding: 18px;
		background: #FFF;
		border: 1px solid #EFEFEF;
		border-radius: 10px;
		box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	}
	table.cols-3 td {
		display: block;
		width: 100% !important;
		padding: 6px 0 !important;
		border: none !important;
	}
	/* Titre = mis en avant comme un titre de carte */
	table.cols-3 td.views-field-title {
		font-weight: 700;
		font-size: 1.1em;
		margin-bottom: 6px;
	}
	table.cols-3 td.views-field-title a {
		color: #1A1A1A;
		text-decoration: none;
	}
	/* Intro : pas de label, juste le texte en dessous du titre */
	table.cols-3 td.views-field-field-introduction p {
		margin: 0;
		font-size: 0.92em;
		color: #555;
		line-height: 1.4em;
	}
	/* Date : petite étiquette en haut de la valeur */
	table.cols-3 td.views-field-created {
		margin-top: 8px;
	}
	table.cols-3 td.views-field-created::before {
		content: "Date : ";
		font-weight: 700;
		color: #999;
		font-size: 0.8em;
		text-transform: uppercase;
	}
	table.cols-3 td.views-field-created time {
		font-size: 0.9em;
		color: #666;
	}
	/* ===== FIN TABLEAU RESPONSIVE ===== */
}
/*** FIN 767 ***/
/*** DEBUT 639 ***/
@media all and (max-width: 639px) {
	html {
		font-size:15px;
	}
	body {
    	padding-top: 0px !important;
	}
	.type-article .dateT{
		width: 100%;
	}
	.content2{
		flex-direction: column;
	}
	.head1 {
        top: 34px;
        transform: translateY(-50%);
    }
	.tdSiteName,
	#block-sitebranding-2,
	.header .bRWD,
	#toolbar-administration {
		display: none;
	}
	.bSmart .zOpen {
		display: none;
	}
	.smart,
	.bSmart .act,
	.footer .bRWD {
		display:block;
	}
	.bSmart .zone {
		position: absolute;
	}
	.tabSmart,
	.tabSmart .td {
		display: block;
		width:auto;
	}
	.posCote .int{
		padding:0px;
	}	
	.ariane {
  padding-top: 7px;
}
	/* NAV */
	.bVertical .menu .menu,
	.bVertical .menu .menu .menu,
	.bHorizontal .menu .menu,
	.bHorizontal .menu .menu .menu {
		position: relative;
		left:auto;
		top:auto;
		width:auto;
	}	
	
	.navi .li-0 > span, .navi .li-0 > a {
    padding: 16px 25px;
}
	.navi ul ul li span, .navi ul ul li a {
    padding-left: 25px;
}
	.bMenuNav .zone {
    	margin-top: 95px;
		min-width: 0px;
}
	/* FIN NAV */
	.node--unpublished .h1_page::before {
    font-size: 16px;
    padding: 5px 15px;
    width: 150px;
}
	.bNavRech form {
    	width: 90%;
	}
	.tabHead .zone > div {
    padding: 20px;
}
	.chapo {
    font-size: 1.1em;
}
	.headFixe .header,
	.tabLogo,
	.logo img,
	.header {
    	height: 70px;
}
	.siteLogo {
		max-height: 50px;
	}
	.main {
    padding-top: 68px;
}
	.nod2 {
    padding-top: 0px;
}
	.mediaPrincipal .mMedia {
		margin-bottom: 20px;
	}
	.actionsNode,
	.para,
	.filesBox,
	.mediaPrincipal {
    margin: 20px 0px;
}
	.footer {
		padding:20px 0 60px 0;
	}
	.footer a {
    display: inline-block;
		padding:6px 12px;
		margin:0px;
}
	.numberListe::before {
    left: 0px;
}
	.numberListe span {
    font-size: 1.4em;
    left: 4px;
}
	.foot1 .zOpen {
    	right: auto;
		margin:0px;
		position: absolute;
		left:0px;
		top:0px;
		width:98%;
		background: #FFF;
		border:1px solid #ccc;
		bottom:76px;
	}
	.footer {
		position: relative;
		z-index: 10;
	}
	.foot .bOne {
		position: inherit;
	}
	/* tables RWD */
	.tabSmart .lab {
    	display: block;
	}
	.tabSmart > thead,
	.tabSmart:not(.vue) > tbody > tr > th {
		display: none;
	}
	.tabSmart,
	.tabSmart > tbody,
	.tabSmart > tbody > tr,
	.tabSmart > tbody > tr > th,
	.tabSmart > tbody > tr > td {
		display: block;
		width:auto !important;
		border:0px !important;
	}
	.tabSmart > tbody > tr {
		position: relative;
		border-bottom:1px solid #ccc !important;
		padding:4px 10px;
	}
	.tabSmart > tbody > tr > td {
		display: inline-block;
		padding:1px 3px;
	}
	.vue.tabSmart > tbody > tr > td {
		padding-left:0px;
		padding-right:0px;
	}
	.tabSmart td.intitule {
		display: block;
	}
	.tabSmart td.acts {
		position: absolute;
		right:-5px;
		top:0px;
		padding:0px;
	}
	.acts .ic {
    	display: block;
		margin:5px 0px;
	}
	/* fin tables RWD  */
	.ictxt::after {
    	left:auto;
		right:0px;
	}
	
	.tabSmart .lab {
		color:#666;
		font-size:11px;
		display: inline-block;
	}
	.siteName a {
    font-size:14px;
		max-width: 90px;
}
	.toTop {
    	bottom: 30px;
    	right: 0px;
		height:30px;
		width:30px;
		background-position: center;
	}
	.navi ul .li-0 span, .navi ul .li-0 a {
    padding-left:25px;
		font-size: 1em;
}
	.navi ul .li-0 ul li span, .navi ul .li-0 ul li a {
    padding-left:35px;
		padding-right: 80px;
}
	.bMenuNav .box_act {
    top:17px;
		border-radius:0px;
	width: 100px;
}
	.bMenuNav .act .ic {
  width: 36px;
  height: 36px;
}
	.bMenuNav.bNavi .box_act {
    right: -9px;
}
	.bMenuNav.bUser .box_act {
    right: 100px;
}
	p {
    margin: 15px 0px;
}
	.boxForm {
    padding-bottom: 20px;
}
	.box, .margTB, .msg {
    margin: 30px auto;
}
	.front .nod h1 {
    margin-top: 0px;
}
	.cke_editable ul, ul.texte, ol.texte, .text ul, .text ol {
    margin: 20px 0px;
}
	input.submit, .submit, .submit a, .submit input, input[type="submit"], input[type="button"] {
margin: 10px 0px;
width:auto;
}
	.titreVue h2 {
    font-size: 1.8em;
}
	.retour, .pageSuivante {
    padding:10px;
}
	.nod2 .intNod {
    margin-right: 0px;
}
	.numberListe::before {
    height: 30px;
    width: 30px;
}
	.retour a, .pageSuivante a {
    background-size: auto 30px;
    padding: 15px 30px;
    font-size: 1.35em;
}
	.retour a:hover, .pageSuivante a:hover {
    background-size:auto 35px;
}
	.navi ul li span.menuOpen {
    right: 6px;
}
	.ls1 .it > .int {
    flex-direction: column;
}
	.ls1 .mediaBox {
  width: 100% !important;
  margin-right: 0;
}
.siteAuto .itemAuto .intD2 {
	height: 100%;
}
	.views-exposed-form .form-item {
    display: block;
}
	.bRech input[type="submit"] {
    padding-left: 10px;
		padding-right: 10px;
}
	.user_page {
    display:block;
}
	.nod2 .para h2 {
    padding-left: 12px;
}
	.vuePage {
    margin-left:0;
	margin-right:0;
}
	.pager__items li a {
    width: 33px;
    height: 33px;
}
	.fc-toolbar > * > :not(:first-child) {
    margin-left: 0em;
}
	.fc-left .fc-button-group {
		text-align: left;
		display: flex;
		flex-direction: column;
	}
	.fc-right .fc-button-group {
		text-align: right;
		display: flex;
		flex-direction: column;
	}
	.fc-button {
    border: 1px solid transparent;
    padding: 0px 5px;
    border-radius: 5px !important;
		margin:2px 0px;
		font-size: 13px;
		width:80px;
}
	.search-form .form-search {
    padding: 10px 2%;
    width: 92%;
}
	.path-search .block-system-main-block ol li {
    margin: 20px 0px 20px 30px;
}
	.path-search .block-system-main-block h2 {
    font-size: 1.6em;
    margin: 20px 0px;
}
	.it_rech {
	padding:15px 25px;
}
	.path-search .block-system-main-block ol li h3 {
    font-size: 1.1em;
}
	.taille2 .doc iframe,
	.taille3 .doc iframe {
  height: 400px;
}
	/* ls listes */
	.ls1.avecCadre.avecRadius:not(.mFond) .item .mediaBloc,
.ls1.avecCadre.avecRadius:not(.mFond) .item iframe,
.ls1.avecCadre.avecRadius:not(.mFond) .item video,
.ls1.avecCadre.avecRadius:not(.mFond) .item audio,
.ls1.avecCadre.avecRadius:not(.mFond) .item .bimg,
.ls1.avecCadre.avecRadius:not(.mFond) .item .bimg .im {
	border-radius:20px 20px 0 0;
}
	.ls1 .textBox {
  width: 100%;
}
	.center .iBox, 
	.center .logos, 
	.center .filesBox, 
	.lsFlex.ls2 .items, 
	.lsFlex.ls3 .items, 
	.lsFlex.ls4 .items {
  margin-right: 0;
  margin-left:0;
}
	.ls1 .item,
	.center .iBox .iBloc, 
	.logos .vLogo, 
	.filesBox .mFile, 
	.lsGrid .item,
	.lsFlex.ls2 .item,
	.lsFlex.ls3 .item,
	.lsFlex.ls4 .item {
		max-width: 400px;
  	width: 100%;
		margin-left:auto;
		margin-right:auto;
}
	.mediaPrincipal .taille3 .mMedia.notImg,
.mediaPrincipal .taille2 .mMedia.notImg,
.mediaPrincipal .taille1 .mMedia.notImg {
	max-width: 100%;
} 
	.filesBox,
	.hSmall .filesBox,
	.hMedium .filesBox,
	.hLarge .filesBox {
	display: block;
}
	.hLarge .mFile,
	.mFile,
	.hSmall .mFile {
	margin-top: 15px;
	margin-bottom: 15px;
} 
	.notCenter.hSmall:not(.lsTouch) .logos, 
	.notCenter.hSmall:not(.lsTouch) .filesBox, 
	.notCenter:not(.lsTouch) .iBox, 
	.notCenter:not(.lsTouch) .logos, 
	.notCenter:not(.lsTouch) .filesBox, 
	.lsGrid.ls3:not(.lsTouch) .items,
	.lsGrid.ls4:not(.lsTouch) .items {
  		display: block;
	}
	/* fin ls listes */
	.citation {
  padding: 15px 0px;
}
}
/*** FIN 639 ***/
/*** DEBUT 359 ***/
@media all and (max-width: 359px) {
	
}
/*** FIN 359 ***/

/* ============================================================================
   SECTION 4 — EX-PATCH-ECRANS-15-POUCES.CSS (990px-1650px)
   Volontairement placée APRÈS la section 2 : certaines règles ci-dessous
   (ex: .items.its_4.itsMulti, .navi) ciblent les MÊMES sélecteurs que des
   règles de la section 2 sur la plage 1281-1600px. Comme elles arrivent
   plus tard dans le fichier, à spécificité égale, ce sont CES règles-ci
   qui l'emportent — c'est le comportement voulu et déjà en place
   aujourd'hui (patch-ecrans-15-pouces.css était chargé en dernier).
   ============================================================================ */

@charset "UTF-8";
/* ==========================================================================
   PATCH — Correction du bug d'affichage sur écrans ~15" (990px à 1650px)
   À charger APRÈS norm.css, rwd.css et rwd_smart.css (dernier dans l'ordre)
   pour que ces règles gagnent la cascade CSS.
   ========================================================================== */

@media all and (min-width: 990px) and (max-width: 1650px) {

	/* --------------------------------------------------------------------
	   1. MENU PRINCIPAL — le vrai bug
	   Cause : #block-karyans-main-menu a "width:100%" ET .head_rech a une
	   largeur fixe, tous les deux dans .navi (flex-wrap:nowrap). Les deux
	   réclament plus de place que ce que .navi possède => le menu déborde
	   et chevauche la recherche + l'icône profil.
	   Correctif : le bloc menu devient élastique (flex:1, min-width:0) et
	   défile horizontalement en interne si besoin, pendant que le bloc
	   recherche garde sa largeur réelle sans être écrasé.
	   -------------------------------------------------------------------- */
	.hide{
		display: none;
	}
	.siteLogo{
		display: flex;
		height: auto;
	}
	.siteSlogan{
		    margin-left: 12px;
	}
	.espaceMembre .navi ul li{
		padding: 2px;
	}
	   .navi {
		flex-wrap: nowrap;
	}

	#block-karyans-main-menu {
		width: auto;
		flex: 1 1 auto;
		min-width: 0; /* essentiel : autorise un flex-item à rétrécir sous son contenu */
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none; /* Firefox */
		-ms-overflow-style: none;
	}
	#block-karyans-main-menu::-webkit-scrollbar {
		display: none; /* Chrome / Edge / Safari */
	}

	.navi ul.ul-parent-main.niv0 {
		flex-wrap: nowrap;
		width: max-content;
	}

	/* on resserre un peu les items pour que le maximum tienne sans scroll */
	.navi ul .li-0 > a,
	.navi ul .li-0 > span {
		padding: 5px 9px;
		font-size: 0.93em;
		white-space: nowrap;
	}

	/* --------------------------------------------------------------------
	   1ter. BLOC RECHERCHE TROP LARGE
	   Le texte "RECHERCHE" à côté de la loupe prend ~190px à lui seul.
	   On ne garde que l'icône (cliquable, le formulaire de recherche
	   s'ouvre exactement pareil) pour rendre toute cette largeur au menu.
	   -------------------------------------------------------------------- */
	.head_rech {
		flex: 0 0 auto;
		width: auto;
		min-width: 0;
		padding-right: 14px;
		padding-left: 14px;
	}

	.head_rech .content_new_search {
		margin-left: 0;
		left: 0;
	}

	.head_rech .content_new_search .txt {
		display: none; /* on masque juste le libellé "Recherche" */
	}

	.head_rech .ic_rech {
		margin: 0;
	}

	.flexIcon {
		gap: 25px;
	}

	/* --------------------------------------------------------------------
	   1bis. "PROFIL" QUI DISPARAÎT
	   Cause : .log a "margin-left:auto" (il va à l'extrémité droite de la
	   ligne du menu) — mais cette extrémité droite est maintenant hors du
	   cadre visible puisque le menu défile horizontalement (règle n°1).
	   Correctif : on l'épingle (position:sticky) sur le bord droit de la
	   zone de défilement. Il reste donc toujours visible et cliquable,
	   quel que soit l'endroit où l'utilisateur a scrollé le menu.
	   -------------------------------------------------------------------- */
	.ul-parent-main.niv0 > .li-0.log {
		position: sticky;
		right: 0;
		z-index: 5;
		flex: 0 0 auto;
	}

	.ul-parent-main.niv0 > .li-0.log > a {
		/* fond opaque obligatoire : sinon les items qui défilent
		   dessous restent visibles par transparence sous "Profil" */
		background-color: #f6f6f6;
		box-shadow: -10px 0 10px -6px rgba(0, 0, 0, 0.12);
	}

	/* --------------------------------------------------------------------
	   2. PASTILLE DATE SUR LES CARTES ("03 09 26" qui se coupe en deux lignes)
	   Cause : .dateT a une largeur en % du parent (21% / 35%). Quand la
	   carte rétrécit (passage à 3 colonnes), "03/09/26" ne tient plus sur
	   une ligne et retombe à la ligne => effet de superposition/doublon.
	   -------------------------------------------------------------------- */
	.dateT,
	.type-accueil .dateT,
	.item .dateBox.dateSeule .dateT {
		width: auto !important;
		min-width: 64px;
		padding: 0 10px;
		white-space: nowrap;
		font-size: 0.85em;
	}

	/* --------------------------------------------------------------------
	   3. GRILLE DE CARTES (actualités accueil, etc.)
	   On élargit la règle déjà existante dans rwd.css (qui ne visait que
	   1281–1600px et .path-page-thematique) pour couvrir aussi le bloc
	   d'actualités de la page d'accueil dans toute la plage 15".
	   -------------------------------------------------------------------- */
	.items.its_4.itsMulti {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 20px 15px !important;
	}
	
}

/* En dessous de 990px, le menu burger mobile prend le relais normalement
   (voir rwd.css / rwd_smart.css) — aucune modification nécessaire ici. */

/* ============================================================================
   SECTION 5 — CORRECTIF AJOUTÉ : GRILLES "À LA UNE" / "ACTUALITÉS" (accueil)
   ----------------------------------------------------------------------------
   Bug source : dans norm.css, ".items.its_4.itsMulti" force
   "grid-template-columns: repeat(4, 1fr) !important" SANS AUCUNE media query.
   Le patch 990-1650px (section 4 ci-dessus) réduit déjà à 3 colonnes dans
   cette plage, mais rien n'existait en dessous de 990px : la grille
   retombait donc sur 4 colonnes forcées, beaucoup trop étroites sur
   mobile/tablette.

   Bug n°2 : ".items.its_3.itsMulti" (bloc "Actualités" de l'accueil) n'a
   pas de règle de grille dédiée dans norm.css : il hérite du
   ".items { display:flex; }" générique SANS flex-wrap, donc les cartes
   débordent à l'horizontale au lieu de passer à la ligne. Le correctif est
   volontairement limité à #div_para_vue_dernieres_actualites (l'instance
   de la page d'accueil) pour ne pas modifier d'éventuelles autres pages
   qui réutiliseraient la même combinaison de classes .items.its_3.itsMulti
   (ex: une page "offres d'emploi").
   ============================================================================ */

/* --- "À la une" : 4 colonnes -> 2 colonnes -> 1 colonne --- */
@media all and (max-width: 989px) {
	.items.its_4.itsMulti {
		grid-template-columns: repeat(2, 1fr) !important;
		grid-auto-rows: auto !important;
		gap: 30px 16px !important;
	}
}
@media all and (max-width: 639px) {
	.items.its_4.itsMulti {
		grid-template-columns: 1fr !important;
	}
}

/* --- "Actualités" (accueil) : passe en cartes empilées avec retour à la ligne --- */
@media all and (max-width: 989px) {
	#div_para_vue_dernieres_actualites .items.its_3.itsMulti {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 30px !important;
	}
	#div_para_vue_dernieres_actualites .items.its_3.itsMulti .item {
		flex: 0 1 320px;
		max-width: 320px;
	}
}