/*
Theme Name: ARISE
Theme URI: https://arise-center.net/
Author: Judela RAHARISON
Author URI: https://www.judela-raharison.com/
Template: twentynineteen
Text Domain: twentynineteen-child
Description: Twenty twenty one  brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
Version: 2.3
*/

@font-face {
    font-family: 'DMSans-Light';
    src: url('fonts/DMSans-Light.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Medium';
    src: url('fonts/DMSans-Medium.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Regular';
    src: url('fonts/DMSans-Regular.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-SemiBold';
    src: url('fonts/DMSans-SemiBold.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Thin';
    src: url('fonts/DMSans-Thin.ttf') format('truetype');
	font-display: swap;
}


@font-face {
    font-family: 'DMSans-Bold';
    src: url('fonts/DMSans-Bold.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Black';
    src: url('fonts/DMSans-Black.ttf') format('truetype');
	font-display: swap;
}

/* POPPINS */
@font-face {
    font-family: 'Poppins-Light';
    src: url('fonts/Poppins-Light.ttf') format('truetype');
	font-display: swap;
}

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

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

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

@font-face {
    font-family: 'Poppins-Thin';
    src: url('fonts/Poppins-Thin.ttf') format('truetype');
	font-display: swap;
}


@font-face {
    font-family: 'Poppins-Bold';
    src: url('fonts/DMSans-Bold.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'Poppins-Black';
    src: url('fonts/Poppins-Black.ttf') format('truetype');
	font-display: swap;
}


h1::before,
h2::before{
	display:none!important;
}

a:focus, a:active {
    outline: none;
    border: none;
}

html {
    font-size: 16px;
}


:root {
  --font-size: 16px;
  --background: #1a1d24;
  --foreground: #f5f5f7;
  --card: #242833;
  --card-foreground: #f5f5f7;
  --popover: #242833;
  --popover-foreground: #f5f5f7;
  --primary: #00569b;
  --primary-foreground: #ffffff;
  --secondary: #2e3340;
  --secondary-foreground: #f5f5f7;
  --muted: #2e3340;
  --muted-foreground: #9999aa;
  --accent: #73a400;
  --accent-foreground: #ffffff;
  --destructive: #ff3366;
  --destructive-foreground: #f5f5f7;
  --border: rgba(255, 255, 255, 0.1);
  --input: rgba(255, 255, 255, 0.05);
  --input-background: rgba(255, 255, 255, 0.05);
  --switch-background: #2e3340;
  --font-weight-medium: 600;
  --font-weight-normal: 400;
  --ring: #00569b;
  --chart-1: #00569b;
  --chart-2: #73a400;
  --chart-3: #ff3366;
  --chart-4: #7c3aed;
  --chart-5: #10b981;
  --radius: 0.75rem;
  --sidebar: #242833;
  --sidebar-foreground: #f5f5f7;
  --sidebar-primary: #00569b;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #2e3340;
  --sidebar-accent-foreground: #f5f5f7;
  --sidebar-border: rgba(255, 255, 255, 0.1);
  --sidebar-ring: #00569b;
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-input-background: var(--input-background);
  --color-switch-background: var(--switch-background);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
  --primary-rgb:0,86,155;
  --accent-rgb:115,164,0;
  --c-primary-rgb: 59, 130, 246; /* Bleu */
  --c-accent-rgb: 249, 115, 22;  /* Orange */
  --c-bg-rgb: 255, 255, 255;     /* Couleur de fond du site */
  --color-blue: #00569b;
    --color-green: #73a400;
    --animation-duration: 25s; /* Durée de base de l'animation */
}


@layer base {
  * {
    @apply border-border outline-ring/50;
  }

  body {
    @apply text-foreground;
    background: #000000;
    background-attachment: fixed;
    min-height: 100vh;
    font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  }

  /* Police distinctive pour les titres - Style automobile premium */
  h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', 'DM Sans', sans-serif;
    letter-spacing: 0.02em;
  }
}

/**
 * Base typography. This is not applied to elements which have an ancestor with a Tailwind text class.
 */
@layer base {
  :where(:not(:has([class*=' text-']), :not(:has([class^='text-'])))) {
    h1 {
      font-size: var(--text-2xl);
      font-weight: var(--font-weight-medium);
      line-height: 1.2;
      letter-spacing: -0.02em;
    }

    h2 {
      font-size: var(--text-xl);
      font-weight: var(--font-weight-medium);
      line-height: 1.3;
      letter-spacing: -0.01em;
    }

    h3 {
      font-size: var(--text-lg);
      font-weight: var(--font-weight-medium);
      line-height: 1.4;
    }

    h4 {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    p {
      font-size: var(--text-base);
      font-weight: var(--font-weight-normal);
      line-height: 1.6;
    }

    label {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    button {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    input {
      font-size: var(--text-base);
      font-weight: var(--font-weight-normal);
      line-height: 1.5;
    }
  }
}

h1 {
    font-family: DMSans-Black;
    font-size: 2.5rem;
}

p {
    font-family: 'Poppins-Regular';
    font-size: 1rem;
    color: #171F26;
}

html {
  font-size: var(--font-size);
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
}

div#header_arise {
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    border-top: 20px solid #3270b9;
}

.elementskit-navbar-nav-default .elementskit-navbar-nav>li {
    position: relative;
    margin: auto !important;
}

ul#menu-menu-principal li a {
    font-family: Poppins-Medium;
    font-size: 1.125rem;
    font-weight: 500;
    padding: 10px 16px;
    color: #1f2937;
}

li.btn_etudiant {
    background: #2b6cb0;
    color: #fff !important;
    border-radius: 0.375rem;
    padding: 6px !important;
    font-weight: 600;
    line-height: 100% !important;
}

li.btn_etudiant a {
	color: #fff !important;
}

a.ekit-menu-nav-link.active {
    /*text-decoration: underline !important;
    text-underline-offset: 9px;*/
	color: #2b6cb0!important;
    border-bottom: 2px solid #2b6cb0;
}

.myArticleSwiper {
    width: 100%;
    height: 450px;
    position: relative;
}

.article-slide {
    display: flex;
    overflow: hidden;
}

/* Partie gauche avec le texte */
.slide-left {
    flex: 0 0 40%;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    padding: 40px;
    color: white;
}

/* Effet de flou et assombrissement sur la gauche */
.slide-left::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px); /* Flou comme sur l'image */
    z-index: 1;
}

.overlay-content {
    position: relative;
    z-index: 2;
}

.badge {
    font-family: 'Poppins-Regular';
    background: #6259ca;
    padding: 6px 23px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
}

.overlay-content h2 {
    font-size: 28px;
    margin: 15px 0;
    line-height: 1.2;
    font-family: DMSans-Medium;
}

/* Partie droite avec l'image nette */
.slide-right {
    flex: 0 0 60%;
    background-size: cover;
    background-position: center;
}

/* Personnalisation des points de pagination */
.myArticleSwiper .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.7;
}
.myArticleSwiper .swiper-pagination-bullet-active {
    background: #79e0e5;
    opacity: 1;
    width: 20px;
    border-radius: 5px;
}

.boite_mission h3 {
    color: #000 !important;
    font-family: Poppins-Medium !important;
    font-size: 20px;
    text-align: center !important;
}

.boite_mission {
    border: 1px solid #4882b2;
    border-radius: 1rem;
    padding: 24px;
}

.boite_mission figure {
    width: 78px !important;
    height: 78px;
    background: #4882b2;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: auto !important;
    border-radius: 1rem;
    padding: 11px !important;
	transition:all ease-in-out 0.3s;
}

.flash-item p {
    color: #F5F5F7;
}

.boite_mission:hover figure {
	transform:scale(1.1);
}

.overlay-content p {
    color: #79e0e5 !important;
}

.z600 {
	z-index:600!important;
}

div#roundedimage img {
    border-radius: 1rem;
}

div#roundedimage .elementor-widget-image::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(364deg, #000000a1, #0000001f);
    display: block;
    position: absolute;
    z-index: 2;
    border-radius: 1rem;
}

.flash-actu-container {
    background-color: rgb(72 130 178);
    color: #ffffff;
    padding: 20px;
    font-family: Arial, sans-serif;
    max-width: 600px;
    border-radius: 4px;
    position: relative;
    margin-top: -42px;
    z-index: 400;
    margin-left: 40px;
}

.flash-header h2 {
    font-family: Poppins-Medium;
    font-size: 32px;
    margin: 0;
    color: #ffffff;
}

.flash-current-date {
    font-size: 14px;
    margin-bottom: 20px;
    opacity: 0.9;
}

.flash-list {
    max-height: 400px; /* Hauteur fixe pour permettre le scroll */
    overflow-y: auto;
    margin-bottom: 20px;
}

/* Style de la barre de défilement (scrollbar) */
.flash-list::-webkit-scrollbar {
    width: 6px;
}
.flash-list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.3);
    border-radius: 10px;
}

.flash-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.flash-content {
    flex: 1;
    padding-right: 20px;
    font-size: 15px;
    line-height: 1.4;
}

.flash-content p { margin: 0; }

.flash-time {
    font-weight: bold;
    font-size: 16px;
    min-width: 50px;
    text-align: right;
}

.flash-footer {
    text-align: center;
    padding-top: 10px;
}

#voirPlusBtn {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}

.arrow-icon {
    display: inline-block;
    background: white;
    color: #6268a1;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    line-height: 24px;
    margin-top: 5px;
    font-size: 12px;
}

.cours-card {
    padding: 16px;
    border-radius: 12px;
    background: #f7f7f7;
    margin-bottom: 12px;
}
.dashboard-etudiant h2 {
    margin-bottom: 20px;
}

.gcs-banner {
    position: relative;
    min-height: 344px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

li.btn_etudiant.current-menu-item a {
	color:#FFF!important;
}

.gcs-banner-overlay {
    width: 100%;
    padding: 32px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgb(0 0 0 / 70%), rgba(0, 0, 0, 0));
    color: #fff;
    backdrop-filter: blur(4px);
    height: 100%;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
}

.gcs-banner-title {
    font-size: 28px;
    margin-bottom: 12px;
    font-family: 'Poppins-Medium';
    color: #FFF;
}

.gcs-banner-desc {
    font-size: 16px;
    line-height: 1.5;
    max-width: 700px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
	font-family:Poppins-regular;
	color: #F5F5F7;
}

.gcs-banner-btn {
    display: inline-block;
    margin-top: 16px;
    padding: 10px 20px;
    background: #79dee3;
    color: #000000!important;
    border-radius: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .3s ease;
    font-family: 'Poppins-Regular';
}

.gcs-banner-btn:hover {
    background: #b6ff4d;
}

h2 {
    font-family: 'Poppins-Medium';
    font-size: 36px;
    text-align: left;
}


.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.news-card {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    height: 360px;
}

.news-thumb {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Catégorie */
.news-category {
    position: absolute;
    top: 16px;
    left: 0;
    background: #4882b2;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 18px;
    z-index: 2;
    display: block;
    font-family: Poppins-Light;
    box-shadow: 0px 2px 0px 0px #33333378;
}

/* Overlay bas */
.news-overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 16px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgb(0 0 0 / 28%));
    color: #fff;
    backdrop-filter: blur(3px);
}

.news-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    font-family: 'Poppins-Light';
}
.news-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    opacity: 0.9;
    color: #79dee3;
    font-family: 'Poppins-Medium';
}

/* Hover */
.news-card:hover img {
    transform: scale(1.05);
    transition: 0.4s ease;
}

/* Responsive */
@media (max-width: 900px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card {
        height: 300px;
    }
}

ul.ul_footer {
    list-style-type: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	gap: 15px;
}

ul.ul_footer li a,
ul.ul_footer li {
    color: #FFF;
    font-family: Poppins-Regular;
    font-size: 13px;
}

.center {
	text-align:center!important;
}

h2 {
	position:relative;
}

.part_logo {
    border-radius: 1rem;
    background: #FFF;
    box-shadow: 1px 1px 3px 1px #0000004a;
    filter: grayscale(0.5);
	transition:all ease-in-out 0.3s;
}

.part_logo:hover {
	filter: grayscale(0);
}

