/**
* Template Name: DevFolio
* Template URL: https://bootstrapmade.com/devfolio-bootstrap-portfolio-html-template/
* Updated: Mar 17 2024 with Bootstrap v5.3.3
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/

:root{
  --primary-color: #1A2C5E;
  --secondary-color: #14FD94;
  --white : #ffffff;


}
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

@font-face {
  font-family: meticula;
  src: url(../font/Outfit/Outfit-VariableFont_wght.ttf);
}

@font-face {
  font-family: script;
  src: url(../font/sript.TTF);
}

body {
  background-color: #f5f5f5;
  color: #4e4e4e;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #1e1e1e;
}

a {
  color: #1e1e1e;
  text-decoration: none;
  transition: all 0.5s ease-in-out;
}

a:hover {
  color: #0078ff;
  text-decoration: none;
  transition: all 0.5s ease-in-out;
}

.p-r {
  position: relative;
}

.color-a {
  text-decoration: none;
  color: #0078ff;
}

.color-d {
  color: #f5f5f5;
}

.color-text-a {
  text-decoration: none;
  color: #4e4e4e;
}

.box-shadow,
.card-blog,
.work-box,
.service-box,
.paralax-mf {
  box-shadow: 0 13px 8px -10px rgba(0, 0, 0, 0.1);
}

.box-shadow-a,
.button:hover {
  text-decoration: none;
  box-shadow: 0 0 0 4px #cde1f8;
}

.display-5 {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.1;
}

.display-6 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.1;
}

.avatar {
  width: 32px;
  height: 32px;
  margin-right: 4px;
  overflow: hidden;
}

.bg-image {
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-position: center center;
}

@media (max-width: 1024px) {
  .bg-image {
    background-attachment: scroll;
  }
}

.overlay-mf {
  background-color: #0078ff;
}

.overlay-mf {
  position: absolute;
  top: 0;
  left: 0px;
  padding: 0;
  height: 100%;
  width: 100%;
  opacity: 0.7;
}

.paralax-mf {
  position: relative;
  padding: 8rem 0;
}

.display-table {
  width: 100%;
  height: 100%;
  display: table;
}

.table-cell {
  display: table-cell;
  vertical-align: middle;
}

/*--/ Sections /--*/
.sect-4 {
  padding: 4rem 0;
}

.sect-pt4 {
  padding-top: 4rem;
}

.sect-mt4 {
  margin-top: 4rem;
}

/*--/ Title s /--*/
.title-s {
  font-weight: 600;
  color: #1e1e1e;
  font-size: 1.1rem;
}

/*--/ Title A /--*/
.title-box {
  position: relative;
  padding: 2rem 0 0 0;
}

.title-a {
  text-decoration: none;
  font-size: 3rem;
  font-weight: 500;
  color: var(--primary-color);
  font-family: meticula;
}

.subtitle-a {
  text-decoration: none;
  color: #4e4e4e;
}

.line-mf {
  width: 40px;
  height: 5px;
  background-color: var(--secondary-color);
  margin: 0 auto;
}

/*--/ Title Left /--*/
.title-box-2 {
  margin-bottom: 3rem;
}

.title-left {
  font-size: 2rem;
  position: relative;
}

.title-left:before {
  content: "";
  position: absolute;
  height: 3px;
  background-color: #0078ff;
  width: 100px;
  bottom: -12px;
}

/*------/ Box /------*/
.box-pl2 {
  padding-left: 2rem;
}

.box-shadow-full {
  padding: 3rem 1.25rem;
  position: relative;
  background-color: #fff;
  margin-bottom: 3rem;
  z-index: 2;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.06), 0 2px 5px 0 rgba(0, 0, 0, 0.2);
}

@media (min-width: 768px) {
  .box-shadow-full {
    padding: 3rem;
  }
}

.social-header-droite{
  display: flex;
  flex-direction: column;

  justify-content: end;
  align-items: end;
  gap: 2rem;

  font-size: 1.5rem;

  position: fixed;
  top: 21rem;
  right: 13rem;
}

.social-footer-droite{
  display: flex;
  flex-direction: column;

  justify-content: end;
  align-items: end;
  gap: 2rem;

  font-size: 1.5rem;
  position: relative;
  top: -15rem;
  right: -5rem;
}

/*------/ Socials /------*/
.socials {
  padding: 1.5rem 0;
}

.socials ul li {
  display: inline-block;
}

.socials .ico-circle {
  height: 40px;
  width: 40px;
  font-size: 1.2rem;
  border-radius: 50%;
  line-height: 1.6;
  margin: 0 15px 0 0;
  box-shadow: 0 0 0 3px #0078ff;
  transition: all 500ms ease;
}

.socials .ico-circle:hover {
  background-color: #0078ff;
  color: #fff;
  box-shadow: 0 0 0 3px #cde1f8;
  transition: all 500ms ease;
}

/*------/ Ul resect /------*/
.ul-resect,
.widget-tags ul,
.widget-sidebar .list-sidebar,
.box-comments .list-comments,
.blog-wrapper .post-meta ul,
.list-ico,
.socials ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.list-ico {
  line-height: 2;
}

.list-ico span {
  color: #0078ff;
  margin-right: 10px;
}

/*------/ Ico Circle /------*/
.ico-circle {
  height: 100px;
  width: 100px;
  font-size: 2rem;
  border-radius: 50%;
  line-height: 1.55;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0 0 0 10px #0078ff;
  display: block;
}

/*------/ Owl Carousel /------*/
.owl-theme .owl-dots {
  text-align: center;
  margin-top: 18px;
}

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
}

.owl-theme .owl-dots .owl-dot span {
  width: 18px;
  height: 7px;
  margin: 5px 5px;
  background: #cde1f8;
  border: 0px solid #cde1f8;
  display: block;
  transition: all 0.6s ease-in-out;
  cursor: pointer;
}

.owl-theme .owl-dots .owl-dot:hover span {
  background-color: #cde1f8;
}

.owl-theme .owl-dots .owl-dot.active span {
  background-color: #1B1B1B;
  width: 25px;
}

/*--/ Scrolltop s /--*/
.scrolltop-mf {
  position: relative;
  display: none;
}

.scrolltop-mf span {
  z-index: 999;
  position: fixed;
  width: 42px;
  height: 42px;
  background-color: var(--primary-color);
  opacity: 0.7;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  top: auto;
  left: auto;
  right: 30px;
  bottom: 50px;
  cursor: pointer;
  border-radius: 50%;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: var(--primary-color);
  width: 40px;
  height: 40px;
  border-radius: 50px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 28px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: var(--secondary-color);

  i {
    color: var(--primary-color);
  }
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*------/ Prelaoder /------*/
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #f2f2f2;
  border-top: 6px solid #0078ff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*------/ Button /------*/
.button {
  display: inline-block;
  padding: 0.3rem 0.6rem;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  font-size: 1rem;
  border-radius: 0.3rem;
  border: 1px solid transparent;
  transition: all 500ms ease;
  cursor: pointer;
}

.button:focus {
  outline: 0;
}

.button:hover {
  background-color: #0062d3;
  color: #fff;
  transition: all 500ms ease;
}

.button-a {
  text-decoration: none;
  background-color: #0078ff;
  color: #fff;
  border-color: #cde1f8;
}

.button-big {
  padding: 0.9rem 2.3rem;
  font-size: 1.2rem;
}

.button-rouded {
  border-radius: 5rem;
}

.btn-lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  transition: all 0.5s;
  z-index: 997;
  padding: 20px 0;
}

#header .logo {
  font-size: 28px;
  margin: 0;
  padding: 0;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: meticula;
  color: white;
}

#header .logo a {
  color: #fff;
}

#header .logo img {
  max-height: 40px;
}

.logo_main{
  max-height: 7rem;
}

/*#header.header-scrolled {
  background: var(--primary-color);
  opacity: 0.95;
  padding: 12px 0;
}*/

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
@media (max-width: 990px) {
  .navbar {
    position: fixed;
    overflow: hidden;
    top: 0;
    right: 0;
    left: -70%; /* Position initiale (menu caché) */
    bottom: 0;
    z-index: 999;
    width: 70%;
    transition: .3s all ease-in-out; 
  }
}

@media (min-width: 990px) {
  .navbar {
    padding: 0;
  }
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}
/* Glassmorphism container pour le menu desktop */
@media (min-width: 990px) {
  .navbar ul {
    background: rgba(26, 44, 94, 0.4);
    backdrop-filter: blur(15px) saturate(180%);
    -webkit-backdrop-filter: blur(15px) saturate(180%);
    
    padding: 12px 25px;
    border-radius: 25px 25px 25px 5px; /* Un coin différent */
    clip-path: polygon(0 5%, 5% 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
    border: 1px solid rgba(255, 255, 255, 0.15);
  }
  
  /* Support navigateurs sans backdrop-filter */
  @supports not (backdrop-filter: blur(15px)) {
    .navbar ul {
      background: rgba(26, 44, 94, 0.85);
    }
  }
}
@media (min-width: 990px) {
  .navbar a,
  .navbar a:focus {
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
  }
}
@media (min-width: 990px) {
  .navbar ul:hover {
    border-color: rgba(20, 253, 148, 0.25);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.25),
                0 0 20px rgba(20, 253, 148, 0.1),
                inset 0 1px 1px 0 rgba(255, 255, 255, 0.15);
  }
}
.navbar li {
  position: relative;
}

.navbar>ul>li {
  white-space: nowrap;
  padding: 10px 0 10px 30px;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 0;
  white-space: nowrap;
  transition: 0.3s;
  letter-spacing: 0.4px;
  position: relative;
  text-transform: uppercase;
}

.navbar a i,
.navbar a:focus i {
  font-size: 1.2rem;
  margin-left: 0.1rem;
}


.navbar>ul>li>a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -6px;
  left: 0;
  width: 0;
  background-color: var(--secondary-color);
  visibility: hidden;
  transition: all 0.3s ease-in-out 0s;
}

.navbar a:hover:before,
.navbar li:hover>a:before,
.navbar .active:before {
  visibility: visible;
  width: 80%;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
  color: #fff;
}

.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 30px;
  top: calc(100% + 30px);
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: 0.3s;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  font-size: 14px;
  text-transform: none;
  color: #4e4e4e;
}

.navbar .dropdown ul a i {
  font-size: 12px;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
  color: #0078ff;
}

.navbar .dropdown:hover>ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}

.navbar .dropdown .dropdown ul {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}

.navbar .dropdown .dropdown:hover>ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}

@media (max-width: 1366px) {
  .navbar .dropdown .dropdown ul {
    left: -90%;
  }

  .navbar .dropdown .dropdown:hover>ul {
    left: -100%;
  }
}

/**
* Mobile Navigation 
*/

/* Remplacez toute la section "Mobile Navigation" (à partir de la ligne ~565) par : */

/* Bouton menu mobile */
.mobile-nav-toggle {
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
  position: fixed;
  right: 2rem;
  top: 1.5rem;
  background: rgba(26, 44, 94, 0.8);
  backdrop-filter: blur(10px);
  width: 50px;
  height: 50px;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(20, 253, 148, 0.3);
  z-index: 1001;
}

.mobile-nav-toggle .nav-toggle-close {
  display: none;
  font-size: 28px;
}

.mobile-nav-toggle.active .nav-toggle-logo {
  display: none;
}

.mobile-nav-toggle.active .nav-toggle-close {
  display: block;
}

.mobile-nav-toggle:hover {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  box-shadow: 0 0 20px rgba(20, 253, 148, 0.4);
  color: var(--primary-color);
}

/* Afficher uniquement en mode mobile */
@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: flex;
  }

  .navbar ul {
    display: none;
  }
}

/* Menu mobile avec glassmorphism à droite */
.navbar-mobile {
  position: fixed;
  top: 0;
  right: -100%; /* Caché à droite par défaut */
  bottom: 0;
  width: 320px;
  max-width: 85vw;
  
  /* Glassmorphism effect */
  background: rgba(26, 44, 94, 0.75);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  
  /* Bordures et ombres */
  border-left: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.5),
              inset 1px 0 1px rgba(255, 255, 255, 0.1);
  
  z-index: 1000;
  transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 100px 30px 40px;
  overflow-y: auto;
}

/* Animation d'ouverture */
.navbar-mobile.navbar-mobile-active {
  right: 0;
  left: 0;
}

/* Liste des liens */
.navbar-mobile ul {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  padding: 0;
  margin: 0;
  gap: 15px;
  list-style: none;
}

.navbar-mobile > ul > li {
  padding: 0;
  width: 100%;
}

