/* HOTES APP - BASE CHARTE LOGO */

:root {
  --hotes-purple: #2B0D5E;
  --hotes-pink: #FF0C81;
  --hotes-pink-soft: #FF5EA0;
  --hotes-bg: #ffffff;
  --hotes-light: #f7f5fb;
  --hotes-border: #e8e2f2;
  --hotes-text: #222222;
  --hotes-muted: #666666;
}

.search,
.search input,
.search select,
.search button,
.search .card,
.search .card-body {
  font-family: 'Roboto', Arial, sans-serif;
}

.search h1,
.search h2,
.search h3,
.search .card-title,
.search-kicker,
.search .btn {
  font-family: 'Poppins', Arial, sans-serif;
}

/* Intro propre */
.search-intro {
  margin: 0 8px 22px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.search-kicker {
  color: #2B0D5E;
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-bottom: 10px;
}

.search-intro h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600; /* un peu plus fort */
  font-size: 2.6rem;
  color: #2B0D5E; /* violet branding */
  margin-bottom: 6px;
}

.search-intro p {
  color: var(--hotes-text);
  font-size: 1.06rem;
  line-height: 1.5;
  max-width: 760px;
  margin-bottom: 0;
}

/* Formulaire */

.search input.form-control,
.search select.form-control {
  height: 52px;
  border-radius: 14px;
  border: 1px solid var(--hotes-border);
  box-shadow: none;
  color: var(--hotes-text);
}

.search .btn-primary {
  height: 52px;
  border-radius: 14px;
  background: var(--hotes-purple);
  border-color: var(--hotes-purple);
  color: #fff;
  font-weight: 700;
}

.search .btn-primary:hover {
  background: #42168a;
  border-color: #42168a;
  color: #fff;
}

/* Résultats */
.search .itemcard {
  border: none;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 22px rgba(43, 13, 94, .08);
  transition: .25s ease;
}

.search .itemcard:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(43, 13, 94, .12);
}

.search .card-img-top {
  height: 185px;
  object-fit: cover;
}

.search .card-title {
  color: var(--hotes-text);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
}

.search .card-body small {
  color: var(--hotes-muted);
  line-height: 1.55;
}

.search .text-primary {
  color: var(--hotes-purple) !important;
  font-weight: 700;
}

/* Prix : accent discret, pas rose partout */
.search .font-weight-bold.text-primary {
  color: var(--hotes-purple) !important;
}

/* Responsive */
@media (max-width: 991px) {
  .search-intro h1 {
    font-size: 1.95rem;
  }

  .search-intro p {
    font-size: 1rem;
  }

  .search form {
    padding: 14px;
  }
}
.hotes-search-box {
  background: #fff;
  border-radius: 22px;
  padding: 22px;
  margin: 0 8px 24px;
  box-shadow: 0 10px 30px rgba(43, 13, 94, .08);
}

.hotes-search-box input.form-control,
.hotes-search-box select.form-control {
  height: 56px;
  border-radius: 16px;
  border: 1px solid #e8e2f2;
  box-shadow: none;
  font-size: 1rem;
}

.hotes-search-submit {
  width: 100%;
  height: 56px;
  white-space: nowrap;
  border-radius: 16px;
  background: #2B0D5E !important;
  border-color: #2B0D5E !important;
  font-weight: 700;
}

.hotes-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 26px;
  margin-top: 18px;
}
.hotes-check {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px;
  margin: 0 !important;
  white-space: nowrap;
  font-size: 0.98rem;
  color: #222;
}

.hotes-check input[type="checkbox"] {
  position: static !important;
  margin: 0 !important;
  width: 16px;
  height: 16px;
}
.hotes-filter-row label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  font-size: .95rem;
  color: #333;
}
#main {
  padding-top: 50px;
}
.hotes-hero {
  max-width: 980px;
  margin-left: 20px;
  margin-right: auto;
}
.search-subtitle {
  font-family: 'Roboto', sans-serif;
  font-size: 1.05rem;
  color: #333;
  font-weight: 400;
  margin-top: 10px;
  margin-bottom: 20px;
  line-height: 1.5;
}

.search-subtitle strong {
  color: #2B0D5E;
  font-weight: 600;
}
.search-intro {
  margin-bottom: 18px;
}

.search-subtitle {
  margin-top: 6px;
  margin-bottom: 24px;
}
.search-subtitle strong {
  color: #2B0D5E;
  font-weight: 600;
}