.cpdt-spotlight--balanced{
  --cpdt-card-bg:#fff;
  --cpdt-border:rgba(0,0,0,.10);
  --cpdt-shadow:0 2px 12px rgba(0,0,0,.055);
  container-type:inline-size;
}
.cpdt-spotlight--balanced *{box-sizing:border-box}
.cpdt-spotlight--balanced .cpdt-spotlight__top{
  display:grid;
  grid-template-columns:minmax(0,var(--cpdt-lead,46%)) minmax(0,1fr);
  gap:clamp(18px,2.4vw,32px);
  align-items:start;
}
.cpdt-spotlight--balanced.cpdt-spotlight--single .cpdt-spotlight__top{grid-template-columns:1fr}
.cpdt-spotlight--balanced .cpdt-spotlight__label{
  font-size:1.12rem;
  line-height:1.25;
  font-weight:700;
  margin:0 0 10px;
  color:inherit;
}
.cpdt-spotlight--balanced .cpdt-spotlight__lead-card,
.cpdt-spotlight--balanced .cpdt-spotlight__row-card{
  background:var(--cpdt-card-bg);
  border:1px solid var(--cpdt-border);
  border-radius:10px;
  box-shadow:var(--cpdt-shadow);
  overflow:hidden;
}
.cpdt-spotlight--balanced .cpdt-spotlight__lead-card{padding:0}
.cpdt-spotlight--balanced .cpdt-spotlight__lead-card>.cpdt-spotlight__label{
  padding:13px 16px 0;
  margin-bottom:10px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__lead-image{
  display:block;
  width:100%;
  background:rgba(0,0,0,.025);
}
/* Sans image d’introduction, la zone média de la vedette doit garder
   exactement la même hauteur qu’une vraie image. */
.cpdt-spotlight--balanced .cpdt-spotlight__lead-image.cpdt-spotlight__media-placeholder{
  height:var(--cpdt-balanced-height,390px);
  min-height:var(--cpdt-balanced-height,390px);
}
.cpdt-spotlight--balanced .cpdt-spotlight__lead-image img{
  display:block;
  width:100%;
  height:var(--cpdt-balanced-height,390px);
  object-fit:var(--cpdt-balanced-fit,cover);
  object-position:center;
}
.cpdt-spotlight--balanced .cpdt-spotlight__lead-content{padding:15px 18px 17px}

/* Une image absente ne doit jamais modifier la géométrie du module.
   On conserve exactement la même zone média qu'avec une vraie image. */
.cpdt-spotlight--balanced .cpdt-spotlight__media-placeholder{
  position:relative;
  display:grid;
  place-items:center;
  background:
    linear-gradient(145deg,rgba(0,0,0,.025),rgba(0,0,0,.065));
}
.cpdt-spotlight--balanced .cpdt-spotlight__placeholder-mark{
  width:42px;
  height:30px;
  border:2px solid currentColor;
  border-radius:5px;
  opacity:.18;
  position:relative;
}
.cpdt-spotlight--balanced .cpdt-spotlight__placeholder-mark::before{
  content:"";
  position:absolute;
  left:7px;
  bottom:5px;
  width:24px;
  height:15px;
  border-left:2px solid currentColor;
  border-top:2px solid currentColor;
  transform:skewY(-32deg) rotate(5deg);
}
.cpdt-spotlight--balanced .cpdt-spotlight__thumb .cpdt-spotlight__placeholder-mark{
  width:30px;
  height:22px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__title{
  font-size:1.08rem;
  line-height:1.22;
  margin:0 0 5px;
  font-weight:700;
  overflow-wrap:anywhere;
}
.cpdt-spotlight--balanced .cpdt-spotlight__title--lead{
  font-size:1.4rem;
  margin-bottom:7px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__title a{
  text-decoration:none;
  color:var(--cassiopeia-color-link,#175b45);
}
.cpdt-spotlight--balanced .cpdt-spotlight__title a:hover{text-decoration:underline}
.cpdt-spotlight--balanced a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.cpdt-spotlight--balanced .cpdt-spotlight__meta{
  font-size:.8rem;
  line-height:1.25;
  opacity:.68;
  margin:0 0 6px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__excerpt{
  font-size:.96rem;
  line-height:1.45;
  margin:0;
  overflow-wrap:anywhere;
}
.cpdt-spotlight--balanced .cpdt-spotlight__readmore{margin:.48rem 0 0}
.cpdt-spotlight--balanced .cpdt-spotlight__readmore a{font-weight:700;text-decoration:none}
.cpdt-spotlight--balanced .cpdt-spotlight__readmore a:hover{text-decoration:underline}

/* Colonne droite : cartes volontairement plus compactes. */
.cpdt-spotlight--balanced .cpdt-spotlight__side{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.cpdt-spotlight--balanced .cpdt-spotlight__side-label{flex:0 0 auto}
.cpdt-spotlight--balanced .cpdt-spotlight__list,
.cpdt-spotlight--balanced .cpdt-spotlight__overflow-list{
  list-style:none;
  margin:0;
  padding:0;
}
.cpdt-spotlight--balanced .cpdt-spotlight__side-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
}
.cpdt-spotlight--balanced .cpdt-spotlight__item{margin:0;padding:0;border:0;min-width:0}
.cpdt-spotlight--balanced .cpdt-spotlight__side-list .cpdt-spotlight__item{flex:0 0 auto}
.cpdt-spotlight--balanced .cpdt-spotlight__row-card{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  min-height:108px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__row-card--no-image{
  grid-template-columns:minmax(0,1fr);
}
.cpdt-spotlight--balanced .cpdt-spotlight__thumb{
  display:block;
  width:128px;
  height:100%;
  min-height:108px;
  background:rgba(0,0,0,.025);
  overflow:hidden;
}
.cpdt-spotlight--balanced .cpdt-spotlight__thumb img{
  display:block;
  width:100%;
  height:100%;
  min-height:108px;
  object-fit:cover;
  object-position:center;
}
.cpdt-spotlight--balanced .cpdt-spotlight__summary{
  min-width:0;
  padding:9px 12px 10px;
  display:flex;
  flex-direction:column;
}
.cpdt-spotlight--balanced .cpdt-spotlight__summary .cpdt-spotlight__readmore{
  margin-top:auto;
  padding-top:4px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__excerpt--side{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Articles qui ne tiennent plus à droite : grille pleine largeur, automatique. */
.cpdt-spotlight--balanced .cpdt-spotlight__overflow{margin-top:clamp(18px,2.4vw,30px)}
.cpdt-spotlight--balanced .cpdt-spotlight__overflow[hidden]{display:none!important}
.cpdt-spotlight--balanced .cpdt-spotlight__overflow-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:16px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__overflow-list .cpdt-spotlight__row-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.cpdt-spotlight--balanced .cpdt-spotlight__overflow-list .cpdt-spotlight__thumb{
  width:100%;
  height:150px;
  min-height:150px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__overflow-list .cpdt-spotlight__thumb img{
  height:150px;
  min-height:150px;
}
.cpdt-spotlight--balanced .cpdt-spotlight__overflow-list .cpdt-spotlight__summary{flex:1;padding:12px 14px 13px}
.cpdt-spotlight--balanced .cpdt-spotlight__overflow-list .cpdt-spotlight__excerpt--side{-webkit-line-clamp:3}

@container (max-width:760px){
  .cpdt-spotlight--balanced .cpdt-spotlight__top{grid-template-columns:1fr;gap:22px}
  .cpdt-spotlight--balanced .cpdt-spotlight__lead-image img{height:min(var(--cpdt-balanced-height,390px),56vw)}
  .cpdt-spotlight--balanced .cpdt-spotlight__lead-image.cpdt-spotlight__media-placeholder{
    height:min(var(--cpdt-balanced-height,390px),56vw);
    min-height:min(var(--cpdt-balanced-height,390px),56vw);
  }
  .cpdt-spotlight--balanced .cpdt-spotlight__side{height:auto!important}
  .cpdt-spotlight--balanced .cpdt-spotlight__side-list{height:auto!important;justify-content:flex-start!important}
}
@container (max-width:480px){
  .cpdt-spotlight--balanced .cpdt-spotlight__row-card{grid-template-columns:108px minmax(0,1fr);min-height:104px}
  .cpdt-spotlight--balanced .cpdt-spotlight__thumb{width:108px;min-height:104px}
  .cpdt-spotlight--balanced .cpdt-spotlight__thumb img{min-height:104px}
  .cpdt-spotlight--balanced .cpdt-spotlight__excerpt--side{-webkit-line-clamp:2}
}
@media(max-width:700px){
  .cpdt-spotlight--balanced .cpdt-spotlight__top{grid-template-columns:1fr;gap:22px}
}
