@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500&display=swap');


/* Headings style */
h1, h2, h3, h4, h5, h6 { color: #027D9D; font-weight: 400; }
h1 { font-size: 2.2rem; }

/* H3 heading style SP PageBuilder */
.sppb-feature-box-title::after {
	display: none !important;
}

.sppb-addon h3.sppb-addon-title {
	padding-right: 0px;
	box-shadow: none;
	line-height: inherit;
}

/* Doc Center page - H3 heading style SP PageBuilder */
.h3-doc-center .sppb-addon-title::after {
  	display: none !important;
}

.header-section-doc-center {
  	background-image: linear-gradient(to bottom, #f8f9fa 0%, #f8f9fa 50%, #eff3f7 100%);
}

.search-bar-section-doc-center, .suggested-section-doc-center {
	background-color: #ffffff;
 	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%23f8f9fa' fill-opacity='1' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.articles-section-doc-center {
	background-image: linear-gradient(to bottom, #f8f9fa 0%, #f8f9fa 50%, #eff3f7 100%);
}

.search-bar-section-doc-center .sppb-row-container {
	max-width: 650px !important;
}

.custom-search-doc-center .inputbox {
  	height: 40px;
	font-size: 17px;
}

/* Doc Center page - Articles cards */

.doc-cards .sppb-article-introtext,
.doc-cards .sppb-addon-article-introtext {
  	display: -webkit-box;
  	-webkit-line-clamp: 7;              /* adjust if needed (height) */
  	-webkit-box-orient: vertical;
  	overflow: hidden;
  	text-overflow: ellipsis;
  	hyphens: auto;
  	word-break: break-word;
  	position: relative;
  	padding-bottom: 14px;
}

.doc-cards .sppb-article-introtext::after,
.doc-cards .sppb-addon-article-introtext::after {
  	content: "";
  	position: absolute;
  	left: 0; right: 0; bottom: 0;
  	height: 2.2em;                       /* fade effect height */
  	pointer-events: none;
  	/* (Chrome/Edge/Safari) */
 	 -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, #000 80%);
 	 mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, #000 80%);
  	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fdfdfd 85%);
}

.articles-module-doc-center .sppb-addon-article-layout-editorial-content {
	border: none !important;
	border-left: 3px solid #5997B0 !important;
}

.h3-doc-center .sppb-addon-title-icon {
  	font-size: 25px !important;
}

/* Doc Center page - popular tags */
.popular-tags-doc-center {
  	text-align: center;
	font-size: 20px;
}

.popular-tags-doc-center .tag-name {
  	width: 200px;
  	height: 35px;
  	border-color: #999999 !important;
  	background: rgba(255,255,255,0.85) !important;
}

.popular-tags-doc-center .tag-name:hover {
  	background-color: #fff !important;
  	color: #03a0c6 !important;
  	border-color: #03a0c6 !important;
}

/*Search button on Doc Center page*/
#mod-finder-searchform151 .flex-search {
  	display: flex;
}

#mod-finder-searchform151 input[type="text"] {
  	height: 38px;
  	border-radius: 15px 0 0 15px !important;
  	border: 1px solid #ddd;
    	border-right-width: 1px;
    	border-right-style: solid;
    	border-right-color: rgb(221, 221, 221);
  	border-right: none;
}

#mod-finder-searchform151 button[type="submit"] {
  	height: 38px;
  	border-radius: 0 15px 15px 0 !important;
  	background: #4b9ebc;
  	border: 1px solid #4b9ebc;
  	color: #fff;
  	cursor: pointer;
  	transition: background 0.2s ease-in-out;
  	display: flex;
  	align-items: center;
  	margin-top: 0 !important;
	padding: 10px !important;
  	max-width: 150px !important;
}

#mod-finder-searchform151 .search::before {
  	display: none !important;
}

#mod-finder-searchform151 button i {
	color: #fff;
	font-size: 22px;
	font-weight: 600;
	padding-left: 5px;
}

#mod-finder-searchform151 button:hover {
  	background: #0390b2;
  	border-color: #0390b2;
}

/*Survey button on Doc Center page*/
.doc-center-survey-button {
  	background: #4b9ebc;
  	border: 1px solid #4b9ebc;
  	color: #fff;
  	cursor: pointer;
  	transition: background 0.2s ease-in-out;
}

.doc-center-survey-button:hover {
	background: #0390b2;
  	border-color: #0390b2;
}

.polls-link-doccenter .pe-3 {
    	padding-right: 0.5rem !important;
}

/* END of Doc Center page */

.sppb-addon.sppb-addon-module.titre-demande-produit h2, .sppb-addon.sppb-addon-module.titre-demande-services h2, .sppb-addon.sppb-addon-module.titre-offre-produit h2, .sppb-addon.sppb-addon-module.titre-offre-services h2 {
	display: block;
	width: 100%;
	border-bottom: 1px solid #dee2e6 !important;
	padding-bottom: 10px;
}

/* HomePage - HERO section (cards) */
.homepage-cards-section {
  	background-color: #f8f9fa;
  	background-image:
    	linear-gradient(to bottom,rgba(248,249,250,1) 0%,rgba(248,249,250,0.9) 20%,rgba(239,243,247,0.8) 55%,rgba(239,243,247,0.8) 100%),url('/images/backgrounds/turboprop_aircraft.jpg');
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-position: center 75%;
  	box-shadow: 0 10px 15px -8px rgba(0,0,0,0.05) !important;
}

.homepage-articles-section {
  	background-color: #f8f9fa;
  	background-image:
    	linear-gradient(to bottom,rgba(248,249,250,0.9) 0%,rgba(248,249,250,0.9) 20%,rgba(239,243,247,0.9) 55%,rgba(239,243,247,0.9) 100%),url('/images/backgrounds/doc_binders1.jpg');
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-position: center 50%;
  	box-shadow: 0 10px 15px -8px rgba(0,0,0,0.05) !important;
}

/* HomePage - services section - Cards */
.services-row-cards .sppb-nested-row {
    	display: grid !important;
    	grid-template-columns: repeat(5, 19%);
    	justify-content: center;
    	gap: 10px;
	opacity: 0.7;
}

/* Empêche le background de "déborder" du hero */
#section-id-98cb60eb-85ca-4e84-a5d6-e3673797c915 {
    	position: relative;
    	overflow: hidden;
}

/* Bootstrap columns neutralise */
.services-row-cards .sppb-nested-row > .sppb-row-column,
.services-row-cards .sppb-nested-row > [class*="sppb-col"] {
    	max-width: none !important;
}

/* Title word break in Cards */
.services-row-cards .sppb-addon-feature .sppb-addon-title,
.services-row-cards .sppb-addon-feature .sppb-addon-title a {
    	display: inline-block !important;
    	white-space: normal !important;
    	word-break: break-word !important;
    	overflow-wrap: break-word !important;
    	hyphens: auto !important;
    	text-align: center;
    	line-height: 1.2em;
}

/* === Responsive tablette : 2 colonnes + 1 centrée === */
@media (max-width: 992px) {
    .services-row-cards .sppb-nested-row {
        grid-template-columns: repeat(2, 45%);
    }
    /* 5ème carte seule sur sa ligne : centrée */
    .services-row-cards .sppb-nested-row > *:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        width: 45%;
        margin: 0 auto;
    }
}

/* === Responsive mobile : colonne unique === */
@media (max-width: 600px) {
    .services-row-cards .sppb-nested-row {
        grid-template-columns: 90%;
    }
    .services-row-cards .sppb-nested-row > *:last-child:nth-child(odd) {
        grid-column: unset;
        width: 100%;
        margin: 0;
    }
}

/* Hover title */
.services-row-cards .sppb-feature-box-title:hover {
    	border-bottom: 1px solid #027D9D;
}

/* Cards on Home and Surveys page - clickable */
.ab-click-card {
    	cursor: pointer;
    	transition: box-shadow .25s ease;
}

/* Card AeroHub on Home page - New sticker */
.aerohub-feature-title .sppb-addon-title::before {
    	content: "New";
    	display: inline-flex;
    	align-items: center;
    	font-size: 10px;
   	font-weight: 500;
   	line-height: 1;
    	padding: 3px 6px 3px 6px;
   	margin-right: 5px;
    	border-radius: 20px;
    	letter-spacing: 0.02em;
    	text-transform: uppercase;
    	vertical-align: middle;
   	position: relative;
    	top: -2px;
    	background: #E6F1FB;
    	color: #0C447C;
    	border: 1px solid #378ADD;
}

.aerohub-feature-title-landingpage .sppb-addon-title::before {
    	content: "New";
    	display: inline-flex;
    	align-items: center;
    	font-size: 11px;
    	font-weight: 500;
    	line-height: 1;
    	padding: 5px 6px 5px 6px;
    	margin-right: 8px;
    	border-radius: 20px;
    	letter-spacing: 0.02em;
    	text-transform: uppercase;
    	vertical-align: middle;
    	position: relative;
    	top: -2px;
    	background: #E6F1FB;
    	color: #0C447C;
    	border: 1px solid #378ADD;
}

/* Page AeroHub - Fix avatar par défaut trop grand dans cbOnlineUsers */
.cbOnlineUsers .cbOnlineUser .cbImgAvatar {
    	width: 90px;  /* ajuste à la taille souhaitée */
    	height: 90px;
    	object-fit: cover;
}

/* Zoom on hover avatars cbOnlineUsers */
.cbOnlineUsers .cbOnlineUser .cbImgAvatar {
    	transition: transform 0.2s ease;
}

.cbOnlineUsers .cbOnlineUser:hover .cbImgAvatar {
    	transform: scale(1.15);
}

/* Page AeroHub uniquement */
.page-41 .gjModuleGroupCategory { display: none; }
.page-41 .gjModuleGroupIconType { display: none; }
.page-41 .gjGroupEventHost { display: none; }
.page-41 .gjGroupEventGroup { display: none; }
.page-41 .gjGroupEventGuests { display: none; }
.page-41 .gjGroupEventDescription { display: none; }
.page-41 .gjButtonAttend { display: none; }

@media (min-width: 992px) {
    .page-41 .gjModuleGroupRows {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
    }
    .page-41 .gjModuleGroup {
        padding: 0 !important;
        width: 100% !important;
    }
}

.btn-outline-aerohub {
    	background: transparent !important;
    	border: 1px solid #4b9ebc !important;
    	color: #4b9ebc !important;
    	border-radius: 25px !important;
    	padding: 8px 24px !important;
}
.btn-outline-aerohub:hover {
    	background: #4b9ebc !important;
    	color: #ffffff !important;
}

/* HomePage - search section */
.homepage-search-section {
	background-color: #ffffff;
	background-image: url("data:image/svg+xml,%3Csvg width='44' height='12' viewBox='0 0 44 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 12v-2L0 0v10l4 2h16zm18 0l4-2V0L22 10v2h16zM20 0v8L4 0h16zm18 0L22 8V0h16z' fill='%23eff3f7' fill-opacity='0.5' fill-rule='evenodd'/%3E%3C/svg%3E");
	box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1), 0 -4px 4px -4px rgba(0, 0, 0, 0.1) !important;

}

/* HomePage - articles section */
.homepage-articles-section-scroller .sppb-articles-carousel-content {
  	opacity: 0.8;
}


.homepage-articles-section-scroller .sppb-articles-carousel-img {
  	display: none !important;
}

/* HomePage - articles section dots */
.homepage-articles-section-scroller .slick-dots {
	bottom: -30px !important;
}

.homepage-articles-section-scroller .sppb-addon-articles-scroller-title {
	margin-bottom: 0px !important;
}

.homepage-articles-section-scroller .sppb-articles-scroller-date-left-content {
	padding: 20px !important;
}

.sppb-img-responsive.welcome-section-image {
  	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.06);
}

.welcome-section-button {
  	background-color: #4b9ebc !important;
	border-color: #4b9ebc !important;
}

.welcome-section-button:hover {
  	background-color: #3a90ae !important;
	border-color: #3a90ae !important;
}

/* LandingPage - divider */
@media only screen and (max-width: 767.98px) {
  .sppb-addon-divider-wrap {
    	float: none !important;
    	display: flex !important;
    	justify-content: center !important;
    	text-align: center !important;
  }

  .sppb-addon-divider-wrap .sppb-divider {
    	display: inline-block !important;
    	margin: 30px auto !important;
  }
}

/* LandingPage - search ads section */
.search-section {
	background-color: #ffffff;
	background-image: url("data:image/svg+xml,%3Csvg width='44' height='12' viewBox='0 0 44 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 12v-2L0 0v10l4 2h16zm18 0l4-2V0L22 10v2h16zM20 0v8L4 0h16zm18 0L22 8V0h16z' fill='%23eff3f7' fill-opacity='0.5' fill-rule='evenodd'/%3E%3C/svg%3E");
}

/* LandingPage - Feature Box section */
.sppb-section.feature-box-section-buttons-row .sppb-btn-rounded {
  	background-color: #4b9ebc !important;
	border-color: #4b9ebc !important;
}

.sppb-section.feature-box-section-buttons-row .sppb-btn-rounded:hover {
  	background-color: #3a90ae !important;
	border-color: #3a90ae !important;
}

/* Landing & Listings Page - Buttons style */
.homepage-button, .all-listings-page-button {
  	background-color: #4b9ebc !important;
	border-color: #4b9ebc !important;
}

.homepage-button:hover, .all-listings-page-button:hover {
  	background-color: #3a90ae !important;
	border-color: #3a90ae !important;
}

