 @charset "UTF-8";
/* CSS Document */

/* #### Generated By: http://www.cufonfonts.com #### */

    @font-face {
    font-family: 'TT Norms Pro Regular';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Regular'), url('police/TT Norms Pro Regular.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Italic'), url('police/TT Norms Pro Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Thin';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Thin'), url('police/TT Norms Pro Thin.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Thin Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Thin Italic'), url('police/TT Norms Pro Thin Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro ExtraLight';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro ExtraLight'), url('police/TT Norms Pro ExtraLight.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro ExtraLight Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro ExtraLight Italic'), url('police/TT Norms Pro ExtraLight Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Light';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Light'), url('police/TT Norms Pro Light.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Light Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Light Italic'), url('police/TT Norms Pro Light Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Medium';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Medium'), url('police/TT Norms Pro Medium.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Medium Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Medium Italic'), url('police/TT Norms Pro Medium Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Bold';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Bold'), url('police/TT Norms Pro Bold.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Bold Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Bold Italic'), url('police/TT Norms Pro Bold Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro ExtraBold';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro ExtraBold'), url('police/TT Norms Pro ExtraBold.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro ExtraBold Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro ExtraBold Italic'), url('police/TT Norms Pro ExtraBold Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Black';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Black'), url('police/TT Norms Pro Black.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro Black Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro Black Italic'), url('police/TT Norms Pro Black Italic.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro ExtraBlack';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro ExtraBlack'), url('police/TT Norms Pro ExtraBlack.woff') format('woff');
    }
    

    @font-face {
    font-family: 'TT Norms Pro ExtraBlack Italic';
    font-style: normal;
    font-weight: normal;
    src: local('TT Norms Pro ExtraBlack Italic'), url('police/TT Norms Pro ExtraBlack Italic.woff') format('woff');
    }

/* EuclidFlex-Bold.otf */

