/* --- En-tête Fixe et Animé --- */
header {
position: sticky;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
background-color: #ffffff;
transition: transform 0.3s ease-in-out, box-shadow 0.3s ease;
}

/* Classe ajoutée en JS pour masquer le menu */
header.nav-hidden {
transform: translateY(-100%);
}

/* Classe ajoutée en JS pour donner du relief quand on fait défiler */
header.nav-scrolled {
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

/* --- Barre de Navigation --- */
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 10%;
max-width: 1440px;
margin: 0 auto;
}

/* --- Logo AMT --- */
.logo-container{
display: flex;
flex-direction: column;
align-items: flex-start;
}

.logo-image-wrapper {
display: flex;
height: 50px;
width: auto;
align-items: center;
background-color: #ffffff;
}

.logo-image-wrapper img {
height: 100%;
width: auto;
padding-left: 26px;
object-fit: contain;
background-color: #ffffff;
mix-blend-mode: multiply;
}

/* Le croissant orange sur le 'A' */
.logo-main::before {
content: '';
position: absolute;
left: -4px;
top: -2px;
width: 32px;
height: 32px;
border: 4px solid #f2a115;
border-radius: 50%;
border-right-color: transparent;
border-bottom-color: transparent;
transform: rotate(-15deg);
z-index: 1;
}

.logo-sub {
font-size: 11px;
font-weight: bold;
color: #4361ee;
letter-spacing: 2px;
text-transform: uppercase;
font-family: Allianz Neo;
}

/* --- Liens du Menu (Bureau) --- */
.nav-menu {
display: flex;
list-style: none;
gap: 35px;
margin-bottom: 0 !important;
}

.nav-item a {
text-decoration: none;
color: #6c757d;
font-size: 15px;
font-weight: 500;
transition: color 0.3s ease;
font-family: Allianz Neo;
}

.nav-item a:hover, 
.nav-item.active a {
color: #0d233a;
}

/* Trait jaune sous l'élément actif (Accueil) */
.nav-item.active {
position: relative;
}

.nav-item.active::after {
content: '';
position: absolute;
bottom: -8px;
left: 0;
width: 100%;
height: 3px;
background-color: #f2a115;
border-radius: 2px;
}

/* --- Bouton Contact --- */
.btn-contact {
background-color: #0b1e36;
color: #ffffff;
padding: 12px 28px;
border-radius: 25px;
text-decoration: none;
font-size: 14px;
font-weight: 600;
transition: background-color 0.3s ease;
font-family: Allianz Neo;
}

.btn-contact:hover {
background-color: #16365c;
}

/* --- Menu Burger (Mobile) --- */
.burger-menu {
display: none;
cursor: pointer;
flex-direction: column;
gap: 6px;
z-index: 1010;
font-family: Allianz Neo;
}

.burger-bar {
width: 28px;
height: 3px;
background-color: #0d233a;
border-radius: 2px;
transition: all 0.3s ease;
}

/* --- Styles Responsives (Mobile & Tablette) --- */
@media screen and (max-width: 992px) {
.navbar {
    padding: 15px 5%;
}

.burger-menu {
    display: flex;
}

/* Rideau déroulant */
.nav-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    flex-direction: column;
    gap: 0;
    box-shadow: 0 10px 15px rgba(0,0,0,0.05);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
}

.nav-menu.open {
    max-height: 600px;
    overflow-y: auto;
}

.nav-item {
    width: 100%;
    text-align: center;
    font-family: Allianz Neo;
}

.nav-item a {
    display: block;
    padding: 20px 0;
    border-bottom: 1px solid #f1f3f5;
    font-size: 18px;
}

.nav-item.active::after {
    display: none;
}

.nav-item.active a {
    border-left: 5px solid #f2a115;
    background-color: #f8f9fa;
}

.navbar > .btn-contact {
    display: none;
}

.nav-menu .mobile-contact {
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 25px 0 35px 0;
    width: 100%;
}
.nav-menu .mobile-contact .btn-contact {
    display: inline-block !important;
    width: 85%;
    text-align: center;
}

/* Animation Burger */
.burger-menu.open .burger-bar:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}
.burger-menu.open .burger-bar:nth-child(2) {
    opacity: 0;
}
.burger-menu.open .burger-bar:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}
}

.nav-menu .mobile-contact {
display: none;
}
/* --- SECTION HERO --- */
.hero-container {
    position: relative;
    min-height: calc(100vh - 90px);
    display: flex;
    align-items: center;
    padding-left: 8%;
}

/* Le bloc texte passe au-dessus de l'image grâce au z-index */
.hero-content {
    position: relative;
    z-index: 2;
    max-width: 550px;
    padding: 40px 0;
}

.subtitle {
    display: block;
    font-size: 25px;
    font-weight: 700;
    color: #2563eb;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    font-family: Allianz Neo;
}

.hero-content h1 {
    font-size: 48px;
    font-weight: 700;
    color: #f86200;
    line-height: 1.2;
    margin-bottom: 20px;
    font-family: Allianz Neo;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
}

.description {
    font-size: 16px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 40px;
    font-family: Allianz Neo;
}

.cta-group {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
}

.btn-premier {
    background-color: #1e3a8a;
    color: #fff;
    text-decoration: none;
    padding: 14px 28px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.3s;
    font-family: Allianz Neo;
}

.btn-premier:hover {
    background-color: #172554;
}

.btn-secondary {
    background-color: transparent;
    color: #64748b;
    text-decoration: none;
    padding: 14px 28px;
    border: 1px solid #cbd5e1;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s;
    font-family: Allianz Neo;
}

.btn-secondary:hover {
    background-color: #f8fafc;
    color: #1e3a8a;
    border-color: #1e3a8a;
}

.security-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #64748b;
    font-size: 13px;
    font-family: Allianz Neo;
}

/* L'image prend 65% de la largeur et s'étend derrière le texte */
.hero-image-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 65%; /* Augmenté pour déborder derrière le texte */
    z-index: 1;
}

/* Le dégradé blanc permet de fondre l'image doucement sous le texte */
.hero-image-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 30%; /* Largeur de la zone de transition */
    height: 100%;
    background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 2;
    pointer-events: none;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0 !important;
}

