/* Section + header */
.cave-carousel-section { margin: 2rem 0; }
.cave-carousel-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.cave-carousel-title { margin:0; font-size:clamp(1.25rem,2.2vw,1.75rem); font-weight:700; }

/* Contrôles */
.cave-carousel-controls { display:flex; gap:.5rem; }
.cave-carousel-btn{
  border:1px solid #d9d9d9;background:#fff;border-radius:10px;padding:.45rem .75rem;cursor:pointer;
  line-height:1;font-weight:600;transition:transform .08s, background .15s, box-shadow .15s;box-shadow:0 1px 3px rgba(0,0,0,.06)
}
.cave-carousel-btn:hover{background:#f7f7f7;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.cave-carousel-btn:active{transform:scale(.98)}

/* Piste (items côte à côte selon largeur écran) */
.cave-carousel{
  display:grid; grid-auto-flow:column;
  grid-auto-columns: clamp(260px, 85%, 360px);
  gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:6px 2px 12px; -webkit-overflow-scrolling:touch;
  align-items:start;
  --cave-card-height:auto; /* uniforme via JS si tu gardes l’equalizer */
}
@media (min-width:600px){ .cave-carousel{ grid-auto-columns: clamp(260px, 48%, 360px); } }
@media (min-width:900px){ .cave-carousel{ grid-auto-columns: clamp(260px, 31%, 360px); } }

.cave-carousel::-webkit-scrollbar{height:8px}
.cave-carousel::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:4px}
.cave-carousel{scrollbar-color:rgba(0,0,0,.15) transparent;scrollbar-width:thin}

/* Carte */
.cave-card{
  scroll-snap-align:start; border:1px solid #ececec; border-radius:14px; overflow:hidden; background:#fff;
  display:flex; flex-direction:column; align-self:start;
  box-shadow:0 6px 18px rgba(0,0,0,.08); transition:transform .12s, box-shadow .2s;
  height: var(--cave-card-height);
}
.cave-card:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.12); }

/* Media : ratio 4:3 (800x600), image jamais tronquée */
.cave-card-media{
  background:#fff;
  flex:0 0 auto;
  aspect-ratio: 4 / 3;            /* <<< au lieu de 3/2 */
  display:grid; place-items:center;
  border-bottom:1px solid #f0f0f0;
  padding: 6px;
  box-sizing: border-box;
}
.cave-card-media img,
.cave-card-placeholder{
  max-width:100%;
  max-height:100%;
  width:auto; height:auto;        /* contain pur : jamais rognée */
  display:block; background:#f8f8f8;
}


.cave-card-placeholder{ display:grid; place-items:center; color:#888; font-size:.95rem }

/* Texte */
.cave-card-body{
  background:#efe2d5; padding:1rem 1rem 1.1rem;
  flex:1 1 auto; display:flex; flex-direction:column; gap:.45rem;
}
.cave-card-title{ margin:0; font-size:clamp(1rem,1.8vw,1.1rem); line-height:1.25; color:#2b2b2b; }
.cave-card-excerpt{
  margin:0; color:#3c3c3c; font-size:.95rem;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
}

.cave-carousel-empty{ opacity:.75; padding:.75rem 0; font-style:italic; }
