body{overflow:auto;background:var(--bg)}
.pub-nav{background:var(--bg);padding:16px 40px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--bdr);position:sticky;top:0;z-index:50}
.pub-nav .brand{font-family:var(--font-display);font-size:18px;color:var(--accent);font-weight:600}
.pub-nav .links{display:flex;gap:22px;margin-left:auto}
.pub-nav .links a{color:var(--tx-2);font-size:13px}
.pub-nav .links a:hover,.pub-nav .links a.active{color:var(--accent)}
.pub-nav .nav-toggle{display:none;background:none;border:1px solid var(--bdr-2);color:var(--tx);font-size:16px;line-height:1;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer}
.page-hero{background:linear-gradient(135deg,var(--card),var(--bg));padding:50px 40px 36px;text-align:center;border-bottom:1px solid var(--bdr)}
.container{max-width:1200px;margin:0 auto;padding:32px 24px}
[wire\:loading]{opacity:.5;pointer-events:none;transition:opacity .15s}
@media(max-width:768px){
  .pub-nav{padding:12px 16px;flex-wrap:wrap}
  /* .links used to just vanish here with no way to reach it at all — Rooms/Book Now/Sign In
     were unreachable on a phone. Now it opens as a dropdown from the nav-toggle button
     (front_app.js toggles ".nav-open"; see also home.css/contact.css/gallery.css/public-menu.css,
     each defining the same fix for their own copy of this nav). */
  .pub-nav .links{display:none}
  .pub-nav .nav-toggle{display:inline-flex;align-items:center;justify-content:center;order:2;margin-left:auto}
  .pub-nav.nav-open .links{
    display:flex;flex-direction:column;gap:2px;
    position:absolute;left:0;right:0;top:100%;
    background:var(--card);border-bottom:1px solid var(--bdr);
    padding:10px 16px;z-index:60;
  }
  .pub-nav.nav-open .links a{padding:8px 4px}
  .page-hero{padding:36px 20px 24px}
  .container{padding:20px 16px}
}

/* Room photo galleries */
.rt-cover { position: relative; }
.photo-count { position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,.6); color: #fff; font-size: 11px; padding: 4px 8px; border-radius: 999px; backdrop-filter: blur(4px); }
.thumb-strip { display: flex; gap: 6px; padding: 8px 12px 0; overflow-x: auto; scrollbar-width: none; }
.thumb-strip::-webkit-scrollbar { display: none; }
.thumb-strip img { width: 56px; height: 42px; object-fit: cover; border-radius: 6px; border: 1px solid var(--bdr); cursor: pointer; flex: 0 0 auto; transition: border-color .15s; }
.thumb-strip img:hover { border-color: var(--accent); }
.thumb-more { flex: 0 0 auto; width: 56px; height: 42px; border-radius: 6px; border: 1px solid var(--bdr); background: var(--card-2); color: var(--accent); font-size: 12px; cursor: pointer; }
.lb-bg { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 1000; align-items: center; justify-content: center; }
.lb-bg.open { display: flex; }
.lb-img { max-width: 92vw; max-height: 88vh; border-radius: 8px; object-fit: contain; }
.lb-close { position: absolute; top: 20px; right: 28px; font-size: 28px; color: #fff; cursor: pointer; background: none; border: none; line-height: 1; }
.lb-nav { position: absolute; top: 50%; transform: translateY(-50%); font-size: 40px; color: #fff; cursor: pointer; background: none; border: none; padding: 12px; }
.lb-prev { left: 12px; }
.lb-next { right: 12px; }
.lb-caption { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.75); font-size: 12px; white-space: nowrap; }
