/*
Theme Name: SOS Rail
Author: Tris informatique
Author URI: https://www.trisinformatique.com
Version: 7.1.2
Template: enfold
*/

div .slideshow_caption h2 {
	text-transform: none;
}

#main .titles-slider .avia-slideshow {
    border-bottom: 8px solid #EE7203;
}

#top .titles-slider .avia-caption-title {
	display: inline;                           /* permet le retour à la ligne */
	background: linear-gradient(to top, #EE7203 85%, transparent 50%);
	box-decoration-break: clone;               /* conserve le fond sur chaque ligne */
	-webkit-box-decoration-break: clone;       /* nécessaire pour Safari */
}

#top #wrap_all .titles-slider .avia-caption-title {
	padding: 10px;
	line-height: 1.4em;
}

hr {
	display: none;
}

.title-center .av-special-heading-tag {
	font-weight: 500;
}

#top .slider-logo .slide-entry-wrap .slide-entry {
	padding: 50px;
}

/* -----------------------------------------------------
   Liste icônes page accueil
------------------------------------------------------ */

/* Couleur de texte liste d'icônes */
#top .iconlist_content p {
	color: #515151;
}
 /* Couleur de licône */
#top .iconlist_icon .av-icon-char svg path {
	fill: #ee7203;
}

/* Taille SVG liste icônes */
#top .iconlist_icon .av-icon-char svg {
	width: 48px;
	height: auto;
	margin: auto;
}

/* Fond gris sous icônes */
.icon-list-colors .iconlist_icon {
	height: 88px;
	width: 88px;
	padding: 20px;
	background: #EDEDED;
}

.blue-urgence {
	color: #124090;
	font-weight: bold;
}

.orange-urgence {
	color:#EE7203;
	font-weight: bold;
}

/* Titre list icônes */
.icon-list-colors .avia-icon-list .iconlist_title {
	text-transform: none;
	font-size: 24px;
}

/* Ligne grise entre icônes */
.icon-list-colors .avia-icon-list::before {
	content: "";
    position: absolute;
    top: 44px;
    left: 44px;
    width: 2px;
    height: calc(100% - 12rem);
    border-left: 2px dashed #ccc;
    z-index: 0;
}

/* -----------------------------------------------------
   Swiper
------------------------------------------------------ */
/* Bande principale */
.logo-marquee {
	overflow: hidden;
	background: #fff;
	padding: 30px 0;
	position: relative;
	width: 100%;
}

/* Piste de logos */
.logo-track {
	display: flex;
	gap: 80px;
	/* espace égal entre logos */
	animation: scroll 40s linear infinite;
	width: max-content;
	align-items: center;
}

/* Chaque logo : taille identique et aligné au centre */
.logo-track img {
	height: 50px;
	/* hauteur uniforme */
	width: auto;
	/* conserve les proportions */
	flex-shrink: 0;
	object-fit: contain;
	/* ne déforme jamais */
	display: block;
	opacity: 0.95;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.logo-track img:hover {
	opacity: 1;
	transform: scale(1.05);
}

/* Animation fluide et infinie */
@keyframes scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

/* Responsive */
@media (max-width: 768px) {
	.logo-track {
		gap: 40px;
		animation-duration: 60s;
		/* plus lent sur mobile */
	}

	.logo-track img {
		height: 36px;
	}

	#top .slider-logo .slide-entry-wrap .slide-entry {
		padding: 10px;
	}

	#top .avia-logo-element-container img {
		max-height: 120px;
    	margin: 0px auto;
	}
	
}


/* -----------------------------------------------------
   Variables globales
------------------------------------------------------ */
:root {
	--main-color: var(--blue);
	--second-color: var(--dark-blue);
	--blue: #359eae;
	--dark-blue: #293273;
	--grey: #666666;
	--border-radius: 8px;
	--icon-social-size: 25px;
}


/* Réseaux sociaux : masques SVG */
#top .social_bookmarks li.social_bookmarks_facebook a:before {
	-webkit-mask-image: url(/wp/wp-content/uploads/2025/07/facebook.svg);
	mask-image: url(/wp/wp-content/uploads/2025/07/facebook.svg);
}

