/* Skyview Suites public-facing design polish — loaded after the original theme. */
:root { --sky-ink:#202522; --sky-muted:#626b66; --sky-sand:#f5f2ec; --sky-gold:#c5a36a; --sky-line:rgba(32,37,34,.14); }
body { color:var(--sky-ink); }
img { max-width:100%; }
.header { z-index:1050; }
.header-nav { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.header-link { letter-spacing:.08em; }
.header-register-btn, .register-submit-btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:.75rem; transition:transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.header-register-btn:hover, .register-submit-btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.16); }
#home { min-height: min(860px, 100svh); }
#home .container-fluid { padding-top:clamp(8rem,16vh,12rem); }
#home .display-3 { max-width: 850px; font-size:clamp(2.8rem,6.2vw,6rem); letter-spacing:-.035em; }
#home .max-w-500 { max-width:560px; color:rgba(255,255,255,.88)!important; font-size:clamp(1rem,1.3vw,1.15rem); }
#home .register-submit-btn { background:var(--sky-gold); color:#171916; border:1px solid var(--sky-gold); border-radius:2px; padding:.95rem 1.45rem; font-weight:600; text-decoration:none; }
#home .hero-secondary-link { display:inline-flex; margin:.95rem 0 0 1rem; color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:3px; }
#home .hero-secondary-link:hover { border-color:var(--sky-gold); color:#fff; }
#home .bg-gradient-elrune { background:linear-gradient(90deg,rgba(12,17,15,.76) 0%,rgba(12,17,15,.35) 56%,rgba(12,17,15,.12) 100%),linear-gradient(0deg,rgba(9,13,11,.7),transparent 72%); }
.section-title { letter-spacing:-.025em; }
.section-subtitle { max-width:680px; color:var(--sky-muted); line-height:1.75; }
#about { padding-top:clamp(4rem,8vw,8rem); padding-bottom:clamp(4rem,8vw,8rem); }
#about .lead { color:#505953; line-height:1.85; }
/* Horizontal eight-image gallery */
.stay-gallery-section { position:relative; display:block; width:100%; background:var(--sky-sand); overflow:hidden; padding-top:clamp(4rem,7vw,7rem); padding-bottom:clamp(4rem,7vw,7rem); }
.stay-gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.stay-gallery-heading .section-title { margin:.5rem 0 .7rem; font-size:clamp(2rem,4vw,3.7rem); }
.stay-gallery-heading .section-subtitle { margin:0; }
.stay-gallery-controls { display:flex; gap:.65rem; flex-shrink:0; }
.stay-gallery-scroll-btn { width:48px; height:48px; border:1px solid rgba(32,37,34,.3); border-radius:50%; background:transparent; color:var(--sky-ink); font-size:1.3rem; transition:background .2s,color .2s; }
.stay-gallery-scroll-btn:hover,.stay-gallery-scroll-btn:focus-visible { background:var(--sky-ink); color:#fff; }
.stay-gallery-track { display:flex; gap:1.1rem; overflow-x:auto; padding:.25rem .1rem 1.2rem; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:var(--sky-gold) rgba(32,37,34,.1); }
.stay-gallery-track:focus-visible { outline:2px solid var(--sky-gold); outline-offset:5px; }
.stay-gallery-card { position:relative; flex:0 0 clamp(280px,34vw,430px); aspect-ratio:4/3; padding:0; overflow:hidden; border:0; background:#ddd; text-align:left; scroll-snap-align:start; isolation:isolate; }
.stay-gallery-card::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.56)); z-index:1; pointer-events:none; }
.stay-gallery-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.65,.3,1); }
.stay-gallery-card:hover img,.stay-gallery-card:focus-visible img { transform:scale(1.055); }
.stay-gallery-card:focus-visible { outline:3px solid var(--sky-gold); outline-offset:3px; }
.stay-gallery-card-index { position:absolute; bottom:1.2rem; left:1.25rem; z-index:2; color:white; font-size:.83rem; letter-spacing:.14em; }
.stay-gallery-footer { display:flex; justify-content:space-between; gap:1rem; padding-top:1rem; color:var(--sky-muted); font-size:.9rem; }
.stay-gallery-footer a { color:var(--sky-ink); text-decoration:none; border-bottom:1px solid var(--sky-gold); padding-bottom:3px; }
.stay-gallery-modal .modal-content { background:#f8f6f1; border:0; border-radius:0; }
.stay-gallery-modal .modal-header,.stay-gallery-modal .modal-footer { padding:1.1rem 1.5rem; border-color:var(--sky-line); }
.stay-modal-eyebrow { display:block; color:#8c7041; text-transform:uppercase; font-size:.72rem; letter-spacing:.16em; margin-bottom:.35rem; }
.stay-gallery-modal .modal-title { font-size:1.25rem; font-weight:500; }
.stay-gallery-modal .modal-body { min-height:300px; padding:1rem 4rem; position:relative; display:flex; justify-content:center; align-items:center; background:#171a18; }
.stay-gallery-modal-image { display:block; width:100%; max-height:72vh; object-fit:contain; }
.stay-modal-nav { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(0,0,0,.35); color:#fff; font-size:1.2rem; z-index:2; }
.stay-modal-nav:hover,.stay-modal-nav:focus-visible { background:#fff; color:#171a18; }
.stay-modal-prev { left:1rem; }.stay-modal-next { right:1rem; }
.stay-gallery-modal .modal-footer { justify-content:space-between; color:var(--sky-muted); }
.stay-modal-book { color:var(--sky-ink); text-decoration:none; border-bottom:1px solid var(--sky-gold); padding-bottom:3px; }
.footer { position:relative; display:block!important; visibility:visible!important; opacity:1!important; width:100%; min-height:220px; z-index:1; background:#1d2420; color:#fff; clear:both; }
.footer .container, .footer .footer-shell, .footer .footer-links-wrap, .footer .footer-bottom { visibility:visible; opacity:1; }
.footer .footer-title, .footer .footer-text, .footer .footer-label, .footer .footer-link, .footer .footer-meta { color:inherit; }
.footer .footer-link { color:rgba(255,255,255,.82); }
.footer .footer-label { color:rgba(255,255,255,.58); }
.footer .footer-meta { color:rgba(255,255,255,.62); }
.footer-link { transition:color .2s ease; }
.footer-link:hover { color:var(--sky-gold); }
button:focus-visible,a:focus-visible { outline:2px solid var(--sky-gold); outline-offset:3px; }
@media (max-width:991.98px) {
  #home { min-height:760px; height:auto!important; }
  #home .container-fluid { min-height:760px; padding-top:9rem; padding-bottom:2.5rem!important; }
  #home .row { margin-left:0!important; margin-right:0!important; }
  #home .col-lg-5 { align-items:flex-start!important; }
  #home .ticker-container { margin-top:1rem; }
  .header-collapse { padding:1rem 0 1.25rem; }
  .header-menu { gap:.2rem; }
  .header-link { padding:.7rem .2rem!important; }
  .header-register-btn { margin-top:.75rem; width:100%; }
  .stay-gallery-card { flex-basis:clamp(260px,58vw,380px); aspect-ratio:4/3; }
}
@media (max-width:575.98px) {
  #home { min-height:720px; }
  #home .container-fluid { min-height:720px; padding-left:1.25rem!important; padding-right:1.25rem!important; }
  #home .display-3 { font-size:clamp(2.65rem,12vw,4rem); }
  #home .hero-secondary-link { margin-left:.75rem; }
  .stay-gallery-heading { align-items:flex-start; flex-direction:column; gap:1rem; }
  .stay-gallery-controls { align-self:flex-end; margin-top:-.25rem; }
  .stay-gallery-card { flex-basis:82vw; aspect-ratio:4/3; }
  .stay-gallery-footer { align-items:flex-start; flex-direction:column; }
  .stay-gallery-modal .modal-body { padding:3.5rem .5rem; }
  .stay-modal-prev { left:.4rem; }.stay-modal-next { right:.4rem; }
  .stay-modal-nav { width:36px;height:36px; }
  .stay-gallery-modal .modal-header,.stay-gallery-modal .modal-footer { padding:.85rem 1rem; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Ensure the page end remains visible even when older theme rules are cached. */
html, body { min-height:100%; }
body > footer.footer { display:block; }