@font-face {
    font-family: 'Euclid Regular';
    src: local('Euclid Circular B Regular'), local('Euclid-Circular-B-Regular'),
        url('police/EuclidCircularB-Regular.woff2') format('woff2'),
        url('police/EuclidCircularB-Regular.woff') format('woff'),
        url('police/EuclidCircularB-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
  }

@font-face {
    font-family: 'Euclid Bold';
    src: local('Euclid Circular B Bold'), local('Euclid-Circular-B-Bold'),
        url('police/EuclidCircularB-Bold.woff2') format('woff2'),
        url('plice/EuclidCircularB-Bold.woff') format('woff'),
        url('police/EuclidCircularB-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
  }

@font-face {
    font-family: 'Euclid Light';
    src: local('Euclid Circular B Light'), local('Euclid-Circular-B-Light'),
        url('police/EuclidCircularB-Light.woff2') format('woff2'),
        url('police/EuclidCircularB-Light.woff') format('woff'),
        url('police/EuclidCircularB-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
  }

body{
	font-family: 'TT Norms Pro Regular';
}

a{
	text-decoration: none !important;
}

.owl-prev,
.owl-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.owl-prev {
  left: -1rem;
}

.owl-next {
  right: -1rem;
}

header .bg-light{
	background-color: #fff !important;
}

.navbar-light .navbar-nav .nav-link, .dropdown-item{
	color:#00B8F1 !important;
	  font-family: 'TT Norms Pro Bold';
	font-size:14px;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover{
	color:#00B8F1 !important;
	text-decoration: none;
	font-size:14px;
}

nav .niveau3 li{
	padding-left: 3px;
}

nav .niveau3 a{
	color:#00B8F1 !important;
	text-decoration: none;
	font-size:16px;
	font-family: 'TT Norms Pro Bold';
}

header .fa-search{
	color:#FF9027
}

header{
	position:relative;
	z-index: 1;
}

.bt-rechercher{
	cursor: pointer;
}

.rechercher{
	position:absolute; 
	top:-200px;
	background-color:rgba(255, 255, 255, 0.5);
	z-index: 200;
	height: 85px;
	width:100%;
}

.container-rechercher{
	/* width: 1300px; */
	padding: 5px;
    margin-right: auto; 
    margin-left: auto;
}

.formulaire_recherche{
	text-align:right;
}

.formulaire_recherche input.text{
	width:20em;
	border:none;
	background-color:#efefef;
	margin-right:2px;
	border-radius:3px;
}

.formulaire_recherche .submit{
	color: #fff;
	background-color:#ff9027;
	border:none;
	border-radius:3px;
}

.fermer-rechercher{
	text-align: right;
	position:relative;
	top:-10px;
	right:-10px;
}

.fermer-rechercher .fas{
	color:#ff9027;
	cursor:pointer;
	font-size:20px;
	box-shadow: 1px 1px 12px #555;
	border-radius:12px;
}

.voir-rechercher-O{
	top: 100px !important;
	animation-duration: 10s;
	/* animation-name: slidein; */
}

.gd-slide h4, .gd-slide h3{
	text-align: left;
	color:#fff;
	font-family: 'TT Norms Pro Regular';
}
 
.gd-slide .carousel-caption{
	left:5%;
	right:50%;
	background-color:#ff422e;
	padding-right: 15px;
	bottom: 0px;
}

.gd-slide .bt_lire_suite{
	text-align: right;
}

.gd-slide .bt_lire_suite a{
	background-color:#fff;
	color:#ff422E;
	padding:5px 20px;
	border-radius:15px;
	text-decoration: none
}

.nav-caroussel{
	list-style: none;
	padding: 0px;
	margin:0px;
	text-align: center;
}

.nav-caroussel li{
	list-style: none;
	/*margin:auto;
	display:table-cell;*/
}

.nav-tabs{
	text-align:center;
	margin-bottom: 20px;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active, .nav-tabs{
	border:none !important;
}

.nav-tabs .nav-link:hover{
	border:5px !important;
}

.nav-tabs li.rub5 a, .nav-caroussel li.rub5 a{
	color:#00B8F1;
}

.nav-tabs li a, .nav-caroussel li a{
	padding: 5px 10px;
	font-size:18px;
	margin:5px;
	border-radius:12px;
}

.nav-tabs li a.active, .nav-caroussel li a.active{
	padding: 5px 10px;
	border-radius:12px;
}

.nav-tabs li.rub5 a.active, .nav-caroussel li.rub5 a.active{
	background-color:#00B8F1;
	color:#fff;
}

.nav-tabs li.rub3 a.active, .nav-caroussel li.rub3 a.active{
	background-color:#3CBB75;
	color:#fff;
}

.nav-tabs li.rub3 a, .nav-caroussel li.rub3 a{
	color:#3CBB75;
	
}

.nav-tabs li.rub1 a.active, .nav-caroussel li.rub1 a.active{
	background-color:#FF9027;
	color:#fff;
}

.nav-tabs li.rub1 a, .nav-caroussel li.rub1 a{
	color:#FF9027;	
}

.nav-tabs li.rub2 a.active, .nav-caroussel li.rub2 a.active{
	background-color:#FF422A;
	color:#fff;
}

.nav-tabs li.rub2 a, .nav-caroussel li.rub2 a{
	color:#FF422A;
}

.nav-tabs li.rub4 a.activ, .nav-caroussel li.rub4 a.active{
	background-color:#666;
	color:#fff;
}

.nav-tabs li.rub4 a, .nav-caroussel li.rub4 a{
	color:#666;
}

#tab-caroussel li{
	opacity:0;
}
.cacher-caroussel{
	display: none;
}

/* xxxxxx */

.dropdown-item.active, .dropdown-item:active{
	background-color: transparent !important
}

#caroussel-som{
	margin-top:20px;
}

#caroussel-som .owl-carousel .spip_logos{
	padding: 0px;
	margin: 0px;
}

#caroussel-som .owl-carousel .owl-nav button{
	font-size:14px;
	color:#00B8F1 !important;
}

#caroussel-som .tab-pane img{
	width: 100%;
	max-width: 250px;
}

footer{
	padding-top: 30px;
	margin-top:100px;
	border-top:1px solid #00B8F1
}

footer ul{
	list-style: none;
	text-align: left;
	margin: 0px;
	padding: 0px;
}

footer li a{
	font-size:12px;
	color:#00B8F1;
	font-weight: 500;
	line-height: 25px;
	/* font-family: 'TT Norms Pro Regular'; */
	font-family: 'TT Norms Pro Bold';

}

