/* AAVIE custom overrides (loaded after assets/css/style.css) */

/* Slightly larger paragraph text for the "Une équipe jeune et dynamique" block */
.aavie-disc-lg {
  font-size: 1.0625rem; /* ~17px */
  line-height: 1.7;
}

/*
  Keep the title on a single line on desktop.
  On small screens we allow wrapping to avoid overflow.
*/
@media (min-width: 992px) {
  .aavie-title-nowrap {
    white-space: nowrap;
  }
}

/* Reduce the size of the span inside the h1 title */
.aavie-title-span {
  font-size: 0.79em; /* 75% of the parent h1 size */
}

/* Reduce the image-to-title gap on mobile for the "Qui sommes-nous" section */
@media only screen and (max-width: 991px) {
  .aavie-about-compact .mt_md--100 {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 767px) {
  .aavie-about-compact .mt_sm--100 {
    margin-top: 30px;
  }
}

/* Styled description text for the réassureurs section */
.aavie-reassureurs-desc {
  font-size: 25px; /* ~17px */
  line-height: 1.5;
  color: #666;
  font-weight: 400;
  max-width: 1000px;
  margin: 0 auto;
}

/* Reduced size and justified text for testimonial paragraph */
/* Using more specific selector to override style.css */
.testimonails-area-seven .right-content-area-main-wrapper p.disc.aavie-testimonial-text {
  font-size: 26px !important;
  text-align: justify !important;
  max-width: 800px;
  line-height: 1.6 !important;
}

@media only screen and (max-width: 1199px) {
  .testimonails-area-seven .right-content-area-main-wrapper p.disc.aavie-testimonial-text {
    font-size: 14px !important; /* Reduced from 24px on mobile */
  }
}

/* Center testimonial images */
.testimonails-area-seven .thumbnail-testimoanis {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Équipe dirigeante: réduire line-height général */
.rts-equipe-dirigeante .description-text {
  line-height: 1.5 !important;
}

.rts-equipe-dirigeante .intro-text,
.rts-equipe-dirigeante .separator-text,
.rts-equipe-dirigeante .final-caption {
  line-height: 1.4 !important;
}

/* Fix header styling issues on pages with .page body class */
body.page .header-one {
  position: relative;
  background: #fff;
}

body.page .header-one.sticky {
  position: fixed !important;
  top: 0;
  z-index: 999;
  width: 100%;
  background: #fff;
  box-shadow: 0px 7px 18px rgba(24, 16, 16, 0.0509803922);
}

body.page .header-one .header-main {
  background: #fff;
}

body.page .header-one .nav-area ul li.main-nav > a {
  color: #1C2539;
}

body.page .header-one .nav-area ul li.main-nav:hover > a,
body.page .header-one .nav-area ul li.main-nav.active > a {
  color: #0F6CB8;
}

/* Keep main menu on a single line for internal pages (desktop) */
@media (min-width: 1200px) {
  body.page .header-one .nav-area ul {
    display: flex;
    flex-wrap: nowrap;
    gap: 35px;
  }

  body.page .header-one .nav-area ul li.main-nav > a {
    white-space: nowrap;
    font-size: 15px;
  }
}

/* Header seven: keep logo + menu on one line on small laptops */
@media (min-width: 1200px) and (max-width: 1366px) {
  .header-seven .header-transparent-main-wrapper {
    gap: 16px;
  }

  .header-seven .logo img {
    max-width: 85px;
  }

  .header-seven .nav-area ul {
    display: flex;
    flex-wrap: nowrap;
    gap: 28px;
  }

  .header-seven .nav-area ul li.main-nav {
    padding: 30px 0;
  }

  .header-seven .nav-area ul li.main-nav > a {
    white-space: nowrap;
    font-size: 13px;
  }

  .header-seven .has-dropdown::after,
  .header-seven .has-dropdown.mega-menu > a::after {
    right: -18px;
  }
}

/* Banner seven: reduce hero sizing slightly on 1366px to avoid wrapping */
@media (max-width: 1366px) and (min-width: 1200px) {
  .banner-seven-inner-content .title {
    font-size: 120px;
  }

  .banner-seven-inner-content .title span {
    padding-left: 250px;
  }

  .banner-seven-inner-content p.disc {
    padding-left: 260px;
    max-width: 85%;
  }

  .banner-seven-inner-content .rts-btn {
    margin-left: 260px;
  }
}

/* Dropdown menus: force vertical stacking in header nav */
.nav-area ul.submenu,
.nav-area .rts-mega-menu ul,
.nav-area .rts-mega-menu .mega-menu-item,
.nav-area .rts-mega-menu .mega-menu-item.with-list {
  display: block !important;
  flex-direction: column;
}

.nav-area ul.submenu li,
.nav-area .rts-mega-menu ul li,
.nav-area .rts-mega-menu .mega-menu-item li {
  display: block !important;
  width: 100%;
}

/* CTA newsletter title: reduce size across pages */
.rts-cta-area-inner .cta-inner-content-inner-page .title {
  font-size: 34px;
  line-height: 1.2;
}

/* CTA newsletter subtitle: slightly larger */
.rts-cta-area-inner .cta-inner-content-inner-page .left-side-content span {
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .rts-cta-area-inner .cta-inner-content-inner-page .title {
    font-size: 26px;
  }
}

/* Responsive: reduce text sizes on mobile for better readability */
@media only screen and (max-width: 767px) {
  /* Page notre-entreprise: paragraphe de présentation */
  .content-area p.disc[style*="font-size: 20px"] {
    font-size: 16px !important;
  }

  /* Page conseil-administration: textes d'introduction */
  .rts-conseil-administration p.disc[style*="font-size: 21px"] {
    font-size: 17px !important;
  }

  .rts-conseil-administration p.disc[style*="font-size: 20px"] {
    font-size: 16px !important;
  }

  /* Page conseil-administration: réduire taille des titres de poste */
  .single-team-area-one-start .inner-content .text-top span {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  /* Page indicateurs-chiffres-cles: réduire texte d'intro */
  .rts-indicateurs-chiffres-cles p.disc[style*="font-size: 25px"] {
    font-size: 19px !important;
  }

  /* "Découvrez nos solutions modernes et efficaces..." */
  .cta-style-two-area h3.title {
    font-size: 20px !important;
    line-height: 1.4;
  }

  /* "Faire de l'assurance vie autrement" */
  .about-6-inner-content-content .title-style-one .title[style*="font-size: 36px"] {
    font-size: 24px !important;
  }

  /* "Nos produits pour vous sécuriser" */
  .title-style-one.center .title {
    font-size: 26px !important;
  }

  /* "Pour vous accompagner et vous servir" */
  .about-6-inner-content-content h3.title[style*="font-size: 32px"] {
    font-size: 22px !important;
  }

  /* Réassureurs and banques descriptions */
  .aavie-reassureurs-desc {
    font-size: 15px !important;
    line-height: 1.5;
  }

  /* "Découvrez nos articles pour rester informé..." */
  .title-style-two.center .title {
    font-size: 24px !important;
  }

  /* Page produit-details: réduire tailles sur mobile */
  .banner-inner-service-details-1 .title-area-left h1.title[style*="font-size: 70px"] {
    font-size: 36px !important;
  }

  .slogan-wrapper p.slogan[style*="font-size: 1.9rem"] {
    font-size: 17px !important;
  }

  .service-details-left-area p.disc[style*="font-size: 18px"] {
    font-size: 17px !important;
  }

  .presentation-content[style*="font-size: 16px"] {
    font-size: 17px !important;
  }

  .presentation-content * {
    font-size: 17px !important;
  }

  /* Page privacy-policy: réduire tailles sur mobile */
  .privacy-policy-wrapper p.disc[style*="font-size: 19px"] {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .privacy-policy-wrapper ul.disc[style*="font-size: 20px"] {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  .privacy-policy-wrapper ul.disc[style*="font-size: 20px"] li {
    margin-bottom: 8px;
  }
}

/* Actualités cards - equal height and width */
/* ONLY apply to actualites-evenements page */
.rts-section-gap .blog-single-post-listing {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.rts-section-gap .blog-single-post-listing:hover {
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
  transform: translateY(-5px);
}

.rts-section-gap .blog-single-post-listing .thumbnail {
  width: 100%;
  height: 280px;
  overflow: hidden;
}

.rts-section-gap .blog-single-post-listing .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.rts-section-gap .blog-single-post-listing:hover .thumbnail img {
  transform: scale(1.05);
}

.rts-section-gap .blog-single-post-listing .blog-listing-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px;
  background: #fff;
}

.rts-section-gap .blog-single-post-listing .blog-listing-content .user-info {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 15px;
}

.rts-section-gap .blog-single-post-listing .blog-listing-content .blog-title .title {
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 15px;
  min-height: 56px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rts-section-gap .blog-single-post-listing .blog-listing-content .disc {
  flex: 1;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media only screen and (max-width: 991px) {
  .rts-section-gap .blog-single-post-listing .thumbnail {
    height: 200px;
  }
  
  .rts-section-gap .blog-single-post-listing .blog-listing-content {
    padding: 20px;
  }
}

/* Auditeurs Qualité Section Styles */
.auditeurs-section-reduced {
  padding-top: 0 !important;
  margin-top: -80px !important;
  padding-bottom: 80px;
}

.auditeurs-content {
  padding: 20px 0;
}

.auditeurs-content .disc {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
  color: #5D666F;
}

.auditeurs-content .disc:first-child {
  font-weight: 600;
  font-size: 18px;
  color: #1C2539;
  margin-bottom: 25px;
}

/* Carousel Styles */
.auditeurs-image-carousel {
  text-align: center;
  position: relative;
}

.carousel-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: transform 0.3s ease;
  width: 100%;
  height: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-wrapper:hover {
  transform: scale(1.02);
}

.carousel-wrapper:hover .image-overlay {
  opacity: 1;
}

.carousel-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
  display: block;
}

.image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  cursor: pointer;
  border-radius: 12px;
}

.image-overlay i {
  font-size: 48px;
  color: #fff;
}

.carousel-indicators {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
  position: relative;
  z-index: 5;
}

.carousel-indicators .indicator {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ddd;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-block;
}

.carousel-indicators .indicator.active {
  background-color: #0b4df5;
  width: 30px;
  border-radius: 5px;
}

/* Lightbox Modal */
.lightbox-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  align-items: center;
  justify-content: center;
}

.lightbox-image {
  max-width: 90%;
  max-height: 90vh;
  object-fit: contain;
  animation: zoomIn 0.3s ease;
}

@keyframes zoomIn {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.lightbox-close {
  position: absolute;
  top: 30px;
  right: 40px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  transition: color 0.3s ease;
  z-index: 10000;
}

.lightbox-close:hover {
  color: #ddd;
}

.lightbox-nav {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 20px;
  z-index: 10000;
}

.lightbox-nav button {
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  padding: 12px 18px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 18px;
  transition: all 0.3s ease;
}

.lightbox-nav button:hover {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: #fff;
}

@media only screen and (max-width: 991px) {
  .carousel-image {
    height: 300px;
  }

  .auditeurs-content .disc {
    font-size: 15px;
  }

  .lightbox-image {
    max-width: 95%;
    max-height: 85vh;
  }
}

/* ===== Journée Mondiale de l'Enseignant Section ===== */
.enseignant-text-content {
  padding: 0;
}

.enseignant-subtitle {
  font-size: 24px;
  font-weight: 700;
  color: #1C2539;
  margin-bottom: 20px;
  line-height: 1.4;
}

.enseignant-date {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #0b4df5 0%, #0a58ca 100%);
  color: #fff;
  padding: 10px 20px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 25px;
}

.enseignant-date i {
  font-size: 16px;
}

.enseignant-paragraph {
  font-size: 16px;
  line-height: 1.8;
  color: #5D666F;
  margin-bottom: 20px;
  text-align: justify;
}

/* Slider avec navigation par flèches */
.enseignant-slider-wrapper {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}

.enseignant-slider-container {
  position: relative;
  width: 100%;
  height: 550px;
  overflow: hidden;
  cursor: pointer;
}

.enseignant-slider-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.enseignant-slider-container:hover .enseignant-slider-img {
  transform: scale(1.08);
}

.enseignant-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.enseignant-slider-container:hover .enseignant-overlay {
  opacity: 1;
}

.enseignant-overlay i {
  font-size: 60px;
  color: #fff;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

.enseignant-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 20px;
  color: #1C2539;
  transition: all 0.3s ease;
  z-index: 10;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.enseignant-nav-btn:hover {
  background: #0b4df5;
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}

.enseignant-nav-btn.prev-btn {
  left: 20px;
}

.enseignant-nav-btn.next-btn {
  right: 20px;
}

.enseignant-counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  z-index: 10;
}

@media only screen and (max-width: 991px) {
  .enseignant-subtitle {
    font-size: 20px;
  }

  .enseignant-paragraph {
    font-size: 15px;
  }

  .enseignant-slider-container {
    height: 350px;
  }

  .enseignant-nav-btn {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }

  .enseignant-nav-btn.prev-btn {
    left: 10px;
  }

  .enseignant-nav-btn.next-btn {
    right: 10px;
  }
}

/* ===== Don de Sang Section ===== */
.don-sang-section-reduced {
  padding-top: 0 !important;
  margin-top: -80px !important;
  padding-bottom: 80px;
}

.don-sang-content {
  padding: 0;
}

.don-sang-title {
  font-size: 24px;
  font-weight: 700;
  color: #1C2539;
  margin-bottom: 20px;
  line-height: 1.4;
}

.don-sang-text {
  font-size: 16px;
  line-height: 1.8;
  color: #5D666F;
  margin-bottom: 20px;
  text-align: justify;
}

/* Info Cards */
.don-sang-info-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 30px;
}

.don-sang-info-card {
  display: flex;
  gap: 15px;
  padding: 20px;
  background: linear-gradient(135deg, rgba(11, 77, 245, 0.08) 0%, rgba(10, 88, 202, 0.08) 100%);
  border-left: 4px solid #0b4df5;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.don-sang-info-card:hover {
  transform: translateY(-5px);
  background: linear-gradient(135deg, rgba(11, 77, 245, 0.15) 0%, rgba(10, 88, 202, 0.15) 100%);
  box-shadow: 0 5px 15px rgba(11, 77, 245, 0.1);
}

.info-icon {
  font-size: 32px;
  color: #0b4df5;
  min-width: 50px;
  display: flex;
  align-items: flex-start;
  padding-top: 2px;
}

.info-content {
  flex: 1;
}

.info-label {
  font-size: 14px;
  font-weight: 700;
  color: #0b4df5;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.info-text {
  font-size: 15px;
  color: #1C2539;
  font-weight: 600;
  margin-bottom: 5px;
  line-height: 1.5;
}

.info-subtext {
  font-size: 13px;
  color: #5D666F;
  line-height: 1.6;
  margin: 0;
}

/* Slider pour Don de Sang */
.don-sang-slider-wrapper {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}

.don-sang-slider-container {
  position: relative;
  width: 100%;
  height: 550px;
  overflow: hidden;
  cursor: pointer;
}

.don-sang-slider-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.don-sang-slider-container:hover .don-sang-slider-img {
  transform: scale(1.08);
}

.don-sang-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.don-sang-slider-container:hover .don-sang-overlay {
  opacity: 1;
}

.don-sang-overlay i {
  font-size: 60px;
  color: #fff;
  animation: pulse 2s infinite;
}

.don-sang-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 20px;
  color: #1C2539;
  transition: all 0.3s ease;
  z-index: 10;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.don-sang-nav-btn:hover {
  background: #0b4df5;
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}

.don-sang-prev-btn {
  left: 20px;
}

.don-sang-next-btn {
  right: 20px;
}

@media only screen and (max-width: 991px) {
  .don-sang-title {
    font-size: 20px;
  }

  .don-sang-text {
    font-size: 15px;
  }

  .don-sang-info-container {
    grid-template-columns: 1fr;
  }

  .don-sang-slider-container {
    height: 350px;
  }

  .don-sang-nav-btn {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }

  /* ===== Médiathèque Celebration Gallery ===== */
  .celebration-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .celebration-layout .gallery-row {
    display: grid;
    gap: 20px;
  }

  .celebration-layout .gallery-row.first {
    grid-template-columns: 2fr 1fr;
  }

  .celebration-layout .gallery-row.second {
    grid-template-columns: repeat(3, 1fr);
  }

  .celebration-layout .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    background: #f3f4f6;
  }

  .celebration-layout .gallery-item--large,
  .celebration-layout .gallery-item--tall,
  .celebration-layout .gallery-row.first .gallery-item {
    height: 420px;
  }

  .celebration-layout .gallery-row.second .gallery-item {
    height: 260px;
  }

  .celebration-layout .gallery-item--large .portfolio-details-slider,
  .celebration-layout .gallery-item--large .swiper,
  .celebration-layout .gallery-item--large .swiper-wrapper,
  .celebration-layout .gallery-item--large .swiper-slide {
    height: 100%;
  }

  .celebration-layout .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
  }

  .celebration-layout .gallery-item:hover img {
    transform: scale(1.05);
  }

  .celebration-layout .gallery-links {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .celebration-layout .gallery-item:hover .gallery-links {
    opacity: 1;
  }

  .celebration-layout .gallery-links .preview-link {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    color: #0b4df5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
  }

  .celebration-layout .swiper-pagination {
    position: relative;
    margin-top: 12px;
  }

  @media only screen and (max-width: 991px) {
    .celebration-layout .gallery-row.first,
    .celebration-layout .gallery-row.second {
      grid-template-columns: 1fr;
    }

    .celebration-layout .gallery-row.first .gallery-item,
    .celebration-layout .gallery-row.second .gallery-item {
      height: 280px;
    }
  }

  .don-sang-prev-btn {
    left: 10px;
  }

  .don-sang-next-btn {
    right: 10px;
  }
}

/* Images différentes pour chaque produit */
section.main-wrapper-sticky .sticky-statement.produit-entreprise:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url(../images/appoinment/produit-entrep.webp);
}

section.main-wrapper-sticky .sticky-statement.produit-particulier:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url(../images/appoinment/produit-part.webp);
}

section.main-wrapper-sticky .sticky-statement.produit-iardt:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url(../images/appoinment/prod-iardt.jpg);
}