/* Liens du menu */
.navbar-mobile a {
  font-size: 1.1rem;
  text-transform: capitalize !important;
  text-decoration: none;
  padding: 16px 20px;
  border-radius: 12px;
  transition: all 0.3s ease;
  width: 100%;
  text-align: left;
  color: white;
  display: block;
  position: relative;
  
  /* Glassmorphism sur les liens */
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
}

/* Effet au survol et actif */
.navbar-mobile a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(20, 253, 148, 0.15) 0%, 
    rgba(20, 253, 148, 0.05) 100%);
  border-radius: 12px;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.navbar-mobile a:hover,
.navbar-mobile a.active {
  color: var(--secondary-color);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(20, 253, 148, 0.3);
  box-shadow: 0 4px 15px rgba(20, 253, 148, 0.1);
}

.navbar-mobile a:hover::before,
.navbar-mobile a.active::before {
  opacity: 1;
}

/* Effet de lumière sur le bord */
.navbar-mobile::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(20, 253, 148, 0.5),
    transparent
  );
  animation: slideVertical 3s ease-in-out infinite;
}

@keyframes slideVertical {
  0%, 100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}

/* Scrollbar personnalisée pour le menu */
.navbar-mobile::-webkit-scrollbar {
  width: 6px;
}

.navbar-mobile::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 10px;
}

.navbar-mobile::-webkit-scrollbar-thumb {
  background: rgba(20, 253, 148, 0.3);
  border-radius: 10px;
}

.navbar-mobile::-webkit-scrollbar-thumb:hover {
  background: rgba(20, 253, 148, 0.5);
}

/* Logo dans le menu mobile */
.nav-logo-mobile {
  display: none;
}

.navbar-mobile .nav-logo-mobile {
  display: flex;
  justify-content: center;
  margin-bottom: 15px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.navbar-mobile .nav-logo-mobile img {
  height: 5rem;
  width: auto;
  object-fit: contain;
}

/* Réseaux sociaux dans le menu mobile */
.nav-socials-mobile {
  display: none;
}

.navbar-mobile .nav-socials-mobile {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 20px;
  padding-top: 25px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.navbar-mobile .nav-socials-mobile a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: white;
  font-size: 1.15rem;
  transition: all 0.3s ease;
}

.navbar-mobile .nav-socials-mobile a:hover {
  background: rgba(20, 253, 148, 0.2);
  border-color: rgba(20, 253, 148, 0.4);
  color: var(--secondary-color);
  transform: translateY(-2px);
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
  height: 100vh;
  position: relative;
  color: #fff;

}

.hero .hero-content {
  text-align: center;
  position: absolute;
}

.hero .overlay-itro {
  background-color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0;
  left: 0px;
  padding: 0;
  height: 100%;
  width: 100%;
  opacity: 0.9;
}

.hero .hero-title {
  color: #fff;
  font-weight: 600;
  font-size: 3rem;
  font-family: meticula;

}

.title-a{
    font-family: meticula;
}

.hero-subtitle{
  color: var(--secondary-color);
  top: 60%;
  position: fixed;
  left: 50%;
}

@media (min-width: 768px) {
  .hero .hero-title {
    font-size: 4.5rem;
  }
}

.hero .hero-subtitle {
  font-size: 1.5rem;
  font-weight: 600;
}

@media (min-width: 768px) {
  .hero .hero-subtitle {
    font-size: 2.5rem;
  }
}

.hero .text-slider-items {
  display: none;
}

.hero-single {
  height: 350px;
}

.hero-single .hero-content {
  margin-top: 30px;
}

.hero-single .hero-title {
  text-transform: uppercase;
  font-size: 3rem;
}

@media (min-width: 768px) {
  .hero-single .hero-title {
    font-size: 3.5rem;
  }
}

.hero-single .breadcrumb {
  background-color: transparent;
  color: #0078ff;
}

.hero-single .breadcrumb .breadcrumb-item:before {
  color: #cde1f8;
}

.hero-single .breadcrumb .breadcrumb-item.active {
  color: #cde1f8;
}

.hero-single .breadcrumb a {
  color: #fff;
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.about-mf .box-shadow-full {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.about-mf .about-img {
  margin-bottom: 2rem;
}

.about-mf .about-img img {
  margin-left: 10px;
}

@media (min-width: 767px) {
  .about-mf .box-pl2 {
    margin-top: 3rem;
    padding-left: 0rem;
  }
}

.skill-mf span {
  color: #4e4e4e;
}

.skill-mf .progress {
  background-color: #cde1f8;
  margin: 0.5rem 0 1.2rem 0;
  border-radius: 0;
  height: 0.7rem;
}

.skill-mf .progress .progress-bar {
  height: 0.7rem;
  background-color: #0078ff;
}

/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.service-box {
  background-color: #fff;
  padding: 2.5rem 1.3rem;
  border-radius: 1rem;
  margin-bottom: 3rem;
  text-align: center;
}

.service-box:hover .ico-circle {
  transition: all 500ms ease;
  color: #fff;
  background-color: #0078ff;
  box-shadow: 0 0 0 10px #cde1f8;
}

.service-box .service-ico {
  margin-bottom: 1rem;
  color: #1e1e1e;
}

.service-box .ico-circle {
  transition: all 500ms ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.service-box .ico-circle i {
  line-height: 0;
  font-size: 40px;
}

.service-box .s-title {
  font-size: 1.4rem;
  text-transform: uppercase;
  text-align: center;
  padding: 0.4rem 0;
}

.service-box .s-description {
  color: #4e4e4e;
}

/*--------------------------------------------------------------
# Counter
--------------------------------------------------------------*/
.counter-box {
  color: #fff;
  text-align: center;
}

@media (min-width: 577px) {
  .counter-box {
    margin-bottom: 1.8rem;
  }
}

.counter-ico {
  margin-bottom: 1rem;
}

.counter-ico .ico-circle {
  height: 60px;
  width: 60px;
  line-height: 1.5;
  box-shadow: 0 0 0 10px #cde1f8;
}

.counter-num .counter {
  font-size: 2rem;
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/
.work-box {
  margin-bottom: 3rem;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #fff;
}

.work-box:hover img {
  transform: scale(1.3);
}

.work-img {
  display: block;
  overflow: hidden;
}

.work-img img {
  transition: all 1s;
}

.work-content {
  padding: 2rem 3% 1rem 4%;
}

.work-content .w-more {
  color: #4e4e4e;
  font-size: 0.8rem;
}

.work-content .w-more .w-ctegory {
  color: #0078ff;
}

.work-content .w-like {
  font-size: 2.5rem;
  color: #0078ff;
  float: right;
}

.work-content .w-like a {
  color: #0078ff;
}

.work-content .w-like .num-like {
  font-size: 0.7rem;
}

.w-title {
  font-size: 1.2rem;
}

/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
  padding-top: 40px;
}

.portfolio-details .portfolio-details-slider img {
  width: 100%;
}

.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid #0078ff;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #0078ff;
}

.portfolio-details .portfolio-info {
  padding: 30px;
  box-shadow: 0px 0 30px rgba(78, 78, 78, 0.08);
}

.portfolio-details .portfolio-info h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}

.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}

.portfolio-details .portfolio-info ul li+li {
  margin-top: 10px;
}

.portfolio-details .portfolio-description {
  padding-top: 30px;
}

.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}

.portfolio-details .portfolio-description p {
  padding: 0;
}

/*--------------------------------------------------------------
# Testimonials
--------------------------------------------------------------*/
.testimonial-box {
  color: #fff;
  text-align: center;
}

.testimonial-box .author-test {
  margin-top: 1rem;
}

.testimonial-box .author-test img {
  margin: 0 auto;
}

.testimonial-box .author {
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  margin: 1rem 0;
  display: block;
  font-size: 1.4rem;
}

.testimonial-box .comit {
  font-size: 2rem;
  color: #0078ff;
  background-color: #fff;
  width: 52px;
  height: 52px;
  display: block;
  margin: 0 auto;
  border-radius: 50%;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .testimonial-box .description {
    padding: 0 5rem;
  }
}

@media (min-width: 992px) {
  .testimonial-box .description {
    padding: 0 8rem;
  }
}

@media (min-width: 1200px) {
  .testimonial-box .description {
    padding: 0 13rem;
  }
}

.swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet-active {
  background-color: #fff;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.footer-paralax {
  padding: 4rem 0 0 0;
}

.contact-mf {
  margin-top: 4rem;
}

@media (min-width: 767px) {
  .contact-mf .box-pl2 {
    margin-top: 3rem;
    padding-left: 0rem;
  }
}

.php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
}

.php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  animation: animate-loading 1s linear infinite;
}

.php-email-form input,
.php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
}

.php-email-form input:focus,
.php-email-form textarea:focus {
  border-color: #0078ff;
}

.php-email-form input {
  padding: 10px 15px;
}

.php-email-form textarea {
  padding: 12px 15px;
  margin-bottom: 0;
}

.php-email-form button[type=submit] {
  background: #0078ff;
  border: 0;
  padding: 10px 24px;
  color: #fff;
  transition: 0.4s;
}

.php-email-form button[type=submit]:hover {
  background: #3393ff;
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Blog
--------------------------------------------------------------*/
@media (min-width: 767px) {
  .card-blog {
    margin-bottom: 3rem;
  }
}

.card-blog .card-body {
  position: relative;
}

.card-blog .card-category-box {
  position: absolute;
  text-align: center;
  top: -16px;
  left: 15px;
  right: 15px;
  line-height: 25px;
  overflow: hidden;
}

.card-blog .card-category {
  display: inline-block;
  color: #fff;
  padding: 0 15px 5px;
  overflow: hidden;
  background-color: #0078ff;
  border-radius: 4px;
}

.card-blog .card-category .category {
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.1px;
  margin-bottom: 0;
}

.card-blog .card-title {
  font-size: 1.3rem;
  margin-top: 0.6rem;
}

.card-blog .card-description {
  color: #4e4e4e;
}

.card-blog .post-author {
  display: inline-block;
}

.card-blog .post-date {
  color: #4e4e4e;
  display: inline-block;
  float: right;
}

/*--------------------------------------------------------------
# Blog Single
--------------------------------------------------------------*/
.post-box,
.form-comments,
.box-comments,
.widget-sidebar {
  padding: 2rem;
  background-color: #fff;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {

  .post-box,
  .form-comments,
  .box-comments,
  .widget-sidebar {
    padding: 3rem;
  }
}

.blog-wrapper .article-title {
  font-size: 1.5rem;
}

@media (min-width: 768px) {
  .blog-wrapper .article-title {
    font-size: 1.9rem;
  }
}

.blog-wrapper .post-meta {
  margin: 1rem 0;
}

.blog-wrapper .post-meta ul {
  border-left: 4px solid #0078ff;
  margin-top: 1rem;
}

.blog-wrapper .post-meta ul li {
  display: inline-block;
  margin-left: 15px;
}

.blog-wrapper .post-meta ul a {
  color: #0078ff;
}

.blog-wrapper .post-meta ul span {
  color: #1e1e1e;
}

.blog-wrapper .blockquote {
  border-left: 4px solid #0078ff;
  padding: 18px;
  font-style: italic;
}

/*------/ Comments /------*/
.box-comments .list-comments li {
  padding-bottom: 40px;
}

.box-comments .list-comments .comment-avatar {
  display: table-cell;
  vertical-align: top;
}

.box-comments .list-comments .comment-avatar img {
  width: 80px;
  height: 80px;
}

.box-comments .list-comments .comment-author {
  font-size: 1.3rem;
}

@media (min-width: 768px) {
  .box-comments .list-comments .comment-author {
    font-size: 1.5rem;
  }
}

.box-comments .list-comments .comment-details {
  display: table-cell;
  vertical-align: top;
  padding-left: 25px;
}

.box-comments .list-comments a {
  color: #0078ff;
}

.box-comments .list-comments span {
  color: #1e1e1e;
  font-style: italic;
}

.box-comments .comment-children {
  margin-left: 40px;
}

/*------/ Sidebar /------*/
.widget-sidebar .sidebar-title {
  font-size: 1.6rem;
  font-weight: 600;
  border-left: 5px solid #0078ff;
  padding-left: 15px;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

.widget-sidebar .list-sidebar li {
  position: relative;
  padding: 6px 0 6px 24px;
}

.widget-sidebar .list-sidebar li:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 1px;
  left: 0;
  background-color: #0078ff;
  top: 20px;
}

.sidebar-search input {
  background-color: #fff;
  border-radius: 0;
  transition: all 0.5s ease-in-out;
}

.sidebar-search .btn-search {
  background-color: #0078ff;
  border-color: #0078ff;
  border-radius: 0;
  padding-left: 20px;
  padding-right: 20px;
}

.widget-tags ul li {
  display: inline-block;
  background-color: #0078ff;
  padding: 0.2rem 0.6rem;
  margin-bottom: 0.5rem;
  border-radius: 15px;
}

.widget-tags ul li a {
  color: #fff;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer {
  text-align: center;
  color: #fff;
  padding: 25px 0;
  background: #1B1B1B;
}

footer .copyright {
  margin-bottom: 0.3rem;
}

footer .credits {
  margin-bottom: 0;
}

footer .credits a {
  color: #fff;
}


/*--------------------------------------------------------------
# UNK STYLE
----------------------------------------------------------------*/
/*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/
.portfolio #portfolio-flters {
  list-style: none;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  position: relative;
  z-index: 998; /* Au-dessus du menu qui est à 997 */
}