footer li a:hover{
	color:#00B8F1;
}

footer .contact{
	text-align: left;
}

footer .contact h3{
	font-size:12px;
	color:#00B8F1;
	font-family: 'TT Norms Pro Bold';

}

footer .contact p{
	font-size:12px;
	color:#00B8F1;
}

footer .reseau-sociaux{
	text-align: center
}

footer .reseau-sociaux a{
	padding:10px;
}

footer .fab{
	font-size:16px;
	color:#00B8F1;
}

section{
	padding: 20px 0;
}

section.video p{
	text-align: justify
}

section h2{
	font-size:24px;
	color:#00B8F1;
	text-align: left;
	font-weight:100;
	/* padding-bottom: 10px; */
	font-family: 'TT Norms Pro Regular';
}

section h3.soustitre{
	font-size:4px;
	color:#00B8F1;
	font-weight:400;
	text-align: left;
	font-family: 'TT Norms Pro Bold';
	margin-bottom:20px
}


.panorama h3.soustitre, .panorama h2{
	color:#ff422E
}

.cercle{
	height:40px;
	width: 40px;
	background-color: #ffc6c0;
	border-radius:20px;
	margin:5px;
	text-align: center;
}

.cercle .fa-search{
	color:#ff422E;
	font-size:36px;
	position: relative;
	top:6px;
	left:4px;
}

.panorama .item{
	text-align: left;
}

.panorama .item h3{
	color:#ff422E;
	/* font-size: 14px;
	font-family: 'TT Norms Pro Bold'; */
}

#owl-demo .item{

}

.panorama .owl-carousel .owl-nav button{
	font-size:14px;
	color:#ff422E !important;
}

.panorama .owl-carousel .owl-prev{
	left:-30px;
}

.customNavigation{
  text-align: center;
}

button.owl-prev span, button.owl-next span{
	font-size: 2em;
}

.owl-theme .owl-nav [class*=owl-]:hover{
	background-color: transparent
}

.owl-un .owl-dots{
	display: none;
}

button:focus{
	/* outline-color: #fff; */
	outline: none !important
}

@media (min-width: 1200px){
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 1.5rem;
		padding-left: .9rem;
	}
	
	.gd-slide h4{
		font-size:23px
	}

	.gd-slide h3{
		font-size:46px;
		font-weight:lighter;
	}
}

@media (max-width: 1199px){
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: .1rem;
		padding-left: .1rem;
	}
	
	.gd-slide h4{
		font-size:18px
	}

	.gd-slide h3{
		font-size:30px;
		font-weight:lighter;
	}
	

}

@media (min-width: 992px){

	
	.titre-promoteur .fond{
		height: 110px;
		padding: 30px 0 0 20px;
	}
	
	.titre-promoteur .fond h1{
		font-size:50px !important;
	}
	
	header .nav-item{
		padding-left: 8px;
		padding-right: 8px;
	}
}
	/*#caroussel-som .nav-item{
		padding-left: 47px;
		padding-right: 47px;
		display: inline-table;
	}
	
	#caroussel-som ul li.nav-item:first-child{text-align:left;margin-left:0;padding-left:0;}
	
	#caroussel-som ul li.nav-item:last-child{text-align:left;margin-right:0;padding-right:0;}
	
}

@media (max-width: 992px){

	#caroussel-som .nav-item{
		padding-left: 0px !important;
		padding-right: 0px !important;
		display: block;
	}
}*/

@media (min-width: 1400px){
	
	.container,.container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
	max-width:85% !important
	}
	
}

/*@media (min-width: 1450px) and (max-width: 1699px) {
	
	#caroussel-som .nav-item{
		padding-right: 70px
		
	}
	
}

@media (min-width: 1700px) and (max-width: 1899px){
	
	#caroussel-som .nav-item{
		padding-right: 110px
		
	}
}

@media (min-width: 1900px){
	
	#caroussel-som .nav-item{
		padding-right: 160px
		
	}
}*/
/*Liste des couleurs*/