/* ===== Newsletter Notification Styles ===== */
.newsletter-notification {
  position: fixed;
  top: 20px;
  right: 20px;
  min-width: 300px;
  max-width: 400px;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  z-index: 99999;
  opacity: 0;
  transform: translateX(400px);
  transition: all 0.3s ease;
}

.newsletter-notification.show {
  opacity: 1;
  transform: translateX(0);
}

.newsletter-notification.success {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #fff;
}

.newsletter-notification.error {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: #fff;
}

.newsletter-notification .notification-content {
  display: flex;
  align-items: center;
  gap: 15px;
}

.newsletter-notification .notification-content i {
  font-size: 24px;
}

.newsletter-notification .notification-content span {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  .newsletter-notification {
    min-width: auto;
    max-width: calc(100% - 40px);
    right: 20px;
    left: 20px;
    padding: 15px;
  }

  .newsletter-notification .notification-content span {
    font-size: 14px;
  }
}

/* Fixed sidebar for product details page */
@media only screen and (min-width: 1200px) {
  .product-sidebar {
    position: relative;
  }
  .product-sidebar-inner {
    width: 100%;
  }
}

/* Fixed sidebar for blog list page */
@media only screen and (min-width: 1200px) {
  .blog-sidebar {
    position: relative;
  }
  .blog-sidebar-inner {
    width: 100%;
  }
}