.first_phare {
    max-width: 47rem;
    width: 47rem;
    height: 34.625rem;
    border-radius: 0.375rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.first_phare .categorie_phare span {
    color: #FFF;
    font-family: Poppins-Light;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 800;
    line-height: 140%;
    letter-spacing: -0.015rem;
    text-transform: uppercase;
    background: #77e1e6;
    display: block;
    padding: 9px;
    padding-left: 18px;
    padding-right: 19px;
    position: absolute;
    top: 50px;
    left: 0;
    z-index: 200;
    border-radius: 0 1.40625rem 1.40625rem 0;
    padding-left: 40px;
}

.title_phare span {
    color: #FFF;
    font-family: 'Poppins-Light';
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 900;
    line-height: 120%;
    letter-spacing: -0.05rem;
    position: relative;
    padding-bottom: 30px;
    display: block;
    padding-left: 40px;
    max-width: 33.375rem;
    z-index: 200;
}

.parent_other {
    width: 28rem;
}

.slider_category a.current {
    color: #87868E;
    font-family: Poppins-Medium;
    font-size: 0.75rem;
    border-bottom: solid 0.125rem #171F26;
    padding-bottom: 15px;
}

.swiper-container {
	background:transparent!important;
}

.slider_category::after {
    content: '';
    background: #D9D9D9;
    width: 100%;
    height: 0.0625rem;
    display: block;
    position: absolute;
    top: 40px;
    z-index: 9999;
}

a.filtergrid {
    color: #87868E;
    font-family: 'Poppins-Medium';
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: -0.015rem;
}

.form_search {
    width: 100%;
    border-radius: 10px;
    background: #F0F0F2;
}

.input_search {
    border: 1px solid #ffffff8f;
    padding: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.slider_category {
    position: relative;
    height: 52px;
	overflow: hidden;
    margin-top: 29px;
}

.grid_posts {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 70px;
}

.pagination {
    text-align: center;
}

.grid-item-category span {
    border-radius: 0 1.40625rem 1.40625rem 0;
    background: #004074;
}

h2.titre_phare a {
    color: #171F26;
    font-family: 'Poppins-Medium';
    font-size: 2rem;
    font-style: normal;
    font-weight: 900;
    line-height: 100%;
    letter-spacing: -0.04rem;
}

.resume_phare_grid {
    color: #171F26;
    font-family: Poppins-Light;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: -0.01875rem;
}

.grid-item-category span {
    color: #FFF;
    font-family: 'Poppins-Light';
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 800;
    line-height: 140%;
    letter-spacing: -0.015rem;
    text-transform: uppercase;
    display: block;
    padding: 9px;
    width: max-content;
    padding-left: 20px;
    padding-right: 20px;
}

.title__otherphare span {
    color: #FFF;
    font-family: 'Poppins-Light';
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 900;
    line-height: 120%;
    letter-spacing: -0.04rem;
    position: relative;
    z-index: 200;
    padding-bottom: 30px;
    display: block;
    padding-left: 25px;
    max-width: 25.875rem;
}

.other_phare::before {
    content: '';
    background: linear-gradient(180deg, rgba(13, 13, 13, 0.00) 0%, #0D0D0D 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 0.375rem;
}

.other_phare .categorie_phare span {
    color: #FFF;
    font-family: NexaTextBook;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 800;
    line-height: 140%;
    letter-spacing: -0.015rem;
    text-transform: uppercase;
    border-radius: 1.40625rem;
    background: #77e1e6;
    display: block;
    padding: 9px;
    padding-left: 18px;
    padding-right: 19px;
    position: absolute;
    top: 22px;
    left: 0;
    z-index: 200;
    border-radius: 0 1.40625rem 1.40625rem 0;
    padding-left: 20px;
}

.grid-itemposts {
    border-radius: 5px;
    width: 100%;
    margin-bottom: 55px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding-bottom: 55px;
}

.grid_filter {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0px;
}

.grid-itemposts:not(:last-child) {
    border-bottom: 1px solid #D9D9D9;
}

.title__otherphare {
    position: absolute;
    bottom: 0;
}

@media(min-width:1025px) {
	.grid_phare {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        width: 77rem;
        margin: auto;
    }
	
	.other_phare {
        width: 27.875rem;
        height: 16.375rem;
        border-radius: 0.375rem;
        margin-bottom: 27px;
        position: relative;
    }
	
}


/*
Theme Name: AUTOSECURITAS
Theme URI: https://ww.autosecuritas.fr/
Author: Judela RAHARISON
Author URI: https://www.judela-raharison.com/
Template: twentynineteen
Text Domain: twentynineteen-child
Description: Twenty twenty one  brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
Version: 2.3
*/

@font-face {
    font-family: 'DMSans-Light';
    src: url('fonts/DMSans-Light.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Medium';
    src: url('fonts/DMSans-Medium.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Regular';
    src: url('fonts/DMSans-Regular.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-SemiBold';
    src: url('fonts/DMSans-SemiBold.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Thin';
    src: url('fonts/DMSans-Thin.ttf') format('truetype');
	font-display: swap;
}


@font-face {
    font-family: 'DMSans-Bold';
    src: url('fonts/DMSans-Bold.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'DMSans-Black';
    src: url('fonts/DMSans-Black.ttf') format('truetype');
	font-display: swap;
}

/* POPPINS */
@font-face {
    font-family: 'Poppins-Light';
    src: url('fonts/Poppins-Light.ttf') format('truetype');
	font-display: swap;
}

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

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

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

@font-face {
    font-family: 'Poppins-Thin';
    src: url('fonts/Poppins-Thin.ttf') format('truetype');
	font-display: swap;
}


@font-face {
    font-family: 'Poppins-Bold';
    src: url('fonts/DMSans-Bold.ttf') format('truetype');
	font-display: swap;
}

@font-face {
    font-family: 'Poppins-Black';
    src: url('fonts/Poppins-Black.ttf') format('truetype');
	font-display: swap;
}


h1::before,
h2::before{
	display:none!important;
}

a:focus, a:active {
    outline: none;
    border: none;
}

html {
    font-size: 16px;
}


:root {
  --font-size: 16px;
  --background: #1a1d24;
  --foreground: #f5f5f7;
  --card: #242833;
  --card-foreground: #f5f5f7;
  --popover: #242833;
  --popover-foreground: #f5f5f7;
  --primary: #00569b;
  --primary-foreground: #ffffff;
  --secondary: #2e3340;
  --secondary-foreground: #f5f5f7;
  --muted: #2e3340;
  --muted-foreground: #9999aa;
  --accent: #73a400;
  --accent-foreground: #ffffff;
  --destructive: #ff3366;
  --destructive-foreground: #f5f5f7;
  --border: rgba(255, 255, 255, 0.1);
  --input: rgba(255, 255, 255, 0.05);
  --input-background: rgba(255, 255, 255, 0.05);
  --switch-background: #2e3340;
  --font-weight-medium: 600;
  --font-weight-normal: 400;
  --ring: #00569b;
  --chart-1: #00569b;
  --chart-2: #73a400;
  --chart-3: #ff3366;
  --chart-4: #7c3aed;
  --chart-5: #10b981;
  --radius: 0.75rem;
  --sidebar: #242833;
  --sidebar-foreground: #f5f5f7;
  --sidebar-primary: #00569b;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #2e3340;
  --sidebar-accent-foreground: #f5f5f7;
  --sidebar-border: rgba(255, 255, 255, 0.1);
  --sidebar-ring: #00569b;
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-input-background: var(--input-background);
  --color-switch-background: var(--switch-background);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
  --primary-rgb:0,86,155;
  --accent-rgb:115,164,0;
  --c-primary-rgb: 59, 130, 246; /* Bleu */
  --c-accent-rgb: 249, 115, 22;  /* Orange */
  --c-bg-rgb: 255, 255, 255;     /* Couleur de fond du site */
  --color-blue: #00569b;
    --color-green: #73a400;
    --animation-duration: 25s; /* Durée de base de l'animation */
}


@layer base {
  * {
    @apply border-border outline-ring/50;
  }

  body {
    @apply text-foreground;
    background: #000000;
    background-attachment: fixed;
    min-height: 100vh;
    font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  }

  /* Police distinctive pour les titres - Style automobile premium */
  h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', 'DM Sans', sans-serif;
    letter-spacing: 0.02em;
  }
}

/**
 * Base typography. This is not applied to elements which have an ancestor with a Tailwind text class.
 */
@layer base {
  :where(:not(:has([class*=' text-']), :not(:has([class^='text-'])))) {
    h1 {
      font-size: var(--text-2xl);
      font-weight: var(--font-weight-medium);
      line-height: 1.2;
      letter-spacing: -0.02em;
    }

    h2 {
      font-size: var(--text-xl);
      font-weight: var(--font-weight-medium);
      line-height: 1.3;
      letter-spacing: -0.01em;
    }

    h3 {
      font-size: var(--text-lg);
      font-weight: var(--font-weight-medium);
      line-height: 1.4;
    }

    h4 {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    p {
      font-size: var(--text-base);
      font-weight: var(--font-weight-normal);
      line-height: 1.6;
    }

    label {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    button {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    input {
      font-size: var(--text-base);
      font-weight: var(--font-weight-normal);
      line-height: 1.5;
    }
  }
}

html {
  font-size: var(--font-size);
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
}

/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
  width: 8px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(0, 86, 155, 0.5);
  border-radius: 4px;
  transition: background 0.2s;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 86, 155, 0.8);
}
.savier_vous .elementor-image-box-content {
    padding-left: 19px;
}

.savier_vous h2 {
    font-size: 30px !important;
    font-family: 'DMSANS-BLACK'!important;
    color: var(--primary) !important;
	margin-top:0px;
}

.savier_vous.vert h2 {
    font-size: 30px !important;
    font-family: 'DMSANS-BLACK'!important;
    color: var(--accent) !important;
	margin-top:0px;
}


.savier_vous p {
    font-size: 18px !important;
    font-family: 'DMSANS-REGULAR'!important;
    color: var(--muted-foreground) !important;
}

.savier_vous p strong {
	color:#FFF!important;
}
.savier_vous figure {
    background: linear-gradient(to bottom, #73a400, #00569b);
    width: 64px !important;
    height: 64px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
}

.alerte.jaune figure {
    background:#f0b1004d;
    width: 64px !important;
    height: 64px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
}

.blueicon {
	position:relative;
	top:1px;
	margin-bottom:-4px;
	margin-right:10px;
	display:inline-block;
}

.simpleblueicone figure {
    width: 39px !important;
}

.simpleblueicone p{
   font-size:1rem!important;
   font-family:Poppins-Light;
   color:var(--muted-foreground)!important;
}

.alerte.orange figure {
    background:#ff690040;
    width: 64px !important;
    height: 64px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
}
.alerte.rouge figure {
    background:#fb2c365c;
    width: 64px !important;
    height: 64px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
}

.alertewhite.vert,
.alertewhite.jaune,
.alertewhite.rouge {
	transition:all ease-in-out 0.3s;
}

.alertewhite.vert:hover {
	transition:all ease-in-out 0.3s;
	border:1px solid #73a400;
	background:#73a4000d;
}

.alertewhite.jaune:hover {
	transition:all ease-in-out 0.3s;
	border:1px solid #f0b100;
	Background:#f0b10033;
}

.alertewhite.rouge:hover {
	transition:all ease-in-out 0.3s;
	border:1px solid #fb2c36;
	Background:#fb2c361a;
}

.alertewhite.vert figure {
	background:#73a400;
    width: 56px !important;
    height: 56px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
}

.alertewhite.jaune figure {
	background:#f0b100;
    width: 56px !important;
    height: 56px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
}

.alertewhite.rouge figure {
	background:#fb2c36;
    width: 56px !important;
    height: 56px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
}

.alerte h3 {
	font-size: 20px !important;
    font-family: 'DMSANS-BLACK'!important;
}

.alerte {
	background-color: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 30px;
    border-radius: 1.5rem;
}

.alertewhite {
	background-color: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 30px;
    border-radius: 1.5rem;
}

.alerte p, .alertewhite p {
	font-size: 1rem!important;
    font-family: 'DMSANS-REGULAR'!important;
	color:var(--muted-foreground)!important;
}

.alertewhite h3 {
	font-size: 20px !important;
    font-family: 'DMSANS-BLACK'!important;
	color:#FFF!important;
}

.alerte.jaune h3 {
	color:#f0b100!important;
}

.alerte.orange h3 {
	color:#ff6900!important;
}
.alerte.rouge h3 {
	color:#fb2c36!important;
}

div#glassrounded {
    background-color: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 20px 60px;
    border-radius: 1.5rem;
}

div#glassblueronde.maintso:hover,
div#glassblueronde.vertbe:hover {
    background: #73a40026;
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
}

div#glassblueronde.manga:hover {
    background: #00569b4f;
	box-shadow: 0 0 1px var(--primary), 0 0 40px #00569b4f, 0 0 0px var(--primary), inset 0 0 0px var(--primary);
}

.padding48 {
	padding:48px!important;
}

div#fineglassrounded {
    background-color: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 30px;
    border-radius: 1.5rem;
}

#fineglassrounded.fine {
	padding:10px!important;
}

#slimglass {
	background-color: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px;
    border-radius: 1.5rem;
}

.primary {
	color:#00569b!important;
}

.accent {
	color:#73a400!important;
}

.numerote.vert h4 {
	font-size: 18px;
    font-family: 'DMSANS-MEDIUM'!important;
    color:#FFF!important;
	margin-top:0px!Important;
}

.numerote.vert p {
	font-size: 14px;
    font-family: 'DMSANS-MEDIUM';
    color: var(--muted-foreground);
}

.numerote h4 span {
    color: #73a400;
    position: absolute;
    width: 40px;
    height: 40px;
    background: #73a4004d;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    font-family: DMSans-Medium !important;
    font-size: 1rem !important;
}

div#rougeimage {
    background:#fa2b361a;
    width: max-content;
    border-radius: 1.25rem;
    padding: 15px;
}

#fineglassrounded.rouge:hover {
	border:1px solid #fb2c36;
}

#fineglassrounded.blue:hover {
	border:1px solid #00569b;
}

div#blueimage {
    background: #00569b2b;
    width: max-content;
    border-radius: 1.25rem;
    padding: 15px;
}

div#vertimage {
    background: #73a40026;
    width: max-content;
    border-radius: 1.25rem;
    padding: 15px;
}

div#blueimage img,
div#vertimage img,
div#rougeimage img {
    width: 32px;
}

details#blueacc  .e-n-accordion-item-title-text {
    font-size: 20px;
    color: #00569b;
    font-family: 'Poppins-Medium'!important;
	display: flex;
    align-items: center;
}

details#blueacc .e-con-full.e-flex.e-con.e-child,
details#vertacc .e-con-full.e-flex.e-con.e-child {
	border:none!important;
}

details#vertacc  .e-n-accordion-item-title-text {
    font-size: 20px;
    color: #73a400;
    font-family: 'Poppins-Medium'!important;
	display: flex;
    align-items: center;
}
details#vertacc  .e-n-accordion-item-title-text img {
	width:48px;
	height:48px;
	background:#73a4000d;
	padding:4px;
	border-radius:1rem;
	display: flex;
    align-items: center;
	align-items:center;
	padding:10px;
	margin-right:25px;
}

details#blueacc  .e-n-accordion-item-title-text img {
	width:48px;
	height:48px;
	background:#00569b21;
	padding:4px;
	border-radius:1rem;
	display: flex;
    align-items: center;
	align-items:center;
	padding:10px;
	margin-right:25px;
}

details#blueacc span.e-closed svg,
details#blueacc span.e-opened svg {
	fill:#00569b!important;
}
details#vertacc span.e-closed svg,
details#vertacc span.e-opened svg {
	fill:#73a400!important;
}

details#blueacc {
    border: 1px solid #00569b;
    border-radius:1rem;
	margin-bottom:20px;
	padding:12px;
	background-color: #24283366;
    -webkit-backdrop-filter: blur(30px) !important;
    backdrop-filter: blur(30px) !important;
}
details#blueacc summary,
details#vertacc summary {
	border:none!important;
	display:flex;
	justify-content:space-between;
}

details#vertacc {
    border: 1px solid #73a400;
    border-radius:1rem;
	margin-bottom:20px;
	padding:12px;
	background-color:#24283366;
    -webkit-backdrop-filter: blur(30px) !important;
    backdrop-filter: blur(30px) !important;
}

.numerote.vert {
    padding-left:55px;
    position: relative;
}

.list_numerotee {
    background-color: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 15px;
    border-radius: 1.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 15px;
}
.list_numerotee p {
    font-size: 16px;
    font-family: 'DMSANS-REGULAR';
    color: var(--muted-foreground);
}
.list_numerotee span {
    display: flex;
    font-family: 'DMSANS-BLACK';
    color: #FFF;
    width: 30px;
    height: 30px;
    background: #00569b;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 15px;
}

div#darkglassrounded {
    background-color: rgb(36 40 51 / 88%);
    -webkit-backdrop-filter: blur(30px) !important;
    backdrop-filter: blur(30px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 30px;
    border-radius: 1.5rem;
}

/* Glass effect utility */
@layer utilities {
  .glass-effect {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
  }

  .neon-glow {
    box-shadow: 0 0 20px rgba(0, 86, 155, 0.4);
  }

  .neon-text {
    text-shadow: 0 0 15px rgba(0, 86, 155, 0.6), 0 0 30px rgba(115, 164, 0, 0.3);
  }

  .gradient-overlay {
    background: linear-gradient(180deg, transparent 0%, rgba(26, 29, 36, 0.9) 100%);
  }

  .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .scrollbar-hide::-webkit-scrollbar {
    display: none;
  }

  .liquid-glass-effect {
    background: linear-gradient(135deg, 
      rgba(36, 40, 51, 0.5) 0%, 
      rgba(0, 86, 155, 0.08) 50%, 
      rgba(115, 164, 0, 0.08) 100%);
    backdrop-filter: blur(30px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 
      0 8px 32px 0 rgba(0, 86, 155, 0.15),
      inset 0 1px 0 0 rgba(255, 255, 255, 0.05),
      inset 0 -1px 0 0 rgba(0, 0, 0, 0.1);
  }

  /* Backgrounds fluides et non pixellisés */
  .bg-glow-primary {
    background: radial-gradient(ellipse at center, rgba(0, 86, 155, 0.25) 0%, transparent 70%);
    filter: blur(80px);
  }

  .bg-glow-accent {
    background: radial-gradient(ellipse at center, rgba(115, 164, 0, 0.25) 0%, transparent 70%);
    filter: blur(80px);
  }

  .bg-glow-dual {
    background: radial-gradient(ellipse at center, rgba(0, 86, 155, 0.15) 0%, rgba(115, 164, 0, 0.15) 50%, transparent 70%);
    filter: blur(100px);
  }
}

div#menu_securitas ul li a {
    position: relative;
    padding: 8px 0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.80);
    transition: all 0.2s ease;
    font-family: DMSans-Medium;
}
div#header_caritas {
    position: fixed;
    z-index: 9999;
    top: 0;
}
div#menu_securitas ul li {
	margin-right:20px;
}

div#header_caritas::after {
    content: "";
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, transparent, var(--color-primary), transparent);
    display: block;
    position: absolute;
    bottom: 0;
}

.zindex99 {
	position:relative;
	z-index:9999;
}

.centeredrounded {
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px;
    border-radius: 1rem;
    min-height: 128px;
}
.centeredrounded p {
	font-size: 1rem;
    color: #FFF !important;
    font-family: DMSans-Black !important;
	text-align:center;
}

.centeredrounded.blue figure {
    width: 40px !important;
    height: 40px !important;
    background-color: #00569b33;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
	margin:auto!important;
}

.centeredrounded.vert figure {
    width: 40px !important;
    height: 40px !important;
    background-color: #73a40026;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
	margin:auto!important;
}