.portfolio #portfolio-flters li {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  color: #7a7a7a;
  transition: all 0.3s ease-in-out;
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(26, 44, 94, 0.2);
  border-radius: 30px;
  position: relative;
  z-index: 999; /* Au-dessus de tout, même du menu navbar qui est à 997 */
  pointer-events: all; /* Force les boutons à être cliquables */
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.portfolio #portfolio-flters li:hover{
  color: white !important;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(26, 44, 94, 0.3);
}

.mid {
  margin: auto !important;
  top: 50% !important;
}

.portfolio #portfolio-flters li.filter-active {
  color: white;
  background-color: var(--primary-color);
  border-color: var(--secondary-color);
  box-shadow: 0 4px 20px rgba(20, 253, 148, 0.3);
}

.portfolio .portfolio-item {
  margin-bottom: 30px;
}

.portfolio .portfolio-item .portfolio-img {
  overflow: hidden;
}

.portfolio .portfolio-item .portfolio-img img {
  transition: all 0.8s ease-in-out;
}

.portfolio .portfolio-item .portfolio-info {
  opacity: 0;
  position: absolute;
  left: 15px;
  bottom: 0;
  z-index: 3;
  right: 15px;
  transition: all ease-in-out 0.3s;
  background: rgba(0, 0, 0, 0.5);
  padding: 10px 15px;
}

.portfolio .portfolio-item .portfolio-info h4 {
  font-size: 18px;
  color: #fff;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0px;
}

.portfolio .portfolio-item .portfolio-info p {
  color: #fedac0;
  font-size: 14px;
  margin-bottom: 0;
}

.portfolio .portfolio-item .portfolio-info .preview-link,
.portfolio .portfolio-item .portfolio-info .details-link {
  position: absolute;
  right: 40px;
  font-size: 24px;
  top: calc(50% - 18px);
  color: #fff;
  transition: 0.3s;
}

.portfolio .portfolio-item .portfolio-info .preview-link:hover,
.portfolio .portfolio-item .portfolio-info .details-link:hover {
  color: #fd9f5b;
}

.portfolio .portfolio-item .portfolio-info .details-link {
  right: 10px;
}

.portfolio .portfolio-item .portfolio-links {
  opacity: 0;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 3;
  position: absolute;
  transition: all ease-in-out 0.3s;
}

.portfolio .portfolio-item .portfolio-links a {
  color: #fff;
  margin: 0 2px;
  font-size: 28px;
  display: inline-block;
  transition: 0.3s;
}

.portfolio .portfolio-item .portfolio-links a:hover {
  color: #fd9f5b;
}

.portfolio .portfolio-item:hover .portfolio-img img {
  transform: scale(1.2);
}

.portfolio .portfolio-item:hover .portfolio-info {
  opacity: 1;
}

.mt-2{
  margin-top: 1rem !important;
}
.mt-12{
  margin-top: 6rem;
}
.mb-12{
  margin-bottom: 6rem;
}

hr{
  margin: 0rem !important;
}

.portfolio-img{
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}


/**
------------PARRALAX--------------



.parallax-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; 
  z-index: -1; 
}

.parallax-container {
  position: relative;
  min-height: 600
  justify-content: center;
  align-items: center;
  color: white; 
  background-attachment: fixed;
}

@media screen and (max-width: 768px) {
  .parallax-item h2 {
    font-size: 1.5rem;
  }
}
  
**/


/* Ajoutez ces règles CSS à la fin de votre fichier style.css existant */

/**
------------PARALLAX AMÉLIORÉ--------------
**/

.parallax-container {
  position: relative;
  height: 100vh; /* Hauteur plein écran */
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  overflow: hidden; /* Important pour l'effet parallax */
}

.parallax-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%; /* Légèrement plus large pour l'effet */
  height: 120%; /* Légèrement plus haut pour l'effet */
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: -1;
  transition: transform 0.1s ease-out;
  border-radius: unset;
}

.parallax-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3); /* Overlay sombre pour lisibilité */
  z-index: 0;
}

.parallax-content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px;
  padding: 2rem;
  transform: translateY(0);
  transition: transform 0.1s ease-out, opacity 0.3s ease-out;
}

.parallax-content h1 {
  font-size: 3.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
  opacity: 1;
  font-family: meticula; /* Utilise votre police existante */
  color: white;
}

.parallax-content p {
  font-size: 1.2rem;
  line-height: 1.6;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  opacity: 1;
  color: white;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
  .parallax-container {
    height: 70vh;
  }
  
  .parallax-content h1 {
    font-size: 2.5rem;
  }
  
  .parallax-content p {
    font-size: 1rem;
  }
  
  /* Réduction de l'effet sur mobile pour les performances */
  .parallax-video {
    width: 100% !important;
    height: 100% !important;
    transform: translate(-50%, -50%) !important;
  }
}

@media (max-width: 990px) {
  .parallax-container {
    height: 100vh;
  }
}

/* Optimisation pour les performances */
@media (prefers-reduced-motion: reduce) {
  .parallax-video,
  .parallax-content {
    transform: none !important;
    transition: none !important;
  }
}



/**
--------------VIDEO-----------------
**/
.reels-ig {
  margin: auto;
  display: flex;
  justify-content: center;
}

@media (max-width: 770px) {
  .reels {
    height: 16rem !important;
  }
  .arrow-left{
    margin:0rem !important;
    margin-top: 22% !important;
    left: 20% !important;
  }

  .arrow-right{
    margin:0rem !important;
    margin-top: 22% !important;
    right: 20% !important;
  }
}

@media (max-width: 990px) {
  .reels {
    height: 20rem !important;
  }

  .reels-mini {
    display: none !important;
  }

  .arrow-left{
    margin:0rem !important;
    margin-top: 22% !important;
    left: 23% !important;
  }

  .arrow-right{
    margin:0rem !important;
    margin-top: 22% !important;
    right: 23% !important;
  }
}

@media (max-width: 1600px) {

  .portfolio #portfolio-flters{
    padding: 0 !important;
    gap: 1.5rem;
    flex-wrap: wrap;

    li {
      font-size: 0.85rem;
      padding: 0.8rem 1.2rem;
    }
  }
}

@media (max-width: 768px) {
  .portfolio #portfolio-flters {
    gap: 1rem;
    padding: 0 1rem;
  }

  .portfolio #portfolio-flters li {
    font-size: 0.75rem;
    padding: 0.7rem 1rem;
  }
}

@media (max-width: 480px) {
  .portfolio #portfolio-flters {
    flex-direction: column;
    gap: 0.8rem;
  }

  .portfolio #portfolio-flters li {
    width: 90%;
    max-width: 280px;
  }
  .reels {
    height: 28rem !important;
  }

  .reels-mini {
    height: 17rem !important;
    margin-top: 14% !important;
  }

  .arrow-left{
    margin:0rem !important;
    margin-top: 26% !important;
    left: 2% !important;
  }

  .arrow-right{
    margin:0rem !important;
    margin-top: 26% !important;
    right: 2% !important;
  }
}

  .reels {
    height: 50rem;
  }

  .reels-mini {
    height: 25rem;
    margin-top: 14%;
  }


.video-reels {
  height: 100%;
  aspect-ratio: 1 / 1;
  margin: auto;
}

video {
  background-position: center;
  background-size: cover;
  height: 100%;
  border-radius: 20px;
  display: block;
  margin: auto;
}

.reels-video-mini{
  filter : opacity(90%);
}

.arrow-right{
  display: block;
  position: relative;
  background: var(--primary-color);
  width: 40px;
  height: 40px;
  margin: 2rem;
  border-radius: 20px;
  margin-top: 28%;
  right: 2%;
}

.arrow-right:hover{
    background: var(--secondary-color);
    cursor: pointer;
    i{
      color: var(--primary-color);
    }
  }

.arrow-left{
  display: block;
  position: relative;
  background: var(--primary-color);
  width: 40px;
  height: 40px;
  margin: 2rem;
  border-radius: 20px;
  margin-top: 28%;
  left: 2%;
}

.arrow-left:hover{
      cursor: pointer;
    background: var(--secondary-color);
    i{
      color: var(--primary-color);
    }
}

.arrow-reels{
  font-size: 2rem;
  color: white;
  font-weight: bold;
  position: absolute; /* Positionnement absolu par rapport à son parent */
  top: 50%; /* Centrage vertical */
  left: 50%; /* Centrage horizontal */
  transform: translate(-50%, -50%); /* Ajustement précis du centrage */
  /* Assurez-vous que le texte (icône) est centré si nécessaire */
  display: flex;
  align-items: center;
  justify-content: center;
}

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

.btn-form{
  border-radius: 30px;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .2rem;
  padding: 10px 20px;
  text-decoration: none;
  background-color: white;
  border: none;
  transition: all 0.4s;
  color: var(--primary-color);

  padding-left: 10rem;
  padding-right: 10rem;
  font-size: 1rem;
  font-weight: bold;
}

.btn-form:hover{
  background-color: var(--secondary-color);
  color: var(--primary-color);
}

.site-footer {
  background: var(--primary-color); }

  .site-footer .footer-heading {
    font-size: 2rem;
    color: #fff; 
    padding-top: 1rem;
  }
    .margin-auto{
      margin: auto;
    }

    
#footer .social-links {
  margin: 0 0 40px 0;
}

.social-links-style a{
  color:white;
}

.social-links-style a:hover{
  color: var(--secondary-color);
}

#footer .social-links a {
  font-size: 1.5rem;
  display: inline-block;
  background: var(--secondary-color);
  color: var(--primary-color);
  line-height: 1;
  padding: 10px 0;
  margin-right: 4px;
  border-radius: 50%;
  text-align: center;
  width: 3rem;
  height: 3rem;
  transition: 0.3s;
}

#footer .social-links a:hover {
  background-color: var(--primary-color);
  color: #fff;
  text-decoration: none;
}

.bx {
  font-weight: 400;
  text-rendering: auto;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
}


.blockquote-footer{
  background-color: transparent;
  padding-top: 0px !important;
  font-size: 1.5rem !important;
  color: white;
}

.card{
  padding-top: 12px !important;
}

.img__wrap {
  position: relative;
}

.img__description_layer {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(135deg, rgba(255, 114, 20, 0.978) 0%, rgba(149, 29, 255, 0.7) 100%);
  color: #fff;
  visibility: hidden;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  /* transition effect. not necessary */
  transition: opacity .2s, visibility .2s;
}

.img__wrap:hover .img__description_layer {
  visibility: visible;
  opacity: 1;
}

.img__description {
  transition: .2s;
  transform: translateY(1em);
  font-size: 1.5rem;
  text-align: center;
  padding: 1rem;
}

.img__wrap:hover .img__description {
  transform: translateY(0);
}

.row-p{
  padding-right: 0 !important;
  padding-left: 0 !important;
  margin-top: 0 !important;
}


/* Styles pour le conteneur du flip card */
.flip-card {
  width: 100%;
  height: 700px;
  perspective: 1000px;
  position: relative;
}

/* Conteneur interne - plus de rotation */
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}

/* Positionnez le recto et le verso du flip card */
.flip-card-front, .flip-card-front-2 {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 0;
  top: 0;
  left: 0;
}

/* Style du recto (le titre et l'image) */
.flip-card-front, .flip-card-front-2{
  background-color: #fcfbfb;
  color: black;
  overflow: hidden;
}

/* Style de l'image sur la face avant */
.flip-card-front img, .flip-card-front-2 img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  position: absolute;
  left: 0;
}


.flip-card-front .content-card-action-up, .flip-card-front-2 .content-card-action-up{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 10;
  width: 90%;
  text-align: center;
}


.flip-card-front .title-card-action, .flip-card-front-2 .title-card-action{
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--primary-color);
  background-color: white;
  padding: 10px 20px;
  border-radius: 30px;
  font-size: 1.35em;
  font-weight: bold;
  text-align: center;
  width: 80%;
  z-index: 10;
  font-size: xx-large;
}

.space{
  height: 3rem;
}