/* Fixed sidebar for blog details page */
@media only screen and (min-width: 1200px) {
  .blog-details-sidebar {
    position: relative;
  }
  .blog-details-sidebar-inner {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Cookie consent banner */
.cookie-consent {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 9999;
  width: calc(100% - 40px);
  max-width: 960px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.16);
  border-radius: 14px;
  padding: 20px 22px;
}

.cookie-consent.is-hidden {
  display: none;
}

.cookie-consent__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cookie-consent__text {
  margin: 0;
  color: #1f2937;
  font-size: 15px;
  line-height: 1.5;
}

.cookie-consent__link {
  color: var(--color-primary);
  text-decoration: underline;
  font-weight: 600;
}

.cookie-consent__link:hover {
  text-decoration: none;
}

.cookie-consent__actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
  .cookie-consent {
    left: 50%;
    bottom: 12px;
    width: calc(100% - 24px);
    padding: 16px;
  }

  .cookie-consent__content {
    flex-direction: column;
    align-items: flex-start;
  }

  .cookie-consent__text {
    font-size: 14px;
  }

  .cookie-consent__actions {
    width: 100%;
    flex-direction: column;
  }

  .cookie-consent__actions .rts-btn {
    width: 100%;
  }
}

/* Équipe dirigeante page responsive styles */
.rts-equipe-dirigeante .equipe-dirigeante-image {
  text-align: center;
  margin-bottom: 20px;
  padding: 0 15px;
}