.menu_icone {
    transition: all ease-in-out 0.6s!important;
    border: 1px solid transparent;
    border-radius: 1rem;
    padding: 10px!important;
    margin-right: 5px;
}
.menu_icone .elementor-image-box-wrapper {
    display: flex;
    align-items: center;
}

.menu_icone:hover {
    border: 1px solid #00569b!important;
    border-radius: 1rem;
    padding: 10px;
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
}
.menu_icone.vert:hover {
	border: 1px solid #73a400!important;
}

.menu_icone figure {
	background-color: #00569b;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    padding: 9px;
    height: 56px !important;
    box-shadow: 0 4px 15px rgb(2 80 143 / 64%);
	min-width: 56px !important;
    max-width: 56px !important;
}

.menu_icone.vert figure {
	background-color: #73a400;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    padding: 9px;
    height: 56px !important;
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
	min-width: 56px !important;
    max-width: 56px !important;
}

.menu_icone a {
	font-size:.875rem;
	color:#FFF;
	font-family:DMSans-Medium;
}

.titre_icone_droite {
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px;
    border-radius: 1rem;
	width:100%;
}

.titre_icone_droite h3 {
    font-size: 1rem;
    color: #FFF !important;
    font-family: DMSans-Black !important;
    margin-top: 0px;
	padding-left:0px;
	position:relative;
}

.titre_icone_droite figure {
    position: absolute !important;
    top: 21px;
    right: 0;
    margin-right: 0px !important;
    text-align: right;
    justify-content: flex-end !important;
    align-items: flex-end;
    width: 40px !important;
}

.titre_icone_droite p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boite_icone_ronde {
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px;
    border-radius: 1rem;
	width:100%;
}

.boite_icone_ronde p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boite_icone_ronde figure {
    width: 50px !important;
    height: 50px;
    background: #00569b40;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}
.titre_icone {
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px;
    border-radius: 1rem;
	width:100%;
}
.titre_icone h3 {
    font-size: 1rem;
    color: #FFF !important;
    font-family: DMSans-Black !important;
    margin-top: 0px;
	padding-left:30px;
	position:relative;
}

.titre_icone figure {
    position: absolute;
    top: 21px;
}

.titre_icone p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boite_defaillance {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgb(255 255 255 / 55%);
    margin-bottom: 20px;
    border-radius: 1rem;
    padding: 20px;
}

.boite_defaillance .icone {
    width: 40px;
    height: 40px;
    display: flex;
    background: #d9d9d994;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
    margin-right: 15px;
	font-size:16px;
	font-family:DMSans-Medium;
}

.boite_defaillance.blue h4 {
	color:#2b7fff!important;
}
.boite_defaillance.orange h4 {
	color:#fe9a00!important;
}

.boite_defaillance.blue .icone {
	Background:#2b7fff1a;
	color:#2b7fff;
}

.boite_defaillance.orange .icone {
	Background:#fe9a001a;
	color:#fe9a00;
}

.boite_defaillance.rouge .icone {
	Background:#fb2c361a;
	color:#fb2c36;
}


.boite_defaillance h4 {
    font-size: 18px;
    font-family: 'Poppins-Light';
    margin-top: 0px;
    margin-bottom: 0px !important;
    padding-bottom: 0px;
}

.boite_defaillance p {
    font-size: 14px;
    font-family: 'Poppins-Light';
	color:var(--muted-foreground);
	margin-top: 5px;
}



.boitewarning.orange h3{
	font-size: 20px;
    color:#fe9a00!important;
    font-family: Poppins-Regular!important;
    margin-top: 0px;
	padding-left:0px;
	position:relative;
}

.boitewarning.orange p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boitewarning.orange figure{
	width: 48px !important;
    height: 48px;
    background: #fc99001a;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
    min-width: 48px;
}

.boitewarning.rouge h3{
	font-size: 20px;
    color:#fb2c36!important;
    font-family: Poppins-Regular!important;
    margin-top: 0px;
	padding-left:0px;
	position:relative;
}

.boitewarning.rouge p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boitewarning.rouge figure{
	width: 48px !important;
    height: 48px;
    background: #fa2b361a;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
    min-width: 48px;
}

.flexcenter {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.boite_valeur {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 30px;
    border-radius: 1.5rem;
    width: 100%;
	display: flex;
    align-self: stretch;
	transition:all ease-in-out 0.3s;
	transform:scale(1)!important;
}


.boite_valeur.blue:hover figure {
	Background:#00569b47!important;
}
.boite_valeur.vert:hover figure {
	Background:#73a4003d!important;
}

.boite_valeur a#cta_white {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    gap: 8px;
    padding: 8px 12px;
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-radius: 1rem;
    background-color:color-mix(in oklab, #FFF 5%, transparent);
    color: #fff;
    transition: all 0.25s ease;
    text-decoration: none;
    backdrop-filter: blur(10px);
    font-family: Poppins-Light;
    transition: all ease-in-out 0.3s;
    border: 2px solid color(srgb 1 1 1 / 0.5);
}

.boite_presse {
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 30px;
    border-radius: 1.5rem;
    width: 100%;
	display: flex;
    align-self: stretch;
	transition:all ease-in-out 0.3s;
}

.boite_presse p.elementor-image-box-title {
    font-size: 24px;
    color: var(--accent)!important;
    font-family: DMSans-Black !important;
	text-align:center;
	margin:0px;
	margin-top:15px!important;
}

.boite_presse p.elementor-image-box-description {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
	text-align:center;
}
.boite_presse figure {
    width: 64px !important;
    height: 64px !important;
    background-color:#73a40026;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
	margin:auto!important;
}


.bloc_etape.vert .a_icone {
    width: 64px !important;
    height: 64px !important;
    background-color:#73a40026;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
	margin-right: 15px;
}

.bloc_etape {
    display: flex;
    align-items: center;
}

.bloc_etape.blue .a_icone {
    width: 64px !important;
    height: 64px !important;
    background-color:#00569b33;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
	margin-right: 15px;
}

.bloc_etape h2 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.bloc_etape.blue h2 {
	font-size:30px;
	font-family:Poppins-Bold;
	color:#00569b;
}

.bloc_etape.blue span {
    font-size: 14px;
    font-family: Poppins-Light;
    color: #00569b;
    font-weight: 600;
    text-transform: uppercase;
}

.bloc_etape.vert span {
	font-size:14px;
	font-family:Poppins-Light;
	color:#73a400;
	font-weight: 600;
    text-transform: uppercase;
}

.bloc_etape p {
	font-size:14px;
	font-family:Poppins-Light;
	color:var(--muted-foreground);
	margin-top: 0px;
}

.bloc_etape.vert h2 {
	font-size:30px;
	font-family:Poppins-Bold;
	color:#73a400;
}

.boite_left_image {
	padding:32px;
	border-radius:1.5rem;
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
	transition:all ease-in-out 0.3s;
}
.boite_left_image.blue:hover {
	border:1px solid #00569b;
}

.boite_left_image.vert:hover {
	border:1px solid #73a400;
}

.boite_left_image figure {
	transition:all ease-in-out 0.3s;
}

.boite_left_image:hover figure {
	transform:scale(1.1);
}

.boite_left_image.vert h3 {
    font-size: 20px;
    color: #73a400!important;
    font-family: Poppins-Light!important;
    margin-top: 30px;
	position:relative;
}

.boite_left_image p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boite_left_image.blue h3 {
    font-size: 20px;
    color: #00569b !important;
    font-family: Poppins-Light!important;
    margin-top: 30px;
	position:relative;
}

.boite_left_image.vert figure {
    width: 64px !important;
    height: 64px !important;
    background-color:#73a40026;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.boite_left_image.blue figure {
    width: 64px !important;
    height: 64px !important;
    background-color:#00569b2b;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.boite_left_image a:hover svg path {
	fill:#00569b!important;
}

.boite_left_image a:hover {
	color:#00569b!important;
}

.boite_h4.vert {
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
	padding:20px;
	border-radius:1rem;
}

.boite_h4.vert h4 {
	font-size: 20px;
    color: #73a400 !important;
    font-family: Poppins-Medium !important;
}

.boite_h4.vert p {
	font-size: 14px;
    color:var(--muted-foreground) !important;
    font-family: Poppins-Light !important;
}

a#cta_simple {
    background: transparent;
    font-size: 12px;
    font-family: 'Poppins-Light';
    color: var(--muted-foreground);
    opacity: 0.7;
    padding-left: 0;
    margin-top: 0px;
}

a#cta_white:hover svg {
	margin-left:10px!important;
}
.boite_valeur.blue:hover {
	border:1px solid #00569b;
	transform:scale(1.03)!important;
}

.boite_valeur.vert:hover {
	border:1px solid #73a400;
	transform:scale(1.03)!important;
}

.boite_valeur h2 {
    font-size: 20px;
    color: #FFF !important;
    font-family: DMSans-Black !important;
}
.boite_valeur p {
    font-size: 1rem;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boite_valeur.blue figure {
    width: 64px !important;
    height: 64px !important;
    background-color: #00569b33;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.boite_valeur.vert figure {
    width: 64px !important;
    height: 64px !important;
    background-color:#73a40026;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}
.boite_valeur figure img {
	width:32px;
	height:32px;
}

.lefticonronded {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px;
    border-radius: 1rem;
    min-height: 128px;
	transition:all ease-in-out 0.3s;
}

.lefticonronded:hover {
	border:1px solid #00569b;
}

.lefticonronded h3 {
    font-size: 1rem;
    color: #FFF !important;
    font-family: Poppins-Medium !important;
    margin-top: 0px;
    font-weight: 500 !important;
}

.lefticonronded p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.lefticonronded.vert span {
    font-size: 16px;
    color: #FFF!important;
    font-family: DMSans-Regular !important;
}
.lefticonronded.vert:hover {
	Background:#73a40026;
	border:1px solid #73a40026;
}

.lefticonronded.vert .elementor-image-box-wrapper {
    display: flex;
    align-items: flex-start;
}

.lefticonronded figure {
    width: 40px !important;
    height: 40px !important;
    background-color: #00569b33;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}
.lefticonronded.vert figure {
    width: 40px !important;
    height: 40px !important;
    background-color: #73a4002b;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.lefticonronded.vert {
    display: flex;
    align-items: center;
}

.boite_image_fleche {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1rem;
    padding: 24px;
	transition:all ease-in-out 0.3s;
	transform:Scale(1);
}
.boite_image_fleche:hover {
	transform:Scale(1.05);
}

.boite_image_fleche.blue:hover {
   border:1px solid #00569b;
}

.boite_image_fleche.vert:hover {
  border:1px solid #73a400;
}

.boite_image_fleche.blue:hover h3{
   color:#00569b!important;
}

.boite_image_fleche.vert:hover h3{
   color:#73a400!important;
}

.boite_image_fleche.blue:hover figure {
  Background:#00569b2b;
}

.boite_image_fleche h3 {
    font-size: 1rem;
    color: #FFF !important;
    font-family: DMSans-Black !important;
    margin-top: 0px;
	margin-bottom:10px;
	position:relative;
	transition:all ease-in-out 0.3s;
}

.boite_image_fleche h3::after {
    content: url(/wp-content/uploads/2025/12/fleche-blanc.svg);
    display: block;
    position: absolute;
    top: 0;
    right: 6px;
    opacity: 0.7;
}

.boite_image_fleche.blue:hover h3::after {
    content: url(/wp-content/uploads/2026/01/fleche-blue.svg);
    display: block;
    position: absolute;
    top: 0;
    right: 6px;
    opacity: 0.7;
}

.boite_image_fleche.vert:hover h3::after {
    content: url(/wp-content/uploads/2026/01/fleche-vert.svg);
    display: block;
    position: absolute;
    top: 0;
    right: 6px;
    opacity: 0.7;
}

.boite_image_fleche p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.boite_image_fleche.blue figure {
    width: 50px !important;
    height: 50px !important;
    background-color: #00569b33;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.boite_image_fleche.vert figure {
    width: 50px !important;
    height: 50px !important;
    background-color: #73a40026;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.titrecolore {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px;
    border-radius: 1rem;
    min-height: 128px;
}

.titrecolore.blue h3 {
    font-size: 18px;
    color: #00569b!important;
    font-family: DMSans-Medium !important;
    margin-top: 0px;
	margin-bottom:10px;
	position:relative;
}

.titrecolore.vert h3 {
    font-size: 18px;
    color: #73a400!important;
    font-family: DMSans-Medium !important;
    margin-top: 0px;
	margin-bottom:10px;
	position:relative;
}

.titrecolore p {
    font-size: 14px;
    color: var(--muted-foreground)!important;
    font-family: DMSans-Regular !important;
}

.titrecolore.blue figure {
    width: 50px !important;
    height: 50px !important;
    background-color: #00569b33;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.titrecolore.vert figure {
    width: 50px !important;
    height: 50px !important;
    background-color: #73a40026;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.titrecolore.milieu figure {
	margin:auto!important;
	margin-bottom:30px!important;
}

.titrecolore span {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
	color:#9999aab3!important;
	transition:all ease-in-out 0.3s;
}
.titrecolore span:hover {
	color:#00569b!important;
}

.titrecolore.anime figure {
	transition:all ease-in-out 0.3s;
}

.titrecolore.anime:hover {
	transition:all ease-in-out 0.3s;
	border:1px solid #00569b;
}

.titrecolore.anime {
	transition:all ease-in-out 0.3s;
}

.separateur {
	width:100%;
	height:1px;
	background:var(--muted-foreground)!important;
	Opacity:0.7;
}

.titrecolore.anime:hover figure {
	transform:scale(1.1);
}

.titrecolore span::after {
    content: url(/wp-content/uploads/2026/01/fleche-sombre.svg);
    display: block;
    width: max-content;
    position: relative;
    left: 2px;
    top: 4px;
    transform: scale(0.6);
}

.dashboard-menu.full .card {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
    flex: 1 1 0;
    text-align: center;
}

.card.effect, .card.effect p {
	transition:all ease-in-out 0.6s;
}

.card.effect p {
	font-size:.875rem;
	color:var(--muted-foreground)!important;
	font-family:DMSans-Regular!important;
}

.card.effect:hover .green .icon-carre {
    box-shadow: 0 0 10px rgba(139, 195, 74, 0.1);
    background-color: #73a40057;
}

.card.effect:hover p {
    color:var(--accent)!important;
}

.dashboard-menu .card.effect {
    transition:all ease-in-out 0.5s;
}

.dashboard-menu .card.effect:hover {
    border:1px solid #73a400;
}

a#btn_vert {
	cursor:pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-radius: calc(var(--radius) + 4px);
    background: var(--accent);
    color: #fff;
    transition: all 0.25s ease;
    text-decoration: none;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
	font-family: DMSans-Medium;
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
}

a#cta_vert {
    display: inline-flex;
    align-items: center;
	cursor:pointer;
    gap: 8px;
    padding: 16px 16px!important;
    font-size: .875rem!important;
    font-weight: 700;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-radius: calc(var(--radius) + 4px);
    background: var(--accent);
    color: #fff;
    transition: all 0.25s ease;
    text-decoration: none;
    backdrop-filter: blur(10px);
	font-family: Poppins-Light;
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
	transition:all ease-in-out 0.3s;
}

a#cta_white {
    display: inline-flex;
    align-items: center;
	cursor:pointer;
    gap: 8px;
    padding: 16px 16px;
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-radius: calc(var(--radius) + 4px);
	background-color: color-mix(in oklab, #FFF 5%, transparent);
    color: #fff;
    transition: all 0.25s ease;
    text-decoration: none;
    backdrop-filter: blur(10px);
	font-family: Poppins-Light;
	transition:all ease-in-out 0.3s;
	border:1px solid #FFF;
}

a#cta_vert:hover,a#cta_blue:hover {
	transform:scale(1.03);
	transform-origin:center;
}

a#cta_vert svg {
	fill:none!important;
}

a#cta_blue {
	transition:all ease-in-out 0.3s;
    display: inline-flex;
    align-items: center;
	cursor:pointer;
    gap: 8px;
    padding: 16px 16px!important;
    font-size: 14px!important;
    font-weight: 700;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-radius: calc(var(--radius) + 4px);
    background: var(--primary);
    color: #fff;
    transition: all 0.25s ease;
    text-decoration: none;
    backdrop-filter: blur(10px);
	font-family: Poppins-Light;
	box-shadow: 0 0 1px var(--primary), 0 0 40px #00569b5c, 0 0 0px var(--primary), inset 0 0 0px var(--primary);
}