.bleu {color: #1B46A7 !important;}
.rouge {color: #FF422E !important;}
.vert {color: #3CBB75 !important;}
.ciel {color: #00B8F1 !important;}
.orange {color: #FF9027 !important;}
.noir {color: #000000 !important;}

/*Liste des boutons avec couleurs*/

.btn-bleu {background-color: #1B46A7 !important;}
.btn-rouge {background-color: #FF422E !important;}
.btn-vert {background-color: #3CBB75 !important;}
.btn-ciel {background-color: #00B8F1 !important;}
.btn-orange {background-color: #FF9027 !important;}
.btn-noir {background-color: #000000 !important;}


/*Tailles*/

.grand{font-size: 4rem;}

/*Formes*/
.rond{border-radius: 20px;}



/*Generales*/
hr.vert{
  height: 4px; 
  opacity: 1;
}

hr.bleu{
  /*height: 2px; */
  opacity: 1;
}
.simple{text-decoration: none !important;}

.bg-rose{background-color: #fff2e6;}
.recherche{height: fit-content;}

.breadcrumb-item+.breadcrumb-item::before {
  float: left;
  padding-right: .5rem;
  color: #6c757d;
  content: var(--bs-breadcrumb-divider, ">");
}

#article{
	text-align: left;
}

#article .texte{
	text-align: justify
}

.texte a, .hyperlien a{
	color:#3CBB75;
}

.article-lie h4{
	font-size:16px;
	text-align: left;
}

.breadcrumb a{
	color:#6c757d
}

.colonne-recherche{
	padding: 10px;
}

input#recherche-libre{
	padding:0px
}

h3.meme-sujet{
	text-align: left;
}

#documents_joints{
	border-top:1px solid #3CBB75;
	padding-top: 10px;
}

#documents_joints h2, body.reseau-region #article #documents_joints h2 {
	font-size:14px;
	color:#3CBB75;
	font-family: 'TT Norms Pro Bold';
}

#documents_joints ul{
	padding: 0px;
	margin:0px;
}

#documents_joints li .far{
	padding:0 3px;
	color:#3CBB75;
}

#documents_joints li{
	list-style: none;
	padding: 0px;

}

#documents_joints li a{
	color:#3CBB75;
	
}

/* ========= */

#centre-rubrique{
	text-align: left;
}

#centre-rubrique h1{
	font-family: 'TT Norms Pro Bold';
}

a.btn-savoir-plus{
	background-color:#1B46A7;
	color:#fff;
	padding:5px 20px;
	border-radius:15px;
	text-decoration: none;
}

#centre-rubrique .introduction{
	margin-bottom: 10px;
}

#centre-rubrique .pagination{
	text-align: center;
	color:#1B46A7 !important;
	font-size:12px;
	display: inline-block !important;
	width:100%
}

#centre-rubrique .pagination a{
	font-family: 'TT Norms Pro Bold';
	color:#1B46A7 !important;
}

/* reseau et promoteur */

#jumbotron-promoteurs{
  background-image: url(images/news.jpg);
}

.rub-promoteur h1{
	margin-bottom: 20px;
}

.item-article-promoteur{
	margin:30px 0;
}

.titre-promoteur .fond{
	background: url('../images/fond-titre-promoteur.jpg') top left;
	background-size: cover;
}

.titre-promoteur .fond h1{
	color:#fff;
	/* font-family: "TTNorms-Bold"; */
	text-align: left;
}

/* article reseau region */

body.reseau-region #article h1, body.reseau-region #article h3{
	color:#1B46A7;
}

body.reseau-region #article h1{
	font-family: 'TT Norms Pro Bold';
	font-size:36px;
	margin-bottom: 20px;
}

body.reseau-region #article h2{
	font-size:18px;
	color:#000
}

.texte .caractencadre-spip{
	font-size:18px;
	color:#000
}

body.reseau-region #article h3{
	margin-bottom: 15px;	
}

body.reseau-region #article .texte a{
	color:#1B46A7;
}

body.reseau-region #article .texte hr{
	color:#fff;
	background-color: #fff;
}

.texte strong{
	font-family: 'TT Norms Pro Bold';
}

.logo-ressource{
	text-align:center
}

.logo-ressource .spip_logo{
	padding:0px;
	margin:0px;
	float:none;
}