.rts-equipe-dirigeante .equipe-dirigeante-image img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Desktop: use a wider container and keep rows full width */
@media only screen and (min-width: 992px) {
  .equipe-dirigeante-page .equipe-dirigeante-container {
    max-width: min(95vw, 1460px);
  }

  .rts-equipe-dirigeante .leader-row {
    margin-left: 0;
    margin-right: 0;
  }
  
  .rts-equipe-dirigeante .leader-row .equipe-dirigeante-image img {
    max-width: 460px;
  }
  
  .rts-equipe-dirigeante .team-member-row .equipe-dirigeante-image img {
    max-width: 360px;
  }
}

/* Desktop: keep team member rows aligned to grid */
@media only screen and (min-width: 992px) {
  .rts-equipe-dirigeante .team-member-row {
    margin-left: 0;
    margin-right: 0;
  }
}

/* Mobile: remove all margins, center everything, smaller images */
@media only screen and (max-width: 991px) {
  .rts-equipe-dirigeante .leader-row,
  .rts-equipe-dirigeante .team-member-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .rts-equipe-dirigeante .equipe-dirigeante-image {
    margin-bottom: 30px;
    margin-top: 30px;
    padding: 0;
  }

  .rts-equipe-dirigeante .equipe-dirigeante-image img {
    max-width: 280px !important;
    width: 100% !important;
  }

  .rts-equipe-dirigeante .equipe-dirigeante-content {
    text-align: left;
    padding: 0 15px;
    margin-bottom: 30px;
  }

  /* Reduce font sizes on mobile */
  .rts-equipe-dirigeante .intro-text {
    font-size: 18px !important;
  }

  .rts-equipe-dirigeante .separator-text {
    font-size: 17px !important;
  }

  .rts-equipe-dirigeante .title {
    font-size: 22px !important;
  }

  .rts-equipe-dirigeante .name-text {
    font-size: 17px !important;
  }

  .rts-equipe-dirigeante .description-text {
    font-size: 15px !important;
  }

  .rts-equipe-dirigeante .final-caption {
    font-size: 18px !important;
  }
}