/* LandingPage - Classified Ads section */
.classified-ads-section {
  	background-image: linear-gradient(to bottom, #f8f9fa 0%, #f8f9fa 50%, #eff3f7 100%);
	box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1), 0 -4px 4px -4px rgba(0, 0, 0, 0.1) !important;
}

.sppb-img-responsive.classified-ads-section-image {
  	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.06);
}

/* LandingPage - Priority section */
.priority-section {
  	background-image: linear-gradient(to bottom, #f8f9fa 0%, #f8f9fa 50%, #eff3f7 100%);
}

.sppb-img-responsive.priority-section-image {
  	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.06);
}

/* LandingPage - welcome section */
.welcome-section {
	background-color: #f8f9fa;
  	background-image: linear-gradient(to bottom,rgba(248,249,250,1) 0%,rgba(255,255,255,0.9) 20%,rgba(255,255,255,0.85) 55%,rgba(255,255,255,0.80) 100%),url('/images/backgrounds/clouds.jpg');
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-position: center 55%;
 	box-shadow: 0 10px 15px -8px rgba(0,0,0,0.05) !important;
}

.landingpage-engage, .landingpage-aerohub, .joinus-section {
  	background: linear-gradient(to bottom, rgba(248,249,250,1) 0%, rgba(255,255,255,0.9) 40%, rgba(255,255,255,1) 100%);
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-position: center 55%;
 	box-shadow: 0 10px 15px -8px rgba(0,0,0,0.05) !important;
}

.landingpage-statistics {
	background-color: #ffffff;
  	background-image: linear-gradient(to bottom,rgb(255, 255, 255) 0%,rgba(255,255,255,0.9) 20%,rgba(255,255,255,0.9) 55%,rgba(255,255,255,0.9) 100%),url('/images/backgrounds/jet_hangar.jpg');
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-position: center 55%;
  	box-shadow: 0 10px 15px -8px rgba(0,0,0,0.05) !important;
}

.sppb-img-responsive.joinus-section-image {
  	box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1), 0 -4px 4px -4px rgba(0, 0, 0, 0.1) !important;
}

/* Listings Page - Fabrik Slick Slide adjust */
.all-listings-page-mainsection .slick-slide img {
  	display: block !important;
  	max-width: 100% !important;
  	max-height: 270px !important;
  	width: auto !important;
  	height: auto !important;
  	object-fit: contain !important;
}

/* Center bootstrap row in Partners page (logos section) */
.partners-custom .sppb-addon-content .sppb-row{
  	justify-content: center !important;
  	align-items: center;
}

/*Media queries (responsive margins)*/

/* ≥1200px: widen from 1170px to 1200px */
@media (min-width: 1200px) {
  .maincomponent-custom .sppb-row-container,
  .maincomponent-apps .sppb-row-container {
    width: 1300px !important;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .maincomponent-custom .sppb-row-container,
  .maincomponent-apps .sppb-row-container {
    width: 720px !important;
  }
}

@media (min-width: 1300px) {
  .container {
    max-width: 1300px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1300px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1140px !important;
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm {
    max-width: calc(960px + (180 * (100vw - 992px) / 208));
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .container, .container-md, .container-sm {
    max-width: calc(720px + (80 * (100vw - 768px) / 223)); /* 223 = 991 - 768 */
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .container, .container-sm {
    max-width: calc(560px + (160 * (100vw - 576px) / 191));
  }
}

/*Media queries (responsive margins) for Apps pages*/
@media (min-width: 1300px) {
  body.apps-layout .container {
    max-width: 1400px !important;
  }
}

@media (max-width: 1080px) {
  body.apps-layout .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 1080px) {
  .js-calendar.open {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100vw - 40px) !important;
    z-index: 9999 !important;
  }
}

/* Safari - avoid Logo image distortion */
#sp-logo .sp-default-logo, #sp-logo .sp-retina-logo {
	object-fit: contain;
	max-width:250px;
}

/* Top bar */

.top-bar {
	border-bottom: 1px solid #e6e6e6;
}

/* === TOP BAR MENU (positions) === */
.user1,
.user2 {
  	padding: 0;
	float: none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}

.user1 .mod-menu,
.user2 .mod-menu {
  	display: flex;
  	align-items: center;
  	justify-content: flex-end;
  	list-style: none;
  	margin: 0;
  	padding: 0;
}

/* Menu items */
.user1 .mod-menu > li,
.user2 .mod-menu > li {
  	display: flex;
  	align-items: center;
  	line-height: 2;
  	position: relative;
  	border: none;
	padding-top: 5px;
	padding-bottom: 5px;
}

/* Vertical bar between items */
.user1 .mod-menu > li:not(:last-child)::after,
.user2 .mod-menu > li:not(:last-child)::after {
  	content: "";
  	position: absolute;
  	top: 50%;
  	right: 0;
  	transform: translateY(-50%);
  	width: 1px;
  	height: 18px;
  	background: rgba(0, 0, 0, 0.2);
}

/* Link */
.user1 .mod-menu > li > a,
.user2 .mod-menu > li > a {
  	display: flex;
  	align-items: center;
  	font-size: 16px;
  	text-decoration: none;
  	transition: color 0.3s ease, background-color 0.3s ease;
  	color: #333;
  	padding: 0 8px;
}

.user1 .mod-menu > li > a:hover,
.user2 .mod-menu > li > a:hover {
  	color: #027D9D;
}

/* Icônes */
.user1 .mod-menu > li > a i,
.user2 .mod-menu > li > a i {
  	font-size: 20px;
  	color: #027D9D;
  	line-height: 1;
  	display: inline-block;
  	transform: translateY(0.5px);
	padding-right: 6px;
}

/* Responsive : remove vertical bars from mobile view */
@media (max-width: 992px) {
  .user1 .mod-menu > li::after,
  .user2 .mod-menu > li::after {
    	display: none;
  }

  .user1,
  .user2 {
    	justify-content: center;
  }

  .user1 .mod-menu,
  .user2 .mod-menu {
    	justify-content: center;
    	gap: 8px;
  }
}

/* .user2 horizontal align */
.user2 {
  	display: flex;
  	justify-content: flex-end;
  	align-items: center;
  	text-align: center;
  	width: 100%;
}

/* Menu container get all the width */
.user2 .sp-module-content {
  	width: 100%;
  	display: flex;
  	justify-content: flex-end;
  	align-items: center;
}

/* === Align user1 top-bar with main menu === */

/* Adjust top bar container with the container of the main menu */
#sp-top-bar .container {
   	max-width: 1300px !important;
   	margin: 0 auto;
	padding: 0px;
}

/* Fix internal flex */
#sp-top-bar .row {
   	justify-content: flex-end;  /* pousse user1 à droite dans la même marge que le main menu */
}

/* Remove all overflow */
.user1 {
   	width: auto !important;
   	padding: 0 !important;
   	margin: 0 !important;
   	float: none !important;
}

/*CB Activity (FR) - Module on user1 position top bar*/
.cbActivityModuleNotifications .fa-globe::before {
	content: "\f57d" !important;
  	font-size: 20px;
  	color: #62afc9;
}

.cbActivityModuleNotifications .fa-globe::before::hover {
  	color: #585b5e;
}

.cbActivityModuleNotifications {
	position: relative; padding-left: 10px; margin-left: 5px;
}

.cbActivityModuleNotifications::before {
	content: "";
  	position: absolute;
  	top: 50%;
  	left: 0;
  	transform: translateY(-50%);
 	width: 1px;
  	height: 18px;
  	background: rgba(0, 0, 0, 0.2);
}

@media (max-width: 426px) {
    /* Masquer Messagerie */
    li.nav-item.item-353 {
        display: none !important;
    }
    
    /* Garder la cloche visible */
    .cbactivity_notifications {
        display: inline-block !important;
    }
}
 
/* Header */
.aerobridge-header {
	box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.08);
	z-index: 999;
}

.aerobridge-header a:hover {
	color: #03a0c6 !important;
}

.aerobridge-header .sp-dropdown li.sp-menu-item a:hover {
	background: linear-gradient(90deg, #E6F7FB, #D4F0F7) !important;
}

/* Made in France - French flag */
/*.aerobridge-header .row {
	position: relative;
}

.aerobridge-header .row::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 20px;
	height: 16%;
	width: 21px; /* 3 x 7px */
	z-index: 1;
	background:
	linear-gradient(to bottom, #0055A4 0%, #0055A4 100%),  /* Bleu */
	linear-gradient(to bottom, #FFFFFF 0%, #FFFFFF 100%),  /* Blanc */
	linear-gradient(to bottom, #EF4135 0%, #EF4135 100%);  /* Rouge */
	background-repeat: no-repeat;
	background-size: 7px 100%, 7px 100%, 7px 100%;
	background-position: 0 0, 7px 0, 14px 0;
	border-radius: 2px;
}

@media (min-width: 576px) and (max-width: 767px) {
  .aerobridge-header .row::before {
	left: 10px !important; /* Avant : 20px */
  }
}
*/

/*Language switcher*/
.language-switcher {
  	display: flex;
  	align-items: center;
  	gap: 8px;
  	margin-right: 12px;
  	white-space: nowrap;
}

/*Breadcrumbs*/
.aerobridge-breadcrumbs {
	background: #f8f9fa;
  	padding: 12px 0px 0px 0px;
  	line-height: 18px;
}

.aerobridge-breadcrumbs .mod-breadcrumbs.breadcrumb {
	padding: 0px !important;
}

/* Breadcrumbs separator "›" between elements */
.aerobridge-breadcrumbs ol.mod-breadcrumbs.breadcrumb > li + li::before {
    	content: "›";
    	display: inline-block;
    	padding: 0 0.5rem;
    	color: #ccc;
    	font-weight: 400;
}

/* Breadcrumbs separator first item removal */
.aerobridge-breadcrumbs ol.mod-breadcrumbs.breadcrumb
> li.mod-breadcrumbs__here + li::before {
	content: none;
}

/* Mobile view (spacing) */
@media (max-width: 768px) {

  .aerobridge-breadcrumbs ol.mod-breadcrumbs.breadcrumb > li,
  .aerobridge-breadcrumbs ol.mod-breadcrumbs.breadcrumb > li > a,
  .aerobridge-breadcrumbs ol.mod-breadcrumbs.breadcrumb > li > span {
      line-height: 1.5;
  }

}

/* Liste horizontale sans bordures ajoutées par le template */
.language-switcher .mod-languages ul.lang-inline {
  	display: flex;
	padding: 0px !important;
	text-align: center;
}

.language-switcher .mod-languages ul.lang-inline li {
  	list-style: none;
  	display: inline-flex;
  	align-items: center;
  	margin: 0 4px;
}

.language-switcher .mod-languages ul.lang-inline li a {
  	display: inline-flex;
  	align-items: center;
  	text-decoration: none;
  	line-height: 1;
}

.language-switcher .mod-languages ul.lang-inline img {
  	margin: 15px 0px 0px 5px;
}

.language-switcher img {
	display: none !important;
}

.language-switcher a::after {
	font-family: Barlow, sans-serif;
	font-size: 14px;
	font-weight: 500;
	background: #e1f3f8;
	color: #2d85a3;
	padding: 2px 5px 4px 5px;
	border-radius: 3px;
	margin: 12px 0px 0px 5px;
	border: 1px solid #98c9d7;
}

.language-switcher a[href*="en"]::after { content: "EN"; }
.language-switcher a[href*="fr"]::after { content: "FR"; }

#sp-user2 .language-switcher a {
  	display: flex !important;
  	align-items: center !important;
  	height: 100% !important;
}

#sp-user2 {
  	width: 80px !important;
  	flex: 0 0 80px !important;
  	max-width: 80px !important;
}

@media (min-width: 480px) and (max-width: 991px) {
  #sp-user2 {
    position: absolute !important;
    width: 60px !important;
    right: 1px !important;
    z-index: 9999 !important;
  }
}

@media (max-width: 479px) {
  #sp-user2 {
	display: none !important;
  }
}

/* Reset du bouton Bootstrap dans offcanvas */
.offcanvas-menu .mod-languages a.btn {
  	background: none !important;
  	border: none !important;
	padding: 0px !important;
}

/* Badge uniquement */
.offcanvas-menu .mod-languages a::after {
  	font-size: 15px;
  	font-weight: 400;
  	background: #e1f3f8;
  	color: #333333;
  	padding: 2px 7px 4px 5px;
  	border-radius: 3px;
  	border: 1px solid #98c9d7;
}

.offcanvas-menu .mod-languages a[href*="/en"]::after { content: "Switch to English"; }
.offcanvas-menu .mod-languages a[href*="/fr"]::after { content: "Passer en Français"; }

.offcanvas-menu .mod-languages img {
  	display: none !important;
}

.offcanvas-menu .mod-languages ul,
.offcanvas-menu .mod-languages li {
  	list-style: none !important;
  	padding: 0 !important;
  	margin: 0 !important;
}

.offcanvas-menu .mod-languages a.btn:focus,
.offcanvas-menu .mod-languages a.btn:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Effets d’état : actif/hover */
	.language-switcher .mod-languages ul.lang-inline li a { opacity: .7; }
	.language-switcher .mod-languages ul.lang-inline li a:hover,
	.language-switcher .mod-languages ul.lang-inline li.lang-active a { opacity: 1; }

#sp-top1 {
  	width: 30px;
}

/* Flex Template - Pagination override */
.pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 30px 0px 30px 0px;
}

/* ====== CB Login Module - User Menu (dashboard) – compact grid ====== */

.ab-login-panel .ab-actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start;
}

