/* =========================================
   ITEM FULL (node--item--full)
   - colonne image grise pleine hauteur
   - image jamais rognée (contain)
   ========================================= */

.itemFullCard {
  --full-leftWidth: 350px;
  --full-padding: 1.25rem;
  --full-imgBox: 320px;

  background: #fff;
  border: 1px solid var(--color-border, #eff3f4);
  border-radius: 18px;
  overflow: hidden;
}

.itemFullCard-inner {
  display: grid;
  grid-template-columns: var(--full-leftWidth) 1fr;
}

.itemFullCard-image {
  background: #f4f6f8;
  padding: var(--full-padding);
  display: flex;
  align-items: center;
  justify-content: center;
}

.itemFullCard-imageBox {
  width: min(100%, var(--full-imgBox));
  height: var(--full-imgBox);
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.itemFullCard-imageFrame,
.itemFullCard-imageFrame .field,
.itemFullCard-imageFrame .field__item,
.itemFullCard-imageFrame a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
}

.itemFullCard-imageFrame img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center;
  display: block;
}

.itemFullCard-body {
  padding: var(--full-padding);
  min-width: 0;
}

.itemFullCard-title {
  margin: 0 0 .35rem;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.15;
}

.itemFullCard-type {
  margin-bottom: .6rem;
  color: var(--color-text-muted, rgba(0,0,0,.6));
}

.itemFullCard-score {
  margin-bottom: 1rem;
}

.itemFullCard-vote {
  margin: 0.75rem 0 1rem;
}

.itemFullCard-reviewLink {
  margin-top: 1rem;
}

.itemFullSection {
  margin-top: 1.25rem;
}

.itemSectionTitle {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0 0 .75rem;
}

@media (max-width: 991.98px) {
  .itemFullCard {
    --full-leftWidth: 100%;
    --full-padding: 1rem;
    --full-imgBox: 240px;
  }
  .itemFullCard-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .itemFullCard {
    --full-imgBox: 220px;
  }
  .itemFullCard-title {
    font-size: 1.45rem;
  }
}

/* =========================================
   ITEM FULL – VOTE ROW
   ========================================= */

.itemFullCard-voteRow{
  margin-top: 1rem;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 1.25rem;
  flex-wrap:wrap;
}

.itemFullCard-stats{
  display:flex;
  flex-direction:column;
  gap: .35rem;
}

.itemFullCard-scoreLine{
  display:flex;
  align-items:baseline;
  gap: .6rem;
}

.itemFullCard-label{
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
}

.itemFullCard-metaLine{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap: .6rem;
  color: rgba(0,0,0,.6);
}

.itemFullCard-sep{
  color: rgba(0,0,0,.35);
}

.itemFullCard-buttons{
  display:flex;
  flex-direction:column;
  gap: .35rem;
}

.itemFullCard-yourVoteLabel{
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
}

.itemFullCard-buttons .rating-widget{
  border: 0;
  padding: 0;
  background: transparent;
}


/* =========================================
   ITEM FULL – TITLE + BADGE
   ========================================= */

.itemFullCard-titleRow{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.itemFullCard-badge{ margin-top:.2rem; }