#top .social_bookmarks li.social_bookmarks_instagram a:before {
	-webkit-mask-image: url(/wp/wp-content/uploads/2025/07/instagram.svg);
	mask-image: url(/wp/wp-content/uploads/2025/07/instagram.svg);
}

#top .social_bookmarks li.social_bookmarks_square-x-twitter a:before {
	-webkit-mask-image: url(/wp/wp-content/uploads/2025/07/X.svg);
	mask-image: url(/wp/wp-content/uploads/2025/07/X.svg);
}

#top .social_bookmarks li.social_bookmarks_linkedin a:before {
	-webkit-mask-image: url(/wp/wp-content/uploads/2025/07/linkedin.svg);
	mask-image: url(/wp/wp-content/uploads/2025/07/linkedin.svg);
}

/* Responsive réseaux sociaux */
@media only screen and (max-width: 479px),
only screen and (max-width: 767px) {
	.responsive #top #wrap_all #header .social_bookmarks {
		display: block;
	}
}

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

	.responsive #header_meta .social_bookmarks li,
	.responsive #top #header_meta .social_bookmarks li:last-child {
		border: none;
	}
}

/* -----------------------------------------------------
   Liens
------------------------------------------------------ */
.avia_textblock p a,
.avia_textblock li a,
.iconbox_content_container a {
	text-decoration: underline !important;
}

/* -----------------------------------------------------
   Titres et citations
------------------------------------------------------ */
#top .trs-special-quote h2 {
	text-transform: none;
	letter-spacing: -1px;
	font-style: italic;
	font-weight: 700;
	line-height: 47px;
}

/* -----------------------------------------------------
   Bordure images spéciales
------------------------------------------------------ */
#top .trs-border-img img {
	border: 10px solid white;
}

/* -----------------------------------------------------
   Iconbox
------------------------------------------------------ */
#top .iconbox.iconbox_top.av-no-box .iconbox_icon {
	border: none;
}

#top .iconbox.iconbox_top.av-no-box .iconbox_icon svg:first-child {
	font-size: 70px;
	margin-top: 0;
}

/* -----------------------------------------------------
   Images & Lightbox
------------------------------------------------------ */
#top .mfp-title {
	display: none;
}

#top.page-id-33 .mfp-title {
	display: inline;
}

/* -----------------------------------------------------
   Page activités : titre lien "me contacter"
------------------------------------------------------ */
#top .link-titre a {
	color: var(--main-color);
	text-decoration: none;
}

#top .link-titre h3 {
	line-height: 1.6;
	font-weight: 400;
}

.contact-titles p strong {
	color: #124090;
}

/* -----------------------------------------------------
   Bouton "Retour aux actualités"
------------------------------------------------------ */
.back-to-blog-btn {
	text-align: left;
	margin-bottom: 1.5rem;
}

.back-to-blog-btn .retour-actualites-btn {
	display: inline-flex;
	align-items: center;
	background: var(--main-color);
	color: #fff;
	padding: 0.65em 1.3em 0.65em 1em;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(39, 179, 166, 0.08);
	text-decoration: none;
	transition: background 0.17s, color 0.15s, opacity 0.15s;
	gap: 0.5em;
}

.back-to-blog-btn .retour-actualites-btn:hover {
	opacity: 0.8;
	color: #fff;
	text-decoration: none;
}

.back-to-blog-btn .retour-actualites-btn::before {
	content: '➜';
	transform: rotate(180deg);
}

/* -----------------------------------------------------
   Tableaux tarifs (pricing)
------------------------------------------------------ */
#top .trs-table.avia-table.avia_pricing_minimal th {
	padding: 10px 20px;
	color: #fff;
	font-size: 20px;
	font-weight: normal;
	text-transform: none;
	border-right: solid 2px #fff;
	background-color: var(--main-color);
}

#top .trs-table.avia-table.avia_pricing_minimal tr td {
	font-size: 18px;
	color: #212121;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
}

#top .trs-table.avia-table.avia_pricing_minimal tr {
	background-color: #f2f2f2;
}

#top .trs-table.avia-table.avia_pricing_minimal tr:nth-child(2n+1) {
	background-color: #1fc4ff03;
}