.rubrique-ressource .en-savoir-plus{
	text-align:center;
	margin-top: 10px;
	margin-bottom: 5px;
}

.rubrique-ressource .btn-savoir-plus{
	width:160px;
	text-align: center;
	font-size:14px
}

.rubrique-ressource .item-article{
	margin-bottom:40px;
	margin-top: 10px;
}

.rubrique-ressource #centre-rubrique h1{
	font-size:40px;
	 font-family: 'TT Norms Pro Medium';
}

.supprimer-item-recherche{
	cursor: pointer;
	color:brown
}

.pas-de-resulat{
	font-family: 'TT Norms Pro Medium';
	font-size:24px;
	color:#ff422E;
	margin-bottom: 30px;
}

.votre-recherche{
	font-family: 'TT Norms Pro Medium';
	font-size:18px;
	color:#1B46A7;
	text-align: center;
	margin:10px;
}

.owl-item{
	color:#00B8F1;
	font-size:16px
}

.sommaire .texte-video{
	font-size:14px;
}

.sommaire h2.h2{
	font-family: 'Euclid Light';
	font-size:30px;
}

.sommaire section h3.soustitre{
	font-family: 'TT Norms Pro Regular';
	font-size:14px;
}

.panorama .item h3{
	font-family: 'TT Norms Pro Regular';
	font-size:14px;
}

.panorama .item p{
	font-family: 'TT Norms Pro Regular';
	font-size:14px;
	color:#000;
}

section.panorama{
	margin-top:40px;
	margin-bottom: 60px;
}

.article h1{
	font-family: 'Euclid Regular';
	font-size:30px;
}

.article .info-article{
	margin-top:20px;
	margin-bottom:20px;
}

.texteencadre-spip{
	border:none;
	background-color: #fff;
}

.logo-meme-sujet{
	min-height: 151px
}

.logo-meme-sujet .spip_logos{
	padding:0px;
	margin:0px;
}

.owl-carousel a{
	color:#00B8F1;
}

.owl-item img{
	max-height:150px !important
}

.owl-item{
	padding-left: 15px;
	padding-right: 15px;
}

.owl-carousel span{
	text-align: left !important;
	display: block
}

.video .navigation a{
	color:#00B8F1;
}

.menu-nav-rubrique{
	padding: 0px;
	margin:0px;
}

.menu-nav-rubrique li, .menu-nav-rubrique a{
	color:#00B8F1;
}

.menu-nav-rubrique li ul{
	margin-left: 5px;
}

@media (max-width: 600px){
	
	ul.nav-caroussel{
		text-align: center
	}
	
	ul.nav-caroussel li.nav-item{
		text-align: center;
		width:100%;
		margin: 10px 0;
		padding: 0px;
		display: block
	}
	
	
}

.recherche #centre{
	text-align: left;
}

.recherche #centre .pagination{
	font-size:12px
}

.recherche #centre h1{
	text-align: left;
	font-family: 'Euclid Regular';
	font-size:30px;
	color:#1B46A7
}

.recherche #centre ul{
	list-style: none;
	padding-left:0px;
	margin-left:5px;
}

.recherche #centre ul.resultat li{
	list-style: disc;
	list-style-position: inside;
	padding-left: 5px;
}

.recherche #centre ul.resultat li a{
	color: #3CBB75
} 

section.gd-slide{
	padding: 0px !important
}





#caroussel-som .nav-caroussel{
	display: flex;
	justify-content: space-between;
}

/* === Bouton rouge (rétabli) === */
.btn-red {
  background: #ff5a4f;
  color: #fff !important;
  border: none;
  border-radius: 24px;
  padding: 0.55rem 1rem;
  display: inline-block;
  line-height: 1;
  transition: background .2s ease-in-out;
  text-decoration: none;
}
.btn-red:hover,
.btn-red:focus {
  background: #ff3f33;
  color: #fff !important;
  text-decoration: none;
}

/* === Cadre homogène des blocs home (plus compact) === */
.bloc-home {
  background: #f7f9fb;
  border: 1px solid #e5eef4;
  border-top: 3px solid #18bcf0;
  border-radius: 10px;
  padding: 1.25rem 0;         /* ↓ padding plus serré */
  margin: 1.5rem 0;           /* ↓ marges inter-blocs réduites */
}

