.hma-layout{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 20px;
}

.hma-filters{
  /*display:flex; */
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  align-items: end;
}

.classification, .localisation, .type-etablissement {display: flex; flex-direction: column; gap: 10px;}
.classification label { color: #F1A11E;}

.elementor-element-254624c [type="checkbox"], [type="radio"] 
{ box-sizing: border-box; padding: 0px; appearance: none; background-color: #fff; margin: 0; width: 1.15em; height: 1.15em; border: 1px solid currentcolor; border-radius: 0.0; transform: translateY(0.25em);; color: #000; }


input[type="checkbox"]:checked {
  background-color: #F1A11E;
}


.elementor-element-254624c h4 {margin-block-end: 1rem; margin-block-start: 2rem; text-decoration-line: underline; text-decoration-color: #F1A11E; text-underline-offset: 10px; text-decoration-thickness:3px;}
.elementor-element-254624c h4:first {margin-block-start: 0rem;}

.hma-filter label{
  display:block;
  font-size: 12px;
  margin-bottom: 6px;
}

.hma-filter input, .hma-filter select{
  height: 38px;
  padding: 0 10px;
}

.hma-results{
  display:flex;
  flex-direction: column;
  gap: 10px;
  max-height: 820px;
  overflow:auto;
}

.hma-item{
  display:flex;
  gap: 10px;
  align-items: center;
  text-decoration:none;
}

.hma-item img{
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 900px){
  .hma-layout{ grid-template-columns: 1fr; }
  .hma-results{ max-height: 600px; }
}

/* Garantit que la carte reçoit bien les clics (anti overlay Elementor) */
/* La carte doit toujours recevoir les clics */
#hma-map {
  position: relative;
  z-index: 10;
  pointer-events: auto !important;
}



/*
.hma-search {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e5e5e5;
}
  */

.hma-search label {
  display: block;
  font-size: 12px;
  margin-bottom: 6px;
}

.hma-search input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
}

/** liste des hotels. **/
.hma-results {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.hma-result-item {
  padding-bottom: 12px;
  border-bottom: 1px solid #e6e6e6;
}

.hma-result-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 4px;
  color: #111;
}

.hma-result-meta {
  font-size: 13px;
  color: #666;
}



/* --- LISTE HOTELS CLIQUABLE --- */

/* Liste résultats */
#hma-results.hma-results {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Chaque item cliquable */
#hma-results .hma-result-item {
  cursor: pointer !important;
  padding: 10px 8px !important;
  border-bottom: 1px solid #e6e6e6;
  border-radius: 8px;
  transition: background .2s ease, color .2s ease;
}

/* Titre + icône */
#hma-results .hma-result-title {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: #222 !important;
  font-weight: 500 !important;
}

#hma-results .hma-result-title::before {
  content: "📍";
  opacity: .65;
}

/* Hover = style lien */
#hma-results .hma-result-item:hover .hma-result-title {
  color: #1a73e8 !important;
  text-decoration: underline !important;
}

/* Actif (après clic) */
#hma-results .hma-result-item.is-active {
  background: rgba(26,115,232,.08) !important;
}

#hma-results .hma-result-item.is-active .hma-result-title {
  color: #1a73e8 !important;
  font-weight: 700 !important;
}
/* ================================
   GOOGLE MAPS – FIX PROPRE
   ================================ */

/* Conteneur de la carte */
#hma-map {
  position: relative;
  z-index: 10;
  pointer-events: auto;
  touch-action: pan-x pan-y;
}