/**
* 2007-2026 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author    PrestaShop SA <contact@prestashop.com>
*  @copyright 2007-2026 PrestaShop SA
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*
* Don't forget to prefix your containers with your own identifier
* to avoid any conflicts with others containers.
*/

.concept-section {
  position: relative;
  padding: 20px 6%;
  background: linear-gradient(135deg, rgba(226,188,29,0.05), rgba(238,225,183,0.03));
}

/* ACCENTS */
.concept-accent {
  position: absolute;
  width: 350px;       /* agrandi */
  height: 350px;      /* agrandi */
  background: repeating-linear-gradient(
    135deg,
    #e2bc1d 0 34px,
    #eee1b7 34px 68px
  );
  border-radius: 32px;
  opacity: 0.25;      /* transparence */
  z-index: 0;         /* derrière la bordure et le contenu */
}

.concept-accent.start {
    top: -25px;
    left: calc(5% - 10px);
}
.concept-image {
    width: 100%;
}
.concept-accent.end { bottom: 60px; right: calc(6% - 50px); }




/* Wrapper image + texte */
.concept-wrapper {
  display: grid;
  grid-template-columns: 1.1fr 1.5fr;
  width: 100%;
  z-index: 2;
  position: relative; /* pour que le contenu soit au-dessus de la bordure */
  justify-items: center;
}

/* IMAGE */
.concept-image img {
  border-radius: 102px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* TEXTE */
.concept-content {
  padding: 55px 50px;
 
  position: relative;
  z-index: 3; /* au-dessus de tout */
}

/* TYPO & CONTENU */
.concept-content h1 { font-size: 3rem; color: #000; margin-bottom: 20px; }
.concept-lead { font-size: 1.35rem; font-weight: 600; margin-bottom: 22px; }
.concept-content p { font-size: 1.15rem; line-height: 1.7; margin-bottom: 18px; }

/*etapes*/
.conceptVG-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  position: relative;
}

/* ligne animée continue */
.conceptVG-steps::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5%;
  width: 90%;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    #e2bc1d,
    transparent
  );
  animation: flowLine 6s linear infinite;
  z-index: 0;
}

@keyframes flowLine {
  0% { background-position: 0 0; }
  100% { background-position: 600px 0; }
}

/* carte étape */
.step {
  background: #fff;
  padding: 3rem 2.2rem;
  border-radius: 18px;
  position: relative;
  z-index: 1;
  box-shadow: 0 25px 45px rgba(0,0,0,0.08);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
  animation: breathe 5s ease-in-out infinite;
}

.step:nth-child(2) {
  animation-delay: 1.5s;
}
.step:nth-child(3) {
  animation-delay: 3s;
}

@keyframes breathe {
  0% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
  100% { transform: translateY(0); }
}

.step:hover {
  transform: translateY(-14px);
  box-shadow: 0 40px 65px rgba(0,0,0,0.12);
}

/* numéro */
.step-number {
  position: absolute;
  top: 1.4rem;
  right: 1.8rem;
  font-size: 3.8rem;
  font-weight: 700;
  color: #e2bc1d;
  opacity: 0.22;
}

/* titres */
.step h3 {
  font-size: 1.45rem;
  letter-spacing: 0.12em;
  margin-bottom: 1rem;
}

/* texte */
.step p {
  line-height: 1.6;
  font-size: 1rem;
}

/* étape clé */
.step.highlight {
  background: #e2bc1d;
  color: #1f1f1f;
}

.step.highlight .step-number {
  color: #fff;
  opacity: 0.35;
}

/* responsive */
@media (max-width: 900px) {
  .conceptVG-steps {
    grid-template-columns: 1fr;
  }

  .conceptVG-steps::before {
    display: none;
  }
}




/* RESPONSIVE */
@media (max-width: 900px) {
  .concept-wrapper { grid-template-columns: 1fr; }
  .concept-content { padding: 40px 25px; text-align: center; }
  .concept-accent { display: none; }
}