/* Titre de section (ex. “L’actualité du Réseau”) */
.home-section-title {
  margin: 0 0 0.75rem 0;      /* ↓ espace sous le titre */
  font-family: 'Euclid Regular';
  font-size: 28px;
  line-height: 1.25;
  color: #0b5d75;
}

/* Sous-titre interne */
.home-subtitle {
  margin: .25rem 0 .75rem 0;
  font-family: 'TT Norms Pro Regular';
  font-size: 20px;
  color: #00B8F1;
}

/* Harmonisation vidéos (un seul cadre, iframes 16/9) */
.sommaire section.video { background: transparent; padding: 0; }
.sommaire section.video .container { padding-left: 0; padding-right: 0; }

.embed-responsive,
.video .portfolio,
.video iframe,
.video .portfolio iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

/* Texte dans les colonnes */
.bloc-home .texte-video,
.bloc-home .texte {
  font-size: 1rem;
  color: #333;
  text-align: justify;
}

/* Micro-espaces entre blocs successifs */
.sommaire .bloc-home + .bloc-home { margin-top: 1.5rem; }

/* === Réserve latérale dans chaque bloc === */
.bloc-home {
  /* avant: padding: 1.25rem 0;  -> on ajoute du padding horizontal */
  padding: 1.25rem 1.25rem;
}

/* Un peu plus d'air sur écrans moyens et grands */
@media (min-width: 768px) {
  .bloc-home { padding: 1.5rem 1.5rem; }
}
@media (min-width: 1200px) {
  .bloc-home { padding: 2rem 2rem; }
}

/* Optionnel : évite que le contenu colle aux bords si une .row a des marges négatives */
.bloc-home > .row {
  margin-left: 0;
  margin-right: 0;
}

/* Optionnel : un micro-gutter interne pour les colonnes du bloc */
.bloc-home [class*="col-"] {
  padding-left: .5rem;
  padding-right: .5rem;
}


.bloc-home { box-shadow: 0 1px 6px rgba(0,0,0,.05); }

/* === Cartes uniformes des blocs d'accueil === */
.bloc-home {
  background: #f7f9fb;
  border: 1px solid #e5eef4;
  border-top: 3px solid #18bcf0;
  border-radius: 10px;
  padding: 1.25rem 1.25rem;       /* réserve latérale */
  margin: 1.25rem 0;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);  /* effet card visible */
}

/* Titre de section */
.home-section-title {
  margin: 0 0 0.75rem 0;
  font-family: 'Euclid Regular';
  font-size: 28px;
  line-height: 1.25;
  color: #0b5d75;
}

/* Sous-titre interne (si utilisé) */
.home-subtitle {
  margin: .25rem 0 .75rem 0;
  font-family: 'TT Norms Pro Regular';
  font-size: 20px;
  color: #00B8F1;
}

/* Gutter interne cohérent dans les cartes */
.bloc-home .row { margin-left: -8px; margin-right: -8px; }
.bloc-home [class*="col-"] { padding-left: 8px; padding-right: 8px; }

/* Marge supplémentaire à DROITE pour la colonne texte (celle à droite des vidéos) */
@media (min-width: 992px) {
  .bloc-home .col-md-4 { padding-right: 18px; }   /* augmente la réserve à droite */
  .bloc-home .col-md-8 { padding-left: 12px; }    /* évite que la vidéo colle au milieu */
  .bloc-home .texte-video, 
  .bloc-home .texte { padding-right: 12px; }      /* sécurité sur le bloc texte */
}

/* Un peu plus d'air sur grands écrans */
@media (min-width: 1200px) {
  .bloc-home { padding: 1.5rem 1.75rem; }
}

