 :root {
     --bnp-green-dark: #004d3b;
     --bnp-green-main: #00995a;
     --bnp-green-light: #e6fff4;
     --bnp-green-medium: #00b388;
     --bnp-white: #fff;
 }

 body {
     font-family: 'Poppins', sans-serif;
     background: #f5f5f5;
 }

 .hero-bnp {
     background: linear-gradient(90deg, #00995a 0%, #00b388 100%);
     color: #fff;
     padding: 4rem 0 3rem 0;
     text-align: center;
 }

 .hero-bnp h1 {
     font-size: 2.7rem;
     font-weight: 700;
 }

 .hero-bnp p {
     color: #e0f7ef;
     font-size: 1.2rem;
     margin-bottom: 2.5rem;
 }

 .btn-bnp-main {
     background: #fff;
     color: #00995a;
     border-radius: 2rem;
     padding: 14px 40px;
     font-size: 1.2rem;
     font-weight: 600;
     border: none;
     transition: background 0.2s, color 0.2s;
 }

 .btn-bnp-main:hover {
     background: #00995a;
     color: #fff;
 }

 .quicklinks-bnp {
     background: #fff;
     padding: 2.5rem 0;
 }

 .quicklink-card-bnp {
     background: #f5f5f5;
     border-radius: 1rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
     padding: 2rem 1.2rem;
     text-align: center;
     transition: box-shadow 0.2s;
     border: none;
 }

 .quicklink-card-bnp:hover {
     box-shadow: 0 6px 24px rgba(0, 153, 90, 0.10);
 }

 .quicklink-icon-bnp {
     font-size: 2.2rem;
     color: #00995a;
     margin-bottom: 1rem;
 }

 .actualites-bnp {
     background: #f5f5f5;
     padding: 2.5rem 0;
 }

 .actu-card-bnp {
     background: #fff;
     border-radius: 1rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
     padding: 1.5rem 1.2rem;
     text-align: left;
     border: none;
 }

 .services-bnp {
     background: #fff;
     padding: 2.5rem 0;
 }

 .service-card-bnp {
     background: #f5f5f5;
     border-radius: 1rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
     padding: 2rem 1.2rem;
     text-align: center;
     border: none;
 }

 .service-icon-bnp {
     font-size: 2.2rem;
     color: #00995a;
     margin-bottom: 1rem;
 }

 .bnp-footer {
     background: #fff;
     border-top: 1px solid #e5e7eb;
     color: #888;
     font-size: 0.95rem;
     padding: 1.5rem 0;
     text-align: center;
     margin-top: 3rem;
 }

 .bnp-hero {
     background: linear-gradient(90deg, #00995a 0%, #00b388 100%);
     color: #fff;
     padding: 4rem 0 3rem 0;
     text-align: center;
     border-radius: 0 0 2rem 2rem;
     margin-bottom: 2.5rem;
 }

 .bnp-hero .fa-piggy-bank {
     font-size: 3rem;
     color: #fff;
     margin-bottom: 1rem;
 }

 .bnp-btn-main {
     background: #fff;
     color: #00995a;
     border-radius: 2rem;
     padding: 14px 40px;
     font-size: 1.2rem;
     font-weight: 600;
     border: none;
     transition: background 0.2s, color 0.2s;
     margin-top: 1.5rem;
 }

 .bnp-btn-main:hover {
     background: #00995a;
     color: #fff;
 }

 .bnp-solutions .card {
     border: none;
     border-radius: 1rem;
     box-shadow: 0 2px 12px rgba(0, 153, 90, 0.07);
     transition: box-shadow 0.2s, transform 0.2s;
 }

 .bnp-solutions .card:hover {
     box-shadow: 0 8px 32px rgba(0, 153, 90, 0.13);
     transform: translateY(-4px) scale(1.02);
 }

 .bnp-solutions .fa-solid {
     color: #00995a;
     font-size: 2.2rem;
     margin-bottom: 1rem;
 }

 .bnp-why .fa-solid {
     color: #00995a;
     font-size: 2rem;
     margin-bottom: 0.5rem;
 }

 .bnp-why .card {
     border: none;
     background: #f5f5f5;
     border-radius: 1rem;
     text-align: center;
     padding: 2rem 1rem;
     height: 100%;
 }

 /* Toutes les cards de la section Pourquoi Agencia Financiera Globalont la même hauteur */
 .bnp-why-card {
     min-height: 170px;
     height: 100%;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .bnp-why .row>[class*="col-"] {
     display: flex;
 }

 .bnp-testimonials {
     background: #f5f5f5;
     border-radius: 1rem;
     padding: 2.5rem 0;
     margin: 2.5rem 0;
 }

 .bnp-testimonials .fa-quote-left {
     color: #00995a;
     font-size: 2rem;
     margin-bottom: 1rem;
 }

 /* Cards témoignages */
 .testimonial-carousel .item {
     display: flex;
     align-items: stretch;
     justify-content: center;
     height: 100%;
     padding: 0.5rem 0.2rem;
 }

 .testimonial-card {
     background: #fff;
     border-radius: 1.2rem;
     box-shadow: 0 2px 12px rgba(0, 153, 90, 0.07);
     padding: 2rem 1.3rem 1.5rem 1.3rem;
     min-height: 270px;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: flex-start;
     border: 1.5px solid #e0f7ef;
     transition: box-shadow 0.2s, transform 0.2s;
     max-width: 340px;
     height: auto;
 }

 .testimonial-card:hover {
     box-shadow: 0 8px 32px rgba(0, 153, 90, 0.13);
     transform: translateY(-4px) scale(1.02);
 }

 .testimonial-avatar {
     width: 100px;
     height: 100px;
     object-fit: cover;
     border-radius: 50%;
     border: 2px solid #00995a;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
     margin-bottom: 1rem;
 }

 .avatar-container {
     width: 100px;
     height: 100px;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 1rem;
 }

 .testimonial-card h4 {
     font-size: 1.1rem;
     font-weight: 700;
     margin-bottom: 0.2rem;
     color: #00995a;
 }

 .testimonial-card p.text-muted {
     font-size: 0.98rem;
     margin-bottom: 0.5rem;
     color: #888;
 }

 .testimonial-card p.mb-0 {
     font-size: 0.97rem;
     margin-bottom: 0.2rem;
     color: #222;
     opacity: 0.85;
 }

 .testimonial-card .mt-3 {
     margin-top: 0.7rem;
 }

 @media (max-width: 700px) {
     .testimonial-card {
         padding: 1.2rem 0.7rem 1rem 0.7rem;
         min-height: 220px;
         max-width: 98vw;
     }

     .testimonial-avatar {
         width: 54px;
         height: 54px;
     }

     .avatar-container {
         width: 54px;
         height: 54px;
     }
 }

 .bnp-cards-section {
     margin-bottom: 3rem;
     padding-left: 1.2rem;
     padding-right: 1.2rem;
 }

 .bnp-cards-title {
     font-size: 2.1rem;
     font-weight: 700;
     text-align: center;
     margin-bottom: 2.5rem;
 }

 .bnp-cards-title .highlight {
     color: #00995a;
 }

 .bnp-cards-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
     gap: 1rem;
     max-width: 950px;
     margin: 0 auto;
 }

 .bnp-card {
     border-radius: 1.2rem;
     padding: 2rem 1.3rem 1.5rem 1.3rem;
     box-shadow: 0 2px 12px rgba(0, 153, 90, 0.07);
     display: flex;
     flex-direction: column;
     min-height: 230px;
     position: relative;
     background: var(--bnp-white);
     border: 1.5px solid #e0f7ef;
     transition: box-shadow 0.2s, transform 0.2s;
 }

 .bnp-card.bg-main {
     background: var(--bnp-green-main);
     color: #fff;
     border: none;
 }

 .bnp-card.bg-light {
     background: var(--bnp-green-light);
     border: none;
 }

 .bnp-card.bg-dark {
     background: var(--bnp-green-dark);
     color: #fff;
     border: none;
 }

 .bnp-card.bg-medium {
     background: var(--bnp-green-medium);
     color: #fff;
     border: none;
 }

 .bnp-card .bnp-icon {
     font-size: 1.5rem;
     margin-bottom: 0.8rem;
     color: var(--bnp-green-main);
     background: var(--bnp-green-light);
     border-radius: 50%;
     width: 48px;
     height: 48px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .bnp-card.bg-main .bnp-icon,
 .bnp-card.bg-dark .bnp-icon,
 .bnp-card.bg-medium .bnp-icon {
     background: rgba(255, 255, 255, 0.12);
     color: #fff;
 }

 .bnp-card h5 {
     font-size: 1rem;
     font-weight: 700;
     margin-bottom: 0.3rem;
 }

 .bnp-card p {
     font-size: 0.92rem;
     margin-bottom: 0.3rem;
     opacity: 0.85;
 }

 .bnp-card .bnp-arrow {
     position: absolute;
     right: 1.3rem;
     bottom: 1.3rem;
     font-size: 1rem;
     color: inherit;
     opacity: 0.7;
     transition: transform 0.2s;
 }

 .bnp-card:hover {
     box-shadow: 0 8px 32px rgba(0, 153, 90, 0.13);
     transform: translateY(-4px) scale(1.02);
 }

 .bnp-card:hover .bnp-arrow {
     transform: translateX(6px);
     opacity: 1;
 }

 @media (max-width: 700px) {
     .bnp-cards-title {
         font-size: 1.1rem;
     }

     .bnp-card {
         padding: 1.2rem 0.7rem 1rem 0.7rem;
     }

     .bnp-cards-section {
         padding-left: 0.5rem;
         padding-right: 0.5rem;
     }

     .bnp-cards-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 0.6rem;
     }

     .bnp-card h5 {
         font-size: 0.95rem;
     }

     .bnp-card p {
         font-size: 0.88rem;
     }

     .bnp-card .bnp-icon {
         font-size: 1.2rem;
     }
 }

 .bnp-hero {
     background: linear-gradient(120deg, #004d3b 0%, #00995a 100%);
     color: #fff;
     padding: 4.5rem 0 3.5rem 0;
     text-align: center;
     border-radius: 0;
     margin-bottom: 2.5rem;
     position: relative;
     overflow: hidden;
 }

 .bnp-hero-title {
     font-size: 2.5rem;
     font-weight: 700;
     margin-bottom: 2.2rem;
     line-height: 1.15;
 }

 .bnp-hero-advantages {
     display: flex;
     justify-content: center;
     gap: 2.5rem;
     margin-bottom: 2.5rem;
     flex-wrap: wrap;
 }

 .bnp-hero-advantage {
     display: flex;
     flex-direction: column;
     align-items: center;
     min-width: 180px;
     max-width: 220px;
 }

 .bnp-hero-advantage i {
     font-size: 2.1rem;
     margin-bottom: 0.7rem;
     color: #fff;
     background: rgba(0, 255, 180, 0.10);
     border-radius: 50%;
     width: 48px;
     height: 48px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .bnp-hero-advantage .adv-title {
     font-weight: 600;
     font-size: 1.05rem;
     margin-bottom: 0.2rem;
 }

 .bnp-hero-advantage .adv-desc {
     font-size: 0.97rem;
     opacity: 0.85;
 }

 .bnp-hero-btns {
     display: flex;
     justify-content: center;
     gap: 1.2rem;
     margin-top: 1.5rem;
     flex-wrap: wrap;
 }

 .bnp-btn-dark {
     background: #003c2c;
     color: #fff;
     border-radius: 2rem;
     padding: 12px 32px;
     font-size: 1.1rem;
     font-weight: 600;
     border: none;
     transition: background 0.2s, color 0.2s;
 }

 .bnp-btn-dark:hover {
     background: #00995a;
     color: #fff;
 }

 .bnp-btn-green {
     background: #00b388;
     color: #fff;
     border-radius: 2rem;
     padding: 12px 32px;
     font-size: 1.1rem;
     font-weight: 600;
     border: none;
     transition: background 0.2s, color 0.2s;
 }

 .bnp-btn-green:hover {
     background: #00995a;
     color: #fff;
 }

 @media (max-width: 900px) {
     .bnp-hero-advantages {
         gap: 1.2rem;
     }

     .bnp-hero-title {
         font-size: 2rem;
     }
 }

 @media (max-width: 600px) {
     .bnp-hero {
         padding: 2.5rem 0 1.5rem 0;
     }

     .bnp-hero-title {
         font-size: 1.3rem;
     }

     .bnp-hero-advantages {
         flex-direction: column;
         align-items: center;
         gap: 1.2rem;
     }

     .bnp-hero-advantage {
         min-width: 0;
         max-width: 100%;
     }

     .bnp-hero-btns {
         flex-direction: column;
         gap: 0.7rem;
     }
 }

 .bnp-why-steps {
     background: linear-gradient(120deg, #004d3b 0%, #00995a 100%);
     color: #fff;
     border-radius: 0rem;
     padding: 3rem 1.5rem 2.5rem 1.5rem;
     margin-bottom: 3rem;
     max-width: 1100px;
     margin-left: auto;
     margin-right: auto;
     box-shadow: 0 4px 32px rgba(0, 77, 59, 0.08);
     text-align: center;
 }

 .bnp-why-steps-title {
     font-size: 2rem;
     font-weight: 700;
     margin-bottom: 0.5rem;
     line-height: 1.15;
 }

 .bnp-why-steps-title .highlight {
     color: #00e676;
     font-weight: 700;
 }

 .bnp-why-steps-sub {
     font-size: 1.4rem;
     color: #00e676;
     font-weight: 600;
     margin-bottom: 2.2rem;
 }

 .bnp-why-steps-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 2.2rem;
     margin-bottom: 2.2rem;
 }

 .bnp-why-step {
     background: rgba(0, 0, 0, 0.07);
     border-radius: 1rem;
     padding: 1.2rem 1rem 1rem 1rem;
     min-width: 150px;
     max-width: 180px;
     flex: 1 1 150px;
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 .bnp-why-step .bnp-step-icon {
     font-size: 2.2rem;
     margin-bottom: 0.7rem;
     background: #003c2c;
     color: #00e676;
     border-radius: 0.7rem;
     width: 54px;
     height: 54px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .bnp-why-step .bnp-step-title {
     font-size: 0.92rem;
     font-weight: 700;
     margin-bottom: 0.2rem;
     color: #00e676;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .bnp-why-step .bnp-step-desc {
     font-size: 0.85rem;
     color: #fff;
     opacity: 0.92;
 }

 .bnp-why-info {
     background: #00e676;
     color: #003c2c;
     border-radius: 1rem;
     display: flex;
     align-items: center;
     gap: 1.2rem;
     padding: 1.2rem 1.5rem;
     margin: 2rem auto 2.2rem auto;
     max-width: 600px;
     text-align: left;
     box-shadow: 0 2px 12px rgba(0, 230, 118, 0.08);
 }

 .bnp-why-info .bnp-info-icon {
     font-size: 2rem;
     background: #fff;
     color: #00b388;
     border-radius: 0.7rem;
     width: 48px;
     height: 48px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .bnp-why-info .bnp-info-content {
     flex: 1;
 }

 .bnp-why-info .bnp-info-content strong {
     color: #003c2c;
     font-weight: 700;
 }

 .bnp-why-btns {
     display: flex;
     justify-content: center;
     gap: 1.2rem;
     margin-top: 1.5rem;
     flex-wrap: wrap;
 }

 @media (max-width: 900px) {
     .bnp-why-steps-grid {
         gap: 1.1rem;
     }

     .bnp-why-steps-title {
         font-size: 1.3rem;
     }

     .bnp-why-steps-sub {
         font-size: 1.1rem;
     }
 }

 @media (max-width: 600px) {
     .bnp-why-steps {
         padding: 1.2rem 0.3rem 1.2rem 0.3rem;
         border-radius: 1.2rem;
     }

     .bnp-why-steps-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 0.7rem;
     }

     .bnp-why-step {
         min-width: 0;
         max-width: 100%;
     }

     .bnp-why-info {
         flex-direction: column;
         align-items: flex-start;
         gap: 0.7rem;
         padding: 1rem;
     }

     .bnp-why-btns {
         flex-direction: column;
         gap: 0.7rem;
     }
 }

 /* Nouvelles styles pour la section Nos valeurs */
 .valeurs-section {
     background-color: #f5f5f5;
     /* Fond léger pour l'encart */
     padding: 2rem 0;
 }

 .valeurs-section .row {
     gap: 2rem;
     /* Espacement entre les colonnes */
 }

 .valeurs-section .col-12.col-md-6 {
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .valeurs-section .bg-bnp-dark {
     background-color: #004d3b;
     /* Fond vert foncé pour l'encart */
     border-radius: 1rem;
     padding: 2rem;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
 }

 .valeurs-section .bg-bnp-light {
     background-color: #e6fff4;
     /* Fond vert clair pour l'encart */
     border-radius: 1rem;
     padding: 1.5rem;
     margin-top: 1.5rem;
 }

 .valeurs-section .text-bnp-green {
     color: #00b388;
     /* Couleur verte claire pour les mots-clés */
 }

 .valeurs-section .text-bnp-dark {
     color: #fff;
     /* Couleur du texte sur fond vert foncé */
 }

 .valeurs-section .btn-bnp-green {
     background-color: #00b388;
     color: #fff;
     border: none;
     padding: 10px 25px;
     font-size: 1rem;
     font-weight: 600;
     border-radius: 2rem;
     transition: background-color 0.2s;
 }

 .valeurs-section .btn-bnp-green:hover {
     background-color: #00995a;
 }

 .valeurs-section .text-bnp-green.fw-semibold {
     color: #00b388;
 }

 .valeurs-section .text-bnp-green.fw-semibold:hover {
     color: #00995a;
 }

 .valeurs-section .text-bnp-dark.fw-semibold {
     color: #fff;
 }

 .valeurs-section .text-bnp-dark.fw-semibold:hover {
     color: #00995a;
 }

 .valeurs-section .text-bnp-dark.fw-semibold.text-decoration-underline {
     text-decoration: underline;
 }

 .valeurs-section .text-bnp-dark.fw-semibold.text-decoration-underline:hover {
     text-decoration: none;
 }

 .valeurs-section .text-white {
     color: #fff;
 }

 .valeurs-section .text-white.fw-semibold {
     color: #fff;
 }

 .valeurs-section .text-white.fw-semibold:hover {
     color: #00995a;
 }

 .valeurs-section .text-white.fw-semibold.text-decoration-underline {
     text-decoration: underline;
 }

 .valeurs-section .text-white.fw-semibold.text-decoration-underline:hover {
     text-decoration: none;
 }

 .valeurs-section .text-bnp-dark.mb-1 {
     margin-bottom: 0.5rem;
 }

 .valeurs-section .text-bnp-dark.mb-4 {
     margin-bottom: 1.5rem;
 }

 .valeurs-section .text-bnp-dark.mb-3 {
     margin-bottom: 1rem;
 }

 .valeurs-section .text-bnp-dark.mb-1.me-3 {
     margin-right: 0.75rem;
 }

 .valeurs-section .text-bnp-dark.mb-4.me-3 {
     margin-right: 0.75rem;
 }

 .valeurs-section .text-bnp-dark.mb-3.me-3 {
     margin-right: 0.75rem;
 }

 .valeurs-section .text-bnp-dark.mb-1.me-3.fs-3 {
     font-size: 1.5rem;
 }

 .valeurs-section .text-bnp-dark.mb-4.me-3.fs-3 {
     font-size: 1.5rem;
 }

 .valeurs-section .text-bnp-dark.mb-3.me-3.fs-3 {
     font-size: 1.5rem;
 }

 .valeurs-section .text-bnp-dark.mb-1.me-3.fa-solid {
     color: #00b388;
 }

 .valeurs-section .text-bnp-dark.mb-4.me-3.fa-solid {
     color: #00b388;
 }

 .valeurs-section .text-bnp-dark.mb-3.me-3.fa-solid {
     color: #00b388;
 }

 .valeurs-section .text-bnp-dark.mb-1.me-3.fa-solid.fa-user-tie {
     color: #00b388;
 }

 .valeurs-section .text-bnp-dark.mb-4.me-3.fa-solid.fa-sun {
     color: #00b388;
 }

 .valeurs-section .text-bnp-dark.mb-3.me-3.fa-solid.fa-location-dot {
     color: #00b388;
 }

 .valeurs-section .img-fluid.rounded-4 {
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
 }

 /* Nouvelles styles pour la section Le meilleur de votre banque */
 .banque-section {
     background-color: #f5f5f5;
     /* Fond léger pour l'encart */
     padding: 2rem 0;
 }

 .banque-section .bg-bnp-dark {
     background-color: #004d3b;
     /* Fond vert foncé pour l'encart */
     border-radius: 1rem;
     padding: 2rem;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
 }

 .banque-section .text-bnp-light {
     color: #e0f7ef;
     /* Couleur du texte sur fond vert clair */
 }