a#cta_vert span.elementor-button-content-wrapper {
    align-items: center;
}

span.subtitle svg {
	margin-right:10px;
}

.custom-breadcrumb {
    font-size: .875rem;
    font-family: Poppins-Medium;
    color: #FFF;
}

.custom-breadcrumb a {
    color: var(--muted-foreground);
    font-weight: bold;
    font-family: 'DMSANS-BLACK';
}

.marginauto {
    margin: auto !important;
}

span.ico_droite {
    border-radius: 1rem;
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1a1d24e0;
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 300;
}

span.ico_droite.blue {
	border:1px solid #00569b;
}

span.ico_droite.vert {
	border:1px solid #73a400;
}

span.subtitle  {
	display:flex;
	align-items:center;
}

.picto_blue {
	width:64px;
	height:64px;
	background:#00569b4d;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:1rem;
	margin:auto;
}


a#btn_blue {
    display: inline-flex;
    align-items: center;
    gap: 8px;
	cursor:pointer;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-radius: calc(var(--radius) + 4px);
    background: var(--primary);
    color: #fff;
    transition: all 0.25s ease;
    text-decoration: none;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
	font-family: DMSans-Medium;
	font-size:13px;
}


.e-n-tab-title[aria-selected=true] {
    background-color: color-mix(in oklab, #FFF 15%, transparent) !important;
    display: inline-flex;
    border-radius: calc(var(--radius) + 4px)!important;
}

/* ---- TEXTE LIGHT ---- */
.t-light {
    color: rgba(255, 255, 255, 0.95);
    font-weight: 300;
}

/* ---- GRADIENT TEXT ---- */
.t-gradient {
    font-weight: 700;
    background: linear-gradient(
        to right, 
        var(--color-primary), 
        var(--color-accent),
        var(--color-accent)
    );
    -webkit-background-clip: text; 
    background-clip: text;
    color: transparent;
	font-family: Poppins-Medium;
}

/* Framer Motion → transition */
@keyframes fadeSlide {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- TEXT SIZES RESPONSIVES (comme Tailwind) ---- */
.hero-title {
    font-size: 48px;
    line-height: 1.1;
    font-weight: 900;
    color: #fff;
    margin: 0;
    animation: fadeSlide 0.6s ease forwards;
    opacity: 0;
    transform: translateY(20px);
    font-family: DMSans-Black;
	position:relative;
	z-index:9999;
}

.center {
	text-align:center!important;
}

.overlay-black {
    position: absolute;
    inset: 0;
    background: black;
    z-index: -1;
}

.overlay-h {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0.3), rgba(0,0,0,0.5));
}

.overlay-v {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.4), transparent, rgba(0,0,0,0.7));
}

.boite_stats {
	position:relative;
	z-index:400;
}

.boite_stats  p {
	font-family:'DMSans-Regular'!important;
	font-size:14px!important;
	color:#FFF!important;
}

.boite_stats figure.elementor-image-box-img {
	display:inline-flex!important;
	justify-content: center;
}

.z400index {
	position:relative;
	z-index:999!important;
}

.z1000 {
	position:relative;
	z-index:1000!important;
}

.text18 {
	font-family:'DMSans-Medium'!important;
	font-size:18px!important;
	color:#FFF!important;
	font-weight:500;
}

.text20 {
	font-family:'Poppins-Medium'!important;
	font-size:20px!important;
	color:#FFF!important;
	font-weight:500;
}

.text14 {
	font-family:'DMSans-Medium'!important;
	font-size:.875rem!important;
}

.text16 {
	font-family:'DMSans-Regular'!important;
	font-size:1rem!important;
}

.text36 {
	font-family:'DMSans-Regular'!important;
	font-size:36px!important;
}

.text20 strong {
	font-family:DMSans-Black!important;
	font-weight:900;
}

.muted {
	color:var(--muted-foreground)!important;
}

.white {
	color:#FFF!important;
}

.white50 {
	color:#F5F5F7!important;
}

.rouge {
	color:#fb2c36!important;
}

.uppercase {
	text-transform:uppercase!important;
}

div#avis_client {
    border-radius: 1.5rem;
    padding: 60px 90px;
	padding-bottom: 100px;
}

div#search_grid {
    width: 100%;
    max-width: 768px;
    margin: 40px auto;
    padding: 24px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(18px);
    border-radius: 20px;
    color: #fff;
}

/* Types de véhicules */
.vehicle-types {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 20px;
  font-size: 14px;
}

.vehicle-types .vtype {
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  color: #fff;
  border: 1px solid transparent;
  cursor: pointer;
  transition:all 0.4s ease;
  font-size: 12px;
  font-family: 'DMSans-Regular';
  font-weight: 400;
}


.vehicle-types .vtype.active {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.35);
    font-size: 12px;
    font-family: 'DMSans-Regular';
    color: #FFF;
    font-weight: 400;
}
.vehicle-types span {
    font-size: 12px;
    font-family: 'DMSANS-REGULAR';
    color: color(srgb 1 1 1 / 0.4);
}

div#search_grid .e-n-tabs-heading {
    border-radius: 1rem;
    background-color: #0003;
    backdrop-filter: blur(8px);
    padding: calc(.25rem * 1.5);
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
}
#search_grid button.e-n-tab-title {
    background: none;
    color: #ffffff80;
    font-size: .875rem !important;
    font-family: 'DMSans-Regular';
    flex-basis: inherit !important;
	flex:1;
	padding: 12px 16px !important;
}

#search_grid .e-n-tab-title[aria-selected=true] {
	color:#FFF!important;
	font-family:DMSans-Medium!important;
	border: 1px solid #f5f5f754;
}

.bluecontact {
	/* Layout */
  position: relative;
  overflow: hidden;
  flex: 1;
  display: flex;
  flex-direction: column;

  /* Spacing */
  padding: 1.5rem; /* p-6 */

  /* Responsive (lg:p-8 ≈ min-width: 1024px) */
  /* à placer plus bas dans le CSS */
  
  /* Background gradient */
  background: linear-gradient(
    to bottom right,
    rgba(0, 86, 155, 0.20),
    rgba(0, 86, 155, 0.05)
  );

  /* Glass effect */
  backdrop-filter: blur(12px);

  /* Border */
  border: 1px solid rgba(0, 86, 155, 0.20);

  /* Radius */
  border-radius: 1.5rem; /* rounded-3xl */

  /* Shadow */
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.bold {
	font-family:DMSans-Black!important;
}

.padresse p.elementor-image-box-title {
    margin-top: 0px;
    font-size: 14px;
    font-family: 'DMSANS-MEDIUM';
    font-weight: 400;
    color: var(--muted-foreground);
}

.padresse p.elementor-image-box-description {
    font-size: 16px;
    font-family: 'DMSANS-REGULAR';
    line-height: normal;
}

.padresse p.elementor-image-box-description a {
    font-size: 16px;
    font-family: 'DMSANS-REGULAR';
    line-height: normal;
	color:#FFF!important;
}

.padresse figure {
    width: 40px !important;
    height: 40px;
    background: #73a40045;
    display: flex !important;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    border-radius: 0.625rem;
}

#search_grid button.e-n-tab-title:active {
	 border-color: rgba(255, 255, 255, 0.35);
    background:rgba(255, 255, 255, 0.22);
	backdrop-filter:blur(8px);
    color: #ffffff80;
    font-size: .875rem !important;
    font-family: 'DMSans-Regular';
}

#search_grid  .e-n-tabs-content .e-con-inner {
	max-width:100%!important;
}

.transparentglass {
	 /* Layout */
  flex-shrink: 0;
  display: block; /* par défaut pour div */
  
  /* Spacing */
  padding: 1.5rem; /* p-6 */

  /* Background gradient léger */
  background-color: rgba(255, 255, 255, 0.05); /* bg-white/5 */

  /* Glass effect */
  backdrop-filter: blur(12px); /* backdrop-blur-md */

  /* Border */
  border: 1px solid rgba(255, 255, 255, 0.10); /* border-white/10 */

  /* Radius */
  border-radius: 1.5rem; /* rounded-3xl */

  /* Shadow */
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04); /* shadow-xl */
}

.button-primary {
  /* Layout & flex */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem; /* gap-2 */
  flex-shrink: 0;
  white-space: nowrap;

  /* Size & spacing */
  height: 2.25rem; /* h-9 */
  padding: 0.5rem 1rem; /* py-2 px-4 */

  /* Rounded & font */
  border-radius: 1rem; /* rounded-2xl */
  font-size: 0.875rem; /* text-sm */
  font-weight: 500; /* font-medium */

  /* Colors */
  background-color: rgba(255,255,255,0.1); /* bg-white/10 */
  color: #ffffff; /* text-white */
  border: 1px solid rgba(255,255,255,0.1); /* border-white/10 */

  /* Shadow & transition */
  box-shadow: 0 10px 15px -3px rgba(0,86,155,0.2), 0 4px 6px -4px rgba(0,86,155,0.2); /* shadow-lg shadow-primary/20 */
  transition: all 0.2s ease-in-out;

  /* Cursor & outline */
  outline: none;
  font-size: 14px;
  color: #FFF !important;
  font-family: 'DMSANS-BLACK' !important;
}

/* Hover */
.button-primary:hover {
  background-color: rgba(255,255,255,0.2); /* hover:bg-white/20 */
  box-shadow: 0 10px 15px -3px rgba(0,86,155,0.3), 0 4px 6px -4px rgba(0,86,155,0.3); /* hover:shadow-primary/30 */
}

/* Disabled */
.button-primary:disabled {
  pointer-events: none;
  opacity: 0.5;
}

/* Focus-visible */
.button-primary:focus-visible {
  border-color: var(--ring, #00569B); /* focus-visible:border-ring */
  box-shadow: 0 0 0 3px rgba(0,86,155,0.5); /* focus-visible:ring-ring/50 focus-visible:ring-[3px] */
}

/* aria-invalid */
.button-primary[aria-invalid="true"] {
  border-color: #ff4d4f; /* destructive */
  box-shadow: 0 0 0 3px rgba(255,77,79,0.2); /* aria-invalid:ring-destructive/20 */
}

/* dark mode aria-invalid */
@media (prefers-color-scheme: dark) {
  .button-primary[aria-invalid="true"] {
    box-shadow: 0 0 0 3px rgba(255,77,79,0.4); /* dark:aria-invalid:ring-destructive/40 */
  }
}

/* SVG inside button */
.button-primary svg {
  pointer-events: none;
  width: 1rem; /* size-4 */
  height: 1rem; /* size-4 */
  flex-shrink: 0;
}

/* Special case: if button has direct >svg */
.button-primary:has(>svg) {
  padding-left: 0.75rem;  /* has-[>svg]:px-3 */
  padding-right: 0.75rem;
}

/* Full width option */
.button-primary.full-width {
  width: 100%;
}


/* Zone input */
.search-input {
  display: flex;
  align-items: center;
  background-color: #0000004d;
  padding: 9px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.20);
  gap: 15px;
}

.bon_savoir .elementor-image-box-wrapper {
    padding: 32px;
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1.5rem;
}

.bon_savoir figure {
    width: 40px !important;
	min-width:40px;
} 

.bon_savoir.blue figure {
    width: 40px !important;
	min-width:40px;
	height:40px;
	border-radius:calc(0.75rem + 4px);
	Background:#00569b33;
	display:flex;
	align-items:center;
	justify-content:center;
} 

.bon_savoir.vert figure {
    width: 40px !important;
	min-width:40px;
	height:40px;
	border-radius:calc(0.75rem + 4px);
	Background:#73a4002b;
	display:flex;
	align-items:center;
	justify-content:center;
} 

.bon_savoir.vert h3 {
    font-size: 16px!important;
    font-family: DMSans-Medium!important;
    color: var(--accent)!important;
	margin-top:0px;
}

.bon_savoir.white h3 {
    font-size: 18px!important;
    font-family: DMSans-Black!important;
    color: #FFF!important;
	margin-top:0px;
}

.bon_savoir h3 {
    font-size: 16px!important;
    font-family: DMSans-Medium!important;
    color: var(--primary)!important;
	margin-top:0px;
}

.bon_savoir p {
    font-size: 14px!important;
    font-family: DMSans-Medium!important;
    color: var(--muted-foreground)!important;
}

a#cta_retour {
    background-color: transparent !important;
    color: var(--muted-foreground);
}

.search-input .icon {
  font-size: 18px;
  opacity:0.4;
}

.search-input input {
  border: none;
  flex: 1;
  background: transparent;
  color: #fff;
  font-size: 14px;
  outline: none;
  font-family:DMSans-Regular;
  font-size:12px;
  color:color(srgb 1 1 1 / 0.4);
}

.search-input input::placeholder {
	font-family:DMSans-Regular;
    font-size:14px;
	color :color(srgb 1 1 1 / 0.4);
}


.btn-search {
  border:none;
  display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-radius: calc(var(--radius) + 4px);
    background: var(--accent);
    color: #fff;
    transition: all 0.25s ease;
    text-decoration: none;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
	font-family: DMSans-Medium;
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
}
.btn-search svg {
	margin-right:10px;
}

div.overlay-v::after {
    content: "";
    width: 100%;
    height: 175px;
    display: block;
    z-index: 999;
    bottom: 0;
    position: absolute;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.9) 100%);
}

div#halloween::before {
    content: "";
    width: 100%;
    height: 111px;
    display: block;
    z-index: 999;
    top: -20px;
    position: absolute;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.9) 100%);
    transform: rotate(180deg);
}

div#map_blue {
    border-radius: 1.5rem;
    background: color(srgb 0.1 0.11 0.14 / 0.83);
    padding: 30px;
    position: relative;
    z-index: 400;
}

/* ----- BASE WRAPPER ----- */
.halo-bg {
    position: fixed;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: -10;
}

/* ----- HALOS GÉNÉRIQUES ----- */
.halo {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
}

/* ----- HALOS COULEURS ----- */
.halo-green-1 {
    top: -25%;
    right: -25%;
    width: 1000px;
    height: 1000px;
    background: radial-gradient(circle, rgba(115,164,0,0.45), rgba(115,164,0,0) 70%);
}

.halo-green-2 {
    bottom: -25%;
    left: -25%;
    width: 950px;
    height: 950px;
    background: radial-gradient(circle, rgba(115,164,0,0.42), rgba(115,164,0,0) 80%);
    filter: blur(115px);
}

.halo-blue-1 {
    top: -33%;
    left: -33%;
    width: 900px;
    height: 900px;
    background: radial-gradient(circle, rgba(0,86,155,0.48), rgba(0,86,155,0) 75%);
    filter: blur(110px);
}

.halo-blue-2 {
    bottom: -33%;
    right: -33%;
    width: 850px;
    height: 850px;
    background: radial-gradient(circle, rgba(0,86,155,0.45), rgba(0,86,155,0) 90%);
    filter: blur(105px);
}

/* ----- HALOS CENTRAUX ----- */
.halo-green-center {
    top: 12%;
    left: 50%;
    transform: translateX(-50%);
    width: 750px;
    height: 750px;
    background: radial-gradient(circle, rgba(142,199,39,0.38), rgba(115,164,0,0) 80%);
    filter: blur(90px);
}

.halo-blue-center {
    top: 50%;
    left: 33%;
    transform: translateY(-50%);
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(0,136,255,0.40), rgba(0,86,155,0) 100%);
    filter: blur(95px);
}

/* ----- ACCENTS ----- */
.halo-green-accent-1 {
    top: 18%;
    right: 20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(158,217,0,0.35), transparent 100%);
    filter: blur(70px);
}

.halo-green-accent-2 {
    bottom: 18%;
    left: 15%;
    width: 650px;
    height: 650px;
    background: radial-gradient(circle, rgba(115,164,0,0.38), transparent 100%);
    filter: blur(75px);
}