/* -----------------------------------------------------
   Magazine (communes & actualités)
------------------------------------------------------ */
#top .av-magazine-entry-big,
#top .av-magazine-entry-small {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 32px 0 rgba(14, 179, 239, 0.15);
	overflow: hidden;
	margin-bottom: 2.1rem;
	position: relative;
	transition: box-shadow .18s;
}

#top .av-magazine-entry-small {
	border-radius: 14px;
	box-shadow: 0 4px 18px 0 rgba(14, 179, 239, 0.15);
	margin-bottom: 1.1rem;
	min-height: 100px;
	max-height: 150px;
}

#top .av-magazine,
#top .av-magazine-group {
	overflow: visible;
}

/* Miniatures */
#top .av-magazine-entry-big .av-magazine-thumbnail,
#top .av-magazine-entry-small .av-magazine-thumbnail {
	background: #f8fafc;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

#top .av-magazine-entry-big .av-magazine-thumbnail {
	flex: 0 0 340px;
	max-width: 340px;
	min-width: 180px;
}

#top .av-magazine-entry-small .av-magazine-thumbnail {
	flex: 0 0 200px;
	width: 200px;
	border-radius: 12px 0 0 12px;
}

#top .av-magazine-entry-big .av-magazine-thumbnail-link,
#top .av-magazine-entry-big .av-magazine-thumbnail img,
#top .av-magazine-entry-small .av-magazine-thumbnail-link,
#top .av-magazine-entry-small .av-magazine-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
	min-height: 200px;
	transition: transform .2s;
}

#top .av-magazine-entry-small .av-magazine-thumbnail-link,
#top .av-magazine-entry-small .av-magazine-thumbnail img {
	min-height: unset;
}

#top .av-magazine-entry-big .av-magazine-thumbnail:hover img,
#top .av-magazine-entry-small:hover .av-magazine-thumbnail img {
	transform: scale(1.04);
}

/* Badge date visuel */
#top .av-magazine-entry-big .av-magazine-time,
#top .av-magazine-entry-small .av-magazine-time {
	display: none;
	background: var(--main-color, #0eb3ef);
	color: #fff;
	font-weight: 700;
	border-radius: 12px;
	text-align: center;
	letter-spacing: 0.04em;
	z-index: 2;
	margin: 0 0 10px 0;
	line-height: 1.11;
	box-shadow: 0 2px 8px rgba(43, 50, 111, 0.11);
	min-width: 0;
	text-transform: uppercase;
	opacity: 0.97;
}

#top .av-magazine-entry-big .av-magazine-time {
	font-size: 1rem;
	padding: 8px 18px 7px 18px;
}

#top .av-magazine-entry-small .av-magazine-time {
	font-size: 0.92rem;
	padding: 5px 14px 4px 14px;
}

/* Content-wrap */
#top .av-magazine-entry-big .av-magazine-content-wrap,
#top .av-magazine-entry-small .av-magazine-content-wrap {
	flex: 1 1 0%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	background: transparent;
	box-shadow: none;
}

#top .av-magazine-entry-big .av-magazine-content-wrap {
	padding: 2.2rem 2.2rem 2rem 2.2rem;
}

#top .av-magazine-entry-small .av-magazine-content-wrap {
	padding: 0.7rem 1.3rem 0.6rem 1.1rem;
}

/* Titres */
#top .av-magazine-entry-big .av-magazine-title,
#top .av-magazine-entry-small .av-magazine-title {
	font-weight: 800;
	color: var(--second-color, #2b326f);
	margin-top: 0;
	line-height: 1.22;
}

#top .av-magazine-entry-big .av-magazine-title {
	font-size: 1.35rem;
	margin-bottom: 0.6em;
}

#top .av-magazine-entry-small .av-magazine-title {
	font-size: 1.09rem;
	margin-bottom: 0.25em;
}

#top .av-magazine-entry-big .av-magazine-title a,
#top .av-magazine-entry-small .av-magazine-title a {
	color: inherit;
	text-decoration: none;
	transition: color .18s;
}

#top .av-magazine-entry-big .av-magazine-title a:hover,
#top .av-magazine-entry-small .av-magazine-title a:hover {
	color: var(--main-color, #0eb3ef);
}

#align-cards .entry-content-wrapper {
	display: flex;
	flex-wrap: wrap;           /* permet le retour à la ligne */
  	justify-content: center;   /* centre les colonnes si elles ne remplissent pas toute la ligne */
  	gap: 1.5rem;
}