@media (max-width: 640px){
  .ab-login-panel .ab-actions{
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 992px){
  .ab-login-panel .ab-actions{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1400px){
  .ab-login-panel .ab-actions{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.ab-login-panel .ab-tile {
  	align-items: flex-start;
  	padding: 12px 14px;
  	border-radius: 12px;
  	border: 1px solid #e5e7eb;
  	background: #fff;
  	box-shadow: 0 2px 10px rgba(0,0,0,.04);
  	transition: box-shadow .15s ease, border-color .15s ease; /* plus de translation */
}

.ab-login-panel .ab-tile:hover{
  	box-shadow: 0 6px 18px rgba(0,0,0,.08);
  	border-color: #d0d7de;
}

.ab-login-panel .ab-ico{ width:32px; height:32px; }
.ab-login-panel .ab-ico i{ font-size:16px; }

.ab-login-panel .ab-label{ font-size:1rem; line-height:1.2; font-weight:400; }
.ab-login-panel .ab-sub{ font-size:.90rem; line-height:1.25; color:#6b7280; }
.ab-login-panel .ab-label, 
.ab-login-panel .ab-sub{ word-break: break-word; }

ul.logout-links,
ul.logout-links li {
    	list-style: none;
    	padding: 0;
    	margin: 0;
    	display: block;
}

/* ====== CB Login Module - User Menu – END ====== */


/* Joomla alert message */
joomla-alert {
  	padding: 8px 20px;
	margin: 1rem 0 1rem 0;
}

.alert-message {
  	padding: 8px 30px;
	margin: 0;
  	line-height: 1;
	font-size: 108%;
}

body.itemid-483 #system-message-container joomla-alert,
body.itemid-484 #system-message-container joomla-alert {
    	max-width: 1275px;
    	margin: 0 auto;
    	pointer-events: auto;
}

/* CB Login Modules (login-main + login-above) */
.login-main #login-form,
.login-above #login-form {
	position: relative;
	padding: 15px 25px 15px 25px;
	background-color: #fff;
	border: 0.5px solid #ddd;
	border-radius: 8px;
	box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.08);
	display: block;
	margin: 2rem auto;
	justify-self: center;
}

@media (max-width: 768px) {
	.login-main #login-form,
	.login-above #login-form {
		padding: 15px;
	}
}

body.com-comprofiler.view-login #sp-component .maincomponent-custom,
body.com-comprofiler.view-login #sp-component .maincomponent-apps {
	display: grid;
	text-align: initial !important;
	justify-content: initial !important;
}

/* Joomla system message alignment on CB login view */
body.com-comprofiler.view-login #system-message-container.centered {
	margin-left: 0;
	margin-right: 0;
}

/* CB login links */
.login-main #form-login-links,
.login-above #form-login-links {
	margin-top: 10px;
	padding-left: 0;
	list-style: none;
	display: block;
}

/* Buttons */
.login-main .loginbutton-custom,
.login-main .logoutbutton-custom,
.login-above .loginbutton-custom,
.login-above .logoutbutton-custom,
.appsgate-fallback-btn {
	padding: .375rem .75rem;
	margin: 10px 0;
	border-radius: .25rem;
	background-color: #1ba9cb;
	color: #fff;
	font-size: 17px;
	line-height: 25px;
}

.login-main .loginbutton-custom:hover,
.login-main .logoutbutton-custom:hover,
.login-above .loginbutton-custom:hover,
.login-above .logoutbutton-custom:hover,
.appsgate-fallback-btn:hover {
	background-color: #0390b2;
	color: #fff;
	border-color: transparent !important;
}

/* Remember checkbox */
.login-main #modlgn-remember,
.login-above #modlgn-remember {
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	width: auto !important;
	height: auto !important;
}

.login-main #login-form label[for="modlgn-remember"]::before,
.login-main #login-form label[for="modlgn-remember"]::after,
.login-above #login-form label[for="modlgn-remember"]::before,
.login-above #login-form label[for="modlgn-remember"]::after {
	display: none !important;
}

.login-main #login-form label[for="modlgn-remember"],
.login-above #login-form label[for="modlgn-remember"] {
	padding: 0 !important;
	cursor: pointer;
	display: inline-flex;
	position: absolute;
}

/* Login module custom fields (default sizing) */
.login-main .username-custom,
.login-main .password-custom,
.login-main .loginbutton-custom,
.login-above .username-custom,
.login-above .password-custom,
.login-above .loginbutton-custom {
	width: 300px;
	border-radius: var(--bs-border-radius);
	margin-top: 0.2rem;
}

.login-main input[type="text"].username-custom,
.login-main input[type="password"].password-custom,
.login-main .fabrikForm .fabrikinput,
.login-above input[type="text"].username-custom,
.login-above input[type="password"].password-custom,
.login-above .fabrikForm .fabrikinput {
	font-size: 16px;
}

/* Logout view (keep centered, do not change module dimensions) */
.login-main #login-form.cbLogoutForm,
.login-above #login-form.cbLogoutForm {
	text-align: center;
	max-width: 1115px;
}

.login-main .login-avatar.cb_template.cb_template_default,
.login-above .login-avatar.cb_template.cb_template_default {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.login-above .username-custom,
.login-above .password-custom,
.login-above .loginbutton-custom {
	width: 100%;
	max-width: 100%;
}

/* CB registration form - tabs */
.nav-tabs .nav-link {
	color: #038DB9;
}

.nav-tabs .nav-link:hover {
	color: #495057;
}

/* CB Group & Profile Nav Bar — onglets uniquement */
.cbTabsMenuNavBar .cbNavBarLink.nav-link {
    	position: relative;
    	margin-left: 2px;
    	transition: color 0.2s ease;
}
.cbTabsMenuNavBar .cbNavBarLink.nav-link::after {
    	content: '';
    	position: absolute;
    	bottom: 2px;
    	left: 0;
    	width: 0;
    	height: 1.5px;
    	background: #4b9ebc;
    	transition: width 0.25s ease;
}
.cbTabsMenuNavBar .cbNavBarLink.nav-link:hover {
    	color: #4b9ebc;
}
.cbTabsMenuNavBar .cbNavBarLink.nav-link:hover::after {
    	width: 100%;
}
.cbTabsMenuNavBar .cbNavBarLink.nav-link.active::after {
    	width: 100%;
}
.cbTabsMenuNavBar .cbNavBarLink.nav-link.active {
    	color: #4b9ebc;
    	font-weight: 500;
}

/* CB registration form - subscribe button */
.row.no-gutters.cbRegistrationButtons {
	margin-top: 50px;
}

/* CB registration form - fields */
#message {
	width: 600px !important;
	max-width: 100% !important;
}

.cb_template .form-auto .form-control,
.cb_template .form-auto .form-select {
	width: 100% !important;
 	max-width: 350px !important;
	height: auto !important;
	box-sizing: border-box;
	margin-bottom: 1rem;
	font-size: 16px;
}

@media (max-width: 576px) {
	.cb_field.col-sm-9 {
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.cb_template .form-auto .form-control,
	.cb_template .form-auto .form-select {
		width: 100% !important;
		max-width: 100% !important;
	}
}


/* Hard fix: restore centered login layout (login-main + login-above, exclude logout) */
.login-main #login-form:not(.cbLogoutForm),
.login-above #login-form:not(.cbLogoutForm) {
	max-width: 400px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin: 2rem auto;
}

.login-above #login-form:not(.cbLogoutForm) {
	margin: 3rem auto;
}

/* Fields must follow container width */
.login-main #login-form:not(.cbLogoutForm) .username-custom,
.login-main #login-form:not(.cbLogoutForm) .password-custom,
.login-main #login-form:not(.cbLogoutForm) .loginbutton-custom {
	width: 100%;
}

/* END OF CB LOGIN CUSTOM */

/* CB Subs customization */
.form-check {
  	padding-left: 0.5em;
}

.cbregPlanSelector {
  	margin-top: 20px;
}

.form-check-label.mb-1.font-weight-bold.cbregName {
  	background: #f8f9fa;
  	border: 1px solid var(--bs-border-color);
  	border-radius: 5px;
  	padding: 4px 4px 4px 4px;
  	font-weight: 600 !important;
  	color: #333;
	margin-bottom: 20px !important;
	margin-top: 20px !important;
	padding: 6px !important;
}

input.form-check-input.cbregTick {
  	margin-top: 12px;
}

.input-group-prepend {
  	max-height: 37px;
}

/* CB Subscription – icons before plan labels */
#cbregProduct_1 label.m-0::before,
#cbregProduct_3 label.m-0::before,
#cbregProduct_4 label.m-0::before,
#cbregProduct_6 label.m-0::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 600;
	margin: 0px 8px 0px 8px;
	display: inline-block;
	color: #333;
}

/* Adhésion à l’association AeroBridge */
#cbregProduct_1 label.m-0::before {
	content: "\f0c0"; /* fa-users */
}

/* Accès aux applications AeroBridge */
#cbregProduct_3 label.m-0::before {
	content: "\f1b3"; /* fa-cubes */
}

/* Soutien à l'association */
#cbregProduct_4 label.m-0::before {
	content: "\f004"; /* fa-heart */
}

/* Don ponctuel */
#cbregProduct_6 label.m-0::before {
	content: "\f06b"; /* fa-gift */
}


/* MegaMenu dropdown style */
.aerobridge-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item a:hover {
  	background: linear-gradient(90deg, #E6F7FB, #D4F0F7) !important;
}

.aerobridge-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a {
  	background: linear-gradient(90deg, #E6F7FB, #D4F0F7) !important;
	color: #03a0c6 !important;
}

.aerobridge-menu {
  	font-size: 20px;
}

.aerobridge-menu .sp-megamenu-parent > li > a {
	min-width: 100px;
	text-align: center;
	max-height: 95px !important;
}


/* New ad dropdown menu */
.ad-menu .sp-dropdown-inner {
	width: 120px;
}

/* Main Menu sub-menu */
.aerobridge-menu .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	min-width: 245px;
}

/*Logout sub-item separator*/
.menu-separator {
  	border-top: 1px solid #ddd;
  	margin-top: 8px;
  	padding-top: 4px !important;
}

/* OffCanvas Menu - Contact item separator */
.offcanvas-menu .offcanvas-inner .sp-module ul.accordion-menu > li:last-child {
  	border-top: 1px solid #ccc;
  	margin-top: 10px;
  	padding-top: 10px;
}



/* OffCanvas Menu style mobile portrait */
@media (max-width: 480px) and (orientation: portrait) { 
    .offcanvas-menu {
        width: 100vw !important; /* Couvre toute la largeur */
    }
}

/* Basculer en off-canvas sous 1200px sans masquer le bouton */
@media (max-width: 1149.99px) {
  .sp-megamenu-parent { 
    	display: none !important; 
  }

  /* Assure l’affichage du bouton burger */
  #offcanvas-toggler,
  .offcanvas-toggler,
  .hamburger,
  .burger-icon {
    	display: inline-flex !important;
    	align-items: center;
  }
}

/* Header fluide entre 1200px et 1399px pour éviter le "resserrement" */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  #sp-header .container,
  .aerobridge-header .container {
    	max-width: 100% !important;
    	width: 100% !important;
    	padding-left: 24px;
    	padding-right: 24px;
  }

  /* (Optionnel) ne pas autoriser le retour à la ligne dans la rangée du header */
  #sp-header .container > .row {
    	flex-wrap: nowrap;
  }

  /* (Optionnel) compresser un peu les liens si besoin */
  .sp-megamenu-parent > li > a {
    	padding: 0 .7rem;
  }
}

/* Fabrik custom items */
.cbPointsFieldIncrement.cbPointsFieldIncrementPlus, .cbPointsFieldIncrement.cbPointsFieldIncrementMinus {
  	color: #1ba9cb;
}

/* Fabrik Group Legend style */
.mt-3.legend {
 	margin-bottom: 30px;
  	border-bottom: 1px solid #ccc;
}

/* OpenMind Project form Fabrik - titre de légende commun (form + détail) */
[id^="form_16"] .mt-3.legend, [id^="form_16"] h3.mt-3 {
  margin-top: 4rem !important;
  font-size: 1.8rem;
  color: #027D9D;
}

/* Harmoniser le padding de la colonne radios sur le champ "anonymat" dans les formulaires "Contribution" et "Réponse à une contribution" */
.fb_el_projets_openmind___anonymat .fabrikElement.col-sm-8,
.fb_el_openmind_contributions___anonymat .fabrikElement.col-sm-8 {
    padding-top: calc(.375rem + var(--bs-border-width));
    padding-bottom: calc(.375rem + var(--bs-border-width));
    padding-left: calc(var(--bs-gutter-x) * 1);
    padding-right: calc(var(--bs-gutter-x) * 1);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
}

/* OpenMind Project Fabrik View - stars*/

.fabrikRating span.starRating {
  	display: inline-block;
  	width: 1.35rem;
  	height: 1.35rem;
  	line-height: 1.35rem;
  	text-align: center;
  	margin: 0 .12rem;
  	vertical-align: middle;
 	transition: none !important;
}	

.fabrikRating .icon-star:before,
.fabrikRating .icon-star-empty:before {
  	font-family: "Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome,inherit !important;
  	font-weight: 900 !important;
  	transition: none !important;
}

.fabrikRating .icon-star-empty:before {
  	content: "\f006" !important;    /* étoile vide */
  	color: #cfd4da !important;
 	opacity: 0.45 !important;
	font-size: 1em !important;
	
}

.fabrikRating .icon-star:before {
 	content: "\f005" !important;    /* étoile pleine */
  	color: #dfb02e !important;
  	opacity: 1 !important;
}

