/* =========================
   CARDS BASE
========================= */

.card,
.image-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:.3s ease;
}

.card{
  padding:30px;
}

.card:hover,
.image-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow);
}

.card p,
.image-card p{
  color:var(--muted);
  margin:0;
}


/* =========================
   SERVICE / INFO / FAQ / REVIEW
========================= */

.service-card,
.info-card,
.faq-card,
.review-card{
  padding:30px;
  border-radius:28px;
}

.service-card .icon,
.info-card .icon{
  margin-bottom:18px;
}


/* =========================
   IMAGE CARDS
========================= */

.image-card > img{
  width:100%;
  height:176px;
  object-fit:cover;
}

.image-card-body{
  position:relative;
  padding:46px 24px 24px;
}

.round-icon{
  position:absolute;
  top:-32px;
  left:24px;

  width:64px;
  height:64px;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  background:var(--blue);
  border:6px solid #fff;
  box-shadow:0 10px 22px rgba(28,47,95,.16);
}

.round-icon img,
.image-card .round-icon img{
  width:26px;
  height:26px;
  object-fit:contain;
}

.image-card:nth-child(2) .round-icon{
  background:var(--yellow);
}

.image-card:nth-child(3) .round-icon{
  background:#6ba2ff;
}

.image-card h3{
  font-size:1.2rem;
  margin:0 0 10px;
}


/* =========================
   REVIEWS
========================= */

.review-author{
  display:block;
  margin-top:10px;
  font-size:.9rem;
  color:#6b7aa6;
  font-weight:500;
}

.reviews-cta{
  margin-top:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}

.google-rating{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  color:#1d2b5b;
}

.google-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fff;

  display:flex;
  align-items:center;
  justify-content:center;

  font-weight:bold;
  color:#4285F4;
  box-shadow:0 6px 15px rgba(0,0,0,.1);
}

.btn-google{
  background:#fff;
  padding:12px 20px;
  border-radius:12px;

  text-decoration:none;
  font-weight:600;
  color:#1d2b5b;

  box-shadow:0 10px 25px rgba(0,0,0,.1);
  transition:all .3s ease;
}

.btn-google:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.svg-icon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#fff,#f3f8ff);
  border:1px solid var(--border);
  box-shadow:var(--shadow-soft);
  margin-bottom:18px;
}

.svg-icon img{
  width:38px;
  height:38px;
  object-fit:contain;
}

.actualites-widget-card{
    padding:30px;
    min-height:450px;
    border-radius:36px;
    background:#fff;
    box-shadow:
        0 25px 70px rgba(30,50,100,.08);
    overflow:hidden;
}

.actualites-widget-card iframe{
    width:100%;
}

.actualites-section{
    position:relative;
}