.mb-2{
  margin-bottom: 2rem !important;
}

.pb-2{
  padding-bottom: 2rem !important;
}


.flip-card-front .content-card-action, .flip-card-front-2 .content-card-action{
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 10;
  width: 90%;
  text-align: center;
  font-size: xx-large;
}

.flip-card-front .content-card-subtitle, .flip-card-front-2 .content-card-subtitle{
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 10;
  width: 90%;
  text-align: center;
  font-size: larger;
  font-weight: 350;
}

.content-card-nous{
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 10;
  width: 90%;
  text-align: center;
  top: 35%;
}

.script{
  font-family: script;
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  color: white;
  z-index: 10;
  width: 90%;
  text-align: center;
  font-weight: bold;
}

.text-up {
  top: 35% !important;
}

.flip-card-front span, .flip-card-front-2 span{
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  color: var(--secondary-color);
  z-index: 10;
  font-size: 2rem;
  font-weight: 300;
  white-space: nowrap;
}

.highlight{
  color: var(--secondary-color);
}

/* Règle pour l'affichage sur des écrans plus petits */
@media (max-width: 767.98px) {
  .flip-card {
    height: 700px;
  }
}

/*.flip-card-front::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1A2C5E;
  opacity: 0.9;
  background: linear-gradient(180deg, rgba(26, 44, 94, 1) 0%, rgba(26, 44, 94, 0) 100%);
}*/

.flip-card-front-2::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.9;
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(26, 44, 94, 0) 100%);
}


.icons-svg{
    display: inline-block;
    vertical-align: -.500em;
    height: 20px;
    width: 20px;

    background-color: currentColor;
    mask-repeat: no-repeat;
}

.camera-reels-bi{
      mask-image : url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Calque_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 425.2 425.2"><defs><style>.cls-1{fill:%23000000;}</style></defs><path class="cls-1" d="M281.8,202.01h-52.85l.28-1.86c.22-1.47,1.29-2.76,2.14-3.8l.34-.41c4.17-5.23,8.74-10.31,13.16-15.22,2.99-3.33,5.99-6.66,8.87-10.03l.49-.58h27.58v31.9ZM281.8,298.28c0,3.81-2.09,7.93-5.72,11.31-3.7,3.43-8.37,5.48-12.41,5.48-.28,0-.56,0-.83-.03l-170.21-.03h-.14c-4.05,0-8.67-2.17-12.38-5.83-3.37-3.32-5.3-7.3-5.3-10.9v-88.37h206.99v88.37ZM74.28,160.22c-.12-1.25-.27-2.53-.43-3.81-.93-7.64-1.98-16.3,4.61-22.72,4.6-4.5,10.27-5.07,15.76-5.63,1.14-.11,2.3-.23,3.45-.38l.76-.1,30.52,28.43-54.51,5.87-.16-1.64ZM155.13,121.88l.53.47c10.13,8.99,19.73,18.31,26.96,25.41l2.47,2.42-45.18,4.59-30.05-28.33,45.26-4.57ZM207.58,116.01l4.35.27,29.48,28.06-45.27,4.59-29.99-28.29,41.42-4.63ZM225.01,115.1l.3-1.14,1.18-.07c.65-.04,1.3-.01,1.96,0,.65.03,1.31.05,1.94,0,2.47-.25,5.58-.7,8.93-1.19,8.46-1.22,18.03-2.61,23.69-1.85,11.45,1.55,17.06,10.98,16.66,28.04l-.03,1.47-27.84,2.18-.53-.53c-3.57-3.56-7.39-7.04-11.07-10.39-2.91-2.66-5.83-5.31-8.66-8.03l-1.17-1.1c-1.52-1.43-3.26-3.06-4.29-4.4-.56-.52-1.49-1.38-1.08-2.99M111.72,191.43c-2.99,3.32-5.97,6.64-8.85,10.02l-.49.57h-27.58v-31.9h51.57l.46.4c1.56,1.35-.1,3.41-1.85,5.58-4.26,5.34-8.84,10.42-13.27,15.34M186.04,170.11l-26.88,31.9h-45.42l27.47-31.9h44.83ZM242.86,170.11l-27.47,31.9h-44.83l26.88-31.9h45.42ZM287.13,162.23h-105.12l-.27-3.22,6.1-1.05c13.39-1.49,26.92-2.8,40.01-4.06,15.8-1.53,32.13-3.11,48.15-4.99.63-.07,1.39-.13,2.22-.2,3.53-.28,9.43-.74,10.25-3.4.65-2.13-.76-14.83-1.56-19.56-2.36-14.06-12.78-23.06-27.18-23.49-23.98,2.85-48.66,5.34-72.53,7.75-34.43,3.47-70.03,7.07-104.81,11.84-8.28,3.17-14.51,9.94-16.65,18.14-1.62,6.18-.76,12.35.17,18.89.43,3.04.87,6.18,1.03,9.3,1.2,22.68.65,46.26.12,69.07-.48,20.65-.97,42.01-.17,62.58,1.57,11.85,10.73,21.19,22.8,23.11h176.44c11.7-1.13,21.43-10.32,23.53-22.34l.06-135.51c-.01-.88-1.65-2.57-2.58-2.86"/><path class="cls-1" d="M159.7,233.66l49.42,28.53-49.42,29.12v-57.65ZM156.73,297.4c4.22,2.16,6.82.87,11.13-1.28,11.6-5.77,28.83-15.71,41.89-24.18l.45-.29c2.59-1.67,4.46-2.88,5.47-5.61,2.29-6.18-.57-9.58-5.92-13.04-11.2-7.26-29.19-17.99-42.23-24.37l-.68-.34c-2.12-1.05-3.75-1.85-5.81-1.85-.38,0-.78.03-1.2.09-5.28.74-8.08,4.81-8.58,12.41-.87,13.41-.87,33.64,0,47.06.34,5.33,1.41,9.3,5.48,11.4"/><path class="cls-1" d="M314.66,129.95l22.23-20.1c.61-.56.97-1.32,1.01-2.15.04-.83-.26-1.62-.82-2.23-1.14-1.22-3.08-1.31-4.32-.18l-22.23,20.09c-.61.56-.98,1.32-1.01,2.15-.04.83.25,1.62.82,2.23,1.14,1.23,3.08,1.31,4.31.19"/><path class="cls-1" d="M357.19,149.5l-29.95,1.04c-.83.03-1.6.37-2.16.99-.56.61-.85,1.4-.81,2.24.09,1.67,1.5,3.09,3.18,2.92l29.95-1.05c.83-.03,1.59-.38,2.15-.99.56-.61.85-1.4.81-2.23-.08-1.67-1.51-3.03-3.18-2.92"/><path class="cls-1" d="M314.88,174.38c-.56-.61-1.32-.98-2.15-1.01-.04,0-.09,0-.14,0-.78,0-1.51.29-2.09.83-1.22,1.14-1.31,3.07-.19,4.31l20.1,22.23c.56.61,1.32.97,2.15,1.01.81.04,1.62-.26,2.23-.82,1.22-1.14,1.31-3.07.19-4.31l-20.1-22.23Z"/></svg>');
}


.suit-heart-bi{
  mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Calque_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 425.2 425.2"><defs><style>.cls-1{fill:%231d1d1b;}</style></defs><path class="cls-1" d="M275.27,87.85c-24.55,1.69-48.42,18.69-60.81,43.3l-1.91,3.47-1.63-3.22-.3-.57c-10.28-19.56-31.79-41.13-61.32-43.01-43.42-2.77-78.28,27.88-82.97,72.9v15.57c3.45,43.21,46.75,80.12,78.36,107.07l2.48,2.11c9.55,8.15,19.45,16.24,29.03,24.06,10.5,8.57,21.35,17.43,31.79,26.42,4.94,3.2,7.52,1.18,11.79-2.16l.8-.63c20.82-16.17,44.5-35.96,72.37-60.52,27.94-24.6,58.27-53.78,64.55-88.68,4.66-25.9-2.6-52.57-19.43-71.34-15.84-17.67-38.14-26.47-62.79-24.77ZM343.79,177.79c-4.76,37.45-44.44,71.05-73.41,95.58l-3.76,3.19c-7.78,6.61-15.85,13.16-23.65,19.49-9.68,7.86-19.69,15.98-29.23,24.29l-.96.83-.97-.81c-7.74-6.46-15.71-12.93-23.42-19.18-9.86-8-20.06-16.28-29.89-24.63l-3.82-3.24c-28.95-24.52-68.59-58.11-73.35-95.53-2.45-19.27,3.12-39.45,14.9-53.98,10.57-13.04,24.98-20.66,41.66-22.02,26.6-2.18,49.72,12.99,63.42,41.63.66,1.37,1.22,2.91,1.81,4.53,1.9,5.17,3.85,10.52,8.96,10.96,5.26.45,7.46-4.34,9.99-11.17.58-1.57,1.13-3.05,1.73-4.31,15.08-31.5,41.67-46.64,71.13-40.49,35.6,7.43,52.8,43.9,48.86,74.86Z"/></svg>');
}

.patch-check-bi{
  mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Calque_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 425.2 425.2"><defs><style>.cls-1{fill:%231d1d1b;}</style></defs><path class="cls-1" d="M226.88,325.13c-5.21.67-10.39,1-15.5,1-37.26,0-71.15-17.67-92.73-49.05-23.34-33.93-26.48-76.55-8.43-114.03,17.86-37.06,52.67-60.88,93.13-63.72,38.98-2.7,76.15,14.07,99.54,44.96,23.18,30.63,29.21,70.66,16.12,107.09-14.59,40.59-49.03,68.16-92.14,73.74M321.69,152.42c-22.72-40.57-64.58-64.78-110.84-64.78-3.3,0-6.6.12-9.93.37-39.62,2.94-74.36,24.71-95.34,59.71-21.24,35.43-24.12,78.71-7.73,115.74,18.27,41.25,56.19,68.7,101.42,73.39,45.22,4.73,88.06-14.39,114.47-51.1,29.09-40.42,32.06-90.26,7.94-133.33"/><path class="cls-1" d="M256.45,181.05c-.06.01-.55.18-1.62,1.03l-54.79,54.8-2.83-2.42c-4.47-3.83-8.71-8.44-12.8-12.89-4.26-4.64-8.66-9.43-13.11-13.06-4.08-3.33-7.44-2.64-9.24-.89-1.69,1.64-2.5,4.72-.42,7.71,5.71,4.75,11.19,10.81,16.49,16.69,5.72,6.33,11.64,12.87,17.51,17.36,2.78,2.11,4.79,2.25,7.34.45l60.13-60.24c1.23-2.26,1.21-4.63-.04-6.41-1.34-1.9-3.82-2.69-6.61-2.12"/></svg>');
}

