/* =========================
   Wrapper de base
   ========================= */
.customslide-wrapper {
  position: relative;
  width: 100%;
}

/* Pour les sliders NON full-height, on garde une hauteur minimum confortable */
.customslide-wrapper:not(.customslide-full-height) .customslide-slide {
  min-height: 250px;
}

.customslide-main,
.customslide-thumbs {
  width: 100%;
}

/* Slide de base */
.customslide-slide {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Contenu des slides */
.customslide-slide-inner {
  max-width: 900px;
  padding: 2rem 3rem;
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(4px);
  border-radius: 1rem;
  color: #fff;
}

.customslide-slide-title {
  margin: 0 0 .5rem;
  font-size: 2rem;
  font-weight: 700;
}

.customslide-slide-subtitle {
  margin: 0 0 1rem;
  font-size: 1rem;
}

.customslide-slide-content {
  font-size: .95rem;
  margin-bottom: 1rem;
}

/* Actions / boutons */
.customslide-slide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
}

.customslide-align-left .customslide-slide-actions {
  justify-content: flex-start;
}
.customslide-align-right .customslide-slide-actions {
  justify-content: flex-end;
}

.customslide-btn {
  display: inline-block;
  padding: .75rem 1.75rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  background: #ffb703;
  color: #222;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.customslide-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.35);
}

/* Variantes de boutons */
.customslide-btn-primary {
  background: #ffb703;
}
.customslide-btn-secondary {
  background: rgba(255,255,255,0.1);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.6);
}
.customslide-btn-tertiary {
  background: transparent;
  color: #fff;
  text-decoration: underline;
}

/* =========================
   Mode FULL HEIGHT
   ========================= */
/* Le wrapper prend 100% de la hauteur disponible */
.customslide-full-height {
  height: 100%;
}

/* Toute la "machine" Swiper se cale sur cette hauteur */
.customslide-full-height .customslide-main,
.customslide-full-height .swiper,
.customslide-full-height .swiper-wrapper,
.customslide-full-height .swiper-slide,
.customslide-full-height .customslide-slide {
  height: 100%;
}

/* Ne pas forcer de min-height en mode full-height */
.customslide-full-height .customslide-slide {
  min-height: 0;
}

/* Contenu centré verticalement dans la slide en full-height */
.customslide-full-height .customslide-slide-inner {
  height: auto;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* =========================
   Alignements horizontaux
   ========================= */
.customslide-align-left .customslide-slide-inner {
  margin-left: 5%;
  margin-right: auto;
  text-align: left;
}
.customslide-align-center .customslide-slide-inner {
  margin: 0 auto;
  text-align: center;
}
.customslide-align-right .customslide-slide-inner {
  margin-right: 5%;
  margin-left: auto;
  text-align: right;
}

/* =========================
   Thumbs
   ========================= */
.customslide-wrapper-thumbs .customslide-thumbs {
  margin-bottom: 1rem;
}

.customslide-thumb-inner {
  border-radius: .75rem;
  overflow: hidden;
  width: 100%;
  height: 80px;
}

.customslide-thumb-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Fallback sans image */
.customslide-thumb-noimage {
  background: rgba(255,255,255,0.1);
}

/* Thumbs texte */
.customslide-thumb-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 .75rem;
  font-size: .8rem;
  font-weight: 600;
  text-align: center;
  color: #fff;
  background: rgba(0,0,0,0.6);
  border-radius: .75rem;
}

/* Thumb active */
.customslide-thumb-slide.swiper-slide-thumb-active .customslide-thumb-label {
  background: #ffb703;
  color: #222;
}

/* =========================
   Pagination / Navigation
   ========================= */
.customslide-wrapper .swiper-button-next,
.customslide-wrapper .swiper-button-prev {
  color: #fff;
}

.customslide-wrapper .swiper-pagination-bullet {
  background: rgba(255,255,255,0.6);
}

.customslide-wrapper .swiper-pagination-bullet-active {
  background: #ffb703;
}

.customslide-swiper {
  position: relative !important;
  overflow: hidden !important;
}