#align-cards .flex_column {
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;           /* largeur de base 300px, rétrécit ou grandit si besoin */
  max-width: 320px;          /* largeur max d’une carte */
  box-sizing: border-box;
}

#align-cards .flex_column .avia-button-wrap {
  margin-top: auto;
}

/* Extraits */
#top .av-magazine-entry-big .av-magazine-content,
#top .av-magazine-entry-small .av-magazine-content {
	color: #39506c;
	font-size: 1.09rem;
	line-height: 1.50;
	opacity: 0.98;
	margin-top: 0.13em;
}

#top .av-magazine-entry-big .av-magazine-content {
	margin-bottom: 0.6em;
}

#top .av-magazine-entry-small .av-magazine-content {
	font-size: 0.98rem;
	margin-bottom: 0.08em;
	margin-top: 0.08em;
	white-space: normal;
}

/* Responsive magazine */
@media (max-width: 1100px) {
	#top .av-magazine-entry-small {
		max-height: 250px;
	}
}

@media (max-width: 800px) {
	#top .av-magazine-entry-big {
		flex-direction: column;
		max-width: 99vw;
	}

	#top .av-magazine-entry-big .av-magazine-thumbnail,
	#top .av-magazine-entry-big .av-magazine-content-wrap {
		max-width: 100%;
		width: 100%;
		min-width: 0;
		padding: 0;
	}

	#top .av-magazine-entry-big .av-magazine-content-wrap {
		padding: 1.2rem 1rem 1.2rem 1rem;
	}

	#top .av-magazine-entry-big .av-magazine-time {
		font-size: .95rem;
		padding: 6px 12px 6px 12px;
	}
}

@media only screen and (max-width: 600px) {
	#top .av-magazine-entry-small {
		flex-direction: column;
		min-height: 0;
		border-radius: 12px;
		max-height: none;
	}

	#top .av-magazine-entry-small .av-magazine-thumbnail {
		width: 100%;
		height: 170px;
		border-radius: 12px 12px 0 0;
	}

	#top .av-magazine-entry-small .av-magazine-content-wrap {
		padding: 0.75rem 0.9rem 0.7rem 0.9rem;
	}

	#top .av-magazine-entry-small .av-magazine-time {
		font-size: .88rem;
		padding: 5px 11px 5px 11px;
	}
}

/* -----------------------------------------------------
   Section full-width et headers spéciaux
------------------------------------------------------ */
#top .full-width-section .container {
	max-width: 100% !important;
}

#top .image-container-trs .container .content {
	vertical-align: top;
}

#top .image-container-trs .avia-image-container {
	display: flex;
	justify-content: center;
	align-items: center;
}

#top .image-container-trs .avia-image-container-inner {
	max-width: 700px;
}

/* Header page */
#top .trs-title .av-special-heading-tag {
	text-shadow: 0 0 10px black;
}

#top .trs-title .av-subheading {
	text-shadow:
		0 1px 0 var(--grey), 1px 0 0 var(--grey), 0 -1px 0 var(--grey), -1px 0 0 var(--grey),
		1px 1px 0 var(--grey), -1px -1px 0 var(--grey), 1px -1px 0 var(--grey), -1px 1px 0 var(--grey),
		2px 0 0 var(--grey), -2px 0 0 var(--grey), 0 2px 0 var(--grey), 0 -2px 0 var(--grey),
		2px 2px 0 var(--grey), -2px -2px 0 var(--grey), 2px -2px 0 var(--grey), -2px 2px 0 var(--grey);
}

/* -----------------------------------------------------
   Masonry (page activités)
------------------------------------------------------ */
#top .trs-masonry .av-inner-masonry-content-pos-content {
	font-size: 18px;
}

#top .trs-masonry .av-inner-masonry-content-pos-content .av-masonry-entry-content.entry-content {
	font-size: 15px;
}

.av-subheading_above p {
	font-size: 1.2rem;
	color: #124090;
}

/* -----------------------------------------------------
   Page contact
------------------------------------------------------ */
/* liste icônes Coordonnées */
#top .iconbox_left_content.av-icon-style-no-border .iconbox_icon {
	font-size: 40px;
	line-height: 65px;
	margin-right: 12px;
}
