/* ============================================================
   LVPT Info Blocks v3
   Les blocs sont dans #carousel (slider.tpl) via le hook
   Le chevauchement est géré par position absolute + z-index
   ============================================================ */

/* Wrapper positionné en absolu dans #carousel */
.lvpt-infoblocks-wrapper {
  position: absolute;
  bottom: -120px; /* chevauchement de 20px sous le slider */
  left: 0;
  right: 0;
  z-index: 100;
  pointer-events: none;
}

.lvpt-infoblocks-container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 16px;
  pointer-events: all;
}

/* Bloc individuel */
.lvpt-infoblock {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  flex: 0 0 auto;
  width: 190px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  padding: 20px 16px 16px;
  box-sizing: border-box;
}

.lvpt-infoblock.lvpt-shadow {
  /*box-shadow: 0 4px 20px rgba(0,0,0,0.10);*/
}

/* Icône */
.lvpt-infoblock__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lvpt-infoblock__icon svg { width: 42px; height: 42px; }
.lvpt-infoblock__icon .lvpt-icon-img { width: 42px; height: 42px; object-fit: contain; }

/* Textes */
.lvpt-infoblock__content { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.lvpt-infoblock__title { margin: 0; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.2; }
.lvpt-infoblock__subtitle { margin: 0; font-weight: 400; letter-spacing: 0.03em; text-transform: uppercase; }

/* Espace sous le carousel pour que les blocs soient visibles */
#carousel {
  margin-bottom: 120px;
  overflow: visible !important;
}
#carousel .carousel-inner,
#carousel ul {
  overflow: visible !important;
}

/* ── TABLET ── */
@media (max-width: 860px) {
  #carousel { margin-bottom: 120px; }
  .lvpt-infoblocks-container { gap: 6px; max-width: 100%; padding: 0 8px; }
  .lvpt-infoblock { width: calc(33.333% - 6px); }
}

/* ── MOBILE ── */
@media (max-width: 580px) {
  #carousel { margin-bottom: 80px; }
  .lvpt-infoblocks-wrapper { bottom: -30px; }
  .lvpt-infoblocks-container { gap: 4px; padding: 0 4px; }
  .lvpt-infoblock { width: calc(33.333% - 4px); padding: 10px 4px 8px; }
  .lvpt-infoblock__icon { width: 28px; height: 28px; margin-bottom: 4px; }
  .lvpt-infoblock__icon svg, .lvpt-infoblock__icon .lvpt-icon-img { width: 28px; height: 28px; }
  .lvpt-infoblock__title { font-size: 8px; letter-spacing: 0; white-space: nowrap; }
  .lvpt-infoblock__subtitle { font-size: 7px; letter-spacing: 0; white-space: nowrap; }
}


/* ─── Bannière image sous les 3 blocs d'information ─── */
.lvpt-banner {
    width: 100%;
    margin: 15px 0 0;
    padding: 0;
    text-align: center;
    line-height: 0;          /* supprime l'espace fantôme sous l'image */
    font-size: 0;
}
.lvpt-banner__img {
    display: inline-block;
    width: 100%;
    max-width: 550px;        /* 50% de la taille réelle (800px) */
    height: auto;            /* hauteur proportionnelle */
}


/* Position des 3 blocs sur mobile (slider plus petit) */
@media (max-width: 991px) {
  .lvpt-infoblocks-wrapper {
    bottom: -110px;   /* ajuste pour descendre/remonter sur mobile */
  }
  /* Bannière "Si vous ne fumez pas..." : plus petite sur mobile */
  .lvpt-banner__img {
    max-width: 320px;   /* plus petit que sur desktop (ajustable) */
  }
  /* Ajoute de l'espace sous la bannière + centre l'image sur mobile */
  .lvpt-banner {
    margin-bottom: 25px;   /* espace en bas (ajustable) */
    text-align: center;    /* centre l'image horizontalement */
  }
  /* Force le centrage de l'image elle-même */
  .lvpt-banner__img {
    margin-left: auto;
    margin-right: auto;
  }
}