/* --- RESPONSIVE DESIGN --- */
@media (max-width: 992px) {
    .nav-links {
        display: none;
    }

    .hero-container {
        flex-direction: column-reverse;
        padding: 0;
        min-height: auto;
    }

    .hero-image-container {
        position: relative;
        width: 100%;
        height: 400px;
    }

    .hero-image-container::before {
        display: none; /* Enlève le dégradé sur mobile */
    }

    .hero-content {
        max-width: 100%;
        padding: 40px 6%;
        text-align: center;
    }

    .cta-group {
        justify-content: center;
        flex-direction: column;
    }
    
    .security-badge {
        justify-content: center;
    }
}
/* --- EN-TÊTE CONFORME À L'IMAGE --- */

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; /* Aligne le lien du côté droit sur la ligne du titre */
    margin-bottom: 40px;
    width: 100%;
}

.header-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* La petite ligne orange au-dessus du sous-titre */
.orange-line {
    width: 30px;
    height: 3px;
    background-color: #fab600; /* Orange vif de l'image */
    margin-bottom: 12px;
}

.subtitle {
    color: #007ab3; /* Gris texte neutre */
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 14px;
    font-family: Allianz Neo;
}

.title {
    font-size: 32px;
    font-weight: 700;
    color: #1a12ff;
    letter-spacing: -0.5px;
    font-family: Allianz Neo;
}

/* Le texte mentionnant les particuliers */
.section-description {
    color: #13a0d3; /* Gris plus clair et élégant comme sur la photo */
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
    font-family: Allianz Neo;
}

/* Style du lien "En savoir plus" */
.card-link {
    text-decoration: none;    /* ENLÈVE LE SOULIGNEMENT */
    color: #0056b3;           /* Mettez ici votre bleu spécifique */
    font-size: 14px;
    font-weight: 600;         /* Rend le texte un peu plus épais */
    display: inline-flex;
    align-items: center;
    gap: 5px;                 /* Espace entre le texte et la flèche */
    transition: color 0.2s ease;
    margin-top: auto;
    font-family: Allianz Neo;
}

/* Ajout de la flèche AUTOMATIQUEMENT après le texte */
.card-link::after {
    content: "→";             /* Le symbole de la flèche */
    font-size: 16px;
    transition: transform 0.2s ease; /* Permet d'animer la flèche */
}

/* EFFET BONUS : La flèche bouge un peu vers la droite au survol */
.card-link:hover {
    color: #003d82;           /* Le texte devient un peu plus foncé au survol */
}

.card-link:hover::after {
    transform: translateX(4px); /* Décale la flèche de 4 pixels vers la droite */
}

/* --- ADAPTATION MOBILE --- */
@media (max-width: 640px) {
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
}

/*Zone de defilement des assurances*/
.marquee-container {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding: 20px 0;
    font: -webkit-small-control;
    
}

/* Vos boutons flous */
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.25); 
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #333333; 
    border: 1px solid rgba(255, 255, 255, 0.4); 
    font-size: 2.5rem;
    font-family: Allianz Neo;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s ease, background-color 0.2s, transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-btn:hover:not(.disabled) {
    background-color: rgba(255, 255, 255, 0.45);
    transform: translateY(-50%) scale(1.05);
}

/* Style lorsque le bouton atteint la limite (invisible ou très estompé) */
.nav-btn.disabled {
    opacity: 0.15 !important;
    cursor: not-allowed; /* Curseur qui indique l'interdiction */
    pointer-events: none; /* Désactive les clics */
}


/* Positionnement individuel */
.prev-btn {
    left: 0;
}

.next-btn {
    right: 0;
}

/* Rendre les boutons visibles au survol du conteneur */
.marquee-container:hover .nav-btn {
    opacity: 1;
}

/* Optionnel : effet visuel au survol direct du bouton */
.nav-btn:hover {
    background-color: rgba(19, 160, 211);
    transform: translateY(-50%) scale(1.05);/*Leger grossissement pour feedback visuel*/
}

.marquee-container::-webkit-scrollbar{
    display: none;
}

/* Effet estompé premium sur les côtés gauche et droit */
.marquee-container::before,
.marquee-container::after {
    content: "";
    height: 100%;
    width: 80px;
    position: absolute;
    top: 0;
    z-index: 2;
    pointer-events: none;
}
.marquee-container::before {
    left: 0;
    background: linear-gradient(to right, #f8fafc, transparent);
}
.marquee-container::after {
    right: 0;
    background: linear-gradient(to left, #f8fafc, transparent);
}


@media (max-width: 1400px) and (min-width: 768px) {
    .container {
        padding: 32px !important;
    }
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: scrollLeft 45s linear infinite; /* 45 secondes pour un rythme calme avec 8 éléments */
}

/* Mise en pause interactive au survol */
.marquee-track:hover .marquee-track{
    animation-play-state: paused !important;
}

.insurance-grid {
    display: flex;
    gap: 24px;
    padding-right: 24px;
}

.insurance-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 30px 24px;
    display: flex;
    flex-direction: column;
    width: 290px; /* Taille optimisée pour la grille étendue */
    flex-shrink: 0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.insurance-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.04);
}

/* Styles internes inchangés pour conserver la fidélité visuelle */
.card-icon {
    background: #f1f5f9;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    margin-bottom: 24px;
}

/* Ajustement de l'image PNG Flaticon */
.flaticon-img {
    width: 32px;               /* Taille de l'icône dans le cercle */
    height: 32px;
    object-fit: contain;
}

.card-title {
    font-size: 18px;
    font-weight: 700;
    color: #1a12ff;
    margin-bottom: 12px;
    font-family: Allianz Neo;
}

.card-desc {
    font-size: 14px;
    color: #13a0d3;
    line-height: 1.5;
    margin-bottom: 20px;
    min-height: 42px;
    font-family: Allianz Neo;
}

/* Supprime le style par défaut de la liste */
.card-features {
    list-style: none;
    padding: 0;
    margin: 15px 0;
    text-align: left; /* Aligne le texte à gauche pour une lecture plus facile */
    width: 100%;      /* Prend toute la largeur de la carte */
    font-family: Allianz Neo;
}

/* Style de chaque ligne de texte */
.card-features li {
    font-size: 14px;
    color: #13a0d3;
    line-height: 1.5;
    margin-bottom: 8px;
    position: relative;
    padding-left: 25px; /* Laisse de l'espace à gauche pour mettre la coche */
    font-family: Allianz Neo;
}

/* Insertion automatique de la coche verte devant chaque phrase */
.card-features li::before {
    content: "✓";       /* Le symbole coche */
    position: absolute;
    left: 0;
    color: #5fcd8a;     /* Un beau vert pour la coche */
    font-weight: bold;
    font-size: 16px;
}

