.phm{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:stretch}
.phm-left{background:#fff}
.phm-map{border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hiddenphm-map;min-height: 730px !important}

.phm-filters{display:flex;gap:18px;justify-content:space-between;align-items:center;margin:8px 0 14px;position:relative}
.phm-filter-btn{
  width: 200px;
  border:1px solid #caa58a; color:#7a5a43;
  padding:12px 22px; background:#fff; border-radius:0;
  letter-spacing:.06em; font-size:13px; text-transform:uppercase;
  cursor:pointer;
}
@media(max-width:767px){
.phm-filter-btn{
    width: 100px;
    gap: 10px;
    padding: 0;
    padding-top: 10px !important;
    padding-bottom: 10px  !important;
    
}

.phm-filters{
width: 100%;
gap: 0;
}
.phm-title
{
color: black
}
.phm-loc
{
color: #222222
}
}
.phm-dropdown{
  position:absolute; top:54px; left:0;
  width: 320px; max-height: 360px; overflow:auto;
  background:#fff; border:1px solid rgba(0,0,0,.12);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  z-index:50;
}
.phm-dd-title{padding:10px 12px;font-weight:700;border-bottom:1px solid rgba(0,0,0,.08)}
.phm-dd-list{display:flex;flex-direction:column}
.phm-dd-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 12px;border:0;background:#fff;cursor:pointer;text-align:left
}
.phm-dd-item:hover{background:rgba(0,0,0,.03)}
.phm-count{opacity:.6;font-size:12px}

.phm-list{display:flex;flex-direction:column;gap:16px}
.phm-card{display:grid;grid-template-columns:180px 1fr;gap:22px;border:0;background:transparent;text-align:left;cursor:pointer; padding: 0}
.phm-img{width:180px;height:100px;border-radius:0;overflow:hidden;background:rgba(0,0,0,.04)}
.phm-img img{width:100%;height:100%;object-fit:cover;display:block}
.phm-title{font-weight:700;font-size:16px;margin-bottom:6px}
.phm-loc{display:grid;align-items:center;gap:8px;opacity:.8; margin-top: 15px;justify-content: flex-start; grid-template-columns: 20px auto;font-size: 14px}
.phm-pin{display:inline-flex;height: 20px; width:20px}
.phm-pin img{height: 18px; width:100%}

.phm-pagination{display:flex;gap:14px;justify-content:center;margin:24px 0}
.phm-page{width:38px;height:38px;border:0;background:#eee;cursor:pointer}
.phm-page.is-active{background:#ddd;font-weight:700}

.phm-pop-img img{width:100%;height:140px;object-fit:cover;border-radius:12px;display:block;margin-bottom:10px}
.phm-pop-title a{font-weight:800;text-decoration:none}
.phm-pop-addr{opacity:.75;margin:6px 0 10px;display:flex;gap:8px;align-items:center}
.phm-pop-actions{display:flex;gap:8px;flex-wrap:wrap}
.phm-btn{padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.15);text-decoration:none;font-size:13px;display:inline-block}
.phm-btn-ghost{opacity:.85}
.phm-empty{padding:14px;opacity:.7}

@media (max-width: 900px){
  .phm{grid-template-columns:1fr}
  .phm-card{grid-template-columns:1fr}
  .phm-img{width:100%;height:180px}
  .phm-dropdown{width:100%;left:0;right:0}
  .phm-map{min-height:420px !important}

}

/* ---------- PERF UI: loader ---------- */
.phm-loading { opacity: .75; pointer-events: none; }
.phm-loader {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-size: 13px;
  padding: 10px 0;
}
.phm-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: currentColor;
  animation: phmPulse 1s infinite ease-in-out;
}
.phm-dot:nth-child(2){ animation-delay: .15s; }
.phm-dot:nth-child(3){ animation-delay: .3s; }
@keyframes phmPulse { 0%,100%{ transform:scale(1); opacity:.3 } 50%{ transform:scale(1.5); opacity:1 } }



/* Header search */
.phm-hs{ display:flex; align-items:center; margin-left:16px; }
.phm-hs-btn{
  display:flex; align-items:center; gap:10px;
  background:#f2f2f2; border-radius:999px; padding:10px 14px;
  border:0; cursor:pointer; min-width:260px;
}
.phm-hs-placeholder{ opacity:.75; }

.phm-hs-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  z-index:999999;
}
.phm-hs-panel{
  width:min(980px, calc(100% - 40px));
  margin:80px auto 0;
  background:#f8f5ee;
  border-radius:16px;
  overflow:hidden;
}
.phm-hs-top{
  display:flex; gap:10px; align-items:center;
  padding:14px;
}
.phm-hs-inputwrap{
  flex:1; display:flex; align-items:center; gap:10px;
  background:#eee; border-radius:999px; padding:10px 14px;
}
.phm-hs-input{ width:100%; border:0; background:transparent; outline:none; font-size:15px; }
.phm-hs-close, .phm-hs-clear{
  border:0; background:transparent; font-size:26px; line-height:1; cursor:pointer;
}
.phm-hs-results{ padding:18px; max-height:70vh; overflow:auto; }

.phm-hs-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.phm-hs-col h4{ margin:0 0 10px; font-size:22px; }
.phm-hs-list{ display:flex; flex-direction:column; gap:8px; }

.phm-hs-item, .phm-hs-search{
  width:100%; text-align:left; border:0; background:transparent;
  display:flex; gap:10px; align-items:center; padding:8px 6px; cursor:pointer;
}
.phm-hs-title{ font-weight:600; margin:6px 0 10px; }

.phm-hs-hotel{
  display:flex; gap:12px; padding:10px 6px; text-decoration:none; color:inherit;
}
.phm-hs-thumb{ width:52px; height:52px; background:#ddd; display:block; overflow:hidden; border-radius:6px; }
.phm-hs-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.phm-hs-htitle{ font-weight:600; display:block; }
.phm-hs-haddr{ opacity:.75; font-size:13px; display:block; }

/* Mobile: plein écran (capture 2) */
@media (max-width:1024px){
  .phm-hs{ margin-left:10px; }
  .phm-hs-btn{ min-width:180px; }
  .phm-hs-panel{
    width:100%;
    height:100%;
    margin:0;
    border-radius:0;
  }

  .phm-hs-results{ max-height:calc(100vh - 70px); }
  .phm-hs-grid{ grid-template-columns:1fr; }
}

html.phm-hs-open{ overflow:hidden; }