/* =========================================
   GRID SYSTEM (UNIFIÉ)
========================================= */

.cards-2,
.cards-3,
.cards-4{
  display:grid;
  gap:22px;
  align-items:stretch;
}

.cards-2{grid-template-columns:repeat(2,1fr);}
.cards-3{grid-template-columns:repeat(3,1fr);}
.cards-4{grid-template-columns:repeat(4,1fr);}


/* =========================================
   PANEL (BASE)
========================================= */

.pillar-card,
.card,
.panel{
  background:rgba(255,255,255,.28);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
}

/* structure interne */
.panel{
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  height:100%;
}

.panel > :first-child{margin-top:0;}
.panel > :last-child{margin-bottom:0;}

.panel ul{
  margin-top:12px;
}

.panel h3{
  margin-bottom:8px;
}

.panel > .btn:last-child,
.panel > [class$="-actions"]:last-child,
.panel > .center-actions:last-child,
.card .body > .btn:last-child,
.card .body > [class$="-actions"]:last-child,
.card .body > .center-actions:last-child,
.pillar-card > .btn:last-child,
.pillar-card > [class$="-actions"]:last-child,
.pillar-card > .center-actions:last-child{
  margin-top:auto;
}

.panel > .btn:last-child,
.card .body > .btn:last-child,
.pillar-card > .btn:last-child{
  align-self:flex-start;
}

/* card spéciale sans padding */
.card.panel{
  padding:0;
}


/* =========================================
   CARD
========================================= */

.card{
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
}

.card .thumb{
  width:100%;
  aspect-ratio:1.18/.82;
  object-fit:cover;
}

.card .body{
  padding:28px 22px 24px;
  display:flex;
  flex-direction:column;
  flex:1;
  height:100%;
}

.card h3{
  margin:0 0 8px;
  font-size:1.14rem;
  font-weight:500;
}

.card p{
  margin:0 0 16px;
  color:var(--muted);
  line-height:1.55;
  font-size:.96rem;
}

.card .btn{
  margin-top:auto;
  align-self:flex-start;
}


/* =========================================
   PILLAR CARD
========================================= */

.pillar-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:28px 22px 24px;
}

.pillar-card h3{
  margin:0 0 8px;
  font-size:1.14rem;
}

.pillar-card p{
  margin:0 0 16px;
  color:var(--muted);
}

.pillar-card .btn{
  margin-top:auto;
}

.icon-line{
  width:50px;
  height:50px;
  margin:0 auto 16px;
  stroke:var(--text);
  fill:none;
  stroke-width:1.7;
}


/* =========================================
   SPLIT
========================================= */

.split{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  overflow:hidden;
  border-radius:28px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  background:rgba(255,255,255,.24);
}

.split img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.split .content{
  padding:48px 44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.split .content h2{
  margin:0 0 14px;
  font-size:clamp(2rem,3vw,3.1rem);
  line-height:1.12;
}

.split .content p{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.65;
}


/* =========================================
   BAND
========================================= */

.band{
  position:relative;
  overflow:hidden;
}

.band:before{
  content:"";
  position:absolute;
  inset:0;
  background:
          linear-gradient(180deg, rgba(67,54,45,.28), rgba(67,54,45,.42)),
          var(--band-image, url('/assets/img/2026/04/75a97147-0011-421b-a813-e84e953d7094/display.webp')) center/cover no-repeat;
}

.band > .container{
  position:relative;
  z-index:1;
}

.band .section-title,
.band .section-lead{
  color:#fff;
}

.band-icons{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:24px;
}

.band-card{
  text-align:center;
  color:#fff;
  padding:10px;
}

.band-card h4{
  margin:0 0 6px;
  font-size:1rem;
}

.band-card p{
  margin:0;
  color:rgba(255,255,255,.82);
}

.band-card .icon-line{
  stroke:#fff;
  width:44px;
  height:44px;
  margin-bottom:10px;
}

.center-actions{
  text-align:center;
  margin-top:18px;
  margin-bottom:30px;
}


/* =========================================
   BACKGROUND SECTION
========================================= */

.cards-with-bg{
  position:relative;
  padding-top:30px;
}

.cards-with-bg > .container{
  position:relative;
  z-index:1;
}

.cards-with-bg:before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--cards-bg-image, url('/assets/img/2026/04/a9f64021-5d1c-4cd1-a17f-8deb0ed79fdb/display.webp')) center/cover no-repeat;
  opacity:.28;
}


/* =========================================
   ALIGNEMENT CARDS
========================================= */

.cards-2 > *,
.cards-3 > *,
.cards-4 > *{
  height:100%;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width:1100px){
  .cards-4{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:820px){

  .cards-2,
  .cards-3,
  .cards-4,
  .band-icons,
  .split{
    grid-template-columns:1fr;
  }

  .panel{
    padding:24px 20px;
  }

  .card.panel{
    padding:0;
  }

  .cards-with-bg{
    padding-top:20px;
  }

}