/* ANIMATION FLUIDE DE DROITE À GAUCHE */
@keyframes scrollLeft {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); /* Transition parfaitement invisible grâce à la structure miroir */
    }
}
  .cid-vsDXbJgOeq {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-color: #ffffff;
  }
  .cid-vsDXbJgOeq .item-subtitle {
    line-height: 1.2;
    color: #000000;
    font-family: Allianz Neo;
  }
  .cid-vsDXbJgOeq img,
  .cid-vsDXbJgOeq .item-img {
    width: 100%;
  }
  .cid-vsDXbJgOeq .item:focus,
  .cid-vsDXbJgOeq span:focus {
    outline: none;
  }
  .cid-vsDXbJgOeq .item {
    margin-bottom: 2rem;
  }
  @media (max-width: 575px) {
    .cid-vsDXbJgOeq .item {
      margin-bottom: 1rem;
    }
  }
  .cid-vsDXbJgOeq .item-wrapper {
    position: relative;
    border-radius: 4px;
    height: 100%;
    display: flex;
    flex-flow: column nowrap;
  }
  .cid-vsDXbJgOeq .mbr-section-title {
    color: #000000;
    font-family: Allianz Neo;
  }
  .cid-vsDXbJgOeq .mbr-text,
  .cid-vsDXbJgOeq .mbr-section-btn {
    color: #000000;
    font-family: Allianz Neo;
  }
  .cid-vsDXbJgOeq .item-title {
    color: #000000;
    text-align: center;
    font-family: Allianz Neo;
  }
  .cid-vsDXbJgOeq .content-head {
    max-width: 800px;
  }
  .cid-vsDXbJgOeq img {
    filter: grayscale(1);
  }

.cid-vsDXbJhrIt {
  background-color: #ffffff;
}
.cid-vsDXbJhrIt strong {
    color: #1a12ff;
    font-family: Allianz Neo;
}
.cid-vsDXbJhrIt .mbr-fallback-image.disabled {
  display: none;
}
.cid-vsDXbJhrIt .mbr-fallback-image {
  display: block;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.cid-vsDXbJhrIt .video-wrapper iframe {
  width: 100%;
}
.cid-vsDXbJhrIt .mbr-section-title,
.cid-vsDXbJhrIt .mbr-section-subtitle,
.cid-vsDXbJhrIt .mbr-text {
  text-align: center;
  font-family: Allianz Neo;
}
/* Conteneur principal en Flexbox */
.amt-section {
    display: flex;
    max-width: 1200px;
    width: 100%;
    gap: 80px;
    align-items: center;
    background-color: #ffffff;
    padding: 60px;
    border-radius: 8px;
}

/* Section de gauche */
.amt-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.sub-title {
    display: block;
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 20px;
    position: relative;
    color: #007ab3; /* Gris texte neutre */
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-family: Allianz Neo;
    
}

.amt-content h1 {
    line-height: 1.3;
    margin-bottom: 25px;
    font-weight: 700;
    font-size: 32px;
    color: #1a12ff;
    letter-spacing: -0.5px;
    font-family: Allianz Neo;
}

.amt-content p {
    margin-bottom: 35px;
    max-width: 450px;
    color: #13a0d3; /* Gris plus clair et élégant comme sur la photo */
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    font-family: Allianz Neo;
}

/* Bouton bleu */
.btn-amt {
    display: inline-flex;
    align-items: center;
    background-color: #1e3a8a;
    color: #ffffff;
    text-decoration: none;
    padding: 14px 28px;
    border-radius: 25px;
    font-size: 15px;
    font-weight: 600;
    transition: background-color 0.3s ease;
    font-family: Allianz Neo;
}

.btn-amt i {
    margin-left: 10px;
    font-size: 12px;
    font-family: Allianz Neo;
}

.btn-amt:hover {
    background-color: #172554;
}

/* Section de droite (Grille 2x2) */
.amt-features {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.feature-item {
    display: flex;
    flex-direction: column;
}

/* Style des icônes */
.icon-wrapper {
    font-size: 24px;
    color: #0056b3;
    margin-bottom: 15px;
}

.feature-item h3 {
    font-size: 18px;
    color: #fab600;
    margin-bottom: 8px;
    font-weight: 600;
    font-family: Allianz Neo;
}

.feature-item p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    font-family: Allianz Neo;
}

/* Styles internes inchangés pour conserver la fidélité visuelle */
.card-icon {
    background: #f1f5f9;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    margin-bottom: 24px;
}

/* Ajustement de l'image PNG Flaticon */
.flaticon-img {
    width: 32px;               /* Taille de l'icône dans le cercle */
    height: 32px;
    object-fit: contain;
}


/* --- Partie Gauche (Contenu) --- */
.amt-js-animated .amt-content {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.amt-js-animated .amt-content.active {
    opacity: 1;
    transform: translateX(0);
}

/* --- Partie Droite (Les 4 blocs en cascade) --- */
.amt-js-animated .feature-item {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.amt-js-animated .feature-item.active {
    opacity: 1;
    transform: translateY(0);
}

/* Les délais de la cascade (stagger) */
.amt-js-animated .feature-item.active:nth-child(1) { transition-delay: 0.1s; }
.amt-js-animated .feature-item.active:nth-child(2) { transition-delay: 0.25s; }
.amt-js-animated .feature-item.active:nth-child(3) { transition-delay: 0.4s; }
.amt-js-animated .feature-item.active:nth-child(4) { transition-delay: 0.55s; }

/* Adaptabilité pour les écrans mobiles */
@media (max-width: 900px) {
    .amt-section {
        flex-direction: column;
        gap: 50px;
        padding: 40px 20px;
    }
    
    .amt-features {
        grid-template-columns: 1fr;
        gap: 30px;
        width: 100%;
    }
}

.header-container1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #eaeaea;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.header-container1 strong {
    margin: 0;
    font-size: 20px;
    color: #007ab3;
    font-family: Allianz Neo;
}
.toggle-btn {
    background: none;
    border: none;
    color: #fab600;
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: underline;
    font-family: Allianz Neo;
}
.toggle-btn:hover {
    color: #fab600;
}
.toggle-btn1 {
    background: none;
    border: none;
    color: #fab600;
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: underline;
    font-family: Allianz Neo;
}
.toggle-btn1:hover {
    color: #fab600;
}
table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 0.95rem;
    table-layout: fixed; /*Repartit equitablement l'espace disponible*/
    font-family: Allianz Neo;
}
th, td {
    padding: 12px 15px;
    border-bottom: 1px solid #eaeaea;
    word-wrap: break-word;
    font-family: Allianz Neo;
}
th {
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    color: #555;
    background-color: #fafafa;
    font-family: Allianz Neo;
}
.row-title {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.85rem;
    color: #444;
    width: 25%;
    font-family: Allianz Neo;
}
/* Style pour l'animation de masquage */
.table-wrapper {
    overflow: hidden;
    transition: max-height 0.4s ease-out;
    
}
.table-wrapper.hidden {
    max-height: 0;
}


.container1 {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
    padding-top: 4.5rem;
}

.section-badge {
    font-weight: 700;
    letter-spacing: 1px;
    color: #007ab3;
    text-transform: uppercase;
    margin-bottom: 2px;
    font-family: Allianz Neo;
}

.section-title {
    font-size: 36px;
    font-weight: 800;
    color: #1a12ff;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-family: Allianz Neo;
}

.section-subtitle {
    font-size: 14px;
    color: #666;
    max-width: 750px;
    margin: 0 auto 60px auto;
    line-height: 1.6;
    font-family: Allianz Neo;
}

.section-subtitle strong {
    color: #fab600;
    font-family: Allianz Neo;
}

/* Grille */
.cards-grid1 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    align-items: stretch;
}

