/* =====================================================================
   Footer
   ===================================================================== */

/* pre-footer CTA band — sunlit Bali backdrop */
.cta-band {
    background:
        linear-gradient(105deg, rgba(20,38,28,.92) 0%, rgba(27,94,32,.82) 55%, rgba(46,125,50,.55) 100%),
        url('../img/area-mountain.jpg') center/cover no-repeat;
    color: #e6efe6;
    border-radius: var(--radius);
    padding: clamp(2.75rem, 5vw, 4.5rem);
    position: relative;
    overflow: hidden;
}
.cta-band::after {
    content: ""; position: absolute; right: -60px; top: -60px;
    width: 280px; height: 280px; border-radius: 50%;
    background: radial-gradient(circle, rgba(180,138,78,.35), transparent 70%);
}
.cta-band h2 { color: #fff; position: relative; }
.cta-band p { position: relative; }
.cta-band .btn { position: relative; }

.site-footer { background: var(--ink); color: #8e9aad; padding: clamp(3rem, 6vw, 5rem) 0 0; }
.site-footer a { color: #aeb8c7; }
.site-footer a:hover { color: #fff; }

.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 2.5rem; padding-bottom: 3rem; }
@media (max-width: 767px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }
@media (max-width: 479px) { .footer-grid { grid-template-columns: 1fr; } }

.footer-brand img { height: 42px; margin-bottom: 1.2rem; background: #fff; padding: .5rem .7rem; border-radius: 10px; }
.footer-brand p { font-size: .92rem; max-width: 34ch; }

.footer-col h4 { color: #fff; font-family: var(--font-body); font-weight: 700; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1.1rem; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: .6rem; font-size: .94rem; }

.footer-contact li { display: flex; gap: .6rem; align-items: flex-start; margin-bottom: .8rem; font-size: .94rem; }
.footer-contact i { color: var(--gold); margin-top: .2rem; }

.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 1.5rem 0; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; font-size: .85rem; }
.footer-bottom .socials { display: flex; gap: .5rem; }
.footer-bottom .socials a {
    width: 38px; height: 38px; border-radius: 50%;
    display: grid; place-items: center;
    background: rgba(255,255,255,.06); color: #cdd5e1;
    transition: background .2s ease, color .2s ease;
}
.footer-bottom .socials a:hover { background: var(--gold); color: var(--ink); }