.halo-blue-accent {
    top: 25%;
    left: 12%;
    width: 580px;
    height: 580px;
    background: radial-gradient(circle, rgba(0,136,255,0.35), transparent 100%);
    filter: blur(65px);
}

/* ----- OMBRES PROFONDES ----- */
.shadow-overlay {
    position: absolute;
    border-radius: 50%;
}

.shadow-1 {
    top: 38%;
    left: 42%;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(0,0,0,0.80), transparent 100%);
    filter: blur(110px);
}

.shadow-2 {
    top: 56%;
    right: 26%;
    width: 650px;
    height: 650px;
    background: radial-gradient(circle, rgba(0,0,0,0.72), transparent 100%);
    filter: blur(105px);
}

/* ----- RAYONS ----- */
.light-rays {
    position: absolute;
    inset: 0;
    opacity: 0.5;
}

.rays-green {
    background: linear-gradient(135deg,
        transparent 0%, transparent 28%, 
        rgba(115,164,0,0.12) 43%, 
        rgba(142,199,39,0.18) 50%, 
        rgba(115,164,0,0.12) 57%, 
        transparent 72%, transparent 100%);
}

.rays-blue {
    background: linear-gradient(225deg,
        transparent 0%, transparent 32%, 
        rgba(0,102,204,0.14) 45%, 
        rgba(0,136,255,0.20) 50%, 
        rgba(0,86,155,0.14) 55%, 
        transparent 68%, transparent 100%);
}


/* Conteneur global */
#bg-effects-container {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: -10;
    overflow: hidden;
    pointer-events: none;
    background-color: #000;
}

.bg-fx-layer {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}

/* --- Styles spécifiques des Halos --- */
.bg-fx-halo {
    border-radius: 50%;
}

.halo-green-right {
    top: 0; right: 0; left: auto;
    width: 1000px; height: 1000px;
    background: radial-gradient(circle, rgba(115,164,0,0.45) 0%, rgba(115,164,0,0.32) 25%, rgba(115,164,0,0.20) 50%, rgba(115,164,0,0.10) 75%, transparent 100%);
    filter: blur(120px);
    /* Les transforms initiaux sont gérés par le JS pour éviter les conflits */
}

.halo-green-left {
    bottom: 0; left: 0; top: auto;
    width: 950px; height: 950px;
    background: radial-gradient(circle, rgba(115,164,0,0.42) 0%, rgba(115,164,0,0.30) 30%, rgba(115,164,0,0.18) 60%, rgba(115,164,0,0.08) 80%, transparent 100%);
    filter: blur(115px);
}

.halo-blue-left {
    top: 0; left: 0;
    width: 900px; height: 900px;
    background: radial-gradient(circle, rgba(0,102,204,0.48) 0%, rgba(0,86,155,0.35) 25%, rgba(0,86,155,0.22) 50%, rgba(0,86,155,0.10) 75%, transparent 100%);
    filter: blur(110px);
}

.halo-blue-right {
    bottom: 0; right: 0; top: auto; left: auto;
    width: 850px; height: 850px;
    background: radial-gradient(circle, rgba(0,86,155,0.45) 0%, rgba(0,86,155,0.32) 30%, rgba(0,86,155,0.18) 60%, rgba(0,86,155,0.08) 85%, transparent 100%);
    filter: blur(105px);
}

.halo-green-center-top {
    top: 12%; left: 50%;
    width: 750px; height: 750px;
    background: radial-gradient(circle, rgba(142,199,39,0.38) 0%, rgba(115,164,0,0.28) 30%, rgba(115,164,0,0.16) 60%, rgba(115,164,0,0.08) 85%, transparent 100%);
    filter: blur(90px);
}

.halo-blue-center {
    top: 50%; left: 33%;
    width: 700px; height: 700px;
    background: radial-gradient(circle, rgba(0,136,255,0.40) 0%, rgba(0,102,204,0.28) 35%, rgba(0,86,155,0.15) 70%, transparent 100%);
    filter: blur(95px);
}

/* --- Accents --- */
.accent-green-right {
    top: 18%; right: 20%; left: auto;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(158,217,0,0.35) 0%, rgba(115,164,0,0.25) 40%, rgba(115,164,0,0.12) 75%, transparent 100%);
    filter: blur(70px);
}

.accent-green-left {
    bottom: 18%; left: 15%; top: auto;
    width: 650px; height: 650px;
    background: radial-gradient(circle, rgba(115,164,0,0.38) 0%, rgba(115,164,0,0.26) 38%, rgba(115,164,0,0.14) 70%, transparent 100%);
    filter: blur(75px);
}

.accent-blue-mid {
    top: 25%; left: 12%;
    width: 580px; height: 580px;
    background: radial-gradient(circle, rgba(0,136,255,0.35) 0%, rgba(0,102,204,0.24) 42%, rgba(0,86,155,0.12) 75%, transparent 100%);
    filter: blur(65px);
}

/* --- Ombres --- */
.bg-fx-shadow {
    filter: blur(100px);
    border-radius: 50%;
}
.shadow-1 {
    top: 38%; left: 42%; width: 700px; height: 700px;
    background: radial-gradient(circle, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.55) 40%, rgba(0,0,0,0.28) 70%, transparent 100%);
}
.shadow-2 {
    top: 56%; right: 26%; left: auto; width: 650px; height: 650px;
    background: radial-gradient(circle, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.48) 45%, rgba(0,0,0,0.22) 75%, transparent 100%);
}

/* --- Grille & Rays --- */
.bg-fx-rays.rays-1 {
    opacity: 0.5;
    background: linear-gradient(135deg, transparent 0%, transparent 28%, rgba(115, 164, 0, 0.12) 43%, rgba(142, 199, 39, 0.18) 50%, rgba(115, 164, 0, 0.12) 57%, transparent 72%, transparent 100%);
}
.bg-fx-rays.rays-2 {
    opacity: 0.5;
    background: linear-gradient(225deg, transparent 0%, transparent 32%, rgba(0, 102, 204, 0.14) 45%, rgba(0, 136, 255, 0.20) 50%, rgba(0, 86, 155, 0.14) 55%, transparent 68%, transparent 100%);
}

.bg-fx-grid {
    opacity: 0.25;
    background-image: 
        linear-gradient(rgba(115, 164, 0, 0.08) 1.2px, transparent 1.2px),
        linear-gradient(90deg, rgba(115, 164, 0, 0.08) 1.2px, transparent 1.2px),
        linear-gradient(rgba(0, 86, 155, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 86, 155, 0.08) 1px, transparent 1px);
    background-size: 120px 120px, 120px 120px, 50px 50px, 50px 50px;
    background-position: 0 0, 0 0, 25px 25px, 25px 25px;
}

/* --- SVG --- */
.bg-fx-svg {
    opacity: 0.15;
}

/* --- Particules --- */
.bg-fx-particles-container {
    opacity: 0.35;
}
.bg-fx-particle {
    position: absolute;
    border-radius: 50%;
    animation: pulse 3s infinite ease-in-out;
}
@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .5; transform: scale(1.1); }
}

.p1 { top: 14%; left: 24%; width: 10px; height: 10px; background: #73a400; box-shadow: 0 0 18px #73a400; animation-duration: 2.8s; }
.p2 { top: 38%; right: 29%; width: 8px; height: 8px; background: #00569b; box-shadow: 0 0 16px #00569b; animation-duration: 3.4s; animation-delay: 0.5s; }
.p3 { bottom: 29%; left: 19%; width: 8px; height: 8px; background: #73a400; box-shadow: 0 0 15px #73a400; animation-duration: 3.8s; animation-delay: 1s; }
.p4 { top: 58%; right: 17%; width: 10px; height: 10px; background: #00569b; box-shadow: 0 0 19px #00569b; animation-duration: 3.2s; animation-delay: 1.4s; }
.p5 { bottom: 43%; left: 43%; width: 8px; height: 8px; background: #8bc727; box-shadow: 0 0 20px #8bc727; animation-duration: 3.6s; animation-delay: 1.8s; }

/* --- Overlays Finaux --- */
.bg-fx-vignette {
    background: radial-gradient(ellipse at center, transparent 0%, transparent 30%, rgba(0,0,0,0.45) 68%, rgba(0,0,0,0.75) 100%);
}
.bg-fx-overlay {
    background-color: rgba(0, 0, 0, 0.35);
}
.bg-fx-glass {
    opacity: 0.2;
    background: 
        radial-gradient(circle at 23% 23%, rgba(255,255,255,0.10) 0%, transparent 42%),
        radial-gradient(circle at 77% 77%, rgba(255,255,255,0.08) 0%, transparent 46%),
        radial-gradient(circle at 50% 50%, rgba(255,255,255,0.06) 0%, transparent 48%);
}
.bg-fx-speedlines {
    opacity: 0.22;
    background: 
        repeating-linear-gradient(-48deg, transparent, transparent 135px, rgba(115, 164, 0, 0.10) 135px, rgba(115, 164, 0, 0.10) 138px),
        repeating-linear-gradient(42deg, transparent, transparent 190px, rgba(0, 86, 155, 0.09) 190px, rgba(0, 86, 155, 0.09) 193px);
}

.titre_h2 {
    font-size: 48px;
    color: #FFF;
    font-family: 'DMSans-Black';
}

.text30 {
	font-size: 30px;
    color: #FFF;
    font-family: 'Poppins-Medium';
	font-weight:500;
}
.span_blue {
    color: #00569b!important;
}

.span_vert {
    color: var(--accent)!important;
}

li.avecdrop::before {
    content: '>';
    display: flex;
    position: absolute;
    top: 28px;
    width: 24px;
    height: 24px;
    color: #FFF;
    right: -1px;
    font-family: 'DMSANS-BLACK';
    transform: rotate(90deg);
    transform-origin: center;
    align-items: center;
    justify-content: center;
}

span.subtitle {
    color: var(--foreground);
    font-family: 'DMSANS-REGULAR';
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: max-content;
    padding: 10px 20px;
    background: rgba(36, 40, 51, 0.4) !important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: calc(infinity * 1px);
}
span.subtitle img {
	margin-right:10px;
}

/* Appliquer une max-width personnalisée à tous les containers fluid */
.e-con > .e-con-inner {
  max-width: 80%!important; /* ta valeur */
  margin-left: auto;
  margin-right: auto;
}

.reviews-swiper .swiper-slide {
    max-width: 362px !important;
}

.footer_card a {
    display: flex;
    align-items: center;
}
.footer_card a img {
	margin-right:10px;
}



.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #afafaf!important;
    opacity: .2;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 32px;
    height: 8px;
    border-radius: 6px;
    background: #00569b!important;
	opacity:1!important;
}

.reviews-swiper .swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
    bottom: -60px !important;
}

.chiffre-floating {
  position: absolute;
  top: 0.5rem;   /* top-6 */
  right: -0.5rem; /* right-6 */
  width: 5rem;   /* w-20 */
  height: 5rem;  /* h-20 */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem; /* rounded-2xl */
  background: rgba(36, 40, 51, 0.4);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 25px rgba(0,86,155, 0.2);
  z-index: 999;
  /* Animation */
  animation: floatingTopBottom 4s ease-in-out infinite;
  flex-direction:column;
  padding:15px;
}
.chiffre-floating.blue {
	 box-shadow: 0 10px 25px rgba(0,86,155, 0.2);
}

.chiffre-floating.left {
    left: 0;
    bottom: 0px !important;
    top: inherit;
}

.chiffre-floating.vert {
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
}

.chiffre-floating.vert span.annee {
	font-size:30px;
	font-family:DMSans-Medium;
	color:var(--accent);
}

.chiffre-floating.blue span.annee {
	font-size:30px;
	font-family:DMSans-Medium;
	color:var(--primary);
}
.chiffre-floating span {
	display: flex;
    position: relative;
    line-height: 100%;
}

.chiffre-floating p {
	font-size:.75rem;
	font-family:DMSans-Regular;
	color:var(--muted-foreground);
	margin-top:0px;
	margin-bottom:0px;
}


/* --- BOX --- */
.pin-floating {
  position: absolute;
  top: 0.5rem;   /* top-6 */
  right: -0.5rem; /* right-6 */
  width: 5rem;   /* w-20 */
  height: 5rem;  /* h-20 */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem; /* rounded-2xl */
  background: linear-gradient(to bottom right, var(--color-primary), rgba(0,86,155, 0.8));
  border: 1px solid rgba(0,86,155, 0.3);
  box-shadow: 0 10px 25px rgba(0,86,155, 0.2);
  z-index: 999;
  /* Animation */
  animation: floatingPin 4s ease-in-out infinite;
}

.pin-floating.accent {
    position: absolute;
    top: 0.5rem;
    right: -0.5rem;
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: linear-gradient(to bottom right, rgb(115 164 0 / 81%), rgb(115 164 0 / 96%));
    border: 1px solid rgba(115, 164, 0, 0.3);
    box-shadow: 0 10px 25px rgba(115, 164, 0, 0.2);
    z-index: 999;
    animation: floatingPin 4s ease-in-out infinite;
}

.roundedimage img {
    border-radius: 1.5rem;
    border: 1px solid rgb(115, 164, 0, 1);
	object-fit:cover;
	object-position:center;
	width: 100%;
    height: 100%;
}

.roundedimage.white img {
    border-radius: 1.5rem;
    border:none!important;
	object-fit:cover;
	object-position:center;
	width: 100%;
    height: 100%;
}

.roundedimage.blue img {
    border-radius: 1.5rem;
    border: 1px solid rgb(0 86 155);
}

svg {
	fill:none!important;
}

/* --- ICON --- */
.pin-floating svg {
  width: 40px;
  height: 40px;
  color: white;
  stroke-width: 1.5;
}

/* --- KEYFRAMES ANIMATION --- */
/* Flottement + légère rotation comme ton transform inline */
@keyframes floatingPin {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-5px) rotate(3deg);
  }
  75% {
    transform: translateY(5px) rotate(-3deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}

@keyframes floatingTopBottom {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  75% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}


/* slide temoignage */
.reviews-section {
  padding: 60px 20px;
  position: relative;
}

.reviews-wrapper {
  max-width: 1200px;
  margin: auto;
  position: relative;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  padding: 40px;
  border-radius: 30px;
  backdrop-filter: blur(20px);
}

/* HEADER */
.reviews-header {
  text-align: center;
  margin-bottom: 50px;
}

.reviews-header .badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(255,255,255,0.2);
  border-radius: 40px;
  border: 1px solid rgba(255,255,255,0.3);
}

.primary {
  color: #0ea5e9;
}

.footer_card a {
    color: var(--primary);
    font-size: 14px;
    font-family: 'DMSANS-REGULAR';
}

.subtitle {
  opacity: .7;
}

/* SLIDER */
.slider {
  position: relative;
}

.slider input {
  display: none;
}

/* NAV BUTTONS */
.nav-left, .nav-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 32px;
  padding: 10px;
  cursor: pointer;
  z-index: 5;
  opacity: .6;
  transition: .3s;
}

.nav-left:hover, .nav-right:hover {
  opacity: 1;
}

.nav-left { left: -40px; }
.nav-right { right: -40px; }

/* SLIDES */
.slides {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  transition: transform .5s ease;
}

#slide-1:checked ~ .slides { transform: translateX(0); }
#slide-2:checked ~ .slides { transform: translateX(-33.33%); }
#slide-3:checked ~ .slides { transform: translateX(-66.66%); }

/* CARD */
.review-card {
  padding: 25px;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: .3s;
}
.swipereview-button-prev img,
.swipereview-button-next img {
    transform: scale(1.6);
    transform-origin: center;
}

.swipereview-button-prev {
    position: absolute;
    top: 38%;
    left: -39px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid var(--muted-foreground);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 700;
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
}

.swipereview-button-next {
    position: absolute;
    top: 38%;
    right: -39px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid var(--muted-foreground);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 700;
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
}

div#double_colonne .e-con-inner {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1.5rem;
}

div#image_ronde_gradient img {
    border-radius: 1.5rem;
}