/* --- Cartes d'Assurance --- */
.insurance-card1 {
    background-color: #f1f3f4;
    border-radius: 16px;
    padding: 35px 25px 25px 25px;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    border: 1px solid #e0e0e0;
    font-family: Allianz Neo;
    
    /* ÉTAT INITIAL POUR L'ANIMATION AU SCROLL */
    opacity: 0;
    transform: translateY(40px);
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.8s ease;
}

/* Enveloppe pour isoler le contenu du haut avant le bouton */
.card-body-wrap {
    margin-bottom: 30px;
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 35px;
}

.brand-info h3 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    line-height: 1.2;
    font-family: Allianz Neo;
}

.brand-info .provider {
    font-size: 16px;
    color: #666;
}

.circle-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.split-red-grey {
    background: linear-gradient(135deg, #1e3a8a 50%, #b0bec5 50%);
}

/* Prix */
.price-section {
    margin-bottom: 35px;
}

.price-label {
    font-size: 23px;
    font-weight: 700;
    color: #333;
    display: block;
    margin-bottom: 5px;
    font-family: Allianz Neo;
}

.price-value {
    font-size: 48px;
    font-weight: 800;
    color: #1e1e1e;
    line-height: 1;
    font-family: Allianz Neo;
}

.price-period {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    margin-left: 5px;
    font-family: Allianz Neo;
}

/* Pied de carte */
.card-footer1 {
    border-top: 1px solid #dcdcdc;
    padding-top: 15px;
}

.footer-title {
    font-size: 23px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
    font-family: Allianz Neo;
}

.footer-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    font-family: Allianz Neo;
}

