/* ==========================================================================
   PAGE ASSURANCE EMPRUNTEUR — Design System Solutis
   Accent: #00C07F  |  Violet: #4738DE  |  Red: #EC1C24  |  Lime: #BFF574
   ========================================================================== */

:root {
  --assu-green:   #00C07F;
  --assu-violet:  #4738DE;
  --assu-red:     #EC1C24;
  --assu-lime:    #BFF574;
  --assu-text:    #282828;
  --assu-bg:      #F5F5F5; /* déjà #f5f5f5 */
  --assu-white:   #ffffff;
  --assu-border:  #D1D4FF;
  --assu-sim-bg:  #E4E6FF;
  --assu-hero-bg: #00C07F;
  --radius-lg:    24px;
  --radius-md:    20px;
}

/* ---- PAGE BASE ---- */
.assu-page {
  background: var(--assu-bg);
  color: var(--assu-text);
}
.assu-page h2 {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 48px;
  line-height: 1.15;
  color: var(--assu-text);
  margin: 0 0 56px;
}
.assu-page p,
.assu-page li {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--assu-text);
  line-height: 1.75;
}

/* Accent */
.assu-accent-green { color: var(--assu-green); }
.assu-accent-violet { color: var(--assu-violet); }

/* Buttons */
.assu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  border-radius: 50px;
  cursor: pointer;
  text-decoration: none !important;
  transition: all .25s ease;
  white-space: nowrap;
}
.assu-btn--lg  { font-size: 16px; padding: 16px 36px; }
.assu-btn--md  { font-size: 14px; padding: 14px 28px; }
.assu-btn--green  { background: var(--assu-green);  color: #fff !important; }
.assu-btn--green:hover  { background: #fff; color: var(--assu-green) !important; }
.assu-btn--violet {
  background: var(--assu-violet);
  color: #fff !important;
  border: 2px solid var(--assu-violet);
  font-size: 15px;
  font-weight: 500;
  padding: 16px 36px;
  transition: all 0.25s;
}
.assu-btn--violet:hover {
  background: #BFF574;
  color: var(--assu-violet) !important;
  border-color: #BFF574;
}

/* ============================
   HERO
   ============================ */
.assu-hero {
  background: var(--assu-hero-bg);
  position: relative;
  overflow: visible;
  padding-bottom: 80px;
}
.assu-hero__inner {
  display: grid;
  grid-template-columns: 50% 50%;
  gap: 40px;
  align-items: stretch;
  position: relative;
  min-height: 440px;
  padding: 48px 0 0;
  margin: 0 auto;
}

/* Colonne gauche */
.assu-hero__content {}
.assu-hero__title {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 52px;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 28px;
}
.assu-hero__title-top {
  display: block;
  color: var(--assu-lime);
  margin: 0;
}
.assu-hero__checks {
  list-style: none;
  padding: 0;
  margin: 0 0 36px;
}
.assu-hero__checks li {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  color: #fff !important;
  padding: 6px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.assu-hero__checks li::before {
  content: '✔';
  color: var(--assu-lime) !important;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}

/* Colonne droite : cartes */
.assu-hero__cards-col {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 12px 0;
}
.assu-hero__cards {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 300px;
}
.assu-hero__card {
  background: var(--assu-white);
  border-radius: 14px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--assu-text) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  min-height: 56px;
  line-height: 1.3;
  transition: box-shadow .2s;
  justify-content: flex-start;
}
.assu-hero__card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.assu-hero__card-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.assu-hero__card-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* Photo col : absolute dans le hero, collée au bas */
.assu-hero__photo-col {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 530px;
  overflow: visible;
  pointer-events: none;
}
.assu-hero__photo {
  display: block;
  width: 600px;
  height: auto;
  object-fit: contain;
  object-position: bottom;
  position: absolute;
  bottom: -80px;
  right: 0;
  z-index: 10;
}

/* breadcrumb → voir product-shared.css */

/* ============================
   TRUST → voir product-shared.css
   ============================ */

/* ============================
   C'EST QUOI
   ============================ */
.assu-what {
  padding: 80px 80px;
  background: var(--assu-bg);
}
.assu-what__container {
  margin: 0 auto 40px;
}
.assu-what__container h2 {
  margin: 0;
  font-size: 48px;
  font-weight: 500;
}
.assu-what__inner {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: start;
}
.assu-what__left p {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 20px;
  color: var(--assu-text);
}
.assu-what__right {
  border-radius: 20px;
  overflow: hidden;
}
.assu-what__visual {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 420px;
}
.assu-what__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}
.assu-what__visual-overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 20, 60, 0.70);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 44px;
  gap: 20px;
}
.assu-what__visual-label {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--assu-lime) !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.4;
}
.assu-what__visual-overlay p {
  color: rgba(255,255,255,0.90) !important;
  font-size: 15px;
  text-align: center;
  margin: 0;
  line-height: 1.7;
}
.assu-what__visual-overlay .assu-btn--green {
  margin-top: 8px;
}

/* Témoignages → voir product-shared.css */

/* ============================
   CTA BANNER
   ============================ */
/* CTA Banner → voir product-shared.css */

/* ============================
   ACTUALITÉS
   ============================ */
.assu-news {
  padding: 80px 80px;
  background: var(--assu-bg);
}
.assu-news__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.assu-news__inner h2 {
  text-align: center;
  margin-bottom: 48px;
}
.assu-news__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 40px;
}
.assu-news__card {
  background: var(--assu-white);
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none !important;
  color: var(--assu-text) !important;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s;
}
.assu-news__card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.10);
}
.assu-news__card-img-wrap {
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
.assu-news__card-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.assu-news__card:hover .assu-news__card-img {
  transform: scale(1.04);
}
.assu-news__card-body {
  padding: 20px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.assu-news__card-body h5 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--assu-text);
  margin: 0;
  line-height: 1.4;
}
.assu-news__card-body p {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
  line-height: 1.6;
}
.assu-news__read {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: var(--assu-violet);
  letter-spacing: 0.5px;
  margin-top: auto;
}
.assu-news__more {
  text-align: center;
  margin-top: 8px;
}


/* ============================
   RESPONSIVE
   ============================ */
@media (max-width: 1200px) {
  .assu-hero__inner { grid-template-columns: 55% 45%; padding: 48px 40px 0; }
  .assu-hero__photo-col { display: none !important; }
  .assu-what__inner { grid-template-columns: 1fr; }
  .assu-testimonials__inner { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 768px) {
  .assu-hero__inner { grid-template-columns: 1fr; padding: 40px 20px 0; }
  .assu-hero__cards-col { display: none; }
  /* assu-trust → product-shared.css */
  .assu-what { padding: 48px 20px; }
  .assu-what__inner { gap: 32px; }
  .assu-testimonials { padding: 48px 20px 32px; }
  .assu-testimonials__inner { grid-template-columns: 1fr; gap: 32px; }
  .assu-news { padding: 48px 20px; }
  .assu-news__grid { grid-template-columns: 1fr; gap: 20px; }
}