div#image_ronde_gradient {
    position: relative;
    overflow: hidden;
    background: #FFF;
    border-radius: 1.5rem;
}

.droite_icone_sombre {
    display: flex;
    width: 48px;
    height: 48px;
    background: rgb(26 29 36 / 80%);
    border-radius: 1rem;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 47px;
    top: 66px;
    z-index: 600;
    border: 1px solid rgb(0 86 155 / 20%);
}

div#image_ronde_gradient::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: 100;
    border-radius: 1.5rem;
    background: #FFF;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.36) 1%, rgba(26, 29, 36, 0.71) 84%);
    top: 0;
    left: 0;
    right: 0;
}

ul.ul_blue_check,
ul.ul_check_vert,
ul.ul_coche_vert,
ul.ul_coche_blue {
    list-style-type: none;
    padding-left: 0px!important;
}

ul.ul_warning,
ul.ul_chart_vert,
ul.ul_rouge {
    list-style-type: none;
    padding-left: 0px!important;
}

ul.ul_blue_check li, 
ul.ul_check_vert li,
ul.ul_coche_vert li,
ul.ul_coche_blue li {
    font-size: 18px;
    font-family: 'DMSANS-REGULAR';
    color: var(--muted-foreground);
    margin-bottom: 8px;
    padding-left: 30px;
    display: inline-flex;
    align-items: center;
	position:relative;
	width:100%;
}

ul.ul_warning li,
ul.ul_chart_vert li,
ul.ul_rouge li  {
    font-size: 16px;
    font-family: 'DMSANS-REGULAR';
    color: var(--muted-foreground);
    margin-bottom: 8px;
    padding-left: 30px;
    display: inline-flex;
    align-items: center;
	position:relative;
	width:100%;
}

ul.ul_rouge li::before {
    content: url(/wp-content/uploads/2026/01/croix.svg);
    position: absolute;
    display: block;
    left: 0;
    top: 4px;
}

ul.ul_blue_check li::before {
    content: url(/wp-content/uploads/2025/12/check_blue.svg);
    position: absolute;
    display: block;
    left: 0;
    top: 4px;
}

ul.ul_chart_vert li::before {
    content: url(/wp-content/uploads/2026/01/evolution.svg);
    position: absolute;
    display: block;
    left: 0;
    top: 4px;
}

ul.ul_check_vert li::before {
    content: url(/wp-content/uploads/2025/12/check_vert.svg);
    position: absolute;
    display: block;
    left: 0;
    top: 4px;
}

ul.ul_coche_vert li::before {
    content: url(/wp-content/uploads/2025/12/checked.svg);
    position: absolute;
    display: block;
    left: 0;
    top: 4px;
}

ul.ul_warning li::before {
    content: url(/wp-content/uploads/2026/01/attention-blue.svg);
    position: absolute;
    display: block;
    left: 0;
    top: 4px;
}

ul.ul_coche_blue li::before {
    content: url(/wp-content/uploads/2025/12/checked-blue.svg);
    position: absolute;
    display: block;
    left: 0;
    top: 4px;
}

ul.ul_check_vert li strong {
	color:#FFF!important;
	font-family:DMSans-Medium!important;
	font-weight:800;
}

.quote-icon img {
    width: 24px;
}

.stars {
  margin-bottom: 15px;
}

.score {
    font-size: 14px;
    font-family: 'DMSANS-REGULAR';
    color: var(--muted-foreground);
}

.review-text {
  flex-grow: 1;
  line-height: 1.5;
  font-size: 14px;
  font-family: 'DMSANS-REGULAR';
  color: var(--muted-foreground);
}

.author {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 15px;
    margin-top: 20px;
    display: flex;
    gap: 15px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}
.author h4 {
    text-align: center;
    font-family: 'DMSANS-MEDIUM';
    font-size: 1rem;
    color: var(--foreground);
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
}

.full_center a#cta_vert,
.full_center a#cta_white {
	width:100%!important;
	justify-content:center!important;
}

p.centre {
    font-size: .875rem;
    text-align: center;
    color: var(--muted-foreground);
    font-family: 'DMSANS-REGULAR';
	margin-bottom:0px;
}
div#menu_securitas li.current_page_item::after ,
div#menu_securitas li.current-page-ancestor::after {
    content: "";
    width: 100%;
    height: 3px;
    background: var(--primary);
    display:block;
	position:absolute;
	bottom:21px;
}

p.adresse::before {
    content: url(/wp-content/uploads/2025/12/pin-kely.svg);
    display: block;
    transform: scale(0.7);
    transform-origin: left;
    position: relative;
    top: 3px;
}

p.adresse {
    font-size: .875rem;
    text-align: center;
    color: var(--muted-foreground);
    font-family: 'DMSANS-REGULAR';
    display: flex;
    align-items: center;
    justify-content: center;
	margin-top:0px;
	position:relative;
}
div#header_caritas::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    z-index: 10;
    background: #00569B;
    background: linear-gradient(90deg, rgba(0, 86, 155, 1) 15%, rgba(115, 164, 0, 1) 54%, rgba(0, 86, 155, 1) 87%);
}

.author img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}

/* MOBILE */
@media(max-width: 768px){
  .slides {
    grid-template-columns: repeat(3, 100%);
  }

  .nav-left { left: 5px; }
  .nav-right { right: 5px; }

  /* Auto slider possible si tu veux */
}

/*end slide temoignage*/
.swiper.reviews-swiper {
    overflow: hidden;
}


/* --- Scroll Horizontal & Cartes --- */
.vt-scroll-wrapper {
  overflow-x: auto;
  padding-bottom: 1rem;
  margin: 0 -1rem; /* Pour toucher les bords sur mobile */
  padding-left: 1rem;
  padding-right: 1rem;
  /* Masquer la barre de défilement */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.vt-scroll-wrapper::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

.vt-cards-container {
  display: flex;
  gap: 1.5rem;
  width: max-content; /* Force l'affichage sur une ligne */
}

/* --- Style de la Carte --- */
.vt-card {
    display: block;
    width: 280px;
    flex-shrink: 0;
    border-radius: 1rem;
    overflow: hidden;
    text-decoration: none !important;
    transition: all 0.3s ease;
    cursor: pointer;
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.vt-card.accent {
  border-color: rgba(var(--accent-rgb), 0.2);
}

.vt-card:hover {
  border-color: rgba(var(--primary-rgb), 0.8);
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.vt-card.accent:hover {
  border-color: rgba(var(--accent-rgb), 0.8);
}

/* Image et Overlay */
.vt-card-image {
  height: 192px; /* h-48 */
  position: relative;
  overflow: hidden;
}

.vt-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.vt-card:hover .vt-card-image img {
  transform: scale(1.1);
}

.vt-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(var(--vt-primary-rgb), 0.2), transparent, transparent);
}
.vt-overlay.accent {
  background: linear-gradient(to top, rgba(var(--vt-accent-rgb), 0.2), transparent, transparent);
}

/* Contenu Carte */
.vt-card-content {
  padding: 1.5rem;
}

.vt-card-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 1.5rem 0;
    color: var(--foreground);
    transition: color 0.3s;
    font-family: 'Poppins-Light';
}

.vt-card:hover h3 {
  color: var(--color-primary);
}

/* Bouton */
.vt-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.5rem 1rem;
    color: #FFF;
    font-weight: 500;
    transition: all 0.3s;
    font-size: 14px;
    font-family: 'DMSANS-MEDIUM';
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1.5rem;
    padding-block: calc(.25rem);
	background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
}

.border-accent {
	border-color: color-mix(in oklab, var(--accent) 60%, transparent);
}

.neon-vertmaivana {
    box-shadow: 0 0 1px var(--accent), 0 0 43px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
	transition:all 0.4s ease-in-out;
}


.neonvert .e-con-inner {
	box-shadow: 0 0 1px var(--accent), 0 0 20px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
	transition:all 0.4s ease-in-out;
}

.neonaccent:hover {
	box-shadow: 0 0 1px var(--accent), 0 0 43px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
	border-color: color-mix(in oklab, var(--accent) 60%, transparent)!important;
}

.neonblue:hover {
	box-shadow: 0 0 1px var(--primary), 0 0 43px #00569ba1, 0 0 0px var(--primary), inset 0 0 0px var(--primary);
	border-color: color-mix(in oklab, var(--primary) 60%, transparent)!important;
}

.neon-vertmaivana:hover,
.neonvert:hover .e-con-inner{
    box-shadow: 0 0 1px var(--accent), 0 0 43px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
	border-color: color-mix(in oklab, var(--accent) 60%, transparent)!important;
}

.neon-blue:hover .e-con-inner {
	box-shadow: 0 0 1px var(--primary), 0 0 43px #00569ba1, 0 0 0px var(--primary), inset 0 0 0px var(--primary);
	border-color: color-mix(in oklab, var(--primary) 60%, transparent)!important;
}

.vt-btn .arrow-icon {
  margin-left: 0.5rem;
  transition: transform 0.3s;
  width: 16px;
  height: 16px;
}

.vt-card:hover .vt-btn .arrow-icon {
  transform: translateX(4px);
}

/* --- Animations (Remplacement de Framer Motion) --- */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  opacity: 0; /* État initial caché */
  animation: fadeInUp 0.6s ease-out forwards;
}

/* Délais d'animation en cascade */
.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }
.delay-4 { animation-delay: 0.4s; }
.delay-5 { animation-delay: 0.5s; }


/* --- Wrapper Principal --- */
.carousel-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  
  /* Animation d'entrée (Similaire à initial x:20) */
  opacity: 0;
  animation: slideInRight 0.8s ease-out forwards;
}

@media (min-width: 1025px) {
  .carousel-wrapper {
    min-height: 500px;
  }
  
  div#quatre_centre {
		display: flex;
		gap: 16px;
  }
}

@media (max-width:1024px) {
	
	div#glassblueronde.maintso figure {
		width: 40px !important;
		height: 40px !important;
		background-color: #73a40026;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 10px;
		margin-left: 0px !important;
	}
	
	p.text30 {
		font-size: 24px;
		line-height: 110%;
		font-family: Poppins-Medium;
	}
	
	div#img_controle {
		padding: 0px !important;
	}
	
	.padding48 {
		padding:0px!important;
	}
	
	a#cta_white,
	a#cta_blue {
		white-space:pre-wrap!important;
	}
	
	.lefticonronded.vert span {
		font-size: 15px;
		color: rgb(255 255 255 / 90%) !important;
		font-family: Poppins-Regular !important;
		font-weight: 400 !important;
		text-align: left !important;
		line-height: 120%;
		display: block;
		padding-left: 10px;
	}
	
	.lefticonronded {
		padding:16px!important;
	}
	
	.nowrap {
		flex-wrap:nowrap!important;
	}
	
	.boite_valeur a#cta_white {
		white-space:pre-wrap!important;
	}
	
	.reverse_mobile .e-con-inner {
		display: flex !important;
		flex-direction: column-reverse !important;
	}
	
	a#cta_vert {
		white-space:wrap;
		max-width:100%;
		width:100%;
	}
	
	button.elementskit-menu-hamburger.elementskit-menu-toggler span {
		color: #FFF !important;
		background: #fff !important;
		border: 1px solid #FFF !important;
	}

	.elementskit-menu-hamburger {
		border: 1px solid rgb(255 255 255)!important;
	}
	
	div#header_caritas {
		display: flex;
		width: 100%;
	}
	
	div#colonne_logo {
		display: flex;
		width: 50%;
	}
	
	div#colonne_menu_secu {
		width: 30%;
	}
	
	p.text18 br {
		display:none!important;
	}
	
	.item_centre{
		flex: 0 0 45% !important;
	}
	
	div#slide_image_dark {
		margin-right:0px!important;
	}
	.hero-title {
	  font-size:36px!important;
	}
	
	.titre_h2 {
		font-size:24px!important;
	}
	
	div#avis_client {
		border-radius: 1.5rem;
		padding: 20px 30px!important;
	}
	
	div#search_grid {
		padding:16px!important;
	}
	
	.search-input {
		flex-wrap:wrap;
	}
	
	div#glassrounded {
		background-color: rgba(36, 40, 51, 0.4);
		backdrop-filter: blur(20px);
		border: 1px solid rgba(255, 255, 255, 0.08);
		padding: 15px 15px!important;
		border-radius: 1.5rem;
	}
	
	div#fineglassrounded {
		padding:15px!important;
	}
	
	h2.hero-title {
		font-size: 24px !important;
	}
	
	h2 br,
	h1 br	{
		display:none!important;
	}
}

/* --- Conteneur Image (Rounded) --- */
.carousel-container {
  position: absolute;
  inset: 0;
  border-radius: 1rem; /* rounded-2xl */
  overflow: hidden;
  z-index: 10;
  background-color: #000; /* Fond noir par défaut */
}

/* --- Slides (Images) --- */
.carousel-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.1); /* scale-110 initial */
}

/* --- Animation du Carrousel (Cross-fade) --- */
/* Cycle total de 15s (5s par image pour 3 images) */
.carousel-slide {
  animation: fadeZoom 15s infinite;
}

/* Décalages pour chaque image */
.slide-1 { animation-delay: 0s; }
.slide-2 { animation-delay: 5s; }
.slide-3 { animation-delay: 10s; }

@keyframes fadeZoom {
  0% {
    opacity: 0;
    transform: scale(1.1);
    z-index: 2;
  }
  5% {
    opacity: 1; /* Apparition rapide */
  }
  33% {
    opacity: 1; /* Reste visible 1/3 du temps */
    z-index: 2;
  }
  38% {
    opacity: 0; /* Disparition */
    z-index: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.15); /* Léger effet zoom continu */
    z-index: 1;
  }
}

/* --- Overlays --- */
.carousel-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none; /* Laisse passer les clics */
  z-index: 20;
}

div#slide_image_dark {
    margin-right: 40px;
}

.securitaschiffre p {
    text-align: center;
    line-height: 25px !important;
    text-transform: uppercase;
    font-size: .875rem !important;
    font-family: DMSans-medium !important;
    font-weight: 600 !important;
	margin-top:15px!important;
	color:var(--foreground);
}
.securitaschiffre.blue span.elementor-counter-number {
    font-size: 72px;
    font-family: DMSans-Medium !important;
    color: var(--primary);
}
.securitaschiffre.vert span.elementor-counter-number {
    font-size: 72px;
    font-family: DMSans-Medium !important;
    color: var(--accent);
}

.securitaschiffre.vert .elementor-counter-number-prefix,
.securitaschiffre.vert .elementor-counter-number-suffix {
	font-size: 48px;
    font-family: DMSans-Regular !important;
    color: var(--accent);
	display: inline-block;
    margin-top: 22px;
    margin-left: 10px;
}
.securitaschiffre.blue .elementor-counter-number-prefix,
.securitaschiffre.blue .elementor-counter-number-suffix {
	font-size: 30px;
    font-family: DMSans-Regular !important;
    color: var(--primary);
	display: inline-block;
    margin-top: 22px;
    margin-right: 10px;
}

/* bg-black/45 */
.overlay-dark {
  background: rgba(36, 40, 51, 0.4);
}

/* Gradient Readability */
.overlay-readability {
  background: linear-gradient(
    to right,
    rgba(36, 40, 51, 0.4, 0.6),
    rgba(36, 40, 51, 0.4, 0.2),
    transparent
  );
}

/* Accent Glow */
.overlay-glow {
  background: linear-gradient(
    to bottom right,
    rgba(var(--accent-rgb), 0.1),
    transparent,
    rgba(var(--primary-rgb), 0.1)
  );
}

/* --- Éléments Décoratifs (Orbs) --- */
.deco-orb {
  position: absolute;
  border-radius: 9999px;
  filter: blur(64px); /* blur-3xl */
  z-index: 0; /* Derrière le conteneur image */
}

/* Orb Bas Droite */
.orb-bottom {
  bottom: -2.5rem;
  right: -2.5rem;
  width: 16rem; /* w-64 */
  height: 16rem;
  background-color: rgba(var(--accent-rgb), 0.2);
  opacity: 0.4;
}