/* Very small mobile screens */
@media only screen and (max-width: 576px) {
  .rts-equipe-dirigeante .equipe-dirigeante-image img {
    max-width: 250px !important;
  }
  
  .rts-equipe-dirigeante .intro-text {
    font-size: 16px !important;
  }

  .rts-equipe-dirigeante .separator-text {
    font-size: 15px !important;
  }

  .rts-equipe-dirigeante .title {
    font-size: 20px !important;
  }

  .rts-equipe-dirigeante .name-text {
    font-size: 16px !important;
  }

  .rts-equipe-dirigeante .description-text {
    font-size: 14px !important;
  }
}

/* Organigramme page responsive */
@media only screen and (max-width: 767px) {
  .organigramme-intro-text {
    font-size: 18px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .organigramme-intro-text {
    font-size: 22px !important;
  }
}
  .rts-equipe-dirigeante .intro-text {
    font-size: 20px !important;
  }

  .rts-equipe-dirigeante .separator-text {
    font-size: 19px !important;
  }

  .rts-equipe-dirigeante .title {
    font-size: 24px !important;
  }

  .rts-equipe-dirigeante .name-text {
    font-size: 18px !important;
  }

  .rts-equipe-dirigeante .description-text {
    font-size: 16px !important;
  }

/* ========================================================================
   MEDIATHEQUE - GALERIE FÊTE DU 8 MARS
   ======================================================================== */

/* En-têtes des sections événements */
.event-section-header {
  margin-top: 80px;
  padding-bottom: 0;
  overflow: hidden;
}

.event-title-content {
  margin-top: 80px;
  padding: 0 15px;
  overflow: hidden;
}

.event-title-content .bg-title {
  display: block;
  margin-bottom: 15px;
  font-size: 18px;
}

.event-title-content h1 {
  margin-bottom: 25px;
  font-size: 48px !important;
  line-height: 1.3 !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

.event-title-content p {
  font-size: 20px !important;
  line-height: 1.7 !important;
  text-align: justify;
  margin: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}


/* Carrousel dans la grande card (8 colonnes) */
.carousel-card-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.carousel-card-container {
  position: relative;
  width: 100%;
  height: 480px;
  overflow: hidden;
  border-radius: 8px;
  cursor: pointer;
}

.carousel-card-slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
  display: none;
}

.carousel-card-slide.active {
  opacity: 1;
  display: block;
}

.carousel-card-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Boutons de navigation du carrousel */
.carousel-card-prev,
.carousel-card-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  font-size: 18px;
  color: var(--color-primary);
}