.status-icons {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

.text-red { 
    color: #1e3a8a;
    margin-bottom: 1rem;
    font-family: Allianz Neo; 
}
.text-red .status-icons {
    background-color: #1e3a8a;
    color: #f1f3f4;
}

/* --- Boutons d'Action Cliquables --- */
.btn1-action {
    display: block;
    width: 100%;
    padding: 14px;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: Allianz Neo;
}

.btn1-action:hover {
    transform: translateY(-2px);
}

/* Bouton pour cartes grises */
.btn1-grey {
    background-color: #1e1e1e;
    color: #ffffff;
}

.btn1-grey:hover {
    background-color: #333333;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

/* Bouton pour carte rouge (Featured) */
.btn-white {
    background-color: #ffffff;
    color: #1e3a8a;
    font-family: Allianz Neo;
}

.btn-white:hover {
    background-color: #f5f5f5;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* --- Carte Vedette Spécifique --- */
.insurance-card1.featured {
    background-color: #1e3a8a;
    color: #ffffff;
    border: none;
    box-shadow: 0 4px 10px rgba(229, 57, 53, 0.1);
}

.insurance-card1.featured .brand-info h3,
.insurance-card1.featured .brand-info .provider,
.insurance-card1.featured .price-label,
.insurance-card1.featured .price-value,
.insurance-card1.featured .price-period,
.insurance-card1.featured .footer-title {
    color: #ffffff;
}

.insurance-card1.featured .card-footer1 {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.white-box {
    background-color: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.inner-square {
    width: 20px;
    height: 20px;
    border: 3px solid #1e3a8a;
    border-radius: 4px;
}

.favorite-star {
    position: absolute;
    top: -12px;
    right: 25px;
    background-color: #fab600;
    color: #333;
    width: 26px;
    height: 26px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 10;
}

.text-white { 
    color: #ffffff;
    margin-bottom: 1rem; 
    font-family: Allianz Neo;
    font-family: Allianz Neo;
}
.text-white .status-icons {
    background-color: #ffffff;
    color: #1e3a8a;
}

/* --- ÉTAT ACTIVÉ PAR LE JAVASCRIPT --- */
.insurance-card1.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 768px) {
    .section-title { font-size: 28px; font-family: Allianz Neo;}
    .cards-grid1 { grid-template-columns: 1fr; }
}
/* --- 📱 STYLE PAR DÉFAUT : CONFIGURATION MOBILE D'ABORD (Mobile First) --- */
.assurance-section {
  font-family: Allianz Neo, -apple-system;
  margin: 20px;
  background-color: var(--bg-section);
  border-radius: 16px;
  overflow: hidden;
  /* L'affichage en bloc force l'image tout en haut et le texte tout en bas */
  display: block; 
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

/* Image sur Mobile : 100% nette, complète et au-dessus */
.assurance-image-container {
  width: 100%;
  height: 260px;
  position: relative;
  /* Pas de mask-image ici -> l'image est totalement nette */
}

.assurance-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Texte sur Mobile : se place naturellement juste en dessous */
.assurance-content {
  width: 100%;
  padding: 30px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: Allianz Neo;
}

/* Composants textuels et bouton */
.assurance-subtitle-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
  font-family: Allianz Neo;
}

.yellow-line {
    width: 30px;
    height: 3px;
    background-color: #fab600; /* Orange vif de l'image */
    display: inline-block;
}

.assurance-subtitle {
    font-size: 25px;
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    margin-bottom: 20px;
    position: relative;
    color: #007ab3; /* Gris texte neutre */
    letter-spacing: 0.5px;
    font-family: Allianz Neo;
}

.assurance-title {
    line-height: 1.25;
    margin: 0 0 16px 0;
    line-height: 1.3;
    margin-bottom: 25px;
    font-weight: 700;
    font-size: 32px;
    color: #1a12ff;
    letter-spacing: -0.5px;
    font-family: Allianz Neo;
}

.assurance-text {
    margin: 0 0 24px 0;
    margin-bottom: 35px;
    max-width: 450px;
    color: #13a0d3; /* Gris plus clair et élégant comme sur la photo */
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    font-family: Allianz Neo;
}

.assurance-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #1e3a8a;
  color: #ffffff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 25px;
  transition: background-color 0.3s ease;
  font-family: Allianz Neo;
}

.assurance-btn:hover {
    background-color: #172554;
}


.btn-arrow {
  width: 16px;
  height: 16px;
}

.desktop-only {
  display: none; /* Masqué sur mobile */
}

/* Style du bouton/lien "Voir plus" */
.assurance-view-more {
    color: #f2a115; /* Utilise la même couleur que votre yellow-line */
    text-decoration: none;
    font-weight: 600;
    margin-left: 8px;
    font-size: 0.95rem;
    transition: color 0.3s ease;
    cursor: pointer;
    display: inline-block;
}

.assurance-view-more:hover {
    color: #0d233a; /* Devient bleu marine au survol */
}

/* Conteneur rétractable (masqué par défaut) */
.assurance-expandable-container {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}

/* Classe ajoutée par JavaScript pour ouvrir le bloc */
.assurance-expandable-container.open {
    opacity: 1;
}

.assurance-expandable-inner {
    padding: 10px 0 20px 0;
}

/* Style de la liste des étapes */
.assurance-steps-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 12px;
    font-family: Allianz Neo;
}

.assurance-steps-list li {
    font-size: 0.95rem;
    color: #6c757d; /* Même couleur grise que vos paragraphes */
    margin-bottom: 8px;
    line-height: 1.5;
    font-family: Allianz Neo;
}

/* Note d'urgence téléphonique */
.assurance-emergency-note {
    font-size: 0.95rem;
    color: #0d233a;
    background-color: #f8f9fa;
    padding: 12px;
    border-left: 3px solid #f2a115;
    border-radius: 4px;
    margin-bottom: 15px;
}

/* --- 💻 🛠️ MODE ORDINATEUR (Écrans supérieurs à 768px) --- */
@media (min-width: 769px) {
  .assurance-section {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    max-w: 1000px;
    margin: 40px auto;
  }

  /* L'image passe à gauche et prend la moitié de l'espace */
  .assurance-image-container {
    width: 50%;
    height: auto;
    min-height: 380px;
    
    /* 🌟 L'effet de dégradé progressif s'active UNIQUEMENT sur ordinateur */
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 65%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to right, rgba(0,0,0,1) 65%, rgba(0,0,0,0) 100%);
  }

  /* Le texte passe à droite et s'imbrique légèrement sur le dégradé */
  .assurance-content {
    width: 50%;
    padding: 50px 50px 50px 20px;
    margin-left: -40px; /* Glisse subtilement sur la zone transparente */
    z-index: 2;
  }

  .assurance-title {
    font-size: 28px;
    font-family: Allianz Neo;
  }

  .assurance-text {
    max-w: 380px;
  }

  .desktop-only {
    display: inline; /* Réactive le saut de ligne propre sur ordinateur */
  }
}
.cid-vsDXbJh405 {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #ffffff;
}
.cid-vsDXbJh405 .mbr-fallback-image.disabled {
  display: none;
}
.cid-vsDXbJh405 .item-wrapper {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.cid-vsDXbJh405 .mbr-fallback-image {
  display: block;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.cid-vsDXbJh405 .mbr-iconfont {
  display: inline-flex;
  font-size: 2rem;
  color: var(--primary-color, #d70081);
  width: 80px;
  justify-content: center;
  align-items: center;
  background: #ffd7ef;
  height: 80px;
  border-radius: 50%;
}
.cid-vsDXbJh405 .card-title,
.cid-vsDXbJh405 .iconfont-wrapper{
  color: var(--primary-color, #d70081);
  text-align: center;
  font-family: Allianz Neo;
}
.cid-vsDXbJh405 .card-text {
  color: #000000;
  text-align: center;
  font-family: Allianz Neo;
}
.cid-vsDXbJh405 .content-head {
  max-width: 800px;
  font-family: Allianz Neo;
}
.cid-vsDXbJh405 .mbr-section-title {
  color: #000000;
  font-family: Allianz Neo;
}

.card-title {
    font-size: 20px;
    font-family: Allianz Neo;
}    
.cid-vsDXbJhQcx {
  background-color: #ffffff;
}
.cid-vsDXbJhQcx .mbr-fallback-image.disabled {
  display: none;
}
.cid-vsDXbJhQcx .mbr-fallback-image {
  display: block;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
@media (max-width: 991px) {
  .cid-vsDXbJhQcx .image-wrapper {
    margin-bottom: 2rem;
  }
}
.cid-vsDXbJhQcx .row {
  flex-direction: row-reverse;
}
.cid-vsDXbJhQcx .row {
  align-items: center;
}
@media (max-width: 991px) {
  .cid-vsDXbJhQcx .image-wrapper {
    padding: 1rem;
  }
}
@media (min-width: 992px) {
  .cid-vsDXbJhQcx .text-wrapper {
    padding: 0 2rem;
  }
}
.cid-vsDXbJhQcx .mbr-section-title {
  color: #2563eb;
  font-family: Allianz Neo;
}
.cid-vsDXbJhQcx .mbr-text,
.cid-vsDXbJhQcx .mbr-section-btn {
  color: #13a0d3;
  font-size: 1.4rem;
  font-family: Allianz Neo;
}
.cid-vsDXbJhGFu {
  overflow: hidden;
  background-image: url("../Images/Neolife.jpg");
}

.text-redirect-link {
    color: #ffffff; /* Couleur du texte en blanc */
    font-size: 24px; /* Taille du texte */
    font-weight: bold; /* Texte en gras */
    text-decoration: none; /* Supprime le soulignement par défaut */
    background-color: rgba(0, 0, 0, 0.6); /* Fond noir semi-transparent pour la lisibilité */
    padding: 15px 30px; /* Espace autour du texte */
    border-radius: 5px; /* Bords légèrement arrondis */
    transition: all 0.3s ease; /* Effet de transition fluide */
    font-family: Allianz Neo;
}

.text-redirect-link:hover {
    background-color: rgba(0, 0, 0, 0.8); /* Fond plus sombre au survol */
    color: #528d96; /* Change la couleur au survol avec le bleu de votre charte à la ligne 1575 */
    scale: 1.05; /* Légère animation de zoom */
}
        /* Styles globaux inspirés de l'image */
        .temoin {
            font-family: Allianz Neo;
            background-color: #f8f9fa;
            color: #333;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
        }

        .testimonials-section {
            text-align: center;
            max-width: 700px;
            width: 100%;
            padding: 20px;
            font-family: Allianz Neo;
        }

        h2 {
            line-height: 1.3;
            margin-bottom: 25px;
            font-weight: 700;
            font-size: 32px;
            color: #1a12ff;
            letter-spacing: -0.5px;
            text-transform: uppercase;
            font-family: Allianz Neo;
        }

        .subtitle {
            font-size: 0.8rem;
            color: #13a0d3;
            margin-bottom: 40px;
            font-family: Allianz Neo;
        }

        /* Conteneur principal de la carte d'avis */
        .testimonial-container {
            background: #ffffff;
            border-radius: 16px;
            padding: 40px 35px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            min-height: 280px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: relative;
            overflow: hidden;
        }

        /* Effet de transition global sur le contenu interne */
        .testimonial-content {
            opacity: 0;
            transform: translateY(15px);
            transition: opacity 0.4s ease, transform 0.4s ease;
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
        }

        .testimonial-content.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* Style de la photo du client */
        .client-avatar {
            width: 85px;
            height: 85px;
            border-radius: 50%;
            object-fit: cover;
            border: 3px solid #eef2f3;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            margin-bottom: 15px;
        }

        /* Étoiles de notation */
        .stars {
            color: #f1c40f;
            font-size: 1.2rem;
            margin-bottom: 15px;
        }

        /* Texte du témoignage */
        .testimonial-text {
            font-size: 1.15rem;
            font-style: italic;
            line-height: 1.7;
            color: #13a0d3;
            margin: 0 0 20px 0;
        }

        /* Nom du client */
        .client-name {
            font-weight: 700;
            color: #2c3e50;
            font-size: 1.1rem;
        }

        /* Boutons de navigation épurés */
        .nav-buttons {
            margin-top: 25px;
            display: flex;
            justify-content: center;
            gap: 12px;
        }

        .btn {
            background: #ffffff;
            border: 1px solid #ddd;
            padding: 10px 20px;
            border-radius: 30px;
            cursor: pointer;
            font-weight: 600;
            color: #555;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
            transition: all 0.2s ease;
        }

        .btn:hover {
            background: #2c3e50;
            color: #fff;
            border-color: #2c3e50;
        }

        .btn2 {
            background: #ffffff;
            border: 1px solid #ddd;
            padding: 10px 20px;
            border-radius: 30px;
            cursor: pointer;
            font-weight: 600;
            font-family: Allianz Neo;
            color: #555;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
            transition: all 0.2s ease;
        }

        .btn2:hover {
            background: #2c3e50;
            color: #fff;
            border-color: #2c3e50;
        }        
        
    /* --- SECTION 1 : PARTENAIRES DEFILANTS --- */
        .partners-section {
            background-color: #ffffff;
            padding: 40px 20px;
            text-align: left;
            max-width: 1200px;
            margin: 0 auto;
            overflow: hidden;
        }

        .partners-section h6 {
            color: #1a12ff;
            text-transform: uppercase;
            font-weight: 700;
            font-size: 32px;
            letter-spacing: 1px;
            margin-bottom: 10px;
            display: flex;
            flex-direction: column;  
            font-family: Allianz Neo;         
        }

        .partners-section h6::before {
            content: "";
            display: inline-block;
            width: 30px;
            height: 3px;
            background-color: #fab600;
            margin-right: 8px;
            margin-bottom: 12px;
        }

        .partners-section h2 {
            color: #13a0d3;
            font-size: 0.8rem;
            margin-bottom: 30px;
            font-weight: 600;
            font-family: Allianz Neo;
        }

        /* Conteneur du slider */
        /* Assure que le rail contient tous les logos sur une seule ligne */
        .slider {
            width: 100%;
            overflow: hidden;
            position: relative;
            padding: 20px 0;
        }

        /* Le rail qui contient tous les logos alignés */
        .slider-track {
            display: flex;
            align-items: center;
            /* 250px (largeur d'un slide) * 14 (total des logos originaux + clones) = 3500px */
            width: calc(250px * 14); 
            /* Animation de défilement */
            animation: scroll 30s linear infinite;
        }

        .slider-track:hover {
            animation-play-state: paused; /* S'arrête proprement au survol de la souris */
        }

        /* Chaque bloc de logo individuel */
        .slide {
            width: 250px;
            flex-shrink: 0; /* Empêche absolument le logo de rétrécir ou de se déformer */
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0 25px;
        }

        /* Gestion de vos images */
        .slide img {
            max-width: 160px;
            max-height: 65px;
            width: auto;
            height: auto;
            object-fit: contain;
            filter: grayscale(100%); /* Rend les logos gris harmonieux */
            opacity: 0.6;
            transition: all 0.3s ease;
        }

        .slide img:hover {
            filter: grayscale(0%);
            opacity: 1;
        }

        /* ANIMATION MISE À JOUR : On recule de la moitié exacte de la largeur totale (7 logos) */
        @keyframes scroll {
            0% {
                transform: translateX(0);
            }
            100% {
                transform: translateX(calc(-250px * 7)); /* -1750px */
            }
        }
.cid-vsDXbJiEol {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: rgb(19, 160, 211);
}
.cid-vsDXbJiEol .mbr-overlay {
  background-color: #ffffff;
  opacity: 0.4;
}
.cid-vsDXbJiEol form .mbr-section-btn {
  text-align: center;
  width: 100%;
}
.cid-vsDXbJiEol form .mbr-section-btn .btn {
  display: inline-flex;
}

.form-group {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

/* Style de base pour vos entrées (ajustez selon votre design) */
.form-group input, .form-group textarea {
    border: 2px solid transparent; /* Ou votre bordure de base */
    transition: border-color 0.3s ease;
    font-family: Allianz Neo;
}

/* Classe d'erreur qui sera ajoutée en JavaScript */
.invalid-input {
    border: 2px solid #ff3838 !important;
    background-color: #fff5f5; /* Optionnel : léger fond teinté rouge */
}

.error-message {
    color: #ff3838;
    font-size: 0.85rem;
    margin-top: 5px;
    padding-left: 10px;
    text-align: left;
    display: none; /* Masqué par défaut */
}
@media (max-width: 991px) {
  .cid-vsDXbJiEol form .mbr-section-btn .btn {
    width: 100%;
    font-family: Allianz Neo;
  }
}
.cid-vsDXbJiEol .content-head {
  max-width: 800px;
}
/* --- SECTION HERO (Bannière Bleue) --- */
.Bannière-section {
    background: linear-gradient(135deg, #0d3b66 0%, #00284d 100%);
    color: #ffffff;
    padding: 20px 15px;
    position: relative;
    overflow: hidden;
}

.Bannière-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.Bannière-content {
    max-width: 650px;
}

.Bannière-tagline {
    font-size: 32px;
    letter-spacing: 2px;
    color: #f4d35e;
    font-weight: 600;
    display: block;
    margin-bottom: 15px;
    font-family: Allianz Neo;
}
.contact-item
.Bannière-content h1 {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
    font-family: Allianz Neo;
}

.Bannière-content p {
    font-size: 1.1rem;
    color: #e0e6ed;
    margin-bottom: 35px;
    font-family: Allianz Neo;
}

/* Boutons d'action */
.Bannière-buttons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.btn1 {
    padding: 14px 28px;
    border-radius: 30px;
    font-weight: 600;
    font-family: Allianz Neo;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn1-primary {
    background-color: #f4d35e;
    color: #0d3b66;
}

.btn1-primary:hover {
    background-color: #eeae3b;
    transform: translateY(-2px);
}

.btn1-secondary {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
}

.btn1-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

/* Badge de certification à droite */
/* Importation de la police pour l'effet écriture manuscrite */
@import url('https://googleapis.com');

/* Style appliqué uniquement au texte du slogan AMT */
.amt-text {
    display: flex;
    flex-direction: column;
    color: #ffffff;
    
    /* Application de la police manuscrite de l'image */
    font-family: Allianz Neo;
    
    /* Ajustements pour donner l'effet écriture humaine */
    font-size: 2rem;
  
    line-height: 1.1;
    letter-spacing: 0.5px;
    
    /* Légère inclinaison naturelle du bloc de texte */
    transform: rotate(-1deg);
}

.amt-text .amt-line-1 {
    font-size: 0.9em;
    font-family: Allianz Neo;
}

.amt-text .amt-line-2 {
    font-size: 0.9em;
    white-space: nowrap;
    font-family: Allianz Neo;
}

/* Ligne contenant "protégé" et son soulignement */
.amt-text .amt-line-3 {
    position: relative;
    display: inline-block;
    width: fit-content;
    padding-bottom: 4px;
}

/* Trait jaune dynamique sous le mot "protégé" */
.amt-line {
    position: absolute;
    bottom: 0;
    left: 2px;
    width: 105%;
    height: 4px;
    background-color: #f7d117;
    border-radius: 5px;
    transform: rotate(-1.5deg); /* Accentue l'effet asymétrique fait main */
}
.amt-section {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
    box-sizing: border-box;
}

/* Alignement interne du bouclier et du texte */
.amt-container {
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 500px;
}

/* Taille adaptative du bouclier */
.amt-shield {
    width: 75px;
    height: 75px;
    flex-shrink: 0;
}
.yellow-line2 {
    width: 30px;
    height: 3px;
    margin-bottom: 12px;
    background-color: #fab600; /* Orange vif de l'image */
    display: inline-block;
}

/* Responsive : empilement sur mobile si l'espace est trop restreint */
@media (max-width: 480px) {
    .amt-container {
        gap: 15px;
    }
    .amt-text {
        font-size: 1.8rem;
        font-family: Allianz Neo;
    }
    .amt-text .amt-line-1,
    .amt-text .amt-line-2 {
        font-size: 1.6rem;
        font-family: Allianz Neo;
    }
}

/* Responsivité Mobile / Tablette */
@media (max-width: 992px) {
    .Bannière-container {
        flex-direction: column;
    }
    .Bannière-buttons {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .Bannière-content h1 {
        font-size: 2rem;
        font-family: Allianz Neo;
    }
}
        .site-footer {
            background-color: #ffffff;
            color: var(--text-dark);
            padding: 30px 8% 20px 8%;
            border-top: 1px solid #e2e8f0;
            position: relative;
        }

        .footer-container {
            display: grid;
            grid-template-columns: 1.2fr 0.8fr 1fr 1fr;
            gap: 40px;
            max-width: 1400px;
            margin: 0 auto;
        }

        .logo-container .brand-tagline {
            font-size: 0.9rem;
            color: var(--text-muted);
            line-height: 1.5;
            font-style: italic;
            font-family: Allianz Neo;
        }

        .footer-column h3 {
            font-size: 0.95rem;
            font-weight: 600;
            color: var(--text-dark);
            margin: 0 0 20px 0;
            font-family: Allianz Neo;
        }

        .footer-links-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .footer-links-list li {
            margin-bottom: 12px;
        }

        .footer-links-list a {
            color: var(--text-muted);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.2s ease;
            font-family: Allianz Neo;
        }

        .footer-links-list a:hover {
            color: var(--primary-blue);
        }

        /* Section Contact sans dépendance d'icônes externes */
        .contact-info {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }
.section-title
        .contact-item {
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: 0.9rem;
            color: var(--text-muted);
            font-family: Allianz Neo;
        }
        .contact-text {
            font-family: Allianz Neo;
        }
        .contact-item .wa {
            color: var(--primary-blue);
            font-weight: bold;
            font-size: 1.2rem;
            width: 16px;
            font-family: Allianz Neo;
        }

        .social-section p {
            font-size: 0.9rem;
            color: var(--text-muted);
            margin: 0 0 15px 0;
            line-height: 1.4;
            font-family: Allianz Neo;
        }

        /* Style des icônes Socicon */
        .site-footer .social-row {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 10px;
        }
        .site-footer .social-row .soc-item {
          margin: 8px;
        }
        .site-footer .social-row .soc-item a:hover .mbr-iconfont,
        .site-footer .social-row .soc-item a:focus .mbr-iconfont {
          background-color: #f7f7f7;
          transform: translateY(-2px);
          opacity: 0.9;
        }
        .site-footer .social-row .soc-item a .mbr-iconfont {
          width: 50px;
          height: 50px;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 100%;
          font-size: 32px;
          background-color: #f7f7f7;
          color: var(--primary-color, #393193);
          transition: transform 0.2s ease, opacity 0.2s ease;
        }
        
        .footer-bottom {
            background-color: #0d3b66 ; /* Le bleu de amt de l'image */
            
            /* 🟢 FORCE LA PLEINE LARGEUR DE GAUCHE À DROITE */
            width: 100vw;              /* Prend 100% de la largeur de la fenêtre */
            position: relative;
            left: 50%;
            right: 50%;
            margin-left: -50vw;
            margin-right: -50vw;
            
            /* Gestion de l'espace interne et de l'alignement */
            padding: 20px 5%;          
            display: flex;
            justify-content: space-between; 
            align-items: center;
            flex-wrap: wrap;           
            box-sizing: border-box;    /* Évite l'apparition d'une barre de défilement horizontale */
        }

        /* Style du texte de Copyright */
        .footer-bottom .copyright {
            color: #ffffff;
            font-size: 14px;
            font-family: Allianz Neo;
            font-weight: 500;
        }

        /* Conteneur des liens Mentions et Confidentialité */
        .footer-bottom .legal-links {
            display: flex;
            gap: 25px;                 
        }

        /* Style des liens légaux */
        .footer-bottom .legal-links a {
            color: #ffffff;
            text-decoration: none;     
            font-size: 14px;
            font-family: Allianz Neo;
            font-weight: 500;
            transition: opacity 0.2s ease;
        }

        .footer-bottom .legal-links a:hover {
            opacity: 0.8;
            text-decoration: underline; 
        }

        .scroll-top-btn {
            position: absolute;
            right: 3%;
            bottom: 100px;
            width: 40px;
            height: 40px;
            background-color: blue;
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
            font-weight: bold;
            font-family: Allianz Neo;
        }

        @media (max-width: 968px) {
            .footer-container {
                grid-template-columns: 1fr 1fr;
                gap: 30px;
            }
        }
        @media (max-width: 576px) {
            .footer-container {
                grid-template-columns: 1fr;
            }
            .footer-bottom {
                flex-direction: column;   
                text-align: center;       
                padding: 30px 15px;
            }

            .footer-bottom .legal-links {
                justify-content: center;  
                gap: 20px;
            }
            .scroll-top-btn {
                position: static;
                margin-top: 15px;
            }
        }
        /* Conteneur principal */
        .wa-widget {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 9999;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
        }

        /* ========================================================
           NOUVEL EFFET : ANIMATION DE SORTIE (EXPANSION)
        ======================================================== */
        .wa-box {
            width: 327px;
            background: white;
            border-radius: 10px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.2);
            margin-bottom: 15px;
            overflow: hidden;
            position: fixed;
            bottom: 80px;
            
            /* Préparation de l'animation */
            opacity: 0;
            visibility: hidden;
            transform: scale(0) translate(50px, 50px); /* Part du bouton vert */
            transform-origin: bottom right; /* Point d'ancrage en bas à droite */
            transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1), 
            opacity 0.3s ease, 
            visibility 0.4s;
        }

        /* État ouvert : la boîte grandit et apparaît */
        .wa-box.show {
            opacity: 1;
            visibility: visible;
            transform: scale(1) translate(0, 0);
        }

        .wa-header {
            background-color: #075e54;
            color: white;
            padding: 20px;
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .wa-header h3 { margin: 0 0 5px 0; font-size: 18px; font-family: Allianz Neo;}
        .wa-header p { margin: 0; font-size: 13px; opacity: 0.9; font-family: Allianz Neo;}

        .wa-body {
            padding: 20px;
            background-color: #f0f0f0;
        }

        .wa-subtext {
            font-size: 12px;
            color: #666;
            margin-bottom: 15px;
            font-family: Allianz Neo;
        }

        /* Agents */
        .wa-agent {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: white;
            padding: 12px;
            border-radius: 8px;
            text-decoration: none;
            color: black;
            margin-bottom: 10px;
            border-left: 4px solid #25d366;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            transition: background 0.2s;
        }

        .wa-agent:hover { background: #f9f9f9; }

        .wa-agent.away {
            border-left-color: #ccc;
            opacity: 0.6;
            pointer-events: none;
        }

        .wa-profile { display: flex; align-items: center; gap: 10px; }
        .wa-avatar { width: 40px; height: 40px; border-radius: 50%; background: #ccc; }
        .wa-name { font-weight: bold; font-size: 14px; font-family: Allianz Neo;}
        .wa-status { font-size: 11px; color: #888; }

        /* Conteneur de la zone du bouton inférieur */
        .wa-footer-trigger {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        /* ========================================================
           NOUVEAU : MESSAGE D'AIDE DEVANT LE LOGO
        ======================================================== */
        .wa-text-badge {
            background-color: white;
            color: black;
            font-size: 13px;
            font-weight: bold;
            font-family: Allianz Neo;
            padding: 10px 16px;
            border-radius: 20px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.15);
            white-space: nowrap;
            transition: opacity 0.3s ease, transform 0.3s ease;
            pointer-events: none; /* Évite de bloquer le clic vers le bouton */
        }

        /* Masque le texte d'aide lorsque le widget est ouvert */
        .wa-widget.open .wa-text-badge {
            opacity: 0;
            transform: translateX(10px);
        }

        /* Bouton flottant */
        .wa-button {
            width: 60px;
            height: 60px;
            background-color: #25d366;
            border-radius: 50%;
            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
            cursor: pointer;
            border: none;
            position: relative;
            outline: none;
            transition: transform 0.2s ease;
        }

        .wa-button:hover {
            transform: scale(1.05);
        }

        .wa-text-badge{
            display: flex;
            flex-direction: column;
            gap: 10px;
            font-family: Allianz Neo;
        }

        .wa-icon {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 30px;
            height: 30px;
            margin-top: -15px;
            margin-left: -15px;
            fill: white;
            transition: transform 0.4s ease, opacity 0.4s ease;
        }

        /* États des icônes du bouton */
        .wa-icon-whatsapp { opacity: 1; transform: rotate(0deg); }
        .wa-icon-close { opacity: 0; transform: rotate(-180deg); }

        .wa-button.open .wa-icon-whatsapp { opacity: 0; transform: rotate(180deg); }
        .wa-button.open .wa-icon-close { opacity: 1; transform: rotate(0deg); }        

    