/* Orb Haut Droite */
.orb-top {
  top: 25%;
  right: 25%;
  width: 12rem; /* w-48 */
  height: 12rem;
  background-color: rgba(var(--primary-rgb), 0.1);
  opacity: 0.3;
}

/* --- Animation d'Entrée (Slide In) --- */
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* --- Structure --- */
.ib-section {
  padding: 2rem 1rem;
  overflow: hidden;
  font-family: sans-serif; /* Hérite de votre thème normalement */
}

a.cta_retour {
    font-size: .875rem;
    font-family: DMSans-Medium;
    color: #FFF !important;
    display: flex;
    align-items: center;
}

a.cta_retour img {
    margin-right: 10px;
}

.ib-container {
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}

.ib-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.table-container {
    padding: 32px;
    border-radius: 14px;
    max-width: 100%;
    margin: auto;
    border: 1px solid #00569b;
    background: rgb(26 29 36 / 50%);
}

.vehicle-table {
  width: 100%;
  border-collapse: collapse;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: #e6edf3;
}

.vehicle-table thead tr {
    background: rgb(0 86 155 / 30%);
}

.vehicle-table tbody td {
    border: none;
}

.vehicle-table thead th {
    text-align: left;
    padding: 14px 16px;
    font-weight: 600;
    color: #00569b;
    font-size: 16px;
    font-family: 'DMSANS-MEDIUM';
}

table.vehicle-table thead th {
    border: none;
	border-bottom: 2px solid rgba(58, 169, 255, 0.4)!important;
}

.vehicle-table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.vehicle-table tbody td {
    padding: 16px;
    vertical-align: top;
    line-height: 1.5;
    color: var(--muted-foreground);
    font-family: 'Poppins-Light';
}

.vehicle-table tbody td strong {
	color:#F5F5F7!important;
	font-family:Poppins-Medium;
	font-weight:500!important;
}

.vehicle-table tbody tr:last-child {
  border-bottom: none;
}

.highlight {
    color: #F5F5F7;
    font-weight: 600;
}

.highlight.blue {
	color:#00569b!important;
}

/* Responsive */
@media (max-width: 768px) {
  .vehicle-table thead {
    display: none;
  }

  .vehicle-table,
  .vehicle-table tbody,
  .vehicle-table tr,
  .vehicle-table td {
    display: block;
    width: 100%;
  }

  .vehicle-table tr {
    margin-bottom: 16px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    padding: 10px;
  }

  .vehicle-table td {
    padding: 8px 12px;
  }

  .vehicle-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.85rem;
    color: #3aa9ff;
    margin-bottom: 4px;
  }
}


@media (min-width: 1024px) {
  .ib-grid {
    grid-template-columns: 1fr 1fr; /* 2 colonnes sur grand écran */
    gap: 2rem;
  }
}

/* --- Carte (Card) --- */
.ib-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 400px;
  border-radius: 1rem;
  overflow: hidden; /* Important pour l'image de fond */
  text-decoration: none !important;
  transition: all 0.3s ease;
  cursor: pointer;
  background: rgba(36, 40, 51, 0.4);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Gestion dynamique des couleurs via variables CSS locales */
.ib-card.primary { --current-color: var(--primary); --current-rgb: var(--primary-rgb); }
.ib-card.accent  { --current-color: var(--accent);  --current-rgb: var(--accent-rgb); }

.ib-card:hover {
  border-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-5px);
}

/* --- Background Image & Overlay --- */
.ib-bg-wrapper {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ib-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.ib-card:hover .ib-img {
  transform: scale(1.05); /* Zoom lent au survol */
}

.ib-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #1a1d24 0%, #1a1d24 40%, rgba(0, 0, 0, 0.4) 100%);
}

/* --- Effet Glow (Lueur arrière) --- */
.ib-glow {
  position: absolute;
  inset: -5px;
  border-radius: 1rem;
  z-index: -1;
  background: var(--current-color);
  opacity: 0;
  filter: blur(20px);
  transition: opacity 0.5s ease;
}

.ib-card:hover .ib-glow {
  opacity: 0.2; /* Lueur subtile au survol */
}

/* --- Contenu --- */
.ib-content {
  position: relative;
  z-index: 10;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-end; /* Pousse le contenu vers le bas si besoin, ou flex-start selon design */
}

@media (min-width: 1024px) {
  .ib-content { padding: 2.5rem; }
}

/* --- Icône --- */
.ib-icon-box {
  width: 4rem; /* 64px */
  height: 4rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
  
  /* Style par défaut de l'icône */
  background: rgba(var(--current-rgb), 0.1);
  border: 1px solid rgba(var(--current-rgb), 0.2);
  color: var(--current-color);
}

.ib-card:hover .ib-icon-box {
  background: rgba(var(--current-rgb), 0.2);
  box-shadow: 0 10px 15px -3px rgba(var(--current-rgb), 0.2);
}

.ib-icon-box svg {
  transition: transform 0.3s ease;
}

.ib-card:hover .ib-icon-box svg {
  transform: scale(1.1);
}

/* --- Textes --- */
.ib-title {
    font-size: 1.5rem !important;
    font-weight: 600;
    color: #FFF;
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
    font-family: 'Poppins-Light';
}

@media (min-width: 1024px) {
  .ib-title { font-size: 1.5rem; }
}

.ib-desc {
    font-size: 0.875rem;
    color: var(--foreground);
    margin: 0 0 1.5rem 0;
    line-height: 1.6;
    flex-grow: 1;
    font-family: 'DMSANS-REGULAR';
}

@media (min-width: 1024px) {
  .ib-desc { font-size: 1rem; }
}

/* --- Bouton --- */
.ib-btn.blue {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 1.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  width: 100%;
  transition: all 0.3s ease;
  /* Style bouton */
  background: rgba(var(--primary-rgb), 0.1);
  color: var(--primary);
  border: 1px solid rgba(var(--primary-rgb), 0.2);
  justify-content: center;
    align-items: center;
    font-family: 'DMSANS-MEDIUM' !important;
    font-size: .875rem;
    box-shadow: 0px 1px 2px 0px #00569b5c;
	box-shadow: 0 0 1px var(--primary), 0 0 10px #00569ba1, 0 0 0px var(--primary), inset 0 0 0px var(--primary);
    border-color: color-mix(in oklab, var(--primary) 60%, transparent) !important;
}

.ib-card:hover .ib-btn.blue {
  background: rgba(var(--primary-rgb), 0.2);
  border-color: rgba(var(--primary-rgb), 0.4);
}
.ib-btn.accent {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 1.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  width: 100%;
  transition: all 0.3s ease;
  /* Style bouton */
  background: rgba(var(--accent-rgb), 0.1);
  color: var(--accent);
  border: 1px solid rgba(var(--accent-rgb), 0.2);
  justify-content: center;
    align-items: center;
    font-family: 'DMSANS-MEDIUM' !important;
    font-size: .875rem;
	box-shadow: 0 0 1px var(--accent), 0 0 10px #73a40061, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
    border-color: color-mix(in oklab, var(--accent) 60%, transparent) !important;
}

.ib-card:hover .ib-btn.vert {
  background: rgba(var(--accent-rgb), 0.2);
  border-color: rgba(var(--accent-rgb), 0.4);
}

.ib-btn .arrow-icon {
  transition: transform 0.3s ease;
}

.ib-card:hover .ib-btn .arrow-icon {
  transform: translateX(4px); /* Flèche bouge vers la droite */
}

/* --- Animations d'entrée (Fade In Up) --- */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.fade-in-up {
  opacity: 0;
  animation: fadeInUp 0.6s ease-out forwards;
}

.delay-1 {
  animation-delay: 0.15s;
}
div#image_rounded {
    width: 551px;
    height: 500px;
    overflow: hidden;
    border-radius: 1.5rem;
    object-fit: cover;
    display: flex;
    align-items:center;
}

div#image_rounded img {
    width: 100%;
    object-fit: cover;
    object-position: top center;
}

.img_cert {
    width: 96px;
    height: 96px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
    background: #FFF;
    padding: 10px;
    border-radius: .75rem;
}

ul.ul_blue_hover {
    padding-left: 0px;
    list-style-type: none;
}
.div_certification {
    display: flex;
    gap: 20px;
}

.bloc_certification p {
    color: var(--muted-foreground);
    font-family: DMSans-Regular !important;
    text-align: center;
    font-size: .75rem;
}

ul.ul_blue_hover li a {
    color: var(--muted-foreground);
    font-family: DMSans-Regular !important;
    font-size: .875rem;
	transition:all ease-in-out 0.3s;
	padding-left:0px;
}
ul.ul_blue_hover li a:hover {
	color:#00569b!important;
	padding-left:9px;
}


.boite_engagement {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 32px;
    border-radius: 1.5rem;
}

.cf7-box {
    padding: 40px;
    border-radius: 20px;
    max-width: 900px;
    margin: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
    color: #fff;
    backdrop-filter: blur(6px);
    background: color(srgb 1 1 1 / 0.05);
}

.cf7-title {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 24px;
    font-family: DMSans-Black;
    color: #FFF !important;
}

.cf7-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.cf7-message {
  margin-top: 20px;
}

.cf7-box label {
    font-size: 14px;
    opacity: .85;
    margin-bottom: 0;
    display: block;
    font-family: 'DMSANS-BLACK';
}

.cf7-box input, 
.cf7-box textarea {
    width: 100%;
    padding: 4px 12px;
    border: none;
    background: rgb(0 0 0 / 20%);
    color: #fff;
    border-radius: calc(var(--radius) - 2px);
    font-size: 14px;
    font-family: 'DMSANS-REGULAR';
    border: 1px solid color(srgb 1 1 1 / 0.1);
}

.cf7-box input::placeholder,
.cf7-box textarea::placeholder {
  color: rgba(255,255,255,.2);
}

.cf7-box textarea {
  min-height: 140px;
  resize: none;
}

.cf7-submit {
  margin-top: 30px;
}

.cf7-box button[type="submit"] {
    width: 100%;
    padding: 14px 14px;
    border-radius: 1rem;
    background: #73a400;
    color: #ffffff;
    font-weight: 600;
    font-size: 16px;
    border: none;
    cursor: pointer;
    transition: all .3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}
.cf7-box img {
	margin-right:15px;
}

.cf7-box button[type="submit"]:hover {
  background: #73a400;
  transform: translateY(-2px);
  Opacity:0.9;
}

/* Responsive */
@media (max-width: 768px) {
  .cf7-grid {
    grid-template-columns: 1fr;
  }
}

.boite_engagement.blue span.elementor-icon {
    background: var(--primary);
    padding: 15px;
    border-radius: 16px;
    width: 64px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    
    /* --- CORRECTION BOX-SHADOW --- */
    /* Utilisation de la couleur primaire pour l'ombre */
    box-shadow: 
        0 4px 6px -4px rgba(var(--primary-rgb), 0.4), /* Ombre supérieure légère */
        0 10px 15px -3px rgba(var(--primary-rgb), 0.3), /* Ombre principale diffuse */
        inset 0 0 0 1px rgba(255, 255, 255, 0.05); /* Optionnel : Contour interne subtil */
    
    /* Suppression des propriétés non standard ou incorrectes */
    /* -tw-shadow: none; */ 
}

div#glassrounded img {
    border-radius: 1rem;
}

div#glassrounded .elementor-widget-image::after,
div#image_rounded::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 69%) 100%);
    pointer-events: none;
}

div#footer_securitas h4 {
    font-size: 16px !important;
    font-family: 'Poppins-Light';
    color: var(--accent);
    line-height: 120%;
}

div#footer_securitas::before {
    content: "";
    width: 100%;
    height: 223px;
    display: block;
    background: #1A1D24;
    background: linear-gradient(180deg, rgba(26, 29, 36, 1) 8%, rgba(0, 0, 0, 0) 100%);
}

.boite_engagement h3 {
    font-size: 18px;
    font-family: 'DMSANS-BLACK' !important;
    color: var(--foreground) !important;
    line-height: 25px;
}

.boite_engagement.vert span.elementor-icon {
    background: var(--accent);
    padding: 15px;
    border-radius: 16px;
    width: 64px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    
    /* --- CORRECTION BOX-SHADOW --- */
    /* Utilisation de la couleur primaire pour l'ombre */
    box-shadow: 
        0 4px 6px -4px rgba(var(--accent-rgb), 0.4), /* Ombre supérieure légère */
        0 10px 15px -3px rgba(var(--accent-rgb), 0.3), /* Ombre principale diffuse */
        inset 0 0 0 1px rgba(255, 255, 255, 0.05); /* Optionnel : Contour interne subtil */
    
    /* Suppression des propriétés non standard ou incorrectes */
    /* -tw-shadow: none; */ 
}

/* floating particule */
/* --- Conteneur Principal --- */
.particles-container {
    position: fixed;
    inset: 0;
    z-index: -10;
    overflow: hidden;
    pointer-events: none;
    /* Optionnel : fond sombre pour que les particules brillent mieux */
    /* background-color: #111; */ 
}

/* --- Style de base des particules --- */
.particle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.2;
    transition: box-shadow 0.3s;
    
    /* Animation de flottement appliquée à toutes les particules */
    animation: floatMove var(--animation-duration) infinite alternate ease-in-out;
}

/* --- Couleurs et tailles --- */

.particle.blue {
    background-color: var(--color-blue);
    box-shadow: 0 0 10px var(--color-blue);
}

.particle.green {
    background-color: var(--color-green);
    box-shadow: 0 0 10px var(--color-green);
}

/* --- Keyframes : Mouvement de Flottement (Simule Y, X, Opacity, Scale) --- */
@keyframes floatMove {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 0.1;
    }
    50% {
        /* Mouvement vers le haut (Y) et un peu sur le côté (X) */
        transform: translate(calc(var(--rand-x) * 1px), -100px) scale(1.2);
        opacity: 0.3;
    }
    100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.1;
    }
}

/* --- Positionnement Statique (Remplace Math.random() * 100) --- */
/* Vous devez choisir des positions de départ fixes pour simuler la dispersion */
/* J'utilise des tailles différentes pour simuler Math.random() * 4 + 2 */

.p1 { left: 10%; top: 5%; width: 4px; height: 4px; --rand-x: 20; }
.p2 { left: 80%; top: 15%; width: 6px; height: 6px; --rand-x: -30; }
.p3 { left: 30%; top: 25%; width: 8px; height: 8px; --rand-x: 10; }
.p4 { left: 5%; top: 40%; width: 5px; height: 5px; --rand-x: -15; }
.p5 { left: 90%; top: 50%; width: 7px; height: 7px; --rand-x: 40; }
.p6 { left: 45%; top: 60%; width: 4px; height: 4px; --rand-x: -5; }
.p7 { left: 20%; top: 75%; width: 6px; height: 6px; --rand-x: 25; }
.p8 { left: 70%; top: 85%; width: 5px; height: 5px; --rand-x: -45; }
.p9 { left: 55%; top: 10%; width: 8px; height: 8px; --rand-x: 15; }
.p10 { left: 85%; top: 70%; width: 4px; height: 4px; --rand-x: -20; }
.p11 { left: 15%; top: 90%; width: 6px; height: 6px; --rand-x: 35; }
.p12 { left: 35%; top: 5%; width: 5px; height: 5px; --rand-x: -10; }
.p13 { left: 65%; top: 20%; width: 7px; height: 7px; --rand-x: 30; }
.p14 { left: 50%; top: 35%; width: 4px; height: 4px; --rand-x: -25; }
.p15 { left: 5%; top: 55%; width: 8px; height: 8px; --rand-x: 5; }
.p16 { left: 75%; top: 45%; width: 6px; height: 6px; --rand-x: -35; }
.p17 { left: 25%; top: 65%; width: 5px; height: 5px; --rand-x: 45; }
.p18 { left: 95%; top: 30%; width: 7px; height: 7px; --rand-x: -5; }
.p19 { left: 40%; top: 80%; width: 4px; height: 4px; --rand-x: 15; }
.p20 { left: 60%; top: 95%; width: 6px; height: 6px; --rand-x: -40; }

.muted {
	color:var(--muted-foreground)!important;
}

.follow-us-section {
    display: flex;
    flex-direction: column;
}