.fabrikRating .fa, 
.fabrikRating .fa:before,
.fabrikRating .starRating,
.fabrikRating .starRating:before {
  	transform: none !important;
  	animation: none !important;
  	transition: none !important;
}

.fabrikRating .fa.starRating:hover:before {
  	color: #dfb02e !important;
}

/* OpenMind Project Fabrik Detailed View - stars*/
.fabrikElementContainer.plg-rating .starRating {
  	display: inline-block;
  	width: 1.35rem;
  	height: 1.35rem;
  	line-height: 1.35rem;
  	text-align: center;
  	margin: 0 .12rem;
 	vertical-align: middle;
  	transition: none !important;
}

.fabrikElementContainer.plg-rating .icon-star:before,
.fabrikElementContainer.plg-rating .icon-star-empty:before {
  	font-family: "Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome,inherit !important;
  	font-weight: 900 !important;
  	transition: none !important;
}

.fabrikElementContainer.plg-rating .icon-star-empty:before {
  	content: "\f006" !important;
  	color: #cfd4da !important;
  	opacity: 0.45 !important;
  	font-size: 1em !important;
}
.fabrikElementContainer.plg-rating .icon-star:before {
  	content: "\f005" !important;
  	color: #dfb02e !important;
  	opacity: 1 !important;
}

.fabrikElementContainer.plg-rating .fa,
.fabrikElementContainer.plg-rating .fa:before,
.fabrikElementContainer.plg-rating .starRating,
.fabrikElementContainer.plg-rating .starRating:before {
  	transform: none !important;
  	animation: none !important;
 	transition: none !important;
}

.fabrikElementContainer.plg-rating .fa.starRating:hover:before {
  	color: #dfb02e !important;
}

body.com-fabrik.view-details .fabrikElementContainer.plg-rating .icon-remove { 
  	display: none !important;
}

/* Ne jamais afficher la position below-component sur les LISTES Fabrik */
body.com-fabrik.view-list .below-component { 
  	display: none !important; 
}

/* OpenMind - Force to display the fields */
#group59 label.form-label.fabrikLabel[for*="_image_"],
#group59 label.form-label.fabrikLabel[for*="_titre_"],
#group59 label.form-label.fabrikLabel[for*="_description_"] {
  display: block !important;
}

/* Fabrik Col-sm-2 width (larger) */
@media (min-width: 576px) {
    .form-label.fabrikLabel.col-sm-2.col-form-label {
        width: 45% !important;
    }
}

@media (min-width: 992px) {
  .form-label.fabrikLabel.col-sm-2.col-form-label {
    width: 30% !important;
  }
}

/* Fabrik Col-sm-2 width on image crop popup (Ajax upload) */
input.col-sm-2[type="number"][name="rotate-val"], input.col-sm-2[type="number"][name="zoom-val"] {
  	width: 35%;
}

/* Textarea Element Fabrik - Bootstrap behavior */
@media (min-width: 576px) {
  .col-sm-8 textarea.form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
}

/* Behavior fix under 576px */
@media (max-width: 575px) {
  .col-sm-8,
  .col-sm-7,
  .col-sm-6,
  .col-sm-9,
  .col-sm-10 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  textarea.form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow: hidden;
    resize: none; /* Deactivate resizing */
  }
}

/* Fabrik groups margin */
.fabrikGroup {
  	margin-bottom: 30px !important;
}

/* Fabrik jCalendar element */
[id$="_cal_btn"]::before {
  	font-family: 'Font Awesome 6 Free';
 	content: "\f073";
  	font-weight: 900;
  	font-size: 16px;
  	color: #fff;
  	position: absolute;
  	transform: translateY(-50%);
  	pointer-events: none;
}

[id$="_cal_btn"] {
  	padding-left: 14px;
}

.field-calendar .input-group {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	max-width: 100%; /* S'assure que ça ne dépasse jamais */
	overflow: hidden; /* Cache les débordements éventuels */
}

.field-calendar input[type="text"] {
	flex: 1 1 auto !important;
	width: auto !important; /* Écrase tout width fixe */
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.field-calendar button.btn {
	flex: 0 0 auto;
	white-space: nowrap;
}

.form-control,
.fabrikinput {
  	font-size: 16px !important;
}

/* Fabrik validation element icon */
.fa.icon-icon-.fa-asterisk.small {
	font-size: 0.6em;
	vertical-align: super;
	color: #cc2828;
}

/* Fabrik product request - drag and drop area */
.plupload {
	height: 180px !important;
	border: 1.5px dashed rgb(204, 204, 204);
}

/*"icon-delete" Flex Remap to FontAwesome */
.icon-delete::before {
    	content: "\f00d";
    	font-family: "Font Awesome 6 Free";
    	font-weight: 900;
}

/* Fabrik list view - alignment */
.fabrik_divrow {
	display: flex;
  	justify-content: center;
  	align-items: center;
  	flex-direction: column;
  	text-align: center;
}

/* Fabrik action buttons in list view */
.fabrik_actions {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2000 !important;
	padding: 0.2rem;
}

.fabrik_actions .btn-group .btn {
	display: none;
}

.fabrik_actions::before {
	content: "\f044";
	font-family: "Font Awesome 5 Free";
	font-weight: 500;
	font-size: 1.1rem;
	color: #00b2e2;
	cursor: pointer;
	background: white;
	border: 1px solid #00b2e2;
	border-radius: 6px;
	padding: 6px 10px;
	display: inline-block;
	z-index: 2;
	position: relative;
}

.fabrik_actions:hover .btn-group .btn {
	display: block;
	background: white;
	border: none;
	padding: 8px 12px;
	width: 160px;
	text-align: left;
}

.fabrik_actions .btn-group .btn:hover {
	color: #00b2e2;
}

.fabrik_actions .btn-group {
 	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: absolute;
	top: 100%;
	right: 0;
	background: white;
	border: 1px solid #ccc;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	z-index: 999;
	margin-top: -1px;
}

.fabrik_actions .btn-group .btn .hidden {
	margin-left: 4px;
}

/* ============================================
   FABRIK ACTIONS - Tableau bootstrap (listes 19 & 21)
   3 icônes directes, sans dropdown
   ============================================ */

#list_19_com_fabrik_19 .fabrik_actions,
#list_21_com_fabrik_21 .fabrik_actions {
    position: relative;
    vertical-align: middle;
    text-align: center;
}

#list_19_com_fabrik_19 .fabrik_actions .btn-group,
#list_21_com_fabrik_21 .fabrik_actions .btn-group {
    display: flex;
    flex-direction: row;
    gap: 4px;
    position: static;
    background: none;
    border: none;
    box-shadow: none;
    overflow: visible;
}

#list_19_com_fabrik_19 .fabrik_actions .btn-group .btn,
#list_21_com_fabrik_21 .fabrik_actions .btn-group .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 6px;
    border: 1px solid #00b2e2;
    background: white;
    color: #00b2e2;
    font-size: 0.85rem;
}

#list_19_com_fabrik_19 .fabrik_actions .btn-group .btn:hover,
#list_21_com_fabrik_21 .fabrik_actions .btn-group .btn:hover {
    background: #00b2e2;
    color: white;
}

/* Supprimer le ::before (icône crayon du dropdown) sur ces listes */
#list_19_com_fabrik_19 .fabrik_actions::before,
#list_21_com_fabrik_21 .fabrik_actions::before {
    display: none;
	content: none !important;
}

/* Supprimer aussi dans le header */
#list_19_com_fabrik_19 .heading.fabrik_actions::before,
#list_21_com_fabrik_21 .heading.fabrik_actions::before {
    display: none;
}

#list_19_com_fabrik_19 .fabrik_actions .btn-group .btn .hidden,
#list_21_com_fabrik_21 .fabrik_actions .btn-group .btn .hidden {
    display: none !important;
}

/* Fabrik module on landing page - hide buttons */
.accueil-latest .fabrikButtonsContainer {
  	display: none !important;
}

.accueil-latest .fabrik_row {
  	width: 100% !important;
  	max-width: 100%;
  	flex: 0 0 100%;
}

.accueil-latest .fabrik_actions {
  	display: none !important;
}

.accueil-latest .emptyDataMessage {
  	text-align: center !important;
}

.fabrik_divrow .fabrikGalleryImage {
	margin: 15px auto; /* pour centrer le conteneur lui-même */
}

.fabrik_divrow .fabrikDefaultImage {
	width: 200px;
	height: 200px;
	margin: 15px auto;
}

.fabrik_divrow .fabrikLightBoxImage {
	width: 200px;
	height: 200px;
	margin: 15px auto;
}

/* Fabrik list view - image slideshow in Ajax upload */
body.view-list.slick-slide {
  	margin: auto 10px;
}

.slick-list.draggable {
  	cursor: pointer;
}

.slick-dotted.slick-slider {
	margin-bottom: 0px;
}

.slick-dots {
	bottom: -5px !important;
}

.slick-dots li button::before {
  	font-size: 10px;

}

/* --------- Fabrik slick dots adjustment on all Fabrik Lists -------- */

/* Avoid spacing on cards */
.fabrikElement .slick-slider,
.fabrikList .slick-slider,
.fabrikDetails .slick-slider {
    	padding-bottom: 26px !important;
    	position: relative !important;
}

/* bullets (dots) positioning under the Fabrik carousel */
.fabrikElement .slick-dots,
.fabrikList .slick-dots,
.fabrikDetails .slick-dots {
    	position: absolute !important;
    	bottom: 4px !important;
    	left: 0;
    	width: 100%;
    	text-align: center;
    	margin: 0 !important;
    	padding: 0 !important;
    	display: block !important;
}

/* Dots - horizontal align */
.fabrikElement .slick-dots li,
.fabrikList .slick-dots li,
.fabrikDetails .slick-dots li {
    	display: inline-block !important;
    	margin: 0 4px !important;
    	float: none !important;
}

/* SP Page Builder modules - dot bottom border delete */
.sppb-addon-module ul.slick-dots > li,
.sp-module ul.slick-dots > li {
    	border-bottom: none !important;
}

/* Actif dot */
.slick-dots li.slick-active button:before {
    	opacity: 1 !important;
    	color: #00a7c4 !important;
}

.slickCarouselImage, .fabrik_list .carousel-img-container {
  	height: 280px;
  	display: flex !important;
  	justify-content: center;
 	align-items: center;
  	overflow: hidden;
}

/* === Slider principal (vue détail) === */
body.view-details .slick-slider.main-carousel {
  	--ab-slide-h: 270px;
}

body.view-details .slick-slider.main-carousel .slick-slide {
  	display: flex !important;
  	align-items: center !important;
  	justify-content: center !important;
  	min-height: var(--ab-slide-h);
  	overflow: hidden !important;
}

/* Mobile : Avoid overflow of the image */
@media (max-width: 992px) {
  body.view-details .slick-slider.main-carousel .slick-slide {
   	justify-content: flex-start !important;
	max-width: 375px !important;
  }
}

body.view-details .slick-slider.main-carousel .slick-slide img {
  	display: block !important;
  	max-width: 100% !important;
  	max-height: var(--ab-slide-h) !important;
  	width: auto !important;
  	height: auto !important;
 	object-fit: contain !important;
}

/* === Slider des miniatures (vue détail) === */
body.view-details .slick-slider.thumbs-carousel {
  	--thumb-gap: 4px;
}

body.view-details .slick-slider.thumbs-carousel .slick-slide {
  	margin: 0 var(--thumb-gap);
}

body.view-details .slick-slider.thumbs-carousel .slick-list {
  	margin: 0 calc(-1 * var(--thumb-gap));
}

body.view-details .slick-slider.thumbs-carousel .slick-slide img {
  	display: block;
  	margin: 0 auto;
  	height: auto !important;
  	max-height: 90px;
  	object-fit: contain;
}

/* === Slider en vue liste === */
body.view-list .slick-slide {
  	height: 280px !important;
  	display: flex !important;
  	align-items: center !important;
 	justify-content: center !important;
  	margin: auto 10px;
}

body.view-list .slick-slide img {
  	height: 260px !important;
  	width: auto !important;
  	object-fit: contain !important;
  	display: block !important;
}

.zoomLens {
  	background: none !important;
  	opacity: 0 !important;
  	cursor: zoom-in !important;
}

/* Fabrik list view - image slideshow in Ajax upload on landing page */
.accueil-latest .slick-slide img {
  	width: 60% !important;
	border-radius: 5px;
}

.accueil-latest .fabrikForm {
  	margin-top: -1rem !important;
}

.slick-prev,
.slick-next {
  	display: none !important;
}

form.fabrikForm {
	margin-top: 1rem;
}

#form_17.fabrikForm {
	margin-top: 0rem;
}

.view-list [class*="titre_demande"],
.view-list [class*="titre_offre"] {
  	font-weight: 400;
  	line-height: 3em;
  	font-size: 20px;
}

.heading.fabrik_ordercell {
  	line-height: 25px;
  	font-weight: normal;
  	font-size: 17px;
}

body.view-list td[class*="titre_demande"],
body.view-list td[class*="titre_offre"] {
  	font-weight: normal;
  	line-height: 25px;
  	font-size: 17px;
}


body.view-details [class*="titre_demande"],
body.view-details [class*="titre_offre"] {
  	font-weight: 500;
  	line-height: 2em;
  	font-size: 1.5rem;
  	color: #008AB6;
	margin: 20px 0px 0px 0px;
  	border-top: 1px solid #ccc;
}

/* Fabrik list view - € symbol add in price element */
.prix_css::after {
  	content: "€";
	margin-left: 2px;
}

/* Fabrik list view - request priority */
.urgence_css {
	position: relative;
}