.uniq-icon-10{
  mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Calque_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 425.2 425.2"><defs><style>.cls-1{fill:%231d1d1b;}</style></defs><path class="cls-1" d="M359.2,130.33c-5.63-.46-15.96.47-22.8,1.08l-1.67.15c-13.71,1.21-27.46,3.8-39.76,7.47-.64.19-1.37.4-2.16.61-4.75,1.32-11.92,3.31-13.76,7.01-.58,1.16-.58,2.45,0,3.95l1.16,2.96-3.03-.99c-7.7-2.52-15.31-5.93-22.67-9.24-6.34-2.85-12.9-5.79-19.38-8.09-18.91-6.7-33.38-4.3-48.39,8.03l-.42.34h-52.95v-1.51c.01-1.3.17-2.46.33-3.58.36-2.58.62-4.44-1.18-6.61-6.19-7.47-41.14-12.39-57.1-13.61-.72-.05-1.57-.14-2.48-.22-2.94-.28-6.59-.62-8.59-.34-2.81.41-4.49,2.41-4.51,5.37l.3,116.88c1.03,2.2,2,2.82,4.65,3.06,6.64.6,13.94.32,21,.04,6.37-.25,12.96-.5,19.13-.12,2.24-.44,3.06-2.61,4.03-5.84.22-.73.45-1.49.7-2.18l.9-2.4,1.65,1.95c11.33,13.37,24.91,24.62,38.98,35.92,1.79,1.44,3.76,3.06,5.87,4.79,16.34,13.43,41.04,33.72,58.69,32.25,2.5-.21,5.97-1.84,8.27-2.93,1.8-.85,2.56-1.2,3.21-1.23.89-.05,1.85.28,2.76.6.63.22,1.27.45,1.74.48,9.04.75,16.14-3.34,22.36-12.85l.53-.82.96.16c8.05,1.3,17.02-1.81,21.8-7.57.37-.45,1.07-1.63,1.64-2.58,1.21-2.04,1.54-2.54,2.04-2.85.82-.51,2.16-.76,4.47-1.16,1.77-.31,3.77-.65,4.99-1.16,8.23-3.39,13.44-12.69,11.86-21.17l-.14-.75.53-.56c.98-1.03,8.86-7.08,11.31-7.13.65,0,1.08.26,1.33.49l.4.38.05.55c.61,6.02,2.45,8.44,6.8,8.9,7.88.84,30.12.95,37.54-.05,2.7-.37,3.7-1.42,5.08-3.7v-118.47c-1.56-2.72-2.83-3.47-6.13-3.74ZM102.59,224.3c-.8,2.67-1.6,5.34-2.4,8l-.32,1.07h-30.33v-105.4h1.49s.05-.01.08-.01c3.48,0,16.66,1.61,27.82,3.41,24.19,3.9,24.58,5.9,24.84,7.23l.05.25-.04.25c-4.35,29.06-12.91,57.6-21.19,85.19ZM290.24,263.94c-1.96,2.11-3.95,3.18-6.09,3.26-3.66.14-6.67-2.65-9.57-5.35-.41-.38-.83-.77-1.24-1.14-4.36-3.93-9.05-9.21-13.59-14.31-6.13-6.9-12.48-14.03-18.19-18.13-2.86-2.05-5.33-1.33-6.69.02-1.47,1.46-2.11,4.12-.27,6.8,3.42,3.5,6.81,7.03,10.21,10.55,7.77,8.06,15.81,16.4,23.96,24.35.26.25.56.43.87.62,1.31.78,2.5,1.78,1.5,4.69-.91,2.66-5.65,4.98-7.38,5.45-6.34,1.74-9.32-.89-13.08-4.23l-.82-.73c-5.57-4.9-10.82-10.57-15.89-16.06-3.84-4.15-7.81-8.45-11.85-12.32-1.94-1.62-4.17-1.33-5.59-.49-1.45.86-2.82,2.7-2.32,5.31.19.99,2.62,3.99,7.2,8.9l.72.77c3.01,3.27,6.32,6.44,9.52,9.52,4.58,4.4,9.31,8.95,13.37,13.92l.64.79-.49.89c-2,3.63-6.37,7.59-10.55,7.78-3.22.14-7.47-3.51-11.52-7.27-.36-.33-.68-.64-.97-.89-4.98-4.52-9.63-9.53-14.13-14.37-3.78-4.07-7.68-8.27-11.74-12.14-1.46-1.17-3.4-1.31-5.2-.35-1.83.97-2.91,2.8-2.73,4.66.18,1.92,5.46,7.51,7.45,9.61.4.43.76.8,1.05,1.12,3.12,3.37,6.52,6.65,9.8,9.81,3.16,3.04,6.43,6.19,9.48,9.45l.29.32.08.42c.06.33.26,1.33-.44,2.11-.49.54-1.11.65-1.63.65-.2,0-.38-.02-.54-.03-.13-.01-.26-.02-.39-.02-10.32-.04-20.44-7.71-28.57-13.88-1.13-.85-2.22-1.68-3.27-2.46-15.54-11.49-31.71-23.75-44.76-35.56-4.26-3.86-8.21-8.14-12.03-12.28-3.21-3.48-6.53-7.07-9.98-10.36l-.63-.6,17.07-69.44h43.82l-2.4,2.53c-7.88,8.32-19.41,26.02-16.81,38.11,1,4.65,4.12,8.08,9.25,10.18,9.42,3.85,20.15,2.49,28.68-3.65,1.22-.88,2.9-2.71,4.39-4.32,1.84-2,3.44-3.74,4.68-4.38.93-.48,1.95-.67,2.94-.85.72-.13,1.39-.26,1.94-.48,1.09-.44,2.17-.91,3.25-1.38,1.97-.85,4.01-1.74,6.11-2.45l.86-.29.66.63c8.05,7.69,16.95,14.76,25.55,21.59,4.89,3.89,9.95,7.91,14.82,12,.78.66,1.68,1.41,2.68,2.24,9.7,8.08,27.75,23.12,30.46,32.06,1.02,3.36,1.03,5.93-1.94,9.14ZM310.92,235.69l-13.81,8.45-.8-1.21c-3.82-5.79-9.35-11.14-14.24-15.69-9.11-8.5-19.29-16.56-29.12-24.36-6.42-5.09-13.05-10.35-19.31-15.66-.9-.76-2.24-2.06-3.79-3.56-2.89-2.79-7.72-7.46-9.21-7.91-2.4-.72-7.56,1.62-11.33,3.32-1.77.8-3.44,1.56-4.78,2-1.12.37-2.3.53-3.44.68-1.63.22-3.17.43-4.4,1.19-.6.37-2.01,2.15-3.14,3.58-1.59,2-3.23,4.08-4.71,5.25-5.35,4.27-10.78,5.55-17.08,4.01-3.22-.78-5.06-1.87-5.97-3.51-1.24-2.23-.49-4.93.78-8.8,5.19-15.72,30.02-40.15,46.32-42.09,10.64-1.27,28.09,6.51,42.12,12.75,3.84,1.71,7.47,3.33,10.4,4.49,4.2,1.67,8.55,3.23,12.76,4.74,2.56.92,5.13,1.84,7.68,2.79l.62.23.25.61c8.05,19.65,16,41.42,24.3,66.56l.1.32-.21,1.81ZM355.67,246.02h-30.31l-.33-1.05c-10.79-34.48-21.81-64.67-33.68-92.3l-.19-.43.1-.46c.22-1.1.39-1.89,12.98-4.9,6.08-1.46,12.44-2.78,14.01-3.05,11.87-2.06,23.95-3.13,35.92-3.21h1.51s0,105.41,0,105.41Z"/></svg>');
}

/* Effet galaxie avec logo Uniq */
.galaxy-bg {
  position: relative;
  overflow: hidden;
}

.galaxy-bg > * {
  position: relative;
  z-index: 1;
}

.galaxy-star {
  position: absolute;
  width: 40px;
  height: 40px;
  background-image: url('../img/DA/uniq_logo.svg');
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
}

.galaxy-star.primary {
  filter: brightness(0) saturate(100%) invert(15%) sepia(30%) saturate(1500%) hue-rotate(195deg) brightness(100%) contrast(100%);
  animation: galaxy-twinkle-primary 6s ease-in-out infinite;
}

.galaxy-star.secondary {
  filter: brightness(0) saturate(100%) invert(85%) sepia(50%) saturate(1000%) hue-rotate(85deg) brightness(105%) contrast(100%);
  animation: galaxy-twinkle-secondary 7s ease-in-out infinite;
}