.follow-us-header {
    display: flex;
    align-items: center;
}

.primary {
	color:var(--primary)!important;
}

ul.social-links {
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.follow-us-header h2 {
    color: #FFF !important;
    font-size: 18px;
    font-family: 'DMSANS-BLACK';
    padding-left: 9px;
}
.card label {
    font-size: 12px;
    font-family: DMSans-Black !important;
    color: #FFF;
}

/* --- Décalages Aléatoires (Remplace particle.delay) --- */
/* Pour chaque particule, on applique une durée d'animation différente pour briser le cycle */
.p1 { animation-duration: 20s; animation-delay: 0s; }
.p2 { animation-duration: 24s; animation-delay: 1.5s; }
.p3 { animation-duration: 18s; animation-delay: 3s; }
.p4 { animation-duration: 26s; animation-delay: 0.5s; }
.p5 { animation-duration: 15s; animation-delay: 2s; }
.p6 { animation-duration: 22s; animation-delay: 4.5s; }
.p7 { animation-duration: 28s; animation-delay: 1s; }
.p8 { animation-duration: 19s; animation-delay: 3.5s; }
.p9 { animation-duration: 23s; animation-delay: 2.5s; }
.p10 { animation-duration: 27s; animation-delay: 4s; }
.p11 { animation-duration: 16s; animation-delay: 0s; }
.p12 { animation-duration: 21s; animation-delay: 1.2s; }
.p13 { animation-duration: 29s; animation-delay: 2.7s; }
.p14 { animation-duration: 17s; animation-delay: 0.8s; }
.p15 { animation-duration: 25s; animation-delay: 4.2s; }
.p16 { animation-duration: 19s; animation-delay: 1.8s; }
.p17 { animation-duration: 24s; animation-delay: 3.3s; }
.p18 { animation-duration: 21s; animation-delay: 0.2s; }
.p19 { animation-duration: 28s; animation-delay: 2.2s; }
.p20 { animation-duration: 15s; animation-delay: 3.8s; }
/* end floating */

.small {
    font-size: .875rem;
    color: var(--muted-foreground);
    font-family: 'DMSANS-REGULAR';
    margin-bottom: 0px;
    padding-bottom: 0px !important;
    line-height: 14px;
}

ul.ul_footer,
.ul_mention {
    list-style-type: none;
    padding-left: 0px;
    display: flex;
    justify-content: center;
}
ul.ul_footer li a {
    font-family: 'DMSANS-REGULAR';
    color: var(--muted-foreground);
    font-size: .875rem;
}
ul.ul_footer li {
    margin-right: 50px;
}

ul.ul_mention li a {
    font-family: 'DMSANS-REGULAR';
    color: var(--muted-foreground);
    font-size:12px;
}
ul.ul_mention li {
    margin-right: 20px;
}

.top_border {
	border-color: 
 color-mix(in oklab, #ffffff1a 50%, transparent);
    border-top: 1px solid #ffffff26;
}

div#credit_bottom {
    background-image: linear-gradient(to right, color(srgb 0 0.34 0.61 / 0.1), /* Simuler 'from-primary/10' */ #ffffff00, /* Simuler 'via-background' (fond blanc par défaut) */ color(srgb 0.45 0.64 0 / 0.1) /* Simuler 'to-accent/10' */);
}

.bold {
	font-weight:900!important;
	font-family:DMSANS-BLACK!important;
}

.gradient_svg {
    background: linear-gradient(to bottom, #73a400, #00569b);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    margin: auto;
    margin-top: 30px;
}


/* begin map */
/* Conteneur principal : arrondis et gestion de la taille */
.map-wrapper {
    position: relative;
    width: 100%;
    height: 500px; /* Ajustez la hauteur selon vos besoins */
    border-radius: 1rem; /* rounded-2xl */
    overflow: hidden;
    font-family: 'Outfit', sans-serif; /* Assurez-vous d'avoir cette police ou changez-la */
}

/* La carte elle-même */
.map-canvas {
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.map-canvas.loaded {
    opacity: 1;
}

/* Le Placeholder (Style sombre comme votre exemple) */
.map-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom right, #18181b, #27272a); /* Zinc-900 to Zinc-800 */
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    z-index: 1;
}

.placeholder-content {
    text-align: center;
    padding: 2rem;
}

.icon-circle {
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1rem auto;
    border-radius: 50%;
    background-color: rgba(115, 164, 0, 0.2); /* Primary color avec opacité */
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-circle svg {
    width: 2rem;
    height: 2rem;
    color: #73a400; /* Votre couleur primary */
}

.card_voiture h3 {
    color: #F5F5F7;
    font-size: 1rem;
    font-family: Poppins-Medium;
    font-weight: 500;
}

.img_voiture_card {
    width: 100%;
    height: 192px;
    overflow: hidden;
    border-radius: 1rem 1rem 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    object-fit: cover;
}

.card_voiture.anime .img_voiture_card {
	height:224px!important;
}

.card_voiture p {
    font-family: Poppins-Light;
    color: var(--muted-foreground);
    font-size: .875rem;
	min-height: 100px;
}

.card_voiture img {
	transform:Scale(1);
	transition:transform ease-in-out 0.5s;
}

.card_voiture:hover img {
	transform:Scale(1.16);
}

.card_voiture {
	background-color: rgba(36, 40, 51, 0.4)!important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius:1rem;
	padding-bottom:20px;
	transition:all ease-in-out 0.3s;
	transform:translateY(0);
}

.card_voiture:hover {
	transform:translateY(-10px);
}

.card_voiture:hover h3 {
	color:#00569b!important;
}

.card_voiture.anime:hover h3 {
	color:#73a400!important;
}


.card_voiture.blue:hover {
	border:1px solid #00569b;
	box-shadow: 0 0 1px var(--primary), 0 0 40px #00569b33, 0 0 0px var(--primary), inset 0 0 0px var(--primary);
}

.card_voiture.vert:hover,
.card_voiture.anime:hover {
	border:1px solid #73a400;
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
}


.card_voiture a {
    padding-inline: calc(0.25rem * 3);
    border-radius: 1.5rem;
    padding: 12px 24px;
    background-color: rgba(36, 40, 51, 0.4)!important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
	width:100%!important;
	text-align:center;
}

div#image_top {
    height: 239px;
    overflow: hidden;
    object-position: center;
    border-radius: 1.5rem 1.5rem 0 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
	margin-bottom: 0px;
	margin-top:-20px;
}
div#image_top img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    height: 100%;
	transition:all ease-in-out 0.3s;
	transform:Scale(1);
}

.card_image:hover div#image_top img {
	transform:Scale(1.1)!important;
}
.card_image p {
    color: var(--muted-foreground);
    font-size: 16px;
    font-family: 'DMSANS-REGULAR'!important;
    text-align: left;
	padding-left: 25px;
    padding-right: 25px;
}

.card_image #cta_blue,
.card_image #cta_vert {
	width:90%!important;
}

.card_image #cta_blue svg, .card_image #cta_vert svg {
    position: absolute;
    right: 18px;
}

.card_image {
    background-color: #1e212a;
    padding: 0;
    position: relative;
	border-radius: 1.5rem;
	padding-bottom: 40px;
	transition:transform ease 0.4s;
	transform:translateY(0);
}

.card_image:hover {
	transform:translateY(-6px);
}

.card_image h3 {
    color: #F5F5F7 !important;
    font-size: 20px;
    text-align: left;
    font-family:DMSANS-BLACK !important;
    padding-left: 25px;
    padding-right: 25px;
	transition:all ease-in-out 0.3s;
}

.card_image:hover h3 {
	color:#00569b!important;
}

.placeholder-content h3 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    color: #fff;
}

.placeholder-content p {
    font-size: 0.875rem;
    color: #a1a1aa; /* text-muted-foreground */
}
/* edn map */


.dashboard-menu {
	display: flex;
	flex-wrap: wrap; /* Permet de passer à la ligne si l'écran est petit */
	gap: 15px; /* Espace entre les blocs */
	padding: 20px;
}

.card {
	background-color: rgba(30, 35, 40, 0.6); /* Fond semi-transparent */
	border: 1px solid #2c3e50;
	border-radius: 16px;
	min-width: 110px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: transform 0.2s, background-color 0.2s;
	color: white;
	padding:12px;
}

/* Effet au survol de la souris */
.card:hover {
	background-color: rgba(40, 45, 50, 0.9);
	border-color: #4a6fa5;
}

.card span.label {
    font-size: 12px;
    font-family: DMSans-Black !important;
    color: #FFF !important;
	text-align:center;
}
/* Cercle autour de l'icône */
.icon-carre {
	width: 35px;
	height: 35px;
	border-radius: 10px;
	background-color: rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
	font-size: 18px;
	padding:5px;
}
.blue .icon-carre {
    box-shadow: 0 0 10px rgba(33, 150, 243, 0.1);
    background-color: #00569b21;
}

.green .icon-carre {
    box-shadow: 0 0 10px rgba(139, 195, 74, 0.1);
    background-color: #73a4002b;
}

div#glassblueronde {
    background: rgba(36, 40, 51, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 32px;
    border-radius: 1rem;
}

div#glassblueronde.manga figure {
    width: 40px !important;
    height: 40px !important;
    background-color: #00569b33;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

div#glassblueronde.maintso figure {
    width: 40px !important;
    height: 40px !important;
    background-color: #73a40026;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

div#glassblueronde.vertbe figure {
    width: 40px !important;
    height: 40px !important;
    background-color: #73a400;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

div#glassblueronde h3 {
    font-size: 16px;
    font-family: DMSans-Black !important;
    color: #F5F5F7;
}

div#glassblueronde p {
    font-size: 14px;
    font-family: DMSans-Regular !important;
    color: var(--muted-foreground);
}

div#glassblueronde.apovoany figure {
    margin: auto !important;
    margin-bottom: 15px !important;
}

div#glassblueronde.apovoany {
    min-height: 229px !important;
}

div.backimage {
	box-shadow: 0 0 1px var(--accent), 0 0 40px #73a40052, 0 0 0px var(--accent), inset 0 0 0px var(--accent);
	max-width:1022px;
	margin:auto;
}

@media(min-width:1025px) {
	div#hero_caritas {
		padding-bottom: 187px;
	}
}


.gcs-cours-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.gcs-cours-card {
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow .2s ease, transform .2s ease;
  position:relative;
}

.gcs-cours-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}

.gcs-cours-thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.gcs-cours-content {
  padding: 15px;
}

.gcs-cours-title {
  font-size: 18px;
  margin: 0 0 6px;
}

.gcs-cours-thumb {
    position: relative;
    overflow: hidden;
}

.gcs-cours-thumb::before {
    content: "";
    width: 100%;
    height: 500px;
    background: linear-gradient(64deg, #000000ad, transparent);
    display: block;
    z-index: 400;
    position: absolute;
}

nav.ekit-wid-con.ekit_menu_responsive_tablet svg path {
    fill: #FFF;
}

.titre_h1 h1 {
    color: #ffffff !important;
    font-family: 'Poppins-Medium' !important;
    font-size: 36px;
    max-width: 510px;
}

.single-post h2 {
    color: #000;
    font-size: 24px;
    font-family: 'Poppins-Regular';
}

.single-post h3 {
    font-size: 20px;
    font-family: 'Poppins-Regular';
}

.single-post ul li {
	 color: #000;
    font-size: 16px;
    font-family: 'Poppins-Regular';
}

span.categorie_article {
    color: #FFF;
    background: #009688;
    padding: 4px 11px;
    border-radius: 0.375rem;
    text-transform: uppercase;
    font-size: 12px;
    font-family: Poppins-Medium !important;
}

a#cta_login {
    background: #3270b9;
    font-family: Poppins-Light;
    font-weight: 600;
}

.gcs-cours-title a {
  text-decoration: none;
  color: #111;
}

a.savoir_plus {
    font-family: 'Poppins-Medium';
    font-size: .875rem;
    color: #3270b9;
}

p.categorie_formation {
    background:#4882b2;
    color: #FFF;
    padding: 6px 12px;
    border-radius: 1rem 0 1rem;
    width: max-content;
    position: relative;
}

p.categorie_formation::after {
    content: "";
    width: 200%;
    height: 2px;
    background:#4882b2;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 23px;
}

.formation-right {
    background: #ffffff !important;
    max-width: 100% !important;
    padding: 24px !important;
}

.formation-right ul {
    list-style-type: none;
}

.formation-right ul li {
    font-family: 'Poppins-Medium';
    font-weight: 500;
    font-size: 16px !important;
    margin-bottom: 6px;
}

.gcs-login-box {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 20px;
}

.gcs-login-box label {
    display: block;
    font-size: 14px;
    font-family: 'Poppins-Medium';
    color: #000 !important;
}

.gcs-login-box h2 {
    font-size: 20px;
    font-family: 'POPPINS-MEDIUM';
}

.formation-right h3 {
    color: #4882b2;
    font-family: 'Poppins-Light';
    margin-top: 0px;
    width: 100%;
    border-bottom: 1px solid;
}

.formation-right ul li {
    background: #FFF;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 10px;
}

.gcs-form-inscription {
  max-width: 500px;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fafafa;
}

.gcs-form-inscription button {
  background: #1e73be;
  color: #fff;
  border: none;
  padding: 10px 16px;
  border-radius: 6px;
  cursor: pointer;
}

.gcs-form-inscription button:hover {
  background: #155a96;
}


.gcs-cours-date {
    background: #4781b2;
    width: max-content;
    padding: 5px;
    color: #FFF !important;
    font-family: 'Poppins-Medium';
    position: absolute;
    top: 20px;
    right: 0px;
	z-index:999;
}

/* Limitation à 3 lignes */
.gcs-cours-desc {
  font-size: 14px;
  color: #444;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

form#contact_form {
    border: 1px solid #ffffff;
    padding: 24px;
    margin-bottom: 50px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
}
#map  iframe {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
}

form#contact_form input,
form#contact_form textarea {
    width: 100%;
    border-radius: 0.375rem;
    border: 1px solid #ddd;
    color: #000;
    font-family: 'Poppins-Light';
}

form#contact_form input::placeholder,
form#contact_form textarea::placeholder {
    width: 100%;
    color: #000;
    font-family: 'Poppins-Light';
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background: #3270b9;
    color: #FFF !important;
    text-transform: uppercase;
    height: 54px;
}

div#list_adresse svg path {
    fill: #3270b9 !important;
}


.full-row p {
    width: 100%;
}

ul.elementor-icon-list-items li span {
    font-size: 18px;
    color: #3270b9 !important;
	font-family: 'Poppins-Medium';
}

div#list_adresse ul.elementor-icon-list-items li {
    background: #FFF;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
    margin-bottom: 1px !important;
	padding:15px;
}

span.wpcf7-form-control-wrap {
    width: 100%;
}

@media (max-width:1024px) {
	
	.grid-itemposts {
		flex-wrap:wrap;
	}
	
	.first_phare {
		max-width:100%!important;
	}
	
	div#header_arise {
		display: flex;
		flex-wrap: nowrap;
	}
	.grid_phare {
		margin-bottom: 20px;
	}
	
	.parent_other {
		display: none;
	}
	
	.flash-actu-container {
		margin-left:0px;
	}
	
	.slide-left {
		flex: 0 0 100%;
	}
	
	div#colonne_menu .ekit-wid-con svg {
		width: 2rem;
		height: 2rem;
	}
	
	button.elementskit-menu-hamburger.elementskit-menu-toggler svg path {
		fill: #3270b9 !important;
	}
	div#colonne_menu {
        width: 40% !important;
        display: flex;
        justify-content: center;
        align-items: flex-end;
		padding-right: 0px;
    }
	
	ul.ul_footer, .ul_mention {
		list-style-type: none;
		padding-left: 0px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.e-con > .e-con-inner {
		max-width: 90% !important;
		margin-left: auto;
		margin-right: auto;
	}
}

/* Responsive */
@media (max-width: 900px) {
  .gcs-cours-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 500px) {
  .gcs-cours-grid {
    grid-template-columns: 1fr;
  }
}