.urgence_css::before {
	font-family: 'Font Awesome 6 Free';
	content: "\f017";
	margin-right: 5px;
	color: #555;
}

.urgence_css:hover::after {
	content: "Urgence";
	position: absolute;
	top: -2px;
	left: 20%;
	transform: translateX(-150%);
	color: #fff;
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 13px;
	white-space: nowrap;
	z-index: 9999;
	opacity: 1;
	pointer-events: none;
	background-color: rgb(217, 127, 127);
}

/* Fabrik list view - product state */
.etat_css {
	position: relative;
}

.etat_css::before {
	font-family: "Font Awesome 6 Free";
  	font-weight: 900;
  	content: "\f05a";
  	font-size: 18px;
  	color: #03a0c6;
  	margin-right: 5px;
  	vertical-align: middle;
}

.etat_css:hover::after {
	content: "État";
	position: absolute;
	left: 15%;
	top: -2px;
	transform: translateX(-150%);
	color: #fff;
	padding: 1px 6px;
	border-radius: 2px;
	font-size: 13px;
	white-space: nowrap;
	z-index: 9999;
	opacity: 1;
	pointer-events: none;
	background-color: #03a0c6;
}

/* Fabrik list view - Contact button */
/* A new container for the button (enable the alignement) */
.fabrik_element[class*="___contacter"] {
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	min-height: 34px;
  	margin-top: 15px;
}

.btn-contact-neutre {
  	color: #008AB6;
  	border-bottom: 1px solid transparent;
  	text-decoration: none;
  	transition: all 0.2s ease-in-out;
  	display: inline-flex !important;
  	align-items: center;
  	gap: 4px;
}


.btn-contact-neutre:hover {
    	color: #00789f;
    	border-bottom: 1px solid #015b72;
}

/* Fabrik list view - checkbox */
.form-check.fabrikgrid_checkbox.col-sm-12 {
	padding-left: 2.2em;
}

/* Fabrik form - radio element */
.form-check.fabrikgrid_radio.col-sm-6 {
	padding-left: 2.5em;
}

.btn-outline-secondary {
  	padding: 6px 15px !important;
}

/* Fabrik form - Button group wrap */
.fabrikSubElementContainer .btn-group[role="group"] {
  	flex-wrap: wrap;
  	justify-content: flex-start;
  	gap: 0.2rem;
}

.fabrikSubElementContainer .btn-group[role="group"] .btn {
  	padding: 0.4rem 0.6rem;
	white-space: nowrap;
}

@media (max-width: 768px) {
  	.fabrikSubElementContainer .btn-group[role="group"] .btn {
    	flex: 1 0 48% !important;
  }
}

/* Fabrik list view - filters button */
.toggleFilters.btn {
	color: var(--bs-body-color);
	background-color: #fbfcfd !important;
	border: 1px solid #ddd;
	padding: 6.5px 30px;
}

.toggleFilters.btn:hover {
	color: #000;
	border-color: #aaa;
}

.toggleFilters.btn::before {
	font-family: 'Font Awesome 6 Free';
	content: "\f1de";
	font-weight: 600;
	margin-right: 0.5em;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: auto;
	font-style: normal;
}

/* Fabrik list view - Add button */
.addbutton.addRecord.btn {
	color: var(--bs-body-color);
	background-color: #fbfcfd !important;
	border: 1px solid #ddd;
	padding: 6.5px 15px;
}

.addbutton.addRecord.btn:hover {
	color: #000;
	border-color: #aaa;
}

.addbutton.addRecord.btn::before {
	font-family: 'Font Awesome 6 Free';
	content: "\2b";
	font-weight: 600;
	margin-right: 0.1em;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: auto;
	font-style: normal;
}

color: var(--bs-body-color);
  	background-color: #fbfcfd !important;
  	border: 1px solid #ddd;
  	padding: 6.5px 30px;

/* Fabrik list view - dropdown buttons */
.btn.dropdown-toggle {
	color: var(--bs-body-color) !important;
	background-color: #fbfcfd !important;
	border: 1px solid #ddd !important;
}

.btn.dropdown-toggle:hover {
	color: #000 !important;
	border-color: #aaa !important;
}

/* Fabrik list view - empty button */
.doempty.btn {
	color: var(--bs-body-color) !important;
	background-color: #fbfcfd !important;
	border: 1px solid #ddd !important;
	padding: 6.5px 30px;
}

.doempty.btn:hover {
	color: #000 !important;
	border-color: #aaa !important;
}

/* Fabrik list view - Search all field and button */
.fabrikSearchAll {
  	padding: 0px;
}

.fabrikForm .row.justify-content-between {
  	row-gap: 15px;
}

/* Aligne en haut tous les enfants (input + bouton) dans le bloc search */
.fabrikSearchAll > .row {
  	align-items: flex-start !important;
}

/* Force le bouton "Aller" à ne pas descendre */
.fabrikSearchAll > .row > input[type="button"] {
  	align-self: flex-start !important;
	margin: 0px;
}

.fabrikSearchAll .row {
  	display: flex;
  	align-items: center;
  	gap: 10px;
}

.fabrikSearchAll input[type="search"] {
  	min-width: 240px;
	min-height: 37px;
  	margin-bottom: 0 !important;
	margin-left: 8px;
}

.fabrikSearchAll input[type="button"] {
  	margin-bottom: 0 !important;
}

/* Fabrik list view - filter area */
.fabrikFilterContainer {
	border: 1px solid #eee;
	border-left: 4px solid #03b4df;
	border-radius: 4px;
	background-color: #fbfcfd !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	margin-bottom: 2rem !important;
	padding: 1rem 1.5rem !important;
}

.fabrikFilterContainer select,
.fabrikFilterContainer input[type="text"],
.fabrikFilterContainer input[type="number"] {
	width: 100%;
	padding: 0.45rem 0.75rem;
	border: 1px solid #ccc;
	border-radius: 8px;
	font-size: 0.95rem;
	background-color: white;
}

.fabrikFilterContainer .btn,
.fabrikFilterContainer .btn-primary {
	padding: 0.45rem 1rem;
	font-size: 0.9rem;
	border-radius: 8px;
}

/* Fabrik list view - control buttons hover color */
.nav-link:hover {
  	color: #03a0c6;
}

/* Fabrik list view - group by button */
.dropdown-menu.show {
	padding: 10px;
}

/* Fabrik - Hide elements "qr_code_annonce" in all forms (not in the detailed view) */
form.fabrikForm:not(.fabrikDetails) .fabrikElementContainer[class*="fb_el_"][class*="_qr_code_annonce"] {
  	display: none !important;
}

/* Fabrik list view - QR code min width */
[id$="___qr_code_annonce_ro"] {
  min-width: 95px;
}

/* Fabrik - Hide elements "lien_annonce" in all forms (not in the detailed view) */
form.fabrikForm:not(.fabrikDetails) .fabrikElementContainer[class*="fb_el_"][class*="_lien_annonce"] {
  	display: none !important;
}

/* < 768px : 1 column */
@media (max-width: 767.98px) {
  .fabrik_row {
    width: 100% !important;
  }
}

/* 768px to 992.98px : 2 columns */
@media (min-width: 768px) and (max-width: 992.98px) {
  .fabrik_row {
    width: 50% !important;
  }
}

/* 993px to 1199.98px : 2 columns */
@media (min-width: 993px) and (max-width: 1199.98px) {
  .fabrik_row {
    width: 50% !important;
  }
}

/* === FLIGHTLOG OVERRIDES START HERE === */

#form_19.fabrikForm,
#form_21.fabrikForm {
  	margin-top: 0rem !important;
}

/* Seconds separator hide Fabrik */
.fabrikSubElementContainer td {
    font-size:0;
}
.fabrikSubElementContainer select {
    font-size:initial;
}

.fabrikSubElementContainer .calendar-container td.title {
    font-size: inherit !important;
}

/* Signature element - remove border on the wrapper */
#flightlog___pilot_signature .sigWrapper,
#flightlog___authority_signature .sigWrapper {
    	border: none;
}

/* Adds frame around signature field */
#flightlog___pilot_signature_oc_pad,
#flightlog___authority_signature_oc_pad {
    	border: 1px solid #ccc;
    	box-sizing: border-box;
    	display: block;
}

/* Harmoniser le padding de la colonne radios */
.fb_el_flightlog___flight_remark_selector .fabrikElement.col-sm-12,
.fb_el_flightlog___remark_type_selector .fabrikElement.col-sm-12 {
    padding-top: calc(.375rem + var(--bs-border-width));
    padding-bottom: calc(.375rem + var(--bs-border-width));
    padding-left: calc(var(--bs-gutter-x) * 1);
    padding-right: calc(var(--bs-gutter-x) * 1);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
}

/* Observation / Incident up to 992px of large display fix */
@media (max-width: 992px) {
    .fb_el_flightlog___remark_type_selector .fabrikElement.col-sm-12 {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .fb_el_flightlog___remark_type_selector .form-check {
        width: 100%;
        margin-right: 0;
        margin-bottom: .25rem;
    }
}

/* Signatures elements : 850px 2 columns fix */
@media (max-width: 850px) {
    .fb_el_flightlog___pilot_signature.form-group.col-sm-6,
    .fb_el_flightlog___authority_signature.form-group.col-sm-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* Optionnel : centrer la zone de signature dans la colonne */
    .fb_el_flightlog___pilot_signature .sigWrapper.current,
    .fb_el_flightlog___authority_signature .sigWrapper.current {
        margin-left: auto;
        margin-right: auto;
    }
}

[id^="form_19"] .mt-3.legend, [id^="form_19"] h3.mt-3,
[id^="form_21"] .mt-3.legend, [id^="form_21"] h3.mt-3 {
    	color: #028CAD;
	font-size: 1.4rem;
	text-transform: uppercase;
    	border-bottom: none;
   	padding: 10px 14px;
    	margin-bottom: 15px;
	border-radius: 4px;
  	background-color: #f4f8fb;
  	border-left: 4px solid #1ca9cc;
}

[id^="form_19"] .fabrikGroup,
[id^="form_21"] .fabrikGroup {
    	margin-bottom: 30px !important;
	margin-top: 30px;
}

[id^="form_19"] .fabrikElementContainer, 
[id^="form_21"] .fabrikElementContainer{
   	margin-bottom: 12px;
}

[id^="form_19"] .toggle-editoption,
[id^="form_21"] .toggle-editoption {
   	display: none;
}

.toggle-addoption {
   	background-color: #1ca9cc;
	border-color: #0398bc;
}

.toggle-addoption:hover {
   	background-color: #0390b2;
	border-color: #02637b;
}

/* FABRIK add button text + FA7 icon */
a.toggle-addoption.btn::before{
  	content:"Ajouter ";
  	font-weight: 500;
	color: #fff;
}

a.toggle-addoption .fa.icon-plus::before{
  	content: "\f067";
  	font-family: "Font Awesome 7 Free";
  	font-weight: 600;
	color: #fff;
	font-size: 14px;
}


[id^="form_19"] #group79.fabrikGroup {
	background: #f8f9fa;
	box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.06);
  	border-radius: 10px;
  	border: 1px solid #e1e8ed;
	padding: 15px;
	margin-bottom: 85px !important;
  	
}

[id^="form_19"] #group80.fabrikGroup {
	margin-bottom: 5px !important;
  	
}

/* Élément Display Maintenance : pleine largeur */
.fb_el_flightlog___maintenance_title_tip .fabrikElement {
    	width: 100% !important;
}

/* FlightLog Type Selector No wrap*/
#flightlog___log_type_selector .form-check {
    	white-space: nowrap;
}


/* ======================================================
   APPS SIDEBAR — COLLAPSED MODE (CLEAN)
   ====================================================== */

:root{ --apps-left-w-collapsed:52px; }

/* Collapse left column (override Bootstrap col) */
body.apps-sidebar-collapsed #sp-left{
  	flex:0 0 var(--apps-left-w-collapsed) !important;
  	max-width:var(--apps-left-w-collapsed) !important;
  	padding:0 !important;
}

/* Tight inner layout */
body.apps-sidebar-collapsed #sp-left .sp-column{ padding:0 !important; overflow:hidden; }
body.apps-sidebar-collapsed #sp-left .sp-module{ margin:0 !important; }

/* Expand main content */
body.apps-sidebar-collapsed #sp-component{
  	flex:0 0 calc(100% - var(--apps-left-w-collapsed)) !important;
  	max-width:calc(100% - var(--apps-left-w-collapsed)) !important;
}

/* Hide menu headers + labels (Helix markup) */
body.apps-sidebar-collapsed #sp-left .apps-menu .nav-header{ display:none !important; }
body.apps-sidebar-collapsed #sp-left .apps-menu a{ font-size:0 !important; }

/* Center the toggle button */
body.apps-sidebar-collapsed .apps-sidebar-toggle{ margin:8px auto !important; display:flex; }

.apps-menu-header {
  	margin-bottom: 25px;
}


/* ======================================================
   APPS SIDEBAR — STYLE (OPEN vs COLLAPSED)
   ====================================================== */

/* Sidebar divider */
#sp-left {
	min-height: 100vh;
	border-width: 0 1px;
	border-style: solid;
	border-color: rgba(0,0,0,.06);
	background-color: #f8f9fa;
}

#sp-left .apps-menu .nav-header{
	display: none;
}

#sp-left .sp-column {
  	margin-top: 15px;
}

/* AppsGate sidebar icons */
#sp-left .fa,
#sp-left .fas,
#sp-left .far {
  	color: #027d9d;
  	opacity: 0.9;
}

#sp-left .apps-menu li.active > a{
  	color: #0285bf !important;
  	background: rgba(2,133,191,0.08);
}

