/* Footer values and responsive behavior from the original reference pages. */
.site-footer { line-height:normal; background:var(--color-espresso); color:var(--color-cream); padding:36px 40px 20px; }
.page-template-gallery .site-footer,.page-template-guide .site-footer { border-top:1px solid var(--border-on-dark); }
.footer-grid { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:150px 1.4fr 1fr 1.6fr 1.1fr; gap:28px; align-items:start; }
.footer-logo { width:116px; height:116px; border-radius:50%; object-fit:contain; object-position:center; }
.footer-block { color:var(--color-cream); }
.footer-about p { font-size:14.5px; line-height:1.7; opacity:.85; margin:0; }
.footer-heading { font-family:var(--font-serif-display); font-size:15px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--color-gold-light); margin-bottom:12px; }
.footer-links,.footer-destinations { display:grid; grid-template-columns:1fr 1fr; gap:6px 14px; font-size:14.5px; }
.footer-links a { color:var(--color-cream); opacity:.85; }
.footer-links a:hover,.footer-links a:focus-visible { opacity:1; text-decoration:underline; }
.footer-destinations { opacity:.85; }
.footer-contact { display:flex; flex-direction:column; gap:8px; font-size:14.5px; opacity:.9; }
.footer-contact span { display:flex; align-items:center; gap:8px; }
.footer-contact-icon { width:14px; height:14px; color:var(--color-gold-light); flex-shrink:0; }
.social-row { display:flex; gap:10px; margin-top:14px; font-family:var(--font-sans-body); }
.social-link-footer { box-sizing:content-box; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--border-on-dark); color:var(--color-cream); text-decoration:none; font-size:12px; font-weight:700; }
.social-link-footer:hover,.social-link-footer:focus-visible { color:var(--color-cream); text-decoration:none; }
.social-icon-footer { width:18px; height:18px; }
.social-link-footer.social-tripadvisor { width:auto; padding:0 10px; }
.footer-bottom { max-width:1200px; margin:22px auto 0; padding-top:14px; border-top:1px solid var(--border-on-dark); display:flex; justify-content:space-between; gap:10px; font-size:13.5px; opacity:.6; }
.footer-legal-links { display:inline-flex; gap:4px; }
.footer-legal-links a { color:inherit; }
.floating-whatsapp { line-height:normal; position:fixed; right:22px; bottom:22px; z-index:40; display:flex; align-items:center; gap:10px; background:#25D366; color:#08361A; font-size:15px; font-weight:700; padding:10px 18px 10px 12px; border-radius:var(--radius-pill); box-shadow:var(--shadow-raised); text-decoration:none; }
.floating-whatsapp:hover,.floating-whatsapp:focus-visible { color:#08361A; text-decoration:none; }
.floating-whatsapp-icon { width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.9); display:flex; align-items:center; justify-content:center; color:#25D366; }
.floating-whatsapp-svg { width:16px; height:16px; }
@media(max-width:1024px) { .footer-grid { grid-template-columns:130px 1fr 1fr; } }
@media(max-width:640px) {
 .footer-grid { grid-template-columns:1fr; justify-items:center; text-align:center; }
 .footer-bottom { flex-direction:column; align-items:center; text-align:center; }
 .page-template-home .site-footer { padding-left:20px; padding-right:20px; }
 .page-template-home .footer-links,.page-template-home .footer-destinations { justify-items:center; }
}
