/* Réassurance accueil — 5 cartes (maquette screen 2) */

.footer-before {
  background: #f4f7fb;
}

.blockreassurance {
  display: flow-root;
  float: none !important;
  clear: both;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 28px 0 32px !important;
  background: #f4f7fb !important;
  border-top: 0 !important;
  text-align: left !important;
}

.blockreassurance .container {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  padding-left: 50px;
  padding-right: 50px;
  box-sizing: border-box;
}

.blockreassurance__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  margin: 0;
}

.blockreassurance__card {
  --br-accent: #0028b8;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-top: 4px solid var(--br-accent);
  border-radius: 12px;
  padding: 16px 16px 18px;
  box-sizing: border-box;
  min-height: 118px;
  box-shadow: none;
}

.blockreassurance__card--1 { --br-accent: #0028b8; }
.blockreassurance__card--2 { --br-accent: #3d9fd6; }
.blockreassurance__card--3 { --br-accent: #6b4fc4; }
.blockreassurance__card--4 { --br-accent: #e8467c; }
.blockreassurance__card--5 { --br-accent: #ef8a1a; }

.blockreassurance__head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 10px;
}

.blockreassurance__icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  color: var(--br-accent);
}

.blockreassurance__icon svg {
  display: block;
  width: 28px;
  height: 28px;
}

.blockreassurance__title {
  display: block;
  margin: 2px 0 0;
  color: var(--br-accent) !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

.blockreassurance__desc,
.blockreassurance__desc p {
  margin: 0 !important;
  padding: 0 !important;
  color: #5b6b7c !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

@media (min-width: 768px) and (max-width: 991px) {
  .blockreassurance .container {
    padding-left: 24px;
    padding-right: 24px;
  }

  .blockreassurance__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .blockreassurance {
    padding: 16px 0 20px !important;
  }

  .blockreassurance .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .blockreassurance__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .blockreassurance__card {
    width: 100%;
    min-height: 0;
    padding: 14px 16px 16px;
  }
}