/* Bouton rouge : conserve l'existant (déjà dans ton fichier) ; juste au cas où */
.btn-red {
  background: #ff4438;
  color: #fff !important;
  border: none;
  border-radius: 50px;
  padding: 0.6rem 1.4rem;
  font-weight: 500;
  font-size: 1rem;
  transition: .2s;
}
.btn-red:hover, .btn-red:focus { background: #e73b30; color:#fff !important; text-decoration:none; }


/* --- Fix padding right inside blocks (text not stuck to border) --- */

/* 1) Keep real padding on the card itself */
.bloc-home {
  padding: 1.25rem 1.25rem;   /* horizontal reserve */
}

/* 2) Neutralize row negative margins inside the card */
.bloc-home > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 3) Give columns their own inner padding */
.bloc-home [class^="col-"],
.bloc-home [class*=" col-"] {
  padding-left: 12px;
  padding-right: 12px;
}

/* 4) On desktop, add a bit more room on the RIGHT of the text column */
@media (min-width: 992px) {
  .bloc-home .col-md-4:last-child,
  .bloc-home .col-lg-4:last-child {
    padding-right: 22px;   /* ← visible margin between text and rounded edge */
  }
  .bloc-home .texte-video,
  .bloc-home .texte {
    padding-right: 6px;    /* tiny buffer inside the text block itself */
  }
}

/* 5) Remove any previous hack that set negative margins on .bloc-home .row */
.bloc-home .row { margin-left: 0 !important; margin-right: 0 !important; }

/* Espace supplémentaire au-dessus du titre de la section "Vidéos"
   (on garde la bordure-top de la carte) */
.bloc-home.video { 
  padding-top: 1.75rem;     /* avant: 1.25rem */
}
.bloc-home.video .home-section-title {
  margin-top: .25rem;       /* décale légèrement le h2 depuis le bord arrondi */
}
/* Raccourcir un peu la colonne vidéo, élargir la colonne texte — responsive */

/* ≥ 992px : split équilibré 62 / 38 */
@media (min-width: 992px) {
  .bloc-home.video .col-md-8 { flex: 0 0 62%; max-width: 62%; }
  .bloc-home.video .col-md-4 { flex: 0 0 38%; max-width: 38%; }
}

/* ≥ 1200px : un peu plus de place au texte 58 / 42 */
@media (min-width: 1200px) {
  .bloc-home.video .col-md-8 { flex: 0 0 58%; max-width: 58%; }
  .bloc-home.video .col-md-4 { flex: 0 0 42%; max-width: 42%; }
}

/* Le player reste fluide à 100% de sa colonne (déjà en place, on confirme) */
.bloc-home.video iframe,
.bloc-home.video .portfolio,
.bloc-home.video .portfolio iframe { width: 100%; height: auto; }

/* Option: centrage vertical doux (si tu aimes ce rendu) */
@media (min-width: 1200px) {
  .bloc-home.video .row { display: flex; align-items: center; }
}

/* === Aligner les sections de la home avec le header === */

/* 1) Même largeur que le header (le site utilise déjà max-width:85% !important) */
.sommaire > .container,
.sommaire section.container {
  max-width: 85% !important;      /* même largeur que le header */
  margin-left: auto;
  margin-right: auto;
}

/* 2) Rétablir les gouttières horizontales comme dans le header */
.sommaire > .container,
.sommaire section.container {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* 3) Empêcher les .row internes de “manger” ces gouttières */
.bloc-home > .row { 
  margin-left: 0 !important; 
  margin-right: 0 !important; 
}
.bloc-home [class^="col-"],
.bloc-home [class*=" col-"] {
  padding-left: 12px;
  padding-right: 12px;
}


/* === Marge interne pour le bloc rouge du carrousel === */
.carousel-caption,
.carousel-caption .bloc-texte-warning {
  padding-left: 1.25rem;  /* marge interne gauche */
  padding-right: 1.25rem; /* équilibre horizontal */
}