.carousel-card-prev {
  left: 15px;
}

.carousel-card-next {
  right: 15px;
}

.carousel-card-prev:hover,
.carousel-card-next:hover {
  background: var(--color-primary);
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}

/* Indicateurs du carrousel */
.carousel-card-indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.carousel-card-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.carousel-card-dot.active {
  background: #fff;
  width: 30px;
  border-radius: 5px;
}

.carousel-card-dot:hover {
  background: rgba(255, 255, 255, 0.8);
}

/* Gallery cards */
.gallery-card {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.gallery-card:hover {
  transform: translateY(-5px);
}

.gallery-card-medium {
  height: 480px;
}

.gallery-card-small {
  height: 300px;
}

.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-card:hover img {
  transform: scale(1.05);
}

/* Overlay avec icône et texte */
.gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.42);
  background-image: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 5;
  pointer-events: none;
}

.gallery-card:hover .gallery-overlay,
.carousel-card-container:hover .gallery-overlay {
  opacity: 1;
}

.carousel-card-container .gallery-overlay {
  z-index: 3;
  pointer-events: none;
}

.gallery-overlay i {
  font-size: 48px;
  color: #fff;
  margin-bottom: 10px;
}

.gallery-overlay .overlay-text {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
}

/* Lightbox Modal */
.gallery-lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}

.gallery-lightbox.show {
  background: rgba(0, 0, 0, 0.95);
}

.lightbox-content-img {
  max-width: 90%;
  max-height: 90vh;
  object-fit: contain;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.gallery-lightbox.show .lightbox-content-img {
  opacity: 1;
  transform: scale(1);
}

.lightbox-close-btn {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  z-index: 10000;
  transition: color 0.3s ease;
}

.lightbox-close-btn:hover {
  color: var(--color-primary);
}

.lightbox-prev-btn,
.lightbox-next-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid #fff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  font-size: 20px;
  color: #fff;
}

.lightbox-prev-btn {
  left: 30px;
}

.lightbox-next-btn {
  right: 30px;
}

.lightbox-prev-btn:hover,
.lightbox-next-btn:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  transform: translateY(-50%) scale(1.1);
}

.lightbox-counter {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  background: rgba(0, 0, 0, 0.5);
  padding: 8px 20px;
  border-radius: 20px;
}

/* Responsive - Très petits mobiles */
@media only screen and (max-width: 480px) {
  .event-section-header {
    margin-top: 30px !important;
    padding-top: 15px !important;
  }
  
  .event-title-content {
    margin-top: 30px !important;
    padding: 0 5px !important;
  }
  
  .event-title-content .bg-title {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }
  
  .event-title-content h1 {
    font-size: 22px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  
  .event-title-content p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    overflow-wrap: break-word;
  }
  
  .carousel-card-container,
  .carousel-personnel-container,
  .gallery-card-medium {
    height: 240px !important;
  }
  
  .gallery-card-small {
    height: 180px !important;
  }
}