/* Positions et animations variées pour 20 étoiles */
.galaxy-star:nth-child(1) { top: 5%; left: 3%; width: 35px; height: 35px; animation-delay: 0s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(2) { top: 12%; right: 8%; width: 45px; height: 45px; animation-delay: 0.7s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(3) { top: 22%; left: 10%; width: 30px; height: 30px; animation-delay: 1.4s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(4) { top: 18%; right: 20%; width: 40px; height: 40px; animation-delay: 2.1s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(5) { top: 32%; left: 5%; width: 38px; height: 38px; animation-delay: 2.8s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }
.galaxy-star:nth-child(6) { top: 38%; right: 6%; width: 42px; height: 42px; animation-delay: 3.5s; animation-name: galaxy-twinkle-secondary, galaxy-move-3; }
.galaxy-star:nth-child(7) { top: 45%; left: 8%; width: 28px; height: 28px; animation-delay: 4.2s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(8) { top: 52%; right: 12%; width: 36px; height: 36px; animation-delay: 0.3s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(9) { top: 58%; left: 4%; width: 44px; height: 44px; animation-delay: 1s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(10) { top: 65%; right: 5%; width: 32px; height: 32px; animation-delay: 1.7s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(11) { top: 72%; left: 12%; width: 38px; height: 38px; animation-delay: 2.4s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }
.galaxy-star:nth-child(12) { top: 78%; right: 10%; width: 34px; height: 34px; animation-delay: 3.1s; animation-name: galaxy-twinkle-secondary, galaxy-move-3; }
.galaxy-star:nth-child(13) { top: 85%; left: 6%; width: 40px; height: 40px; animation-delay: 3.8s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(14) { top: 92%; right: 15%; width: 30px; height: 30px; animation-delay: 4.5s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(15) { top: 28%; left: 88%; width: 36px; height: 36px; animation-delay: 0.5s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(16) { top: 48%; left: 90%; width: 32px; height: 32px; animation-delay: 1.2s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(17) { top: 68%; left: 87%; width: 38px; height: 38px; animation-delay: 1.9s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }
.galaxy-star:nth-child(18) { top: 8%; left: 45%; width: 26px; height: 26px; animation-delay: 2.6s; animation-name: galaxy-twinkle-secondary, galaxy-move-3; }
.galaxy-star:nth-child(19) { top: 88%; left: 50%; width: 34px; height: 34px; animation-delay: 3.3s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(20) { top: 42%; left: 2%; width: 42px; height: 42px; animation-delay: 4s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(21) { top: 15%; left: 25%; width: 28px; height: 28px; animation-delay: 0.8s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(22) { top: 35%; left: 50%; width: 32px; height: 32px; animation-delay: 1.5s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(23) { top: 55%; left: 65%; width: 38px; height: 38px; animation-delay: 2.2s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }
.galaxy-star:nth-child(24) { top: 75%; left: 35%; width: 30px; height: 30px; animation-delay: 2.9s; animation-name: galaxy-twinkle-secondary, galaxy-move-3; }
.galaxy-star:nth-child(25) { top: 25%; right: 35%; width: 36px; height: 36px; animation-delay: 3.6s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(26) { top: 60%; left: 25%; width: 24px; height: 24px; animation-delay: 4.3s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(27) { top: 10%; left: 70%; width: 40px; height: 40px; animation-delay: 0.2s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(28) { top: 40%; left: 75%; width: 33px; height: 33px; animation-delay: 0.9s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(29) { top: 80%; left: 70%; width: 37px; height: 37px; animation-delay: 1.6s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }
.galaxy-star:nth-child(30) { top: 95%; left: 25%; width: 29px; height: 29px; animation-delay: 2.3s; animation-name: galaxy-twinkle-secondary, galaxy-move-3; }
.galaxy-star:nth-child(31) { top: 50%; left: 45%; width: 35px; height: 35px; animation-delay: 3s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(32) { top: 20%; left: 60%; width: 27px; height: 27px; animation-delay: 3.7s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(33) { top: 70%; left: 55%; width: 31px; height: 31px; animation-delay: 4.4s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(34) { top: 30%; left: 15%; width: 39px; height: 39px; animation-delay: 0.6s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(35) { top: 85%; right: 25%; width: 34px; height: 34px; animation-delay: 1.3s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }
.galaxy-star:nth-child(36) { top: 12%; left: 35%; width: 25px; height: 25px; animation-delay: 2s; animation-name: galaxy-twinkle-secondary, galaxy-move-3; }
.galaxy-star:nth-child(37) { top: 27%; left: 80%; width: 29px; height: 29px; animation-delay: 2.7s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(38) { top: 44%; left: 40%; width: 33px; height: 33px; animation-delay: 3.4s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(39) { top: 63%; left: 18%; width: 27px; height: 27px; animation-delay: 4.1s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(40) { top: 83%; left: 45%; width: 31px; height: 31px; animation-delay: 0.4s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(41) { top: 17%; right: 42%; width: 35px; height: 35px; animation-delay: 1.1s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }
.galaxy-star:nth-child(42) { top: 37%; left: 92%; width: 26px; height: 26px; animation-delay: 1.8s; animation-name: galaxy-twinkle-secondary, galaxy-move-3; }
.galaxy-star:nth-child(43) { top: 53%; left: 32%; width: 38px; height: 38px; animation-delay: 2.5s; animation-name: galaxy-twinkle-primary, galaxy-move-1; }
.galaxy-star:nth-child(44) { top: 67%; right: 38%; width: 30px; height: 30px; animation-delay: 3.2s; animation-name: galaxy-twinkle-secondary, galaxy-move-2; }
.galaxy-star:nth-child(45) { top: 90%; left: 15%; width: 32px; height: 32px; animation-delay: 3.9s; animation-name: galaxy-twinkle-primary, galaxy-move-3; }
.galaxy-star:nth-child(46) { top: 5%; left: 55%; width: 28px; height: 28px; animation-delay: 0.1s; animation-name: galaxy-twinkle-secondary, galaxy-move-1; }
.galaxy-star:nth-child(47) { top: 77%; left: 82%; width: 36px; height: 36px; animation-delay: 0.7s; animation-name: galaxy-twinkle-primary, galaxy-move-2; }

@keyframes galaxy-twinkle-primary {
  0%, 100% {
    opacity: 0;
    transform: scale(0.6);
  }
  50% {
    opacity: 0.85;
    transform: scale(1.15);
  }
}

@keyframes galaxy-twinkle-secondary {
  0%, 100% {
    opacity: 0;
    transform: scale(0.6);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.2);
  }
}

@keyframes galaxy-move-1 {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  25% {
    translate: 15px -10px;
    rotate: 10deg;
  }
  50% {
    translate: 5px 15px;
    rotate: -5deg;
  }
  75% {
    translate: -10px 5px;
    rotate: 15deg;
  }
}

@keyframes galaxy-move-2 {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  25% {
    translate: -12px 8px;
    rotate: -12deg;
  }
  50% {
    translate: 10px -12px;
    rotate: 8deg;
  }
  75% {
    translate: 8px 10px;
    rotate: -10deg;
  }
}

@keyframes galaxy-move-3 {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  33% {
    translate: -8px -15px;
    rotate: 15deg;
  }
  66% {
    translate: 12px 8px;
    rotate: -8deg;
  }
}

/* Section Multi-formats */
.multiformat-section {
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.multiformat-title {
  font-family: meticula, sans-serif;
  font-size: 1.3rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 1.5rem;
  letter-spacing: 0.03em;
  position: relative;
  display: block;
}

.multiformat-title .highlight {
  color: var(--secondary-color);
  font-weight: 500;
}

.format-selector {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  position: absolute;
  top: 12rem;
  z-index: 10;
}

.format-option {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.7rem 1.2rem;
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(26, 44, 94, 0.2);
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.format-option:hover {
  color: white;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(26, 44, 94, 0.3);
}

.format-option:hover .format-label {
  color: white;
}

.format-option:hover .format-icon svg {
  stroke: white;
}

.format-option.active {
  color: white;
  background-color: var(--primary-color);
  border-color: var(--secondary-color);
  box-shadow: 0 4px 20px rgba(20, 253, 148, 0.3);
}

.format-option.active .format-label {
  color: white;
}

.format-option.active .format-icon svg {
  stroke: white;
}

.format-icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.format-icon svg {
  width: 100%;
  height: 100%;
  stroke: #7a7a7a;
  stroke-width: 1.5;
  fill: none;
  transition: all 0.3s ease;
}

.format-ratio {
  font-size: 0.65rem;
  font-weight: 500;
  color: #7a7a7a;
  margin-left: 0.2rem;
  transition: color 0.3s ease;
}

.format-option:hover .format-ratio,
.format-option.active .format-ratio {
  color: rgba(255, 255, 255, 0.7);
}

.format-label {
  font-size: 0.85rem;
  font-weight: 500;
  color: #7a7a7a;
  text-transform: uppercase;
  transition: color 0.3s ease;
}

@media (max-width: 768px) {
  .multiformat-title {
    font-size: 1.1rem;
  }

  .format-selector {
    gap: 0.6rem;
  }

  .format-option {
    padding: 0.5rem 0.8rem;
  }

  .format-label {
    font-size: 0.7rem;
  }

  .format-icon {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 480px) {
  .multiformat-title {
    font-size: 1rem;
    margin-bottom: 1rem;
  }

  .format-selector {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .format-option {
    padding: 0.5rem 0.8rem;
    gap: 0.3rem;
  }

  .format-label {
    font-size: 0.65rem;
  }

  .format-ratio {
    display: block;
    margin-left: 0;
    font-size: 0.6rem;
  }
}

.swiping-header-text{
  display:inline-block; 
  overflow:hidden; 
  white-space:nowrap;
  color: var(--secondary-color);
  top: 60%;
  position: fixed;
  font-size: xxx-large;
  left: 47%;
  font-weight: 300;
}

.is-invisible{
  visibility: hidden;
}

/* ===================================================================
   MODERN FOOTER STYLES - À ajouter à la fin de votre style.css
   =================================================================== */

/* Footer principal */
.modern-footer {
  position: relative;
  background: linear-gradient(135deg, var(--primary-color) 0%, #0f1d3d 100%);
  color: var(--white);
  padding: 80px 20px 30px;
  overflow: hidden;
}

.modern-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--secondary-color), transparent);
  box-shadow: 0 0 20px var(--secondary-color);
}

.modern-footer .footer-container {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.modern-footer .footer-content {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 60px;
  margin-bottom: 60px;
}

/* Section Contact */
.modern-footer .contact-section {
  max-width: 600px;
}

.modern-footer .footer-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--white);
  position: relative;
  display: inline-block;
  font-family: meticula;
}

.modern-footer .footer-title::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 60%;
  height: 3px;
  background: var(--secondary-color);
  box-shadow: 0 0 10px var(--secondary-color);
}

.modern-footer .footer-description {
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 30px;
}

.modern-footer .highlight {
  color: var(--secondary-color);
  font-weight: 600;
  text-shadow: 0 0 10px rgba(20, 253, 148, 0.3);
}

.modern-footer .contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.modern-footer .form-group input,
.modern-footer .form-group textarea {
  width: 100%;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  color: var(--white);
  font-size: 1rem;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.modern-footer .form-group input:focus,
.modern-footer .form-group textarea:focus {
  outline: none;
  border-color: var(--secondary-color);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 3px rgba(20, 253, 148, 0.15),
              0 0 20px rgba(20, 253, 148, 0.2);
}

.modern-footer .form-group input::placeholder,
.modern-footer .form-group textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.modern-footer .form-group textarea {
  resize: vertical;
  min-height: 120px;
}

.modern-footer .submit-btn {
  align-self: flex-start;
  padding: 14px 32px;
  background: var(--secondary-color);
  color: var(--primary-color);
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 4px 20px rgba(20, 253, 148, 0.3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.modern-footer .submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 30px rgba(20, 253, 148, 0.5);
  background: #0ffb88;
}

.modern-footer .submit-btn:active {
  transform: translateY(0);
}

.modern-footer .submit-btn i {
  transition: transform 0.3s ease;
}

.modern-footer .submit-btn:hover i {
  transform: translateX(4px);
}

/* Section Réseaux Sociaux */
.modern-footer .social-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.modern-footer .social-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 30px;
  color: var(--white);
  position: relative;
}

.modern-footer .social-title::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  height: 2px;
  background: var(--secondary-color);
}

.modern-footer .social-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.modern-footer .social-link {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  color: var(--white);
  font-size: 1.5rem;
  text-decoration: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}

.modern-footer .social-link::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: var(--secondary-color);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s ease;
  z-index: -1;
}

.modern-footer .social-link:hover {
  transform: translateY(-5px);
  border-color: var(--secondary-color);
  color: var(--primary-color);
  box-shadow: 0 8px 25px rgba(20, 253, 148, 0.4);
}

.modern-footer .social-link:hover::before {
  width: 100%;
  height: 100%;
  border-radius: 16px;
}

/* Footer Bottom */
.modern-footer .footer-bottom {
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

.modern-footer .copyright {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  margin: 0;
}

.modern-footer .dev-name {
  color: var(--secondary-color);
  font-weight: 600;
  text-shadow: 0 0 10px rgba(20, 253, 148, 0.3);
}

/* Particules décoratives */
.modern-footer .footer-decoration {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.modern-footer .particle {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(20, 253, 148, 0.08) 0%, transparent 70%);
  animation: float 20s infinite ease-in-out;
}

.modern-footer .particle:nth-child(1) {
  top: -100px;
  right: -100px;
  animation-delay: 0s;
}

.modern-footer .particle:nth-child(2) {
  bottom: -150px;
  left: -100px;
  animation-delay: -7s;
}

.modern-footer .particle:nth-child(3) {
  top: 50%;
  left: 50%;
  animation-delay: -14s;
}

@keyframes float {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(30px, -30px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
}

/* Message de confirmation/erreur */
.modern-footer .success-message {
  padding: 16px 20px;
  background: rgba(20, 253, 148, 0.1);
  border: 1px solid var(--secondary-color);
  border-radius: 12px;
  color: var(--secondary-color);
  font-weight: 500;
  text-align: center;
  animation: slideIn 0.3s ease;
  box-shadow: 0 0 20px rgba(20, 253, 148, 0.2);
  margin-top: 20px;
}

.modern-footer .error-message {
  padding: 16px 20px;
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 12px;
  color: #ef4444;
  font-weight: 500;
  text-align: center;
  animation: slideIn 0.3s ease;
  margin-top: 20px;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

/* Responsive */
@media (max-width: 968px) {
  .modern-footer .footer-content {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .modern-footer .footer-title {
    font-size: 2rem;
  }

  .modern-footer .social-section {
    align-items: flex-start;
  }

  .modern-footer .social-links {
    justify-content: flex-start;
  }
  
  .modern-footer .social-title::after {
    left: 0;
    transform: translateX(0);
  }
}

@media (max-width: 480px) {
  .modern-footer {
    padding: 60px 20px 30px;
  }

  .modern-footer .footer-title {
    font-size: 1.75rem;
  }

  .modern-footer .footer-description {
    font-size: 1rem;
  }

  .modern-footer .social-link {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }
}

.social-header-modern {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: end;
  gap: 1rem;
  z-index: 998;
  transition: opacity 0.3s ease;
}

.social-link-modern {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 44, 94, 0.9);
  border: 2px solid rgba(20, 253, 148, 0.3);
  border-radius: 12px;
  color: var(--white);
  font-size: 1.3rem;
  text-decoration: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}

.social-link-modern::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: var(--secondary-color);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s ease;
  z-index: -1;
}

.social-link-modern:hover {
  transform: translateX(-5px) scale(1.1);
  border-color: var(--secondary-color);
  color: var(--primary-color);
  box-shadow: 0 8px 25px rgba(20, 253, 148, 0.4);
}

.social-link-modern:hover::before {
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

/* Animation d'apparition au chargement */
.social-link-modern {
  animation: slideInRight 0.5s ease forwards;
  opacity: 0;
}

.social-link-modern:nth-child(1) {
  animation-delay: 0.1s;
}

.social-link-modern:nth-child(2) {
  animation-delay: 0.2s;
}

.social-link-modern:nth-child(3) {
  animation-delay: 0.3s;
}

.social-link-modern:nth-child(4) {
  animation-delay: 0.4s;
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Classe pour masquer les réseaux sociaux en dehors du header */
.social-header-modern.is-invisible {
  opacity: 0;
  pointer-events: none;
}

/* Responsive */
@media (max-width: 1600px) {
  .social-header-modern {
    right: 5rem;
  }
}

@media (max-width: 1200px) {
  .social-header-modern {
    right: 2rem;
    top: 18rem;
  }
  
  .social-link-modern {
    width: 45px;
    height: 45px;
    font-size: 1.2rem;
  }
}

@media (max-width: 990px) {
  .social-header-modern {
    display: none;
  }
  .glass-banner {
    display: none;
  }
  .flip-card-front, .flip-card-front-2 {
    font-size: x-large;
  }
  .flip-card-front .title-card-action, .flip-card-front-2 .title-card-action {
    font-size: x-large;
  }
  .flip-card-front .content-card-subtitle, .flip-card-front-2 .content-card-subtitle {
    font-size: large;
  }
  .flip-card-front .content-card-action, .flip-card-front-2 .content-card-action {
    font-size: larger;
  }
}

/* ===================================================================
   GLASS BANNER - Bannière Glassmorphism dans Parallax (VERSION COMPACTE)
   =================================================================== */

/* Bannière avec effet glassmorphism - VERSION COMPACTE */
.glass-banner {
  z-index: 10;
  width: 85%;
  max-width: 650px; /* Réduit de 1000px à 800px */
  margin: 0 auto;
  padding: 35px 45px; /* Réduit de 50px 60px */
  
  /* Fond retiré */
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  box-shadow: none;
  border-radius: 25px;
  
  /* Animation d'apparition */
  animation: glassSlideUp 1s ease-out;
  
  /* Effet de hover */
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  
  /* IMPORTANT : Isolation pour contenir les effets */
  isolation: isolate;
  overflow: hidden; /* Empêche les effets de déborder */
  position: relative;
  left: 6rem;
  top: 0;
  align-self: flex-end;
  margin-bottom: 1rem;
}

.glass-banner:hover {
  transform: translateY(-5px);
}

/* Contenu de la bannière */
.glass-banner-content {
  position: relative;
  z-index: 3;
  text-align: center;
}

.glass-banner-logo {
  width: clamp(15rem, 20vw, 25rem);
  position: relative;
  top: -2.5rem;
}

.glass-banner-subtitle {
  position: relative;
  text-align: center;
  margin-top: -1rem;
}

.glass-banner-subtitle .glass-banner-highlight {
  font-size: clamp(1rem, 1.5vw, 1.3rem);
  letter-spacing: 0.12rem;
  position: relative;
}

.glass-banner-text {
  font-family: meticula;
  font-size: 2rem; /* Réduit de 2.8rem */
  font-weight: 300;
  line-height: 1.35;
  color: var(--white);
  margin: 0;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3),
               0 4px 20px rgba(0, 0, 0, 0.2);
  letter-spacing: 0.5px;
}

.glass-banner-highlight {
  font-family: meticula;
  font-size: 2.5rem!important; /* Réduit de 3.5rem */
  color: var(--secondary-color);
  display: inline-block;
  margin-top: 5px; /* Réduit de 10px */
  text-shadow: 0 0 30px rgba(20, 253, 148, 0.6),
               0 0 60px rgba(20, 253, 148, 0.4),
               0 2px 10px rgba(0, 0, 0, 0.3);
  animation: glowPulseGlass 3s ease-in-out infinite;
  position: relative;
}

/* Effet de brillance animé - désactivé */
.glass-banner-glow {
  display: none;
  z-index: 1;
  border-radius: 25px; /* Même border-radius que la bannière */
  /* IMPORTANT : Clip pour rester dans les limites */
  clip-path: inset(0 round 25px);
}

/* Effet de lumière sur les bords - désactivé */
.glass-banner::before,
.glass-banner::after {
  display: none;
}

/* Animations */
@keyframes glassSlideUp {
  from {
    opacity: 0;
    transform: translateY(40px); /* Réduit de 50px */
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes glowPulseGlass {
  0%, 100% {
    text-shadow: 0 0 30px rgba(20, 253, 148, 0.6),
                 0 0 60px rgba(20, 253, 148, 0.4),
                 0 2px 10px rgba(0, 0, 0, 0.3);
    filter: brightness(1);
  }
  50% {
    text-shadow: 0 0 40px rgba(20, 253, 148, 0.8),
                 0 0 80px rgba(20, 253, 148, 0.6),
                 0 0 100px rgba(20, 253, 148, 0.4),
                 0 2px 10px rgba(0, 0, 0, 0.3);
    filter: brightness(1.2);
  }
}

@keyframes rotateGlow {
  from {
    transform: rotate(0deg) scale(1);
  }
  to {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes shimmer {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

/* Effet de particules flottantes - désactivé */
.glass-banner-content::before,
.glass-banner-content::after {
  display: none;
}

@keyframes floatParticle {
  0%, 100% {
    opacity: 0;
    transform: translateY(0) scale(1);
  }
  50% {
    opacity: 1;
    transform: translateY(-20px) scale(1.3); /* Réduit l'amplitude */
  }
}

/* Responsive */
@media (max-width: 1200px) {
  .glass-banner {
    max-width: 700px;
    padding: 30px 40px;
  }
  
  .glass-banner-text {
    font-size: 2rem;
  }
  
  .glass-banner-highlight {
    font-size: 2.5rem;
  }
}

@media (max-width: 768px) {
  .parallax-container {
    padding-bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .glass-banner {
    width: 85%;
    max-width: 500px;
    padding: 25px 30px;
    border-radius: 20px;
    left: auto;
    top: auto;
    margin: 0 auto;
    align-self: flex-end;
    margin-bottom: 1rem;
    backdrop-filter: blur(15px) saturate(150%);
    -webkit-backdrop-filter: blur(15px) saturate(150%);
  }

  .glass-banner-logo {
    width: clamp(12rem, 50vw, 18rem);
    top: -1rem;
  }

  .glass-banner-subtitle .glass-banner-highlight {
    font-size: 0.9rem;
  }

  .glass-banner-text {
    font-size: 1.6rem;
    line-height: 1.3;
  }

  .glass-banner-highlight {
    font-size: 2rem;
  }

  .glass-banner-glow {
    opacity: 0.5;
  }
}

@media (max-width: 480px) {
  .glass-banner {
    width: 90%;
    max-width: 400px;
    padding: 20px 25px;
  }
  
  .glass-banner-text {
    font-size: 1.3rem;
  }
  
  .glass-banner-highlight {
    font-size: 1.7rem;
  }
}

/* Optimisation pour les appareils à mouvement réduit */
@media (prefers-reduced-motion: reduce) {
  .glass-banner,
  .glass-banner-highlight,
  .glass-banner-glow,
  .glass-banner::before,
  .glass-banner::after,
  .glass-banner-content::before,
  .glass-banner-content::after {
    animation: none !important;
  }
  
  .glass-banner:hover {
    transform: none;
  }
}

/* Support pour les navigateurs sans backdrop-filter */
@supports not (backdrop-filter: blur(20px)) {
  .glass-banner {
    background: rgba(26, 44, 94, 0.85);
  }
}

/* ===================================================================
   REELS SECTION - Carrousel infini
   =================================================================== */

.reels-section {
  padding: 80px 20px;
  background: transparent;
  overflow: hidden;
  position: relative;
}

.reels-container {
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
}

.reels-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 600px;
  transition: min-height 0.4s ease;
}

.reels-wrapper:has(.reels-track[data-active-format="desktop"]) {
  min-height: 380px;
}

.reels-wrapper:has(.reels-track[data-active-format="social"]) {
  min-height: 520px;
}

/* Track des vidéos */
.reels-track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  position: relative;
  width: 100%;
  max-width: 1100px;
  transition: none; /* Pas de transition sur le track, seulement sur les items */
}

/* Item de reel - État par défaut (caché) */
.reel-item {
  flex-shrink: 0;
  position: absolute;
  width: 250px;
  height: 445px;
  opacity: 0;
  filter: blur(3px) brightness(0.5);
  transform: scale(0.85);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  left: 50%;
  transform-origin: center;
}

/* Vidéo gauche */
.reel-item.position-left {
  opacity: 0.5;
  filter: blur(2px) brightness(0.7);
  transform: translateX(-180%) scale(0.88);
  pointer-events: all;
  cursor: pointer;
  z-index: 1;
}

.reel-item.position-left:hover {
  opacity: 0.7;
  filter: blur(1px) brightness(0.85);
}

/* Vidéo centre (active) */
.reel-item.position-center {
  width: 320px;
  height: 570px;
  opacity: 1;
  filter: none;
  transform: translateX(-50%) scale(1);
  z-index: 10;
  pointer-events: all;
}

/* Vidéo droite */
.reel-item.position-right {
  opacity: 0.5;
  filter: blur(2px) brightness(0.7);
  transform: translateX(80%) scale(0.88);
  pointer-events: all;
  cursor: pointer;
  z-index: 1;
}

.reel-item.position-right:hover {
  opacity: 0.7;
  filter: blur(1px) brightness(0.85);
}

/* Format Desktop (16:9) - dimensions paysage */
.reels-track[data-active-format="desktop"] .reel-item {
  width: 445px;
  height: 250px;
}

.reels-track[data-active-format="desktop"] .reel-item.position-center {
  width: 570px;
  height: 320px;
}

/* Format Social/Meta (4:5) - dimensions carrées */
.reels-track[data-active-format="social"] .reel-item {
  width: 280px;
  height: 350px;
}

.reels-track[data-active-format="social"] .reel-item.position-center {
  width: 380px;
  height: 475px;
}

/* Wrapper de la vidéo */
.reel-video-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3),
              0 0 0 1px rgba(255, 255, 255, 0.1);
}

.reel-item.position-center .reel-video-wrapper {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5),
              0 0 0 2px rgba(20, 253, 148, 0.3),
              0 0 40px rgba(20, 253, 148, 0.2);
}

/* Vidéo */
.reel-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Overlay de contrôle */
.reel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.2) 0%,
    transparent 30%,
    transparent 70%,
    rgba(0, 0, 0, 0.5) 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.reel-video-wrapper:hover .reel-overlay,
.reel-item:not(.position-center) .reel-overlay {
  opacity: 1;
}

/* Bouton play/pause */
.play-pause-btn {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.play-pause-btn:hover {
  background: var(--secondary-color);
  transform: scale(1.1);
}

.play-pause-btn i {
  font-size: 2rem;
  color: var(--primary-color);
}

.play-pause-btn i.bi-play-fill {
  margin-left: 4px;
}

/* Cacher le bouton play/pause sur les vidéos latérales */
.reel-item.position-left .play-pause-btn,
.reel-item.position-right .play-pause-btn {
  display: none;
}

/* Flèches de navigation */
.reel-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(26, 44, 94, 1);
  backdrop-filter: blur(10px);
  border: 2px solid rgba(20, 253, 148, 0.3);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 20;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.reel-arrow-left {
  left: 20px;
}

.reel-arrow-right {
  right: 20px;
}

.reel-arrow:hover {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 0 30px rgba(20, 253, 148, 0.4);
}

.reel-arrow:hover i {
  color: var(--primary-color);
}

.reel-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

.reel-arrow i {
  font-size: 1.5rem;
  transition: color 0.3s ease;
}

/* Responsive */
@media (max-width: 1200px) {
  .reel-item {
    width: 220px;
    height: 390px;
  }

  .reel-item.position-center {
    width: 280px;
    height: 500px;
  }

  .reels-track[data-active-format="desktop"] .reel-item {
    width: 380px;
    height: 214px;
  }

  .reels-track[data-active-format="desktop"] .reel-item.position-center {
    width: 500px;
    height: 281px;
  }

  .reels-track[data-active-format="social"] .reel-item {
    width: 240px;
    height: 300px;
  }

  .reels-track[data-active-format="social"] .reel-item.position-center {
    width: 320px;
    height: 400px;
  }
}

@media (max-width: 768px) {
  .reels-section {
    padding: 60px 10px;
  }

  .reels-wrapper {
    min-height: 500px;
  }

  .reel-item {
    width: 160px;
    height: 285px;
  }

  .reel-item.position-center {
    width: 220px;
    height: 390px;
  }

  .reels-track[data-active-format="desktop"] .reel-item {
    width: 280px;
    height: 158px;
  }

  .reels-track[data-active-format="desktop"] .reel-item.position-center {
    width: 360px;
    height: 202px;
  }

  .reels-track[data-active-format="social"] .reel-item {
    width: 180px;
    height: 225px;
  }

  .reels-track[data-active-format="social"] .reel-item.position-center {
    width: 250px;
    height: 312px;
  }
  
  .reel-arrow {
    width: 40px;
    height: 40px;
  }
  
  .reel-arrow-left {
    left: 10px;
  }
  
  .reel-arrow-right {
    right: 10px;
  }
  
  .reel-arrow i {
    font-size: 1.2rem;
  }
  
  .play-pause-btn {
    width: 60px;
    height: 60px;
  }
  
  .play-pause-btn i {
    font-size: 1.5rem;
  }
}

@media (max-width: 480px) {
  .reel-item.position-center {
    width: 200px;
    height: 355px;
  }

  .reels-track[data-active-format="desktop"] .reel-item.position-center {
    width: 300px;
    height: 169px;
  }

  .reels-track[data-active-format="social"] .reel-item.position-center {
    width: 220px;
    height: 275px;
  }

  /* Cacher les vidéos latérales sur très petit écran */
  .reel-item.position-left,
  .reel-item.position-right {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* ===================================================================
   ANIMATIONS MENU MOBILE
   =================================================================== */

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(45%);
  }
}

@keyframes slideOutRight {
  from {
    opacity: 1;
    transform: translateX(45%);
  }
  to {
    opacity: 0;
    transform: translateX(-100%);
  }
}

/* Effet de glow sur les items actifs */
.navbar-mobile a.active {
  box-shadow: 0 0 20px rgba(20, 253, 148, 0.3),
              inset 0 0 10px rgba(20, 253, 148, 0.1);
}

/* Icône avec effet de rotation */
.mobile-nav-toggle.active {
  transform: rotate(90deg);
}

.mobile-nav-toggle:not(.active) {
  transform: rotate(0deg);
}


/* ===================================================================
   AMÉLIORATION SECTION PORTFOLIO/REELS - Design moderne et épuré
   =================================================================== */

/* Fond de la section portfolio principale */
#real.portfolio {
  position: relative;
  background: linear-gradient(180deg, 
    #ffffff 0%, 
    rgba(26, 44, 94, 0.02) 30%,
    rgba(20, 253, 148, 0.02) 70%,
    #ffffff 100%);
  padding: 25px 0;
}

/* Grille subtile en arrière-plan */
#real.portfolio::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    linear-gradient(rgba(26, 44, 94, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26, 44, 94, 0.02) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.3;
}

/* Container au-dessus du fond */
#real .container {
  position: relative;
  z-index: 1;
}

.title-box::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, 
    rgba(20, 253, 148, 0.08) 0%, 
    rgba(20, 253, 148, 0.03) 30%,
    transparent 70%);
  z-index: -1;
  pointer-events: none;
}

/* Style amélioré du titre */
.title-a {
  position: relative;
  display: inline-block;
  padding-bottom: 20px;
}

/*.title-a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 4px;
  background: linear-gradient(90deg, 
    transparent, 
    var(--secondary-color), 
    transparent);
  animation: lineExpand 2s ease-out forwards;
  box-shadow: 0 0 10px var(--secondary-color);
}*/

@keyframes lineExpand {
  to {
    width: 120px;
  }
}

/* Sous-titre amélioré */
.subtitle-a {
    max-width: 700px;
    margin: 20px auto;
    line-height: 1.8;
    color: var(--primary-color);
    font-weight: 600;
    font-size: larger;
}

/* Section reels avec artéfacts décoratifs */
.reels-section {
  position: relative;
  padding: 80px 40px;
  margin: 0 auto;
  max-width: 1600px;
}

/* Points décoratifs pulsants */
.reels-wrapper::before,
.reels-wrapper::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--secondary-color);
  box-shadow: 0 0 20px var(--secondary-color),
              0 0 40px rgba(20, 253, 148, 0.4);
  opacity: 0.6;
  animation: dotPulse 2s ease-in-out infinite;
  z-index: 30;
}

.reels-wrapper::before {
  top: 10%;
  left: 5%;
}

.reels-wrapper::after {
  bottom: 10%;
  right: 5%;
  animation-delay: 1s;
}

@keyframes dotPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.5);
    opacity: 1;
  }
}

/* Effet de profondeur sur les items reels */
.reel-item {
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.2));
}

.reel-item.position-center {
  filter: drop-shadow(0 20px 50px rgba(20, 253, 148, 0.15))
          drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));
}

/* Border coloré sur la vidéo centrale */
.reel-video-wrapper {
  position: relative;
  overflow: visible;
}

.reel-video-wrapper::after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border-radius: 22px;
  background: linear-gradient(135deg, 
    rgba(20, 253, 148, 0.3) 0%, 
    rgba(26, 44, 94, 0.3) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: -1;
  pointer-events: none;
}

.reel-item.position-center .reel-video-wrapper::after {
  opacity: 1;
}

/* Responsive */
@media (max-width: 768px) {
  #real.portfolio {
    padding: 60px 0;
  }
  
  #real.portfolio::after {
    background-size: 30px 30px;
    opacity: 0.2;
  }
  
  .title-box::before {
    width: 400px;
    height: 400px;
  }
  
  .reels-section {
    padding: 60px 20px;
  }
  
  .reels-section::before,
  .reels-section::after {
    width: 1px;
    opacity: 0.4;
  }
  
  .reels-section::before {
    left: 10px;
  }
  
  .reels-section::after {
    right: 10px;
  }
  
  .reels-wrapper::before,
  .reels-wrapper::after {
    width: 8px;
    height: 8px;
  }
}

@media (max-width: 480px) {
  .title-box::before {
    width: 300px;
    height: 300px;
  }
  
  .reels-wrapper::before {
    top: 5%;
    left: 3%;
  }
  
  .reels-wrapper::after {
    bottom: 5%;
    right: 3%;
  }
}

.container-right{
  margin-right: 3%!important;
  padding-right: 12px!important;
}

/* ===================================================================
   NOUVEAUX STYLES POUR LES CARDS AVEC EFFET GLASSMORPHISM
   =================================================================== */

/* Barre en bas de la card avec effet glass - PLUS GLASSMORPHISM */
.card-bottom-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(26, 44, 94, 0.85);
  backdrop-filter: blur(25px) saturate(200%);
  -webkit-backdrop-filter: blur(25px) saturate(200%);
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0;
  padding: 10px 15px;
  z-index: 10;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.2),
              inset 0 1px 1px 0 rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  height: 65px;
  overflow: hidden;
  transition: height 1.2s cubic-bezier(0.4, 0, 0.2, 1),
              background 1.2s cubic-bezier(0.4, 0, 0.2, 1),
              backdrop-filter 1.2s cubic-bezier(0.4, 0, 0.2, 1),
              padding 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Quand la barre s'étend pour couvrir toute la card - Animation fluide */
.card-bottom-bar.expanded {
  height: 100%;
  border-radius: 0;
  border: none;
  padding: 25px 20px;
  justify-content: flex-start;
  background: rgba(26, 44, 94, 0.95);
  backdrop-filter: blur(30px) saturate(200%);
  -webkit-backdrop-filter: blur(30px) saturate(200%);
}

/* Bouton "Lire plus" avec flèche */
.card-arrow {
  height: 38px;
  padding: 0 16px;
  background: rgba(20, 253, 148, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 2px solid var(--secondary-color);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 0 20px rgba(20, 253, 148, 0.3);
  order: 1;
  flex-shrink: 0;
}

.card-arrow:hover {
  background: var(--secondary-color);
  transform: translateY(-3px);
  box-shadow: 0 6px 30px rgba(20, 253, 148, 0.5);
}

.card-arrow i {
  font-size: 1rem;
  color: var(--secondary-color);
  transition: all 0.4s ease;
}

.card-arrow:hover i {
  color: var(--primary-color);
}

.card-arrow:hover .card-read-more {
  color: var(--primary-color);
}

/* Flèche retournée quand la card est ouverte */
.card-arrow.active {
  background: var(--secondary-color);
  box-shadow: 0 4px 20px rgba(20, 253, 148, 0.4);
}

.card-arrow.active i {
  transform: rotate(180deg);
  color: var(--primary-color);
}

/* Animation de rebond pour la flèche */
@keyframes arrowBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

.card-arrow.bounce {
  animation: arrowBounce 0.6s ease-in-out;
}

/* Espacement entre les cards (ancien grid, conservé pour compatibilité) */
.col-lg-4.col-md-6.col-sm-12 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

/* Espacement dans le Swiper services */
.services-slider .swiper-slide .flip-card {
  margin: 0 auto;
}

/* Contenu complet caché dans la barre - Animation fluide */
.card-full-content {
  width: 100%;
  order: 3;
  font-size: 0.95rem; /* Taille constante */
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding-top: 0;
  transition: max-height 0.6s ease,
              opacity 0.4s ease,
              padding-top 0.3s ease;
}

.card-full-content.visible {
  max-height: 500px; /* Assez grand pour le contenu */
  opacity: 1;
  padding-top: 15px;
  transition: max-height 0.8s ease,
              opacity 0.5s ease 0.2s,
              padding-top 0.3s ease;
}

.card-full-content p {
  color: white;
  font-size: inherit; /* Hérite de .card-full-content */
  line-height: 1.7;
  margin-bottom: 15px;
  text-align: left;
  opacity: 1;
}

.card-full-content p b {
  color: var(--secondary-color);
}

/* Quand le fond monte (expanded), le texte devient complètement visible */
.card-bottom-bar.expanded .card-full-content {
  max-height: 100%;
  opacity: 1;
  padding-top: 15px;
}

/* Responsive */
@media (max-width: 767.98px) {
  .card-arrow {
    height: 36px;
    padding: 0 14px;
  }

  .card-arrow i {
    font-size: 1rem;
  }

  .card-read-more {
    font-size: 0.7rem;
  }

  .card-bottom-bar {
    padding: 10px 15px;
    height: 58px;
  }
}

.fixed-top-header {
    position: fixed;
    top: 0;
    right: 4rem;
    z-index: 1000!important;
}

/* Logo scroll navbar */
.nav-logo-scroll {
  position: fixed;
  top: 20px;
  left: 4rem;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px;
  width: 100px;
  padding: 8px;
  border-radius: 25px 25px 5px 25px;
  clip-path: polygon(0 0, 95% 0, 100% 5%, 100% 100%, 5% 100%, 0 95%);
  background: rgba(26, 44, 94, 0.4);
  backdrop-filter: blur(15px) saturate(180%);
  -webkit-backdrop-filter: blur(15px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 0.4s ease, transform 0.4s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.nav-logo-scroll.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.nav-logo-scroll:hover {
  border-color: rgba(20, 253, 148, 0.25);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.25),
              0 0 20px rgba(20, 253, 148, 0.1),
              inset 0 1px 1px 0 rgba(255, 255, 255, 0.15);
}

.nav-logo-scroll img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

@supports not (backdrop-filter: blur(15px)) {
  .nav-logo-scroll {
    background: rgba(26, 44, 94, 0.85);
  }
}

@media (max-width: 990px) {
  .nav-logo-scroll {
    display: none;
  }
}

.img-bottom-card{
  z-index: 10;
  width: auto!important;
  height: 25%!important;
  position: relative!important;
  top: 60%;
}

.top66 {
  top: 66%!important;
}
.top76 {
  top: 76%!important;
}
.top85 {
  top: 85%!important;
}
.top33{
  top: 33%!important;
}
.top50{
  top: 50%!important;
}
.width65{
  width: 65%!important;
}

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


/* ===================================================================
   STYLE "LIRE PLUS" DANS LE BOUTON FLECHE
   =================================================================== */
.card-read-more {
  color: var(--secondary-color);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: all 0.4s ease;
  white-space: nowrap;
}

.card-arrow.active .card-read-more {
  display: none;
}

/* ===================================================================
   SERVICES SLIDER - Swiper carrousel pour les cartes services
   =================================================================== */
.services-slider {
  position: relative;
  padding-bottom: 50px;
  overflow: hidden;
  margin: 0 auto;
}

.services-slider .swiper-slide {
  height: auto;
  padding: 0 0;
}

/* Fleches de navigation */
.services-slider .services-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(26, 44, 94, 1);
  border: 2px solid rgba(20, 253, 148, 0.3);
  color: var(--white);
  transition: all 0.3s ease;
}

.services-slider .services-arrow::after {
  font-size: 1.2rem;
  color: white;
  font-weight: bold;
}

.services-slider .services-arrow:hover {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  box-shadow: 0 0 20px rgba(20, 253, 148, 0.4);
}

.services-slider .services-arrow:hover::after {
  color: var(--primary-color);
}

/* Pagination */
.services-pagination.swiper-pagination {
  position: relative;
  margin-top: 20px;
}

.services-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(26, 44, 94, 0.2);
  opacity: 1;
  transition: all 0.3s ease;
}

.services-pagination .swiper-pagination-bullet-active {
  background: var(--primary-color);
  box-shadow: 0 0 10px rgba(26, 44, 94, 0.3);
  transform: scale(1.2);
}

/* Desktop : cacher fleches et pagination quand tout est visible */
@media (min-width: 1200px) {
  .services-slider .services-arrow {
    display: none;
  }

  .services-pagination.swiper-pagination {
    display: none;
  }

  .services-slider .swiper-slide {
    padding: 0 0;
  }
}

/* Tablette */
@media (max-width: 1199px) and (min-width: 768px) {
  .services-slider .services-arrow {
    width: 45px;
    height: 45px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .services-slider .services-arrow {
    width: 40px;
    height: 40px;
  }

  .services-slider .services-arrow::after {
    font-size: 1rem;
  }

  .services-slider .swiper-slide {
    padding: 10px 15px;
  }
}

/* ===================================================================
   SECTION "ILS NOUS FONT CONFIANCE" - Marquee infini
   =================================================================== */

.trust-section {
  padding: 80px 0 80px;
  margin: 0;
  background: #f5f5f7;
  overflow: hidden;
  width: 100%;
}

.trust-section .title-a {
  color: var(--primary-color);
}

.trust-section .subtitle-a {
  color: #6e6e73;
  font-size: 1.1rem;
}

.trust-section .line-mf {
  background-color: var(--secondary-color);
}

.trust-marquee {
  margin-top: 50px;
  position: relative;
  width: 100%;
}

/* Dégradés sur les côtés */
.trust-marquee::before,
.trust-marquee::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 200px;
  z-index: 2;
  pointer-events: none;
}

.trust-marquee::before {
  left: 0;
  background: linear-gradient(to right, #f5f5f7, transparent);
}

.trust-marquee::after {
  right: 0;
  background: linear-gradient(to left, #f5f5f7, transparent);
}

.trust-track {
  display: flex;
  align-items: center;
  gap: 80px;
  width: max-content;
  animation: trustScroll 35s linear infinite;
}

.trust-track:hover {
  animation-play-state: paused;
}

.trust-track img {
  height: 80px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.trust-track img:hover {
  opacity: 1;
}

@keyframes trustScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .trust-section {
    padding: 50px 0 50px;
  }

  .trust-track {
    gap: 50px;
    animation-duration: 25s;
  }

  .trust-track img {
    height: 60px;
  }

  .trust-marquee::before,
  .trust-marquee::after {
    width: 80px;
  }
}