/* Footer for Hocking Hills Premier Cabins cabin pages */
.site-footer { background-color:#49382E; color:#FFFFFF; font-family:Montserrat, Arial, sans-serif; text-align:left; }
.site-footer a { color:#FFFFFF; text-decoration:none; }

.site-footer__inner {
  max-width:1200px; margin:0 auto; padding:52px 24px 34px;
  display:grid; grid-template-columns:1.25fr 1fr 1fr 1.5fr; gap:40px;
}

/* Brand column */
.site-footer__brand { display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
.site-footer__logo { display:inline-block; background:#FCF8EC; padding:12px 16px; border-radius:10px; }
.site-footer__logo img { display:block; width:190px; height:auto; }
.site-footer__addr { font-style:normal; font-size:15px; line-height:1.7; color:rgba(255,255,255,0.88); }
.site-footer__phone { font-size:19px; font-weight:600; color:#FFFFFF; }
.site-footer__addr a:hover { text-decoration:underline; text-underline-offset:2px; }

.site-footer__social { display:flex; gap:12px; }
.site-footer__social a {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.45); color:#FFFFFF;
  transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.site-footer__social a:hover { background-color:#FCF8EC; color:#49382E; border-color:#FCF8EC; }
.site-footer__social i { font-size:20px; line-height:1; }
.site-footer__social svg { width:20px; height:20px; display:block; }
.site-footer__love { display:inline-block; }
.site-footer__love img { display:block; width:auto; height:27px; max-width:100%; }

/* Link columns */
.site-footer__col h2 {
  position:relative; margin:0 0 18px; padding-bottom:10px;
  font-size:14px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#FFFFFF;
}
.site-footer__col h2::after { content:""; position:absolute; left:0; bottom:0; width:30px; height:2px; background:#FCF8EC; opacity:0.65; }
.site-footer__col h2 + h2, .site-footer__col ul + h2 { margin-top:30px; }
.site-footer__col ul { list-style:none; margin:0; padding:0; }
.site-footer__col li { margin:0 0 10px; }
.site-footer__col a { font-size:15px; line-height:1.5; color:rgba(255,255,255,0.86); transition:color 0.2s ease; }
.site-footer__col a:hover { color:#FFFFFF; text-decoration:underline; text-underline-offset:3px; }

.footer-cabins ul { columns:2; column-gap:32px; }
.footer-cabins li { break-inside:avoid; }

/* Bottom bar */
.site-footer__bottom { border-top:1px solid rgba(255,255,255,0.16); }
.site-footer__bottom-inner {
  max-width:1200px; margin:0 auto; padding:20px 24px;
  display:flex; flex-wrap:wrap; gap:12px 28px; align-items:center; justify-content:space-between;
}
.site-footer__legal { display:flex; flex-wrap:wrap; gap:10px 22px; }
.site-footer__legal a { font-size:14px; color:rgba(255,255,255,0.82); }
.site-footer__legal a:hover { color:#FFFFFF; text-decoration:underline; text-underline-offset:2px; }
.site-footer__meta { display:flex; flex-wrap:wrap; gap:4px 18px; font-size:13px; color:rgba(255,255,255,0.68); }
.site-footer__meta a { text-decoration:underline; text-underline-offset:2px; }
.site-footer__meta a:hover { color:#FFFFFF; }

@media (max-width:960px) {
  .site-footer__inner { grid-template-columns:1fr 1fr; gap:36px; }
  .site-footer__brand { grid-column:1 / -1; align-items:center; gap:20px; }
}
@media (max-width:560px) {
  .site-footer__inner { grid-template-columns:1fr; padding:40px 22px 26px; }
  .site-footer__brand { flex-direction:column; align-items:flex-start; }
  .footer-cabins ul { columns:1; }
  .site-footer__bottom-inner { justify-content:center; text-align:center; }
  .site-footer__legal, .site-footer__meta { justify-content:center; }
}
