.hi-map{border:1px solid #eee;border-radius:12px;overflow:hidden;margin:16px 0}

/* ===== Variables : héritage du site -> fallback HelvetiImmo ===== */
:root{
  /* Couleurs : on tente d’abord les presets WP / thèmes, sinon fallback */
  --hv-bg:    var(--wp--preset--color--background, var(--et_body_background_color, #f6f7fb));
  --hv-card:  var(--wp--preset--color--base, #ffffff);
  --hv-bd:    var(--wp--preset--color--contrast-3, #e7e7e9);
  --hv-text:  var(--wp--preset--color--foreground, #111111);
  --hv-muted: var(--wp--preset--color--contrast-2, #6b7280);
  --hv-accent:var(--wp--preset--color--primary, #111111);
  --hv-chip:  var(--wp--preset--color--primary, #111111);
  --hv-ok:    var(--wp--preset--color--vivid-green-cyan, #25D366);

  /* Rayons & ombres : on reprend d’éventuels custom props du thème */
  --hv-radius: var(--wp--custom--radius, 16px);
  --hv-shadow: var(--wp--custom--shadow, 0 10px 20px rgba(17,17,17,.05), 0 2px 6px rgba(17,17,17,.04));
}

.hvimmo-wrap{max-width:1120px;margin:0 auto;padding:22px}

/* breadcrumb */
.hv-bc{display:flex;align-items:center;gap:.5rem;color:var(--hv-muted);font:500 13px/1.2 system-ui;margin-bottom:10px}
.hv-bc a{color:var(--hv-text);text-decoration:none;opacity:.82}
.hv-bc a:hover{text-decoration:underline;opacity:1}
.hv-bc .sep{opacity:.5}

/* header */
.hv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.hv-title{margin:0;font:700 26px/1.2 system-ui;color:var(--hv-text)}
.hv-sub{color:var(--hv-muted);margin-top:6px;font:500 14px/1.35 system-ui}
.hv-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--hv-accent);color:#fff;border:1px solid var(--hv-accent);border-radius:999px;padding:.4rem .7rem;font:700 14px/1 system-ui;box-shadow:var(--hv-shadow)}
.hv-cta{display:flex;gap:8px;flex-wrap:wrap}
.hv-btn{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--hv-bd);padding:.55rem .85rem;border-radius:12px;text-decoration:none;color:var(--hv-text);font-weight:600;box-shadow:var(--hv-shadow);cursor:pointer}
.hv-btn:hover{transform:translateY(-1px)}
.hv-btn.primary{background:var(--hv-accent);color:#fff;border-color:var(--hv-accent)}
.hv-btn.wa{background:var(--hv-ok);color:#fff;border-color:#1bb454}

/* grid layout */
.hv-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:18px;
  align-items:start; /* important pour sticky */
}
@media (max-width:980px){
  .hv-grid{grid-template-columns:1fr}
}

/* === Colonne aside sticky (seule la colonne, pas les cartes) === */
.hv-aside{
  position: sticky;
  top: 14px;
  align-self: start;
  height: -moz-fit-content;
  height: fit-content;
}
body.admin-bar .hv-aside{ top:46px; }
@media (min-width:783px){
  body.admin-bar .hv-aside{ top:32px; }
}
@media (max-width:980px){
  .hv-aside{ position: static; }
}

/* cards */
.hv-card {
  background: var(--hv-card);
  border: 1px solid var(--hv-bd);
  border-radius: var(--hv-radius);
  padding: 14px;
  box-shadow: var(--hv-shadow);
  margin-bottom: 16px;
}
.hv-hero{overflow:hidden;border-radius:var(--hv-radius)}
.hv-hero img{width:100%;height:auto;display:block}

/* gallery masonry */
.hv-gallery-grid{margin-top:12px}
.hv-gallery-grid .hv-gg-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.hv-gallery-grid .hv-gg-item{position:relative;border-radius:12px;overflow:hidden;background:#eef1f5}
.hv-gallery-grid .hv-gg-item img{display:block;width:100%;height:200px;object-fit:cover}
@media(min-width:700px){
  .hv-gallery-grid .hv-gg-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hv-gallery-grid .hv-gg-item img{height:220px}
}
@media(min-width:1024px){
  .hv-gallery-grid .hv-gg-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hv-gallery-grid .hv-gg-item img{height:220px}
}

/* meta grid avec icônes */
.hv-section h3{margin:6px 0 10px}
.hv-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:900px){ .hv-meta{grid-template-columns:repeat(2,minmax(0,1fr));} }
.hv-attr{border:1px solid var(--hv-bd);border-radius:12px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;background:#fff}
.hv-attr svg{width:18px;height:18px;color:#374151}
.hv-label{font:11px/1.1 system-ui;color:#666;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.hv-value{font:700 15px/1.35 system-ui;color:var(--hv-text)}

/* map */
.hv-map{height:320px;border-radius:12px;overflow:hidden}

/* seller */
.hv-seller .name{font-weight:700}
.hv-seller .avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;background:#f2f3f5;margin-bottom:8px}
.hv-seller .avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* lists & chips */
.hv-list{display:grid;gap:6px;padding-left:18px}
.hv-chip{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px dashed var(--hv-bd);border-radius:999px;padding:.25rem .6rem;font:600 12px/1 system-ui}

/* address */
.hv-address{display:flex;align-items:center;gap:.5rem}

/* notices/form (inchangé) */
.hv-form{background:#fff;border:1px solid #e7e7e9;border-radius:14px;padding:14px;margin-top:16px}
.hv-form h3{margin:0 0 10px}
.hv-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hv-form input,.hv-form textarea{width:100%;border:1px solid #d6d6da;border-radius:10px;padding:10px}
.hv-form textarea{min-height:120px;resize:vertical}
.hv-form .full{grid-column:1/-1}
@media(max-width:700px){ .hv-form .row{grid-template-columns:1fr} }

/* Fil d’Ariane – style unifié */
.hi-breadcrumb{display:flex;align-items:center;gap:.5rem;color:var(--hv-muted);font:500 13px/1.2 system-ui;margin:0 0 10px}
.hi-breadcrumb .item{color:var(--hv-text);text-decoration:none;opacity:.82}
.hi-breadcrumb .item:hover{text-decoration:underline;opacity:1}
.hi-breadcrumb .current{color:var(--hv-text);font-weight:600;text-decoration:none;cursor:default}
.hi-breadcrumb .sep{opacity:.6}

/* petits ajustements */
.hvimmo-contact-block input { padding: 5px!important; }
.hv-notice.ok { background: green; color: #FFF; display: inline-block; margin-bottom: 16px; padding: 5px; border-radius: 5px; }