/* Responsive */
@media only screen and (max-width: 480px) {
  /* Très petits mobiles */
  .event-section-header {
    margin-top: 30px !important;
    padding-top: 15px !important;
  }
  
  .event-title-content {
    margin-top: 30px !important;
    padding: 0 5px !important;
  }
  
  .event-title-content .bg-title {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }
  
  .event-title-content h1 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
  }
  
  .event-title-content p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  
  .carousel-card-container,
  .gallery-card-medium {
    height: 240px !important;
  }
  
  .gallery-card-small {
    height: 180px !important;
  }
}

@media only screen and (max-width: 767px) {
  /* En-têtes sections sur mobile */
  .event-section-header {
    margin-top: 40px !important;
    padding-top: 20px !important;
  }
  
  .event-title-content {
    margin-top: 40px !important;
    padding: 0 10px !important;
  }
  
  .event-title-content .bg-title {
    font-size: 13px !important;
    margin-bottom: 8px !important;
    display: inline-block;
  }
  
  .event-title-content h1 {
    font-size: 26px !important;
    line-height: 1.4 !important;
    margin-bottom: 15px !important;
    word-break: break-word;
    padding: 0 !important;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  
  .event-title-content p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-wrap: break-word;
  }
  
  .carousel-card-container,
  .gallery-card-medium {
    height: 280px !important;
  }
  
  .gallery-card-small {
    height: 220px !important;
  }
  
  .carousel-card-prev,
  .carousel-card-next {
    width: 35px;
    height: 35px;
    font-size: 14px;
  }
  
  .carousel-card-prev {
    left: 10px;
  }
  
  .carousel-card-next {
    right: 10px;
  }
  
  .carousel-card-indicators {
    bottom: 10px;
  }
  
  .carousel-card-dot {
    width: 8px;
    height: 8px;
  }
  
  .carousel-card-dot.active {
    width: 20px;
  }
  
  .gallery-overlay i {
    font-size: 32px !important;
  }
  
  .gallery-overlay .overlay-text {
    font-size: 14px;
  }
  
  .lightbox-prev-btn,
  .lightbox-next-btn {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .lightbox-prev-btn {
    left: 15px;
  }
  
  .lightbox-next-btn {
    right: 15px;
  }
  
  .lightbox-counter {
    font-size: 14px;
    padding: 6px 15px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  /* En-têtes sections sur tablette */
  .event-section-header {
    margin-top: 60px !important;
    padding-top: 20px !important;
  }
  
  .event-title-content {
    margin-top: 50px !important;
    padding: 0 20px !important;
  }
  
  .event-title-content .bg-title {
    font-size: 16px !important;
    margin-bottom: 12px !important;
  }
  
  .event-title-content h1 {
    font-size: 38px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    word-break: break-word;
  }
  
  .event-title-content p {
    font-size: 17px !important;
    line-height: 1.65 !important;
    text-align: justify !important;
  }
  
  .carousel-card-container,
  .gallery-card-medium {
    height: 360px !important;
  }
  
  .gallery-card-small {
    height: 260px !important;
  }
}

/* ========================================================================
   MEDIATHEQUE - GALERIE FÊTE DU PERSONNEL
   Duplication des styles pour la section Personnel
   ======================================================================== */

/* Carrousel dans la grande card Personnel (8 colonnes) */
.carousel-personnel-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.carousel-personnel-container {
  position: relative;
  width: 100%;
  height: 480px;
  overflow: hidden;
  border-radius: 8px;
  cursor: pointer;
}

.carousel-personnel-slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
  display: none;
}

.carousel-personnel-slide.active {
  opacity: 1;
  display: block;
}

.carousel-personnel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Boutons de navigation du carrousel Personnel */
.carousel-personnel-prev,
.carousel-personnel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  font-size: 18px;
  color: var(--color-primary);
}

.carousel-personnel-prev {
  left: 15px;
}

.carousel-personnel-next {
  right: 15px;
}

.carousel-personnel-prev:hover,
.carousel-personnel-next:hover {
  background: var(--color-primary);
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}

/* Indicateurs du carrousel Personnel */
.carousel-personnel-indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.carousel-personnel-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.carousel-personnel-dot.active {
  background: #fff;
  width: 30px;
  border-radius: 5px;
}

.carousel-personnel-dot:hover {
  background: rgba(255, 255, 255, 0.8);
}

/* FAQ page layout fixes */
.rts-faq-page .faq-page-container {
  width: 100%;
  max-width: 1400px;
}

.rts-faq-page .faq-top-row,
.rts-faq-page .faq-grid-row {
  row-gap: 24px;
}

.rts-faq-page .faq-media-col,
.rts-faq-page .faq-accordion-col {
  padding-left: 12px;
  padding-right: 12px;
}

.rts-faq-page .faq-media-wrap {
  margin-left: 0;
  display: flex;
  justify-content: center;
}

.rts-faq-page .faq-media-wrap img {
  width: 100%;
  max-width: 420px;
  height: auto;
}

