/* Compact site footer (2026-11-14): one short band on desktop, about a third of the old height on phones.
   Loaded last on every page with .vv-site-footer, so it wins over brand-v1 / site-chrome-v3 / type-refine. */
html body:not(#vvf) footer.vv-site-footer{border-top:2px solid #b28d5e!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-inner{width:min(1180px,calc(100% - 44px))!important;margin:0 auto!important;display:grid!important;grid-template-columns:1.25fr 1fr 1.1fr 1fr!important;gap:8px 32px!important;padding:22px 0 14px!important;align-items:start!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-brand{display:block!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-brand strong{display:block!important;font-size:15px!important;font-weight:650!important;line-height:1.3!important;letter-spacing:.02em!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-tagline{margin:3px 0 0!important;font-size:12px!important;line-height:1.5!important;color:#b9c7ce!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-brand address{margin:2px 0 0!important;font-size:12px!important;line-height:1.5!important;font-style:normal!important;color:#9fb2bc!important}
html body:not(#vvf) footer.vv-site-footer h2{margin:0 0 5px!important;font-size:11px!important;line-height:1.4!important;font-weight:650!important;letter-spacing:.06em!important;color:#d8b985!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-links,
html body:not(#vvf) footer.vv-site-footer .vv-footer-legal{display:flex!important;flex-flow:row wrap!important;align-items:baseline!important;gap:2px 14px!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-links h2,
html body:not(#vvf) footer.vv-site-footer .vv-footer-legal h2{flex-basis:100%!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-contact{display:block!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-legal{margin:8px 0 0!important;padding:0!important;border:0!important;width:auto!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-legal h2{display:none!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-company p{margin:0!important;font-size:12px!important;line-height:1.55!important;color:#b9c7ce!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-verify{display:inline-block!important;margin-top:2px!important;font-size:12px!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-inner a{font-size:12.5px!important;line-height:1.6!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-bottom{width:min(1180px,calc(100% - 44px))!important;margin:0 auto!important;padding:9px 0 12px!important;gap:2px 20px!important;border-top:1px solid #2e4a5c!important}
html body:not(#vvf) footer.vv-site-footer .vv-footer-bottom,
html body:not(#vvf) footer.vv-site-footer .vv-footer-bottom span,
html body:not(#vvf) footer.vv-site-footer .vv-footer-bottom a{font-size:11.5px!important;line-height:1.5!important}
@media (max-width:900px){
  html body:not(#vvf) footer.vv-site-footer .vv-footer-inner{grid-template-columns:1fr 1fr!important;gap:12px 20px!important}
}
@media (max-width:640px){
  html body:not(#vvf) footer.vv-site-footer .vv-footer-inner{width:calc(100% - 36px)!important;grid-template-columns:1fr 1fr!important;gap:12px 16px!important;padding:16px 0 10px!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-brand{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:0 10px!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-tagline{display:none!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-brand address{margin:0!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-links,
  html body:not(#vvf) footer.vv-site-footer .vv-footer-company{grid-column:auto!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-links{gap:0 12px!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-contact{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:2px 14px!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-contact>h2{flex-basis:100%!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-legal{margin:0!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-inner{gap:9px 16px!important;padding:14px 0 8px!important}
  html body:not(#vvf) footer.vv-site-footer h2{display:none!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-links,
  html body:not(#vvf) footer.vv-site-footer .vv-footer-company{grid-column:1/-1!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-company{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:0 10px!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-company p,
  html body:not(#vvf) footer.vv-site-footer .vv-footer-company a{font-size:11.5px!important;color:#9fb2bc!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-verify{margin:0!important;color:#dec18e!important}
  html body:not(#vvf) footer.vv-site-footer .vv-footer-bottom{width:calc(100% - 36px)!important;flex-direction:column!important;padding:7px 0 74px!important}
}
/* Home: five festivals in the "more festivals" row on wide screens. */
@media (min-width:1000px){html body[data-vv-home-clean] .vv-upcoming-events{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