#sp-left .apps-menu > li.item-514.active > a:not(:hover){
  	color:#333 !important;
  	font-weight:400 !important;
  	background: transparent !important;
}

#sp-left .apps-menu li.active.deeper.parent > a:not(:hover){
  	background: transparent !important;
}

#sp-left .apps-menu li.active.parent > a:not(:hover){
  	background: transparent !important;
}


/* ----- OPEN state (normal) ----- */
body:not(.apps-sidebar-collapsed) #sp-left .apps-menu a {
	display: block;
  	padding: 10px 10px;
  	line-height: 1.4;
  	font-size: 16px;
  	margin: 2px 0px 2px 0px;
}

body:not(.apps-sidebar-collapsed) #sp-left .apps-menu a:hover {
  	background: #e0eef7;
}

body:not(.apps-sidebar-collapsed) #sp-left .apps-menu a i {
  	margin-right: 10px;
  	font-size: 20px;
	font-weight:600
}

/* ----- COLLAPSED state (no big pills) ----- */
body.apps-sidebar-collapsed #sp-left .apps-menu a{
  	padding:8px 0 !important;
  	border-radius:0 !important;
  	background:transparent !important;
}

/* Menu link text animation */
#sp-left ul.apps-menu li a {
  white-space: nowrap;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* When sidebar collapsed → hide text cleanly */
body.apps-sidebar-collapsed #sp-left ul.apps-menu li a {
  opacity: 0;
  transform: translateX(-8px);
  pointer-events: none;
}

/* Icons must stay stable */
#sp-left ul.apps-menu li a i {
  transition: none;
}

/* Disable clicks on the menu content when collapsed (keep background clickable) */
body.apps-sidebar-collapsed #sp-left ul.apps-menu { pointer-events: none; }

/* Keep the toggle clickable */
body.apps-sidebar-collapsed #sp-left .apps-sidebar-toggle { pointer-events: auto; }

/* Toggle button */
.apps-sidebar-toggle{
  	width:34px;
  	height:34px;
  	border:1px solid rgba(0,0,0,.15);
  	border-radius:10px;
  	background:#fff;
  	cursor:pointer;
}

.apps-sidebar-toggle:hover{
	background: #f1f3f5;
}

.apps-sidebar-toggle::before{
  	font-family: "Font Awesome 6 Free";
  	font-weight: 600;
  	font-size: 16px;
  	line-height: 2;
  	content: "\f053"; /* chevron-left by default (open) */
	color: #333;
}

body.apps-sidebar-collapsed .apps-sidebar-toggle::before{
  	content: "\f054"; /* chevron-right when collapsed */
	margin-left: 10px;
}

/* ===== Apps menu: remove Helix list dividers (this menu only) ===== */
#sp-left ul.apps-menu > li{
  	border-bottom:0 !important;
}
#sp-left ul.apps-menu ul > li{
  	border-bottom:0 !important;
}

/* Sidebar icon alignment */
#sp-left .apps-menu a i{
  	width:24px;
  	text-align:center;
}

#sp-left .apps-menu > li{
  margin-bottom:14px;
}

body.apps-layout .deeper.parent {
  	margin-bottom: 15px;
  	margin-top: 15px;
}

#sp-left .apps-menu > li.item-514 > a,
#sp-left .apps-menu li.item-511 > a,
#sp-left .apps-menu li.item-510 > a {
	border-bottom: 1px solid rgba(0,0,0,.07);
}

/* Collapsed: remove custom separators (only specific items) */
body.apps-sidebar-collapsed #sp-left .apps-menu > li.item-514 > a,
body.apps-sidebar-collapsed #sp-left .apps-menu li.item-511 > a,
body.apps-sidebar-collapsed #sp-left .apps-menu li.item-510 > a{
  	border:0 !important;
}

body.apps-sidebar-collapsed #sp-left{
  	cursor: pointer;
}

body.apps-sidebar-collapsed #sp-left:hover{
  	background-color: #f1f3f5;
}

/* ======================================================
   MOBILE: disable collapsed sidebar layout (< 992px)
   ====================================================== */
@media (max-width: 991.98px) {

 #sp-left{
    min-height: 0 !important;
    height: auto !important;
    border-bottom: 1px solid rgba(0,0,0,.06);
    margin-bottom: 15px !important;
  }

  /* Collapsed on mobile = compact header bar (no big grey block) */
  body.apps-sidebar-collapsed #sp-left{
    	flex: 0 0 auto !important;
    	max-width: 100% !important;
    	width: 100% !important;
    	padding: 4px 6px !important;
    	background: #f8f9fa;
	min-height: 0 !important;
    	height: auto !important;
  }

  /* Hide the menu when collapsed (keep only the toggle) */
  body.apps-sidebar-collapsed #sp-left ul.apps-menu{
    	display: none !important;
  }

  /* Component takes full width */
  body.apps-sidebar-collapsed #sp-component{
    	flex: 0 0 100% !important;
    	max-width: 100% !important;
  }

/* Active item keeps its blue background */
  #sp-left .apps-menu li.active > a{
    background: rgba(2,133,191,0.08) !important;
  }

  /* Parent active (FlightLog) stays without background */
  #sp-left .apps-menu li.active.parent > a:not(:hover),
  #sp-left .apps-menu li.active.deeper.parent > a:not(:hover){
    background: #fff !important;
  }

  /* Applications stays neutral */
  #sp-left .apps-menu > li.item-514.active > a:not(:hover){
    background: #fff !important;
  }
}

:root{
  --apps-left-w-open: 240px; /* ajuste: 220/240/260 */
}

/* 992px → 1300px : sidebar open fixed + content fits */
@media (min-width: 992px) and (max-width: 1300px){

  body:not(.apps-sidebar-collapsed) #sp-left{
    	flex: 0 0 var(--apps-left-w-open) !important;
    	max-width: var(--apps-left-w-open) !important;
    	width: var(--apps-left-w-open) !important;
    	overflow: hidden; /* évite le débordement visuel */
  }

  body.apps-layout:not(.apps-sidebar-collapsed) #sp-component {
    flex: 0 0 calc(100% - var(--apps-left-w-open)) !important;
    max-width: calc(100% - var(--apps-left-w-open)) !important;
  }

  /* Bonus: si un libellé est trop long */
  body:not(.apps-sidebar-collapsed) #sp-left .apps-menu a{
    	overflow: hidden;
    	text-overflow: ellipsis;
  }
}

@media (max-width: 991.98px){

  /* 2 colonnes propres */
  #sp-left ul.apps-menu{
    	display: block;
    	grid-template-columns: 1fr 1fr;
    	gap: 8px 12px;
  }

  #sp-left ul.apps-menu > li > a{
    	display: block !important;
    	width: 100% !important;
  }

  /* éviter que Helix ajoute des séparateurs/marges bizarres */
  #sp-left ul.apps-menu > li{
    	margin: 0 !important;
  }

  /* lien "carte" (facultatif, mais proche de ton 2e screenshot) */
  #sp-left .apps-menu a{
    	margin: 4px 0px 4px 0px !important;
    	border: 1px solid rgba(0,0,0,.08);
    	border-radius: 10px;
    	background: #fff;
	font-size: 14px !important;
  }

  /* FlightLog – actions internes */
 	#sp-left li.item-483,
  	#sp-left li.item-484,

  /* Aéronefs – actions internes */
  	#sp-left li.item-510,
  	#sp-left li.item-511{
    	display: none !important;
  }
}

 /* Padding on main-component (Apps Template) */
@media (min-width: 992px) {
  body:not(.itemid-518) #sp-component .maincomponent-apps {
    padding-left: 10px !important;
  }
}

body.itemid-486 .has-left-right-modules,
body.itemid-513 .has-left-right-modules,
body.itemid-514 .has-left-right-modules {
  	padding-top: 0 !important;
}

body.itemid-515 #sp-main-body {
  	padding-top: 0;
}

body.itemid-515 .item-page {
  	padding-top: 23px !important;
}

.header-section-appsgate {
  	background-image: linear-gradient( to bottom, #f9fafb 0%, #f8f9fa 60%, #f1f4f7 100% );
  	box-shadow: 0 10px 15px -8px rgba(0, 0, 0, 0.05) !important;
}

/* FlightLog List View - Log Status custom */

td.flightlog___log_status.fl-status-open {
  	background-color: #ffffd1;
}

td.flightlog___log_status.fl-status-closed {
  	background-color: #d4ffd4;
}

/* FlightLog - checkboxes margin */
#form_19 .fabrikgrid_checkbox {
    	margin-left: 30px;
}

/* FlightLog - PDF download button */
[id^="form_19"] #flightlog___form_pdf_download.btn {
	position: relative;
	padding: 9px 28px 9px 64px;  	
	background-color: rgba(3,160,198,0.9) !important;
	border-color: #0398bc !important;
  	font-size: 15px !important;
	margin: 0px 10px;
}

[id^="form_19"] #flightlog___form_pdf_download.btn::before {
  	content: "\f1c1";
  	font-family: "Font Awesome 5 Free";
  	font-weight: 900;
  	position: absolute;
  	left: 35px;
  	top: 50%;
  	transform: translateY(-50%);
  	font-size: 16px;
  	color: #fff;
}


[id^="form_19"] #flightlog___form_pdf_download.btn:hover,
[id^="form_19"] #flightlog___form_pdf_download.btn:focus {
	border-color: #02637b !important;
  	background-color: #0390b2 !important;
}

/* Signature box - non signed style */
[id^="form_19"] .ab-signature-box {
  	border: 1px dashed #999;
  	border-radius: 4px;
  	padding: 10px 14px;
  	margin-top: 8px;
  	max-width: 400px;
}

/* Signature box Title */
[id^="form_19"] .ab-signature-label {
  	font-size: 15px;
  	margin-bottom: 8px;
  	color: #555;
  	font-weight: 500;
}

/* Button "Cliquer pour signer" */
[id^="form_19"] .ab-signature-btn {
  	display: inline-block;
  	padding: 5px 10px;
	margin: 5px 0px 10px 0px;
  	font-size: 13px;
  	border-radius: 3px;
  	border: 1px solid #027D9D;
  	background-color: rgba(3,160,198,0.05);
  	cursor: pointer;
}

/* Signature handwritten */
[id^="form_19"] .ab-signature-preview {
  	font-family: 'Caveat', sans-serif;
	font-size: 30px;
	color: #027D9D;
	margin-top: 10px;
  	min-height: 30px;
}

/* Petites infos sous la signature (Déclarant, texte) */
[id^="form_19"] .ab-signature-meta {
  	margin-top: 10px;
  	font-size: 14px;
  	color: #555;
}

/* Signature box - signed */
[id^="form_19"] .ab-signature-box.ab-signature-box--signed {
	border: 1px solid #027D9D;
}

/* Signature box - Autorité (hérite du style général) */
[id^="form_19"] #flightlog___authority_signature_box {
  	max-width: 400px;
}

/* Signature handwritten - Autorité (même style que pilote) */
[id^="form_19"] #flightlog___authority_signature_preview {
  	font-family: 'Caveat', sans-serif;
	font-size: 30px;
	margin-top: 10px;
  	min-height: 30px;
}

/* FlightLog top panel – base */
#flightlog-top-panel {
  	display: none;
  	position: relative;
  	padding: 16px 12px;
  	transition: background-color .2s ease;
}

/* Actif */
#flightlog-top-panel.flightlog-top-active {
  	display: flex;
  	flex-wrap: wrap;
  	align-items: center;
  	justify-content: flex-end;
  	gap: 8px 16px;
  	position: sticky;
  	top: 10px;
}

/* Full width Top Panel */
body.itemid-483 #flightlog-top-panel::before,
body.itemid-484 #flightlog-top-panel::before{
  	content: "";
  	position: absolute;
  	left: 50%;
  	transform: translateX(-50%);
  	width: 100vw;
  	top: 0;
  	bottom: 0;
  	background: #eef4f8;
  	border-top: 1px solid #d3dde7;
  	border-bottom: 1px solid #d3dde7;
  	z-index: -1;
}

/* Groupes de boutons (actions / navigation) */
#flightlog-top-panel .flightlog-top-group {
    	display: flex;
    	flex-wrap: wrap;
    	gap: 6px;
}

/* Boutons du panel */
#flightlog-top-panel .btn {
    	display: inline-flex;
    	align-items: center;
    	gap: 6px;
    	padding: 6px 12px !important;
    	font-size: 14px;
    	border-radius: 4px;
    	line-height: 1.2;
    	white-space: nowrap;
}

[id^="form_19"] #flightlog___form_pdf_download.btn,
[id^="form_19"] #fabrikSubmit_19.btn,
[id^="form_19"] .btn[name="apply"],
[id^="form_19"] .btn[name="Goback"],
[id^="form_19"] .btn[type="reset"],
[id^="form_19"] .btn[name="Reset"],
[id^="form_19"] .btn[name="delete"] {
    	display: none !important;
}

/* Tablet/desktop intermédiaire */
/* Tablet/desktop intermédiaire */
@media (max-width: 1196px) and (min-width: 992px) {

  /* ACTIONS*/
  #flightlog-top-panel .flightlog-top-group-actions {
    flex: 0 0 auto;
    width: auto;
    margin-left: 0;
    margin-top: 0;
    justify-content: flex-end;
  }
}

@media (max-width: 614px) {
#flightlog_top_apply .flightlog-label,
#flightlog_top_new .flightlog-label {
    display: none;
  }
}

/* Aircraft (ItemID 510, 511) : main component padding removal */
body.itemid-510 #sp-main-body, body.itemid-511 #sp-main-body {
  	padding-top: 0 !important;
  	padding-bottom: 0 !important;
}