@media only screen and (max-width: 991px) {
  .rts-faq-page .faq-page-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .rts-faq-page .faq-grid-row {
    display: flex;
    flex-wrap: wrap;
  }

  .rts-faq-page .faq-grid-row .faq-col-even,
  .rts-faq-page .faq-grid-row .faq-col-odd {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .rts-faq-page .faq-page-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .rts-faq-page .faq-grid-row .faq-col-even,
  .rts-faq-page .faq-grid-row .faq-col-odd {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Responsive pour la section Personnel */
@media only screen and (max-width: 767px) {
  .carousel-personnel-container {
    height: 280px !important;
  }
  
  .carousel-personnel-prev,
  .carousel-personnel-next {
    width: 35px;
    height: 35px;
    font-size: 14px;
  }
  
  .carousel-personnel-prev {
    left: 10px;
  }
  
  .carousel-personnel-next {
    right: 10px;
  }
  
  .carousel-personnel-indicators {
    bottom: 10px;
  }
  
  .carousel-personnel-dot {
    width: 8px;
    height: 8px;
  }
  
  .carousel-personnel-dot.active {
    width: 20px;
  }
  
  .fete-personnel-section {
    margin-top: 60px !important;
  }
  
  .fete-personnel-section .section-intro h2 {
    font-size: 28px !important;
  }
  
  .fete-personnel-section .section-intro p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .carousel-personnel-container {
    height: 360px !important;
  }
  
  .fete-personnel-section .section-intro h2 {
    font-size: 36px !important;
  }
  
  .fete-personnel-section .section-intro p {
    font-size: 18px !important;
  }
}

/* =============================================================================
   Section Nos Agences - Cartes élégantes et complètes
   ============================================================================= */
.rts-agences-section {
  background: linear-gradient(135deg, #f1faf5 0%, #dff3e7 35%, #f4fbf7 100%);
  position: relative;
  padding-top: 100px;
  padding-bottom: 80px;
}

.agences-section-intro {
  font-size: 18px;
  color: #5D666F;
  line-height: 1.8;
}

.agence-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.4s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

.agence-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #127a52 0%, #1e9a68 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.agence-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.agence-card:hover::before {
  transform: scaleX(1);
}

.agence-card-header {
  padding: 30px 25px 20px;
  text-align: center;
  background: linear-gradient(135deg, rgba(18, 122, 82, 0.08) 0%, rgba(30, 154, 104, 0.08) 100%);
  position: relative;
}

.agence-icon {
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, #127a52 0%, #1e9a68 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  box-shadow: 0 6px 20px rgba(18, 122, 82, 0.3);
  transition: transform 0.3s ease;
}

.agence-card:hover .agence-icon {
  transform: scale(1.1) rotate(5deg);
}

.agence-icon i {
  font-size: 32px;
  color: #fff;
}

.agence-title {
  font-size: 22px;
  font-weight: 700;
  color: #1C2539;
  margin-bottom: 12px;
  font-family: "Red Hat Display", sans-serif;
}

.agence-badge {
  display: inline-block;
  padding: 6px 16px;
  background: linear-gradient(135deg, #127a52 0%, #1e9a68 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.agence-badge-secondary {
  background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
}

.agence-card-body {
  padding: 25px;
  flex: 1;
}

.agence-info-item {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
}

.agence-info-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.agence-info-item > i {
  font-size: 20px;
  color: #17875a;
  margin-top: 3px;
  flex-shrink: 0;
}

.info-content {
  flex: 1;
}

.info-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.info-content p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #5D666F;
}

.info-content a {
  color: #1C2539;
  text-decoration: none;
  transition: color 0.3s ease;
  font-weight: 500;
}

.info-content a:hover {
  color: #17875a;
}

.agence-card-footer {
  padding: 20px 25px;
  background: #f3faf6;
  text-align: center;
  border-top: 1px solid #e9ecef;
}

.agence-card-footer .rts-btn {
  width: 100%;
  font-size: 14px;
  padding: 12px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.3s ease;
}

.agence-card-footer .rts-btn i {
  font-size: 16px;
}

.agence-card-footer .rts-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(18, 122, 82, 0.3);
}

/* Responsive - Nos Agences */
@media only screen and (max-width: 991px) {
  .rts-agences-section {
    padding-top: 70px;
    padding-bottom: 60px;
  }

  .agence-card-header {
    padding: 25px 20px 15px;
  }

  .agence-title {
    font-size: 20px;
  }

  .agence-icon {
    width: 60px;
    height: 60px;
  }

  .agence-icon i {
    font-size: 28px;
  }

  .agence-card-body {
    padding: 20px;
  }

  .agence-info-item {
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .rts-agences-section {
    padding-top: 50px;
    padding-bottom: 40px;
  }

  .agence-title {
    font-size: 18px;
  }

  .info-content p {
    font-size: 14px;
  }

  .agence-card-footer .rts-btn {
    font-size: 13px;
    padding: 10px 16px;
  }
}
