.elementor-kit-42{--e-global-color-primary:#002259;--e-global-color-secondary:#F3F4F7;--e-global-color-text:#002259;--e-global-color-accent:#FF5D72;--e-global-color-e2026c6:#002259;--e-global-color-f7f2ed4:#FF5D72;--e-global-color-f96914e:#FFB68F;--e-global-color-e114cec:#75A0D1;--e-global-color-ce68c57:#F3F4F7;--e-global-typography-primary-font-family:"IBM Plex Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"IBM Plex Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Sans";--e-global-typography-accent-font-weight:600;--e-global-typography-5ada3e6-font-family:"IBM Plex Sans";--e-global-typography-5ada3e6-font-size:48px;--e-global-typography-5ada3e6-font-weight:600;--e-global-typography-daf3234-font-size:32px;--e-global-typography-daf3234-font-weight:600;--e-global-typography-d7b1309-font-family:"IBM Plex Sans";--e-global-typography-d7b1309-font-size:24px;--e-global-typography-d7b1309-font-weight:600;--e-global-typography-d7b1309-text-transform:uppercase;--e-global-typography-8b5b98a-font-family:"IBM Plex Sans";--e-global-typography-8b5b98a-font-size:20px;--e-global-typography-8b5b98a-font-weight:600;--e-global-typography-8b5b98a-text-transform:uppercase;--e-global-typography-904313c-font-family:"IBM Plex Sans";--e-global-typography-904313c-font-size:16px;--e-global-typography-904313c-font-weight:300;--e-global-typography-2de967e-font-family:"IBM Plex Sans";--e-global-typography-2de967e-font-size:16px;--e-global-typography-2de967e-font-weight:600;--e-global-typography-2de967e-font-style:italic;--e-global-typography-2d576a7-font-family:"IBM Plex Serif";--e-global-typography-2d576a7-font-size:24px;--e-global-typography-2d576a7-font-weight:600;--e-global-typography-2d576a7-font-style:italic;color:#000000;}.elementor-kit-42 e-page-transition{background-color:#FFFFFF;}.elementor-kit-42 a{color:var( --e-global-color-accent );font-weight:600;text-decoration:none;}.elementor-kit-42 h1{font-family:"IBM Plex Sans", Sans-serif;font-weight:600;}.elementor-kit-42 button,.elementor-kit-42 input[type="button"],.elementor-kit-42 input[type="submit"],.elementor-kit-42 .elementor-button{border-radius:60px 60px 60px 60px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Logo par défaut */
.elementor-loop-item::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 12px;
  width: 48px;
  height: 48px;
  background-image: url("https://vitrine.sandbox.juriscampus.andil.net/wp-content/uploads/2025/07/SUBMARK-JURISCAMPUS-defonce-RVB.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  transition: opacity 0.3s ease;
  z-index: 5;
  will-change: opacity;
}

/* Logo de survol (préchargé) */
.elementor-loop-item::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 12px;
  width: 48px;
  height: 48px;
  background-image: url("https://vitrine.sandbox.juriscampus.andil.net/wp-content/uploads/2025/07/SUBMARK-JURISCAMPUS-couleurs-RVB.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 6;
  will-change: opacity;
  pointer-events: none; /* pour ne pas bloquer le hover */
}

/* Survol de la carte : fondu entre les deux logos */
.elementor-loop-item:hover::before {
  opacity: 1;
}

.elementor-loop-item:hover::after {
  opacity: 0;
}

/* Responsive : réduire la taille de l’icône sur mobile */
@media (max-width: 767px) {
  .elementor-loop-item::after,
  .elementor-loop-item::before {
    width: 32px;
    height: 32px;
    top: 8px;
    right: 8px;
  }
}

/* Conteneur polaroid */
.logo-hover {
  position: relative;
  display: inline-block;
  background: #fff;   /* fond blanc */
  border-radius: 8px;
  padding: 0px;
  overflow: visible;      /* laisse dépasser la bordure de l'image si nécessaire */
}

/* Image polaroid */
.logo-hover img {
  display: block;
  height: auto;
  border: 0px solid #bbb;      /* bordure subtile, légèrement plus foncée pour effet profondeur */
  border-radius: 8px 8px 0 0;  /* coins supérieurs arrondis */
  box-shadow: inset 0 4px 6px rgba(0,0,0,0.08),  /* ombre interne */
              0 4px 8px rgba(0,0,0,0.1);        /* léger relief externe 3D */
  box-sizing: border-box;
}

/* Logo fixe en haut à droite */
.logo-hover::after {
  content: "";
  position: absolute;
  top: 0px;
  right: 15px;
  width: 64px;
  height: 64px;
  background-image: url("https://vitrine.sandbox.juriscampus.andil.net/wp-content/uploads/2025/07/SUBMARK-JURISCAMPUS-defonce-RVB.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  z-index: 5;
  transition: opacity 0.3s ease;
}

/* Logo au survol */
.logo-hover::before {
  content: "";
  position: absolute;
  top: 0px;
  right: 15px;
  width: 64px;
  height: 64px;
  background-image: url("https://vitrine.sandbox.juriscampus.andil.net/wp-content/uploads/2025/07/SUBMARK-JURISCAMPUS-couleurs-RVB.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  z-index: 6;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

/* Hover : juste l’opacité du logo */
.logo-hover:hover::before {
  opacity: 1;
}

.logo-hover:hover::after {
  opacity: 0;
}

/* Responsive */
@media (max-width: 767px) {
  .logo-hover::after,
  .logo-hover::before {
    width: 32px;
    height: 32px;
    top: 8px;
    right: 8px;
  }

  .logo-hover img {
    width: 100%;
  }
}

/* --- Fix complet Loop Slider Elementor --- */

/* 1) Empêche le stretch vertical qui force les 100% */
.swiper.elementor-loop-container.elementor-grid .swiper-wrapper {
    align-items: flex-start !important;
}

/* Classe bouton fond bleu texte orange avec hover */
.forminator-button {
    background-color: #002259;
    color: #FFB68F;
    padding: 15px 30px !important;
    border-radius: 50px !important;
}

.forminator-button:hover {
    color: #ff5D72;
}

/* Enlève le padding sur le body de la page d'accueil */
.ast-container, .ast-container-fluid{
    padding-right: 0px;
    padding-left: 0px;
}

.elementor-4012 .elementor-element.elementor-element-cd8dcd0 {
    box-shadow: 0px 0px 0px 0px #FFFFFF !important;
}

/* ==== CONTENEUR PARENT ==== */
.image-wrapper {
  position: relative;       /* référence pour les pseudo-éléments et bandes */
  display: inline-block;    /* pour respecter la largeur de l'image */
  overflow: visible;        /* permet aux bandes de dépasser */
}

/* ==== IMAGE + LETTRE ==== */
.image-overlay {
  position: relative;       /* référence pour ::before */
  overflow: hidden;         /* protège l'image et le cadre */
     display: inline-block;
}

/* ==== DIV PARENT : image-wrapper ==== */
.image-wrapper {
  position: relative;         /* référence pour les pseudo-éléments */
  display: inline-block;      /* largeur de l’image */
  overflow: visible;          /* permet aux bandes de dépasser */
}

/* BANDES DÉBORDANTES SUR LE PARENT */
.image-wrapper.has-indicator::after {
  content: "";
  position: absolute;
  top: 50px;
  right: -5px;               /* dépasse de la div */
  width: 25px;
  height: 8px;
  background-color: #f57c7c;
  box-shadow:
    0 15px 0 #ffbb7e,
    0 30px 0 #8db1e9;
  z-index: 10;                /* au-dessus de tout */
  pointer-events: none;
}

/* ==== DIV IMAGE : image-overlay ==== */
.image-overlay {
  position: relative;         /* référence pour ::before */
  overflow: visible  /* protège l'image */
  border: 10px solid #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  display: inline-block;
}

.image-overlay img {
  display: block;
  width: 100%;
  height: auto;
}

/* LETTRE CENTRÉE SUR L’IMAGE */
.image-overlay.has-letter::before {
  content: "J";
  position: absolute;
  inset: 0;                   /* occupe tout l’espace de la div image */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 120px;
  font-weight: bold;
  color: white;
  z-index: 2;                 /* sous les bandes */
  pointer-events: none;
}

.byline,
.author,
.entry-meta .author {
    display: none !important;
}/* End custom CSS */