/* Aircraft Form (ItemID 511) : page header padding */
body.itemid-511 .page-header {
  	padding-top: 15px !important;
}

/* FlightLog (ItemID 483, 484) : main component padding removal */
body.itemid-483 #sp-main-body, body.itemid-484 #sp-main-body {
  	padding-top: 0 !important;
  	padding-bottom: 0 !important;
}

/* FlightLog (484) List view : Title margin */
body.itemid-484 h1 {
  	margin-top: 18px !important;
}

/* FlightLog – links block on list view */
.flightlog-list-links {
  	margin: 8px 0 50px;
  	padding: 8px 12px;
  	background: #f5f7f9;
  	border: 1px solid #e0e4ea;
  	border-radius: 10px;
}

.flightlog-list-group {
  	display: flex;
  	flex-wrap: wrap;
  	gap: 8px 12px;
}

.flightlog-list-links .btn {
  	display: inline-flex;
  	align-items: center;
  	gap: 6px;
  	font-size: 0.9rem;
  	white-space: nowrap;
}

.flightlog-new-btn::before {
  	font-family: 'Font Awesome 6 Free';
  	content: "\2b";
  	font-weight: 600;
  	margin-right: 0.5em;
}

.flightlog-new-btn {
  	border-color: #0398bc;
  	color:  #0398bc;
  	outline: 0;
}

.flightlog-new-btn:hover {
  	background-color: rgba(3,160,198,0.9);
	border-color: #0398bc;
  	color:  #fff;
  	outline: 0;
}

.fb_el_flightlog___incidents, .fb_el_flightlog___observations {
	padding-bottom: 35px;
	margin-bottom: 35px !important;  	
	border-bottom: 1px dashed #ccc;
}


/* === CB CRITAL OVERRIDES START HERE === */

/* CB powered by message removal */
.cbPoweredBy.cb_template.cb_template_default {
	display: none !important;
}

/* CB registration form - badge */
.badge-primary {
	background-color: #e1f3f8 !important;
	color: #1f6f8b !important;
	font-size: 85%;
	font-weight: 400;
	border-radius: 50px;
	border: 1px solid #c9e1eb;
	padding: 4px 10px 6px 10px;
	text-align: center;
	vertical-align: baseline;
	white-space: nowrap;
	margin-bottom: .1rem;
}

/* CB User Profile page - Nav menu */
.navbar.navbar-expand.navbar-light.bg-light.mb-0.border.rounded.cbNavBar.cbMenuNavBar {
	background: none !important;
	border-bottom: none !important;
	padding: 8px 8px;
}

/* CB User Profile page - H3 style */
.m-0.p-0.mb-2.cb-page-header-title {
	font-size: 2rem !important;
}

/* CB User Profile page - My Maps Location Avatar */
.leaflet-popup-content .myaddress .mymap-icon {
    	max-width: 80px !important;
    	max-height: 80px !important;
	margin-right: 5px;
}

/* CB Manage Connections page */
.cbTooltip.border.btn.btn-light.btn-sm.cbCanvasLayoutMenu {
	color: #547081 !important;
	background-color: #fff !important;
}

.cbTooltip.border.btn.btn-light.btn-sm.cbCanvasLayoutMenu:hover,
.cbTooltip.border.btn.btn-light.btn-sm.cbCanvasLayoutMenu[aria-expanded="true"] {
	color: #495359 !important;
	background-color: #eaeaea !important;
}

/* CB User Profile Page - Connection tab buttons */
.h-100.btn.btn-sm.btn-light.border.btn-block {
	padding: 3px 10px 4px 10px;
	border-color: #0398bc !important;
	background-color: rgba(3,160,198,0.9);
	color: #fff;
}

/* CB User Profile Page - AB Member Badge */
/* Badge "Membre AB" dans le profil CB */
.ab-badge .badge {
  	display: inline-block;
  	padding: 4px 9px 5px 9px;
  	border-radius: 12px;
  	font-size: 11px;
  	line-height: 1;
  	font-weight: 500;
  	background: #d2e9f2 !important;
  	color: #1f6f8b !important;
  	border: none !important;
}

/* CB User Profile Page - Header Title */
.cb-page-header-title {
	font-weight: 500 !important;
}

/* Badge "Membre AB" – Vue Réseau (liste CB) */
.cbUserListFL_cb_member_status .badge {
  	background-color: #d2e9f2 !important;
  	color: #1f6f8b !important;
  	font-size: 12px;
  	padding: 4px 9px 5px 9px;
  	border-radius: 50px;
  	font-weight: 500;
  	white-space: nowrap;
	margin: 12px 1px 1px 4px;
	border: none !important;
}

.cbUserListFieldLine.cbUserListFL_formatname {
	margin: 0px 0px 6px 4px;
}

.ab-net-btn{
  	display: inline-flex;
  	align-items: center;
  	gap: .35rem;
  	margin-top: .45rem;
  	padding: .35rem .55rem;
  	border: 1px solid rgba(3,180,223,.45);
  	border-radius: 50px;
  	text-decoration: none;
  	font-size: 13px;
	font-weight: normal;
  	line-height: 1.2;
  	white-space: nowrap;
}

.ab-net-btn:hover{
  	border-color: rgba(3,180,223,.85);
  	text-decoration: none;
}

/* Icône user-plus */
.ab-net-btn::before{
  	font-family: "Font Awesome 6 Free";
  	font-weight: 900;
  	content: "\f234"; /* user-plus */
  	margin-right: .35rem;
  	line-height: 1;
}

/* Limiter cb_profession à 3 lignes dans la liste CB */
.cbUserListFL_cb_profession .cbListFieldCont {
  	display: -webkit-box;
  	-webkit-box-orient: vertical;
  	-webkit-line-clamp: 3;
  	overflow: hidden;
}

.h-100.btn.btn-sm.btn-light.border.btn-block:hover {
	border-color: #02637b !important;
	background-color: #0390b2;
	color: #fff;
}

/* CB User List page H3 margin top */
.cbUsersList .m-0.p-0.mb-2.cb-page-header-title {
	margin-top: 20px !important;
}

/* CB User List page OpenStreet Map customization */
.leaflet-attribution-flag {
    	display: none !important;
}

img.leaflet-marker-icon.leaflet-interactive {
    	width: 40px !important;
    	height: 40px !important;
    	border-radius: 50% !important;
    	object-fit: cover;
    	margin-left: -20px !important;
    	margin-top: -20px !important;
}

.leaflet-popup-content {
    	width: 280px !important;
    	white-space: normal;
    	word-break: break-word;
}

/* CB User List page Google Map customization */
.gm-style div[style*="overflow: hidden"] img[src*="comprofiler"] {
	border-radius: 50% !important;
}

.gm-style-iw.gm-style-iw-c {
    max-width: 450px !important;
    max-height: 250px !important;
}

.gm-style-iw-d {
    max-height: 200px !important;
    overflow: auto !important;
}

/* CB User Profile Page - Connection tab user status margins */
.m-2.text-truncate.cbCanvasLayoutContent {
	margin: 1.0rem !important;
}

.cb_profession_header {
	font-weight: 400 !important;
	color: #027D9D;
}

/* CB registration form - password Show or Mask button */
.cb_template .input-group-append {
	display: inline-block;
}

.cbPasswordUnmaskShow, .cbPasswordUnmaskHide {
	padding: 5.5px 12px;
}

#cbselect_connection {
	padding: 17.5px 12px;
}

/* CB private message form row margin */
.pmMessageEdit .row.no-gutters {
	margin-top: 1rem;
	margin-left: 15px;
}

/* CB private message form search button */
.btn-light {
  	color: #797979;
	height: 34px;
	padding: 2px 20px 2px 20px;
}

.btn-light:hover {
  	color: #333;
}

/* CB private message form message type button */
.select2-container--single {
  	height: 34px !important;
  	padding: 2px 40px 0px 30px;
}

/* CB User Profile page - connection with user icon */
.cb_template .cbConnectionPaths .cbImgPict, .cb_template .cbConnectionPaths img {
	position: relative;
	bottom: 5px;
	max-height: 40px;
	margin: 0 0 0 0.5rem;
	padding: 2px 2px 2px 2px;
}

/* CB Users List - firstname margin*/
.cbUserListFieldLine.cbUserListFL_firstname {
	margin: 0rem 0rem 0.2rem 0.2rem;
}

/* CB Private Message page - Message TinyMCE field height*/
div.tox.tox-tinymce {
	min-height: 300px !important;
}

.tox-edit-area__iframe {
	min-height: 250px !important;
}

/* CB Users List - Connect popup*/
.qtip-focus .cbConnReqButtons {
  	margin-top: 10px;
}

/* CB registration form - NavMenu top margin */
#cbtabsCBNav {
	margin-top: 2rem;
}

/* CB User Profile page - avatar */
.cbImgPict.cbFullPict.img-thumbnail.rounded-circle.cbImgAvatar {
	max-width: 160px !important;
}

.login-avatar.cb_template.cb_template_default .cbImgAvatar {
  	max-width: 100px;
}

.cbListFieldCont.cbUserListFC_avatar .cbImgAvatar {
	max-width: 80px;
}

/* Lien avatar cliquable */
a.ab-avatar-edit {
  position: relative;
  display: inline-block;
}

/* Transition douce */
a.ab-avatar-edit img {
  transition: opacity 0.2s ease;
}

/* Assombrissement plus marqué */
a.ab-avatar-edit:hover img {
  opacity: 0.45;
}

/* Overlay + icône appareil photo (Font Awesome) */
a.ab-avatar-edit::after {
  content: "\f030"; /* fa-camera */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.8rem;
  color: #ffffff;

  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;

  border-radius: 50%; /* avatar rond */
}

/* Affichage au survol */
a.ab-avatar-edit:hover::after {
  opacity: 1;
}

/*CB Profile - padding on Canvas Layout*/
.cbProfile .cbPosCanvas.cbCanvasLayout {
    padding-top: 20px;
}

.cbInvites .inviteFormTo {
    height: 42px;
}

.galleryShareLink .galleryShareLinkInput {
  height: 48px;
}

/*CB New Message - Select Connections - Send to button*/
.cb_template .fa-before::before {
	color: #7b7b7b;
}

.cb_template .fa-before:hover::before {
	color: #212529;
}

.rounded-start-0.btn.btn-primary {
  	padding: 5.5px 25px;
}

/* CB Online module - on landing page */
.cbOnlineUsers {
  	display: flex;
  	justify-content: center;
  	flex-wrap: wrap;
	gap: 5px;
}

/* CB GroupJive - Custom */
.aerohub_group_custom .cbCanvasLayoutContent strong,
.aerohub_category_custom .cbCanvasLayoutContent strong {
    	font-weight: 500;
    	letter-spacing: 0.2px;
}

.aerohub_group_custom .cbCanvasLayoutButtons {
    	display: flex;
    	align-items: center;
    	justify-content: center;
    	gap: 4px;
}

.aerohub_group_custom .pl-2.pr-2.mb-2.cbCanvasLayoutButtons {
    	margin: 20px 5px !important;
}

.aerohub_group_custom .btn-secondary {
    	background: #4b9ebc;
    	font-size: 16px;
    	border: 1px solid transparent;
    	max-width: 200px;
}
.aerohub_group_custom .btn-secondary:hover {
    	background: #3a90ae;
    	border: 1px solid transparent;
}

.aerohub_group_custom .btn-info {
    	background: #62afc9;
    	font-size: 16px;
   	border: 1px solid transparent;
    	color: #fff;
}
.aerohub_group_custom .btn-info:hover {
    	background: #4b9ebc;
}

.aerohub_group_custom .gjButton.gjButtonJoin.btn-success {
    	font-size: 16px;
}

.aerohub_group_custom .gjButton.gjButtonReject.btn-light {
    	font-size: 16px;
    	min-height: 42px;
    	height: auto;
    	max-height: none;
   	white-space: normal;
   	line-height: 1.2;
    	padding: 8px 12px;
}

