/* Alpixi Reservit Calendrier : recherche multi-chambres, palette Le Vernay */
.arc-recherche {
	--arc-or: var(--couleur-or, #9B8B53);
	--arc-nuit: var(--couleur-nuit, #263A45);
	--arc-sable: var(--couleur-sable, #E3DAC6);
	--arc-texte: var(--couleur-texte, #151515);
	font-family: var(--font-texte, "Barlow", sans-serif);
	color: var(--arc-texte);
	width: 100%;
	box-sizing: border-box;
	text-align: left;
}
.elementor-widget:has(.arc-recherche), .recherche-reservit { flex: 1 1 100%; width: 100%; max-width: 100%; }
.arc-recherche * { box-sizing: border-box; }

/* Barre de recherche : même système que la barre de réservation de l'accueil */
.arc-recherche {
	--lv-gold: var(--couleur-or, #9B8B53);
	--lv-gold-light: var(--couleur-or-clair, #B1A072);
	--lv-navy: var(--couleur-nuit, #263A45);
	--lv-cream: var(--couleur-sable, #E3DAC6);
	--lv-soft: #F6F2EA;
	--lv-line: #E6DFD2;
	--lv-muted: #6E645B;
}
.arc-recherche .arc-r-barre { width: 980px; max-width: 100%; margin: 0 auto; }
/* Barre */
.arc-recherche .lv-booking__bar{
  position:relative;
  display:flex;
  align-items:stretch;
  background:#fff;
  border-radius:6px;
  padding:6px;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.arc-recherche .lv-booking__range{
  position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0;
}

/* Champs */
.arc-recherche .lv-field{
  position:relative;
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:10px 18px;
  background:transparent;
  border:0;
  border-radius:4px;
  color:var(--lv-navy);
  font:inherit;
  text-align:left;
  text-transform:none;
  letter-spacing:normal;
  white-space:normal;
  cursor:pointer;
  transition:background-color .2s ease;
}
.arc-recherche .lv-field + .lv-field::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:var(--lv-line);
}
.arc-recherche button.lv-field:hover,
.arc-recherche button.lv-field:focus,
.arc-recherche .lv-field.is-active{background:var(--lv-soft);color:var(--lv-navy)}
.arc-recherche .lv-field:focus-visible{outline:2px solid var(--lv-gold);outline-offset:-2px}
.arc-recherche .lv-field__icon{flex:none;width:22px;height:22px;color:var(--lv-gold)}
.arc-recherche .lv-field__text{display:flex;flex-direction:column;min-width:0}
.arc-recherche .lv-field__label{
  font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--lv-muted);line-height:1.35;
}
.arc-recherche .lv-field__value{
  font-size:16px;font-weight:600;color:var(--lv-navy);line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.arc-recherche .lv-field__value.is-empty{font-weight:400;color:#7A7067}

/* Voyageurs */
.arc-recherche .lv-field--guests{cursor:default;flex-grow:1.25}
.arc-recherche .lv-stepper{display:flex;align-items:center;gap:8px;margin-left:auto}
.arc-recherche .lv-stepper button{
  width:32px;height:32px;margin:0;padding:0;
  display:grid;place-items:center;
  border:1px solid var(--lv-line);border-radius:50%;
  background:#fff;color:var(--lv-navy);
  cursor:pointer;transition:border-color .2s,color .2s,background-color .2s;
}
.arc-recherche .lv-stepper button svg{width:14px;height:14px}
.arc-recherche .lv-stepper button:hover:not(:disabled),
.arc-recherche .lv-stepper button:focus-visible{border-color:var(--lv-gold);color:var(--lv-gold);background:#fff;outline:none}
.arc-recherche .lv-stepper button:disabled{opacity:.35;cursor:not-allowed;background:#fff;color:var(--lv-navy)}

/* Bouton */
.arc-recherche .lv-submit{
  flex:none;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  margin:0 0 0 6px;padding:0 30px;
  border:0;border-radius:4px;
  background:var(--lv-gold-light);color:var(--lv-navy);
  font:700 16px/1 Barlow,sans-serif;letter-spacing:1.2px;text-transform:uppercase;
  cursor:pointer;transition:background-color .2s,color .2s;
}
.arc-recherche .lv-submit svg{width:18px;height:18px;transition:transform .2s}
.arc-recherche .lv-submit:hover,
.arc-recherche .lv-submit:focus{background:var(--lv-navy);color:#fff}
.arc-recherche .lv-submit:hover svg{transform:translateX(3px)}
.arc-recherche .lv-submit:focus-visible{outline:2px solid var(--lv-cream);outline-offset:2px}

/* Message sous la barre */
.arc-recherche .lv-booking__note{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:12px 0 0;font-size:14px;line-height:1.4;color:var(--lv-cream);text-align:center;
}
.arc-recherche .lv-booking__note svg{flex:none;width:16px;height:16px;color:var(--lv-gold-light)}
.arc-recherche .lv-booking__note.is-error{color:#fff;font-weight:600}
.arc-recherche.is-error .lv-booking__bar{animation:arc-r-shake .35s ease}
@keyframes arc-r-shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}

/* Calendrier */
.flatpickr-calendar.lv-cal{
  font-family:Barlow,sans-serif;border:0;border-radius:6px;
  box-shadow:0 14px 40px rgba(38,58,69,.28);margin-top:8px;
}
.flatpickr-calendar.lv-cal::before,.flatpickr-calendar.lv-cal::after{display:none}
.lv-cal .flatpickr-months{padding-top:6px}
.lv-cal .flatpickr-current-month{font-family:"Gilda Display",serif;font-size:17px;color:#263A45}
.lv-cal .flatpickr-current-month .cur-month,
.lv-cal .flatpickr-current-month input.cur-year{font-weight:400;color:#263A45}
.lv-cal .flatpickr-months .flatpickr-prev-month,
.lv-cal .flatpickr-months .flatpickr-next-month{top:6px;color:#263A45;fill:#263A45}
.lv-cal .flatpickr-months .flatpickr-prev-month:hover svg,
.lv-cal .flatpickr-months .flatpickr-next-month:hover svg{fill:#9B8B53}
.lv-cal span.flatpickr-weekday{color:#6E645B;font-weight:600}
.lv-cal .flatpickr-day{color:#263A45}
.lv-cal .flatpickr-day.today{border-color:#B1A072}
.lv-cal .flatpickr-day:hover,
.lv-cal .flatpickr-day:focus,
.lv-cal .flatpickr-day.inRange{background:#F1EBDF;border-color:#F1EBDF}
.lv-cal .flatpickr-day.inRange{box-shadow:-5px 0 0 #F1EBDF,5px 0 0 #F1EBDF}
.lv-cal .flatpickr-day.selected,
.lv-cal .flatpickr-day.startRange,
.lv-cal .flatpickr-day.endRange,
.lv-cal .flatpickr-day.selected:hover,
.lv-cal .flatpickr-day.startRange:hover,
.lv-cal .flatpickr-day.endRange:hover{background:#9B8B53;border-color:#9B8B53;color:#fff}
.lv-cal .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.lv-cal .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.lv-cal .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 #9B8B53}
.lv-cal .flatpickr-day.flatpickr-disabled,
.lv-cal .flatpickr-day.flatpickr-disabled:hover{color:rgba(38,58,69,.25);background:transparent;border-color:transparent}
.lv-cal .flatpickr-day.prevMonthDay,
.lv-cal .flatpickr-day.nextMonthDay{color:rgba(38,58,69,.35)}
.lv-cal .lv-cal__hint{
  padding:10px 14px;border-top:1px solid #EFE9DE;
  font-size:14px;font-weight:600;color:#263A45;text-align:center;
}

/* Tablette et mobile */
@media (max-width:1024px){
  .arc-recherche .lv-booking__bar{flex-wrap:wrap;padding:6px}
  .arc-recherche .lv-field{flex:1 1 50%;padding:12px 14px}
  .arc-recherche .lv-field--guests{flex-basis:100%;border-top:1px solid var(--lv-line);border-radius:0}
  .arc-recherche .lv-field--guests::before{display:none}
  .arc-recherche .lv-submit{flex-basis:100%;margin:6px 0 0;padding:17px 20px}
}
@media (max-width:420px){
  .arc-recherche .lv-field{gap:0}
  .arc-recherche button.lv-field .lv-field__icon{display:none}
  .arc-recherche .lv-field--guests{gap:12px}
  .arc-recherche .lv-field__value{font-size:15px}
}

/* Boutons : résistent aux styles de survol du thème */
.arc-recherche button { all: unset; box-sizing: border-box; cursor: pointer; }
.arc-recherche .arc-r-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 28px;
	border-radius: 3px;
	background: var(--arc-or) !important;
	color: #fff !important;
	font-family: var(--font-texte, "Barlow", sans-serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color .2s;
}
.arc-recherche .arc-r-btn:is(:hover, :focus, :active) { background: var(--arc-nuit) !important; color: #fff !important; box-shadow: none !important; }
.arc-recherche .arc-r-btn:focus-visible, .arc-recherche a:focus-visible { outline: 2px solid var(--arc-or); outline-offset: 2px; }

/* Statut */
.arc-recherche .arc-r-statut { margin: 48px 0 16px; font-size: 17px; line-height: 1.5; }
.arc-recherche .arc-r-statut:empty { display: none; }
.arc-recherche .arc-r-statut strong { font-family: var(--font-titre, "Gilda Display", serif); font-size: 24px; font-weight: 400; color: var(--arc-nuit); margin-right: 6px; }
.arc-recherche .arc-r-note-statut { display: block; font-size: 15px; opacity: .75; }

/* Résultats */
.arc-recherche .arc-r-resultats { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.arc-recherche .arc-r-carte {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border-radius: 3px;
	box-shadow: 0 8px 28px rgba(21, 21, 21, .08);
	transition: box-shadow .2s, transform .2s;
}
.arc-recherche .arc-r-dispo:hover { box-shadow: 0 14px 40px rgba(21, 21, 21, .14); transform: translateY(-2px); }
.arc-recherche .arc-r-photo { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--arc-sable); }
.arc-recherche .arc-r-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.arc-recherche .arc-r-dispo:hover .arc-r-photo img { transform: scale(1.04); }
.arc-recherche .arc-r-corps { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 20px 22px 22px; }
.arc-recherche .arc-r-titre { margin: 0; font-family: var(--font-titre, "Gilda Display", serif); font-size: 22px; font-weight: 400; line-height: 1.25; }
.arc-recherche .arc-r-titre a { color: var(--arc-nuit) !important; text-decoration: none !important; }
.arc-recherche .arc-r-titre a:hover { color: var(--arc-or) !important; }
.arc-recherche .arc-r-capacite { margin: 0; font-size: 15px; opacity: .7; }
.arc-recherche .arc-r-prix { margin: 10px 0 0; font-size: 15px; line-height: 1.4; }
.arc-recherche .arc-r-prix strong { font-family: var(--font-titre, "Gilda Display", serif); font-size: 28px; font-weight: 400; color: var(--arc-nuit); margin-right: 4px; }
.arc-recherche .arc-r-prix span { display: block; opacity: .7; }
.arc-recherche .arc-r-etat { margin: 10px 0 0; padding: 10px 12px; border-left: 3px solid var(--arc-sable); background: rgba(227, 218, 198, .3); font-size: 15px; line-height: 1.4; }
.arc-recherche .arc-r-telephone .arc-r-etat { border-left-color: var(--arc-or); }
.arc-recherche .arc-r-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: auto; padding-top: 16px; }
.arc-recherche .arc-r-actions .arc-r-btn { flex: 1 1 auto; }
.arc-recherche .arc-r-lien { color: var(--arc-nuit) !important; font-size: 15px; font-weight: 600; text-decoration: underline !important; text-decoration-color: var(--arc-or) !important; text-underline-offset: 4px; }
.arc-recherche .arc-r-lien:hover { color: var(--arc-or) !important; }

/* Indisponibles : en retrait */
.arc-recherche .arc-r-complet, .arc-recherche .arc-r-minimum, .arc-recherche .arc-r-erreur { box-shadow: none; border: 1px solid rgba(38, 58, 69, .08); }
.arc-recherche .arc-r-complet .arc-r-photo img, .arc-recherche .arc-r-minimum .arc-r-photo img { filter: grayscale(.7); opacity: .65; }

/* Chargement */
.arc-recherche .arc-r-skel span { display: block; width: 60%; height: 34px; border-radius: 3px; background: linear-gradient(90deg, #f1ede4 0%, #faf8f3 50%, #f1ede4 100%); background-size: 200% 100%; animation: arc-r-reflet 1.2s infinite linear; }
@keyframes arc-r-reflet { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.arc-recherche .arc-r-vide { margin: 0; padding: 24px; background: #fff; border-radius: 3px; }

@media (max-width: 480px) {
	.arc-recherche .arc-r-resultats { grid-template-columns: 1fr; }
	.arc-recherche .arc-r-statut strong { display: block; }
}
@media (prefers-reduced-motion: reduce) {
	.arc-recherche * { transition: none !important; animation: none !important; }
}
