/* Fort Benning Verified Rentals — shared styles
   Palette: navy #0B2545 · gold #C9A227 · red #B22234 · green #1F8A5B */

html, body { margin: 0; padding: 0; }
* { box-sizing: border-box; }
body {
  font-family: 'Source Sans 3', system-ui, sans-serif;
  color: #1a2533;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
button { font-family: 'Source Sans 3', sans-serif; }
a { text-decoration: none; color: inherit; }

@keyframes fbvrFade {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
.fbvr-page { animation: fbvrFade .4s ease; }

/* ── image slots (real <img> replaces the canvas image-slot) ── */
.imgbox { background: #E8ECF2; overflow: hidden; }
.imgbox img { width: 100%; height: 100%; object-fit: cover; display: block; }
.img-empty {
  background: #E8ECF2;
  display: flex; align-items: center; justify-content: center;
  color: #8a93a0; font-size: 13px; font-weight: 600;
}

/* ── hover states (replaces style-hover) ── */
.h-bright:hover      { filter: brightness(1.06); }
.h-navy:hover        { background: #0a1f3a; }
.h-navlink:hover     { color: #0B2545; background: #F1F4F8; }
.h-bordernavy:hover  { border-color: #0B2545 !important; }
.h-white16:hover     { background: rgba(255,255,255,0.16) !important; }
.h-white18:hover     { background: rgba(255,255,255,0.18) !important; }
.h-goldlink:hover    { color: #C9A227 !important; }
.h-whitelink:hover   { color: #fff !important; }
.h-navytext:hover    { color: #0B2545 !important; }
.h-redbg:hover       { background: #FBEAEC !important; }
.h-invert:hover      { background: #0B2545 !important; color: #fff !important; }
.h-card:hover        { box-shadow: 0 10px 28px rgba(11,37,69,0.14); transform: translateY(-3px); }
.h-ghostpkg:hover    { background: #F5F7FA; border-color: #0B2545; }

/* ── nav ── */
.fbvr-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #E6EAF0;
}
.fbvr-navbar {
  max-width: 1240px; margin: 0 auto; padding: 0 32px; height: 72px;
  display: flex; align-items: center; gap: 28px;
}
.fbvr-navlinks { display: flex; align-items: center; gap: 3px; margin-left: 8px; flex: 1; }
.fbvr-navlink {
  cursor: pointer; font-size: 13.5px; font-weight: 600; color: #5a6b7d;
  padding: 8px 11px; border-radius: 7px; white-space: nowrap;
}
.fbvr-navlink:hover { color: #0B2545; background: #F1F4F8; }
.fbvr-navlink.active { font-weight: 700; color: #0B2545; background: #F1F4F8; }

/* ── responsive (matches the design's breakpoints) ── */
@media (max-width: 1020px) {
  .fbvr-navbar { gap: 12px !important; padding: 0 16px !important; }
  .fbvr-navlinks { overflow-x: auto; scrollbar-width: none; }
  .fbvr-navlinks::-webkit-scrollbar { display: none; }
  .fbvr-hero, .fbvr-split, .fbvr-browse, .fbvr-detail, .fbvr-contact { grid-template-columns: 1fr !important; }
  .fbvr-g1, .fbvr-g5 { grid-template-columns: repeat(2,1fr) !important; }
  .fbvr-aside { position: static !important; }
  .fbvr-footer { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 700px) {
  h1 { font-size: clamp(30px,9vw,40px) !important; line-height: 1.1 !important; }
  h2 { font-size: clamp(23px,6.5vw,30px) !important; }
  .fbvr-g1, .fbvr-g5, .fbvr-g2m, .fbvr-footer { grid-template-columns: 1fr !important; }
  .fbvr-steps { grid-template-columns: repeat(2,1fr) !important; gap: 22px 8px !important; }
  .fbvr-line { display: none !important; }
  .fbvr-pkgrow { flex-direction: column !important; }
  .fbvr-gallery { grid-template-columns: 1fr !important; height: auto !important; }
  .fbvr-gallery > .imgbox { aspect-ratio: 3/2; }
  .fbvr-thumbs { grid-template-rows: none !important; grid-template-columns: repeat(3,1fr) !important; }
  .fbvr-thumbs .imgbox { height: 88px !important; }
  .fbvr-qs > div { border-right: none !important; flex-basis: 100%; }
  .fbvr-qs > button { width: 100%; justify-content: center; }
  .fbvr-float { right: 8px !important; bottom: 12px !important; max-width: 210px !important; }
  .fbvr-table div { font-size: 11.5px !important; padding: 10px 6px !important; }
}