@media (max-width: 575.98px) {
    .aerohub_group_custom .gjButton.gjButtonJoin.btn-success,
    .aerohub_group_custom .gjButton.gjButtonReject.btn-light {
        font-size: 16px;
        min-height: 67px;
        height: auto;
        max-height: none;
        white-space: normal;
        line-height: 1.2;
        padding: 8px 12px;
        margin-top: 0px !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Fix bouton "Plus" qui chevauche les onglets GroupJive sur mobile */
@media (max-width: 991.98px) {
    .cbTabsMenuNavBar .cbNavBarMenu.cbTabsNav {
        padding-right: 60px;
    }
}

/* CB GroupJive - Cartes dossier Fichiers/médias */
.cbGalleryContainer .galleryFolder {
    background-color: #f0f4f8;
    border: 1px solid #d0dce8;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
	max-width: 150px;
}

.cbGalleryContainer .galleryFolder:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.cbGalleryContainer .galleryFolderPreview {
    background-color: #f8f9fa !important;
}

.cbGalleryContainer .galleryFolder .bg-dark {
    background-color: #f8f9fa !important;
}

.cbGalleryContainer .galleryFolderPreviewImg {
    filter: invert(85%) sepia(5%) saturate(200%) hue-rotate(180deg) brightness(95%) contrast(90%) !important;
}

.cbGalleryContainer .galleryFolderTitle {
    	font-weight: 500 !important;
  	padding: 5px 10px 10px 10px;
  	text-align: center;
}

/* CB GroupJive - Cartes fichiers dans les dossiers */
.cbGalleryContainer .galleryItem {
    	background-color: #f0f4f8;
    	border: 1px solid #d0dce8;
    	border-radius: 8px;
    	overflow: hidden;
    	transition: box-shadow 0.2s ease;
    	max-width: 150px;
}

/* CB GroupJive - Activity comments limit bug */
.commentsStream .streamInputMessageLimit {
    	min-height: 25px;
    	min-width: 25px;
}

.commentsStream .streamInputMessageLimitMeter {
    	min-height: 25px;
    	min-width: 25px;
}

.cbGalleryContainer .galleryItem:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.cbGalleryContainer .galleryItemPreview,
.cbGalleryContainer .galleryItem .bg-dark {
    background-color: #f8f9fa !important;
}

.cbGalleryContainer .galleryItemPreviewImg {
    filter: invert(85%) sepia(5%) saturate(200%) hue-rotate(180deg) brightness(95%) contrast(90%) !important;
}

.cbGalleryContainer .galleryItemContainer.galleryItem.bg-dark {
    background-color: #f8f9fa !important;
    --bs-bg-opacity: 0 !important;
}

.aerohub_group_custom .gjGroupMenu {
    	height: 42px;
}

.cbTooltip .fa-info {
    	width: 24px;
    	height: 24px;
}

.cbGroupJive .no-gutters.gjGroupsRows {
    	margin-top: 3rem;
	margin-bottom: 2rem !important;
}

.cbCanvasLayoutTitle .text-primary.text-large {
    	font-weight: 500;
	color: #027D9D !important;
	font-size: 26px !important;
}

/* CB GroupJive Pages - Join message */
.ab-guest-cta {
    	background: #fafbfc;
    	padding: 20px 20px 25px 20px;
    	margin-bottom: 25px;
    	border-radius: 6px;
	border: 1px solid #f0f2f4;
	text-align: left;
}

.ab-guest-cta p {
    	margin-bottom: 25px;
    	font-size: 17px;
}

.ab-guest-cta .btn {
    	margin-right: 10px;
}

.ab-guest-cta .btn {
    	margin-right: 10px;
    	padding: 6px 16px;
    	line-height: 1.5;
}

/* CB GroupJive Pages - Notifications page */
.gjNotifications .text-sm-right {
  	margin-top: 25px;
}

/* Flex - Articles info override */
.article-info {
  	padding-top: 20px;
	padding-bottom: 20px;
}

.article-info > dd {
  	font-size: 15px;
}

.tags > span > i {
  	color: #04c9f8;
}

.tags:hover > span > i {
  	color: #0390b2;
}

.tags {
  	font-size: 95%;
  	padding-top: 20px;
}

/* Read More HR removal from complete article */
.site.com-content.view-article article.item-page > hr:first-of-type {
  	display: none !important;
}

.entry-header h1 {
  	font-size: 210%;
  	font-weight: 300 !important;
	box-shadow: none;
}

.entry-header h1::after {
  	width: 100%;
	height: 1.5px;
}

.entry-header h2 {
  	font-weight: 300 !important;
	font-size: 170%;
	padding-right: 20px;
	box-shadow: none;
}

.entry-header h2::after {
  	width: 100%;
	height: 1px;
}

/*Articles blog view 'Read more' button*/
.btn-readmore:focus, .btn-readmore:active {
  	border-color: #cddfe8 !important;
  	background-color: #f4f8fb !important;
  	color: #2c5d73 !important;
	box-shadow: none !important;
}

.btn-readmore {
  	padding: 8px 14px;
	border-radius: 6px;
	font-size: 16px;
	text-shadow: none;
	background-color: #f4f8fb !important;
	border-color: #cddfe8 !important;
	color: #5e7c8c !important;
}

.btn-readmore:hover {
	background-color: #eaf3f8 !important;
  	border-color: none !important;
  	color: #498099 !important;
}

.helix-social-share .helix-social-share-blog {
  	opacity: 0.8;
}

.helix-social-share-article {
	margin-top: 20px !important;
}

/*E-mail social icon in blog*/
.helix-social-share-blog ul li div.email {
    	background-color: #6c757d;
    	border-radius: 3px;
    	display: inline-block;
}

.helix-social-share-blog ul li div.email a.email {
    	color: #fff !important;
	padding-left: 0px !important;
  	padding-right: 0px !important;
}

/*E-mail social icon in full article*/
.helix-social-share-article ul li div.email {
    	background-color: #6c757d;
    	border-radius: 3px;
    	display: inline-block;
}

.helix-social-share-article ul li div.email a.email {
    	color: #fff !important;
	padding: 5px 10px !important;
}

/*FAQ custom H2*/

.itemid-342 .entry-header h2 {
	box-shadow: none;
	font-weight: 500 !important;
 	font-size: 140%;
	color: rgb(7, 97, 119);
}

.itemid-342 .entry-header h2::after {
	display: none;
}

.itemid-342 dl.article-info {
  	display: none !important;
}

.entry-header.has-post-format .post-format {
  	width: 44px;
  	height: 44px;
  	font-size: 20px;
  	line-height: 42px;
	opacity: 0.8;
}

/* Article header */
.site.com-content.view-article .com-content-article__body h2 {
  	color: #444;
	font-weight: 300 !important;
  	line-height: 1.35;
  	position: relative;
  	padding-left: 14px;
}

/* Article header on FAQ */
#faqAccordion .accordion-header{
  	padding: 15px 0;
}


/* Cyan bar before Header */
.site.com-content.view-article .com-content-article__body h2::before {
  	content: "";
  	position: absolute;
  	left: 0;
  	top: 0.60em;
  	width: 4px;
  	height: 0.9em;
  	background: #03b4df;
 	 border-radius: 2px;
}

/* Cyan bar before Header - removal on FAQ articles */
#faqAccordion .accordion-header::before {
  	background: none !important;
}

/* Articles and Blog views Blockquotes */
 blockquote {
  	border-left-width: 4px !important;
  	border-left-style: solid !important;
  	border-left-color: #03a0c6 !important;
  	padding: .75rem 1rem !important;
  	margin: 1.5rem 0 !important;
  	background: rgba(3,160,198,.06) !important;
  	font-style: italic;
  	line-height: 1.6;
}

/* Article column padding */
.blog .col-lg-6.mb-4 article.item {
  	padding-right: 30px;
}

/* --- FAQ AeroBridge --- */
/* --- FAQ AeroBridge + section SP Page Builder (.main-section-faq) --- */

#faqAccordion .accordion-item {
  	border: none;
  	border-bottom: 1px solid #e0e4e8;
  	border-radius: 0;
  	margin-bottom: .75rem;
}

#faqAccordion .accordion-button,
.main-section-faq .accordion-button {
  	background-color: transparent;
  	color: #3b4b5a;
  	font-weight: 400;
 	font-size: 18px;
  	box-shadow: none !important;
}

#faqAccordion .accordion-body,
.main-section-faq .accordion-body {
  	font-size: 0.97rem;
  	line-height: 1.6;
  	color: #333;
  	padding: 0 0 1rem 0;
	margin-top: 35px;
}

#faqAccordion .accordion-button::after,
.main-section-faq .accordion-button::after {
  	content: "\f078";
  	font-family: "Font Awesome 5 Free";
  	font-weight: 900;
  	color: #027D9D;
  	transition: transform 0.2s;
	background-image: none;
}

#faqAccordion .accordion-button:not(.collapsed)::after,
.main-section-faq .accordion-button:not(.collapsed)::after {
  	transform: rotate(180deg);
	background-image: none;
}

.accordion .accordion-collapse,
.main-section-faq .accordion-collapse {
  	transition: height 1.2s ease-in-out !important;
}

/*Surveys & Polls pages - Status badge*/
.ab-status-badge {
    	display: inline-block;
    	padding: 3px 10px;
    	font-size: 14px;
    	font-weight: 500;
    	border-radius: 6px;
    	color: #fff;
    	letter-spacing: 0.5px;
}

.ab-status-center {
    	display: flex;
    	justify-content: center;
    	margin-bottom: 30px;
}

.ab-status-open {
    background-color: #27c36a; /* green */
}

.ab-status-closed {
    background-color: #cc0000; /* red */
}

.ab-status-soon {
    background-color: #ffaa00; /* orange */
}


/*PhocaDownload customization*/

.pd-button-box-bt .btn.btn-info {
  	color: #fff;
  	background-color: #1ca9cc;
  	border-color: #0398bc;
}

/* Variantes de taille (optionnel) */
.site.com-content.view-article .com-content-article__body h3::before { height: 0.8em; }
.site.com-content.view-article .com-content-article__body h4::before { height: 0.7em; }

.helix-social-share .helix-social-share-blog ul {
  	background: none !important;
}

/* Password Reset on Com User Joomla page - height bug fixing */
.view-reset .jviewport-height60 {
  	height: auto !important;
  	min-height: 80vh !important;
}

.view-reset #sp-main-body {
  	padding-bottom: 100px !important;
}

@media (max-width: 768px) {
.view-reset #sp-main-body {
    	padding-bottom: 100px !important;
  }
}


/* === JComment Override === */

#comments-form {
	padding: 10px 16px;
  	background-color: #f8f9fa;
  	border: 1px solid #ddd;
}

#jc .rbox {
 	padding: 10px 16px;
  	background-color: #f8f9fa;
  	border: 1px solid #ddd;
}

ul.jcomment-latest li {
	padding: 4px 20px;
	background-color: #f8fafc; /* fond du module */
  	border: 1px solid #d9e6ef !important;
}

ul.jcomment-latest-group li {
  	background-color: #ffffff;
  	border: 1px solid #e5edf3 !important;
	border-left: 4px solid rgba(2, 125, 157, 0.41) !important;
  	padding-left: 12px;
}

ul.jcomment-latest li a {
  	font-size: 17px;
  	line-height: 1.4;
}

ul.jcomment-latest li h5 {
  	padding-top: 6px;
}

ul.jcomment-latest span.avatar img {
  	width: 48px;
  	height: 48px;
  	margin: 0 7px 5px 0;
}

ul.jcomment-latest .author {
  	color: #777;
  	font-size: 14px;
}

ul.jcomment-latest .comment-rounded {
  	padding: 15px;
	font-size: 16px;
}

#jc h4 {
  	font-weight: 400;
  	border-bottom: 1px solid #ddd;
  	padding: 5px 0 5px 0;
  	margin-bottom: 16px;
}

.jcomment-container-form {
  	margin-top: 40px;
}

#comments .refresh {
  	background: #4b9ebc url(https://aerobridge.fr/components/com_jcomment/tpl/AB%20Template/images/retweet-solid.svg) no-repeat 6px 3px/16px 25px !important;
  	font-weight: 400;
  	font-size: 13px;
  	padding: 6px 10px 6px 30px;
}

#comments .refresh:hover {
	padding: 6px 10px 6px 30px;
	font-size: 13px;
	font-weight: 400;
	background: #028db1 url(https://aerobridge.fr/components/com_jcomment/tpl/AB%20Template/images/retweet-solid.svg) no-repeat 6px 3px/16px 25px !important;
}

#comments .subscribe {
  	background: #4b9ebc url(https://aerobridge.fr/components/com_jcomment/tpl/AB%20Template/images/envelope-regular.svg) no-repeat 6px 3px/16px 25px !important;
	font-weight: 400;
  	font-size: 13px;
  	padding: 6px 10px 6px 30px;
}

#comments .subscribe:hover {
	padding: 6px 10px 6px 30px;
	font-size: 13px;
	font-weight: 400;
	background: #028db1 url(https://aerobridge.fr/components/com_jcomment/tpl/AB%20Template/images/envelope-regular.svg) no-repeat 6px 3px/16px 25px !important;
}

#comments-report-form div.btn-jcomment, #comments-form div.btn-jcomment {
  	font-size: 0.9rem;
  	background-color: #4b9ebc;
}

#comments-report-form div.btn-jcomment:hover, #comments-form div.btn-jcomment:hover {
  	font-size: 0.9rem;
  	background-color: #028db1;
}

#comments .comment-author, #comments .author-homepage, #comments .author-email {
  	font-weight: 500;
}

/* Flex - Footer */
#sp-footer.aerobridge-footer {
	box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.08) !important;
	padding: 15px 0px !important;
}

/* SP Cookie Consent */
div#sp-cookie-consent.position-bottom_right {
  	width: 500px;
  	max-width: 100%;
  	border-radius: 4px;
  	bottom: 20px;
  	right: 20px !important;
}

/* Cacher complètement le dropdown pour l'item 214 (Création/Annonce) */
#sp-header li.item-214 .sp-dropdown-sub {
  display: none !important;
}

/* Enlever la flèche/caret qui indique un sous-menu */
#sp-header li.item-214.sp-has-child > a:after {
  content: none !important;
}

/* Optionnel: annuler la largeur mini de l’inner si Helix la force */
#sp-header li.item-214 .sp-dropdown-inner {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* MFA Page - method selection buttons */

/* Joomla MFA (com_users) : afficher les libellés actuellement en visually-hidden */
body.com-users #com-users-methods-list
  .com-users-methods-list-method-record-actions
  .visually-hidden{
  	all: unset !important;          /* annule le "visually-hidden" bootstrap */
  	display: inline !important;
  	font: inherit !important;
  	color: inherit !important;
  	margin-left: .35rem !important; /* espace après l'icône */
}

/* (optionnel) aligner proprement icône + texte */
body.com-users #com-users-methods-list
  .com-users-methods-list-method-record-actions a.btn.hasTooltip{
  	position: relative;
	display: inline-flex;
  	align-items: center;
	color: var(--bs-secondary-color);
	text-shadow: none;
}