/* Variante si ton markup utilise .carousel-caption.text-warning au lieu de bloc-texte-warning */
.carousel-caption.text-warning {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

/* Sur écrans larges, un peu plus d’air */
@media (min-width: 1200px) {
  .carousel-caption,
  .carousel-caption .bloc-texte-warning,
  .carousel-caption.text-warning {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
}
/* === Réduction de l'espace entre le carousel et le premier bloc === */

/* Le conteneur du carrousel a parfois un padding-bottom excessif */
.section-carousel,
.carousel,
.carousel-inner {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* On remonte le premier bloc après le carrousel */
.sommaire .bloc-home:first-of-type {
  margin-top: 1.25rem !important; /* avant ~3rem, réduit l’espace */
}

/* Variante : si le carrousel utilise un container propre (.section-carousel .container) */
.section-carousel + section.container.bloc-home {
  margin-top: 1.25rem !important;
}

/* Ajustement fin sur desktop */
@media (min-width: 992px) {
  .sommaire .bloc-home:first-of-type,
  .section-carousel + section.container.bloc-home {
    margin-top: 1.5rem !important; /* équilibre visuel */
  }
}

/* Ruban discret au titre */
.home-section-title {
  position: relative;
  padding-left: .85rem;
}
.home-section-title:before{
  content:"";
  position:absolute; left:0; top:.35rem; bottom:.35rem;
  width:6px; border-radius:6px;
  background: #00B8F1;
}

@media (hover:hover){
  .bloc-home{
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    transition: box-shadow .2s ease, transform .2s ease;
  }
  .bloc-home:hover{
    box-shadow: 0 6px 18px rgba(0,0,0,.10);
    transform: translateY(-2px);
  }
}
/* Respecte l’accessibilité */
@media (prefers-reduced-motion:reduce){
  .bloc-home{ transition:none; }
}

.bloc-home.video .portfolio{
  border-radius: 10px; overflow:hidden;
  box-shadow: 0 1px 8px rgba(0,0,0,.08);
}
.bloc-home.video .portfolio:focus-within{ outline: 2px solid #18bcf0; outline-offset: 2px; }

:root{
  --logo-turquoise:#00B8F1; /* bande bleue du logo */
  --logo-vert:#48C774;      /* vert frais */
  --logo-rouge:#F64E3B;     /* rouge bouton */
  --logo-orange:#FFA22B;    /* orange */
  --title-ink:#0b5d75;      /* encre titres */
}
/* bordure top multicolore discrète */
.bloc-home{ border-top:0; position:relative; }
.bloc-home:before{
  content:"";
  position:absolute; left:0; right:0; top:0; height:4px; border-radius:10px 10px 0 0;
  background:
      linear-gradient(90deg,
        var(--logo-turquoise) 0 25%,
        var(--logo-vert)      25% 50%,
        var(--logo-rouge)     50% 75%,
        var(--logo-orange)    75% 100%);
  opacity:.9;
}


.bloc-home.video .portfolio{
  border-radius:12px; overflow:hidden; position:relative;
  box-shadow:0 1px 8px rgba(0,0,0,.08);
}
/* === RSS Panorama : cards flottantes + espacement serré + titre aligné === */

/* Conteneur Owl (léger padding interne) */
.owl-un.owl-carousel {
  padding: .5rem .25rem;
  background: #f7f9fb;
}

/* Owl gère les marges via .owl-item -> on met l'espace ici */
.owl-un .owl-item {
  padding: 0 .25rem; /* ← espace horizontal entre cards */
}

/* La card elle-même */
.owl-un .owl-item .item {
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  padding: .9rem 1rem;
  min-height: 140px;
  height: 100%;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  transition: transform .18s ease, box-shadow .18s ease;
}

/* (Option) liseré multicolore rappel logo en haut de la card */
.owl-un .owl-item .item::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; height: 4px;
  border-radius: 12px 12px 0 0;
  background: #00B8F1 ;
  opacity: .95;
}

/* Effet flottant au survol (desktop) */
@media (hover:hover) {
  .owl-un .owl-item .item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0,0,0,.10);
  }
}

/* Liens internes (titre) */
.owl-un .owl-item .item a {
  color: #00B8F1;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.4;
  display: block;
}
.owl-un .owl-item .item a:hover { color: #0b5d75; }

/* Responsive compact */
@media (max-width: 768px) {
  .owl-un .owl-item { padding: 0 .2rem; }
  .owl-un .owl-item .item { padding: .8rem .9rem; min-height: 120px; }
}

/* — Titre avec icône loupe alignée — */
.cercle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px; border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  color: #F64E3B;
  font-size: 20px;
  vertical-align: middle;
  margin-right: .6rem;
  margin-top: -4px;           /* ajustement optique */
}
.cercle + h2 {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.25;
}
