/* ============================================================
   Galerie photo mutualisée des fiches hôtel — VisitParisNN.com
   Mosaïque / diaporama + hero responsive + lightbox glissante
   + barre fixe mobile (Check Availability / See Prices).
   ============================================================ */
.hg-sec{margin:36px 0 6px}
.hg-h{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;color:#2c2418;margin:0 0 14px;font-weight:600}
.hg-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.hg-chip{font:600 .8rem 'Helvetica Neue',Arial,sans-serif;color:#5a4a22;background:#f5efe2;border:1px solid #e0d6bf;border-radius:999px;padding:7px 14px;cursor:pointer;transition:.15s}
.hg-chip:hover{background:#ece3cf}
.hg-chip.on{background:#5a4a22;color:#fff;border-color:#5a4a22}
.hg-feature{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#efe9dd}
.hg-feature img,.hg-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.hg-feature:hover img,.hg-thumb:hover img{transform:scale(1.04)}
.hg-all{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.94);color:#2c2418;font:600 .82rem/1 'Helvetica Neue',Arial,sans-serif;border:0;border-radius:999px;padding:9px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:0 2px 10px rgba(0,0,0,.18);z-index:4}
.hg-all:hover{background:#fff}
.hg-all svg{width:15px;height:15px}
.hg-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.hg-thumb{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;cursor:zoom-in;background:#efe9dd}
.hg-more{position:absolute;inset:0;background:rgba(30,24,16,.58);color:#fff;display:flex;align-items:center;justify-content:center;font:600 1.15rem 'Helvetica Neue',Arial,sans-serif;pointer-events:none}
.hg-lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;z-index:100000;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.hg-lb.open{display:flex}
.hg-lb-vp{overflow:hidden;width:92vw;max-width:1100px;touch-action:pan-y}
.hg-lb-track{display:flex;transition:transform .32s ease;will-change:transform}
.hg-lb-slide{min-width:100%;flex:0 0 100%;display:flex;align-items:center;justify-content:center}
.hg-lb-slide img{max-width:100%;max-height:80vh;border-radius:8px;box-shadow:0 10px 50px rgba(0,0,0,.55);background:#222;object-fit:contain;user-select:none;-webkit-user-drag:none}
.hg-lb-bar{color:#fff;font-family:'Helvetica Neue',Arial,sans-serif;margin-top:14px;text-align:center;display:flex;flex-direction:column;gap:3px}
.hg-lb-cap{font-size:.95rem;font-weight:600}
.hg-lb-cred{font-size:.72rem;opacity:.72}
.hg-lb-count{font-size:.72rem;opacity:.55;letter-spacing:.04em;margin-top:2px}
.hg-lb-close{position:absolute;top:14px;right:22px;color:#fff;font-size:2.3rem;line-height:1;cursor:pointer;background:none;border:0;z-index:5}
.hg-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:2rem;line-height:1;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5}
.hg-lb-nav:hover{background:rgba(255,255,255,.28)}
.hg-lb-nav.prev{left:18px}.hg-lb-nav.next{right:18px}
.hg-lb-hint{position:absolute;top:16px;left:16px;background:rgba(0,0,0,.6);color:#fff;font:600 .74rem 'Helvetica Neue',Arial,sans-serif;padding:6px 13px;border-radius:20px;display:none;z-index:5;pointer-events:none;letter-spacing:.02em}
.hg-lb-hint.show{display:inline-block;animation:hgHint 1.7s ease-in-out infinite}
@keyframes hgHint{0%,100%{opacity:.8}50%{opacity:1}}
.hg-slideshow{position:relative;border-radius:14px;overflow:hidden;background:#efe9dd;cursor:zoom-in}
.hg-track{display:flex;transition:transform .5s ease;will-change:transform}
.hg-slide{min-width:100%;aspect-ratio:16/9}
.hg-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hg-ss-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.85);color:#2c2418;font-size:1.6rem;line-height:1;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:4}
.hg-ss-nav:hover{background:#fff}
.hg-ss-nav.prev{left:12px}.hg-ss-nav.next{right:12px}
.hg-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;gap:7px;justify-content:center;z-index:4}
.hg-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);border:0;cursor:pointer;padding:0;transition:.2s}
.hg-dot.on{background:#fff;width:22px;border-radius:5px}
.hg-ss-cap{position:absolute;left:16px;bottom:28px;color:#fff;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.82rem;background:rgba(0,0,0,.42);padding:5px 12px;border-radius:20px;z-index:4}
.hg-slideshow.hg-full{border-radius:0}
.hg-heroblock{position:relative}
.hg-feature.hg-hero{aspect-ratio:auto;height:250px}
.hg-slideshow.hg-hero .hg-slide{aspect-ratio:auto;height:250px}
.hg-hv{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,13,10,.82),rgba(15,13,10,.12) 55%,rgba(15,13,10,.28));pointer-events:none;display:none;z-index:2}
.hg-hero-in{padding:15px 2px 2px;color:#2c2418}
.hg-hk{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;letter-spacing:.10em;text-transform:uppercase;color:#b8923a;font-weight:600}
.hg-ht{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;line-height:1.08;margin:7px 0 6px;font-weight:600;color:#2c2418}
.hg-hs{color:#e0a92a;font-size:1.1rem;letter-spacing:2px}
.hg-ha{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.9rem;color:#6b6b6b;margin-top:7px}
.hg-hcta{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}
.hg-hcta a{display:inline-flex;align-items:center;gap:7px;font-family:'Helvetica Neue',Arial,sans-serif;font-weight:700;font-size:.84rem;padding:11px 18px;border-radius:8px;text-decoration:none;transition:.2s}
.hg-hcta a.book{background:var(--accent,#b8923a);color:#fff}
.hg-hcta a.off{background:#f5efe2;color:#2c2418;border:1px solid #e0d6bf}
.hg-feature.hg-hero .hg-all{top:12px;bottom:auto}
@media(min-width:821px){
  .hg-filters{display:none}
  .hg-feature.hg-hero{height:clamp(340px,46vw,462px)}
  .hg-slideshow.hg-hero .hg-slide{height:clamp(340px,46vw,462px)}
  .hg-hv{display:block}
  .hg-heroblock .hg-hero-in{position:absolute;left:0;right:0;bottom:0;padding:22px 26px;color:#fff;z-index:3;pointer-events:none}
  .hg-heroblock .hg-hcta{pointer-events:auto}
  .hg-heroblock .hg-ht{color:#fff}
  .hg-heroblock .hg-ha{color:#e9e4da}
  .hg-heroblock .hg-hs{color:#ffd36b}
  .hg-heroblock .hg-hk{color:#ffd9a8}
  .hg-hcta a.off{background:rgba(255,255,255,.92);color:#1a1a1a;border:0}
}
.hg-bar{position:fixed;left:0;right:0;bottom:0;z-index:99998;display:none;gap:10px;padding:10px 14px;background:#fff;border-top:0.5px solid #e6e0d6;box-shadow:0 -4px 16px rgba(0,0,0,.08)}
.hg-bar-btn{flex:1;text-align:center;font:700 .9rem 'Helvetica Neue',Arial,sans-serif;padding:13px 10px;border-radius:9px;text-decoration:none}
.hg-bar-btn.alt{background:#f5efe2;color:#5a4a22;border:1px solid #e0d6bf}
.hg-bar-btn.main{background:#b8923a;color:#fff}
@media(max-width:820px){.hg-bar{display:flex} body.hg-hasbar{padding-bottom:72px}}
@media(max-width:640px){.hg-lb-nav{width:42px;height:42px;font-size:1.5rem}.hg-lb-nav.prev{left:6px}.hg-lb-nav.next{right:6px}}
.hg-ftrack{display:flex;height:100%;transition:transform .35s ease;will-change:transform}
.hg-fslide{min-width:100%;height:100%}
.hg-fslide img{width:100%;height:100%;object-fit:cover;display:block}
.hg-fdots{position:absolute;left:0;right:0;bottom:10px;display:none;gap:6px;justify-content:center;z-index:4;pointer-events:none}
.hg-fdot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}
.hg-fdot.on{background:#fff;width:18px;border-radius:4px}
.hg-swipehint{position:absolute;top:52px;right:12px;background:rgba(0,0,0,.55);color:#fff;font:600 .72rem 'Helvetica Neue',Arial,sans-serif;padding:5px 11px;border-radius:20px;display:none;z-index:4;pointer-events:none}
@media(max-width:820px){
  .hg-thumbs{display:none}
  .hg-fdots{display:flex}
  .hg-swipehint{display:inline-block}
  body.hg-hasbar .vpc-bt