/* =========================
   GRID
   ========================= */
.fh-hotels-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 25px !important;
  margin: 40px 0 !important;
}
@media (max-width: 1200px) {
  .fh-hotels-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .fh-hotels-grid { grid-template-columns: repeat(1, 1fr) !important; }
}

/* =========================
   CARD BASE (FLASH + PARTENAIRE)
   ========================= */
.fh-hotel-card {
  position: relative !important;
  background: #fff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.fh-hotel-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 15px 40px rgba(0,0,0,0.08) !important;
}

/* =========================
   IMAGE
   ========================= */
.fh-hotel-image {
  height: 200px !important;
  width: 100% !important;
  position: relative !important;
}

.fh-hotel-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* =========================
   BADGES (ALIGNEMENT PARFAIT)
   ========================= */
.flash-badge,
.fh-star-badge {
  position: absolute !important;
  top: 15px !important;
  height: 32px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  z-index: 10 !important;
}

/* Discount */
.flash-badge {
  left: 15px !important;
  background: #ff4757 !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(255,71,87,0.3) !important;
}

/* Etoiles */
.fh-star-badge {
  right: 15px !important;
  background: #ffffff !important;
  color: #111827 !important;
  gap: 4px !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

.fh-star-icon {
  color: #f1c40f !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* =========================
   CONTENT
   ========================= */
.fh-hotel-content {
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

/* Label (VENTES FLASH / HÔTEL PARTENAIRE) */
.fh-label,
.ventes-flash-label {
  border: 1px solid #e5e7eb !important;
  color: #6b7280 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  width: fit-content !important;
  margin-bottom: 8px !important;
}

/* Titre */
.fh-hotel-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1f2937 !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Localisation */
.fh-hotel-location {
  color: #6b7280 !important;
  font-size: 13px !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.fh-hotel-location::before {
  content: "📍" !important;
  font-size: 12px !important;
}

/* =========================
   FOOTER (PRIX + BOUTON)
   ========================= */
.fh-card-footer {
  margin-top: auto !important;
  display: flex !important;
  align-items: flex-end !important;
}

/* Prix */
.fh-price-block {
  display: flex !important;
  flex-direction: column !important;
}

.fh-prices-line {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.price-flash {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #e15b41 !important;
}

.price-regular {
  font-size: 13px !important;
  color: #9ca3af !important;
  text-decoration: line-through !important;
}

.fh-duration {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-top: 2px !important;
}

/* Bouton */
.fh-mini-button {
  background: linear-gradient(90deg, #ff9a3c, #ff5e3a) !important;
  color: white !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 10px rgba(255,94,58,0.2) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  height: fit-content !important;
  margin-left: auto !important;
}

.fh-mini-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 15px rgba(255,94,58,0.3) !important;
}
