/* Public site footer — markup in src/views/layouts/footer.php.
   Deep-green band in the v2 palette; same look in light and dark mode. */
.sf {
    --sf-bg: #032417;
    --sf-bg-2: #053B26;
    --sf-line: rgba(168, 213, 192, .16);
    --sf-text: #A8D5C0;
    --sf-head: #FFFFFF;
    --sf-accent: #6FD6A8;
    margin-top: 56px;
    background: var(--sf-bg);
    background-image: radial-gradient(1200px 380px at 85% -10%, rgba(10, 143, 90, .28), transparent 60%);
    color: var(--sf-text);
    font-size: 14px;
    line-height: 1.6;
}
.sf a { color: inherit; text-decoration: none; transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
.sf a:hover { color: var(--sf-accent); }
.sf-wrap { max-width: 1240px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; }

.sf-main {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.3fr);
    gap: 40px;
    padding-top: 56px;
    padding-bottom: 44px;
}
/* v2 pages (home, tours, tour detail) already close with their own section spacing */
main:has(.v2) ~ .sf { margin-top: 0; }

/* Brand column */
.sf-brand { display: inline-flex; align-items: center; gap: 10px; }
.sf-brand-name { display: flex; flex-direction: column; line-height: 1.15; }
.sf-brand-name b { color: var(--sf-head); font-size: 17px; font-weight: 800; font-family: 'Poppins', 'Hind Siliguri', system-ui, sans-serif !important; letter-spacing: -.01em; }
.sf-brand-name small { color: var(--sf-accent); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sf-tag { margin: 14px 0 0; max-width: 300px; }
.sf-social { display: flex; gap: 10px; margin-top: 20px; }
.sf-social a {
    display: grid; place-items: center;
    width: 38px; height: 38px; border-radius: 999px;
    border: 1px solid var(--sf-line);
    background: rgba(255, 255, 255, .04);
    color: var(--sf-head);
}
.sf-social a:hover { background: #0A8F5A; border-color: #0A8F5A; color: #fff; }
.sf-social svg { width: 16px; height: 16px; }

/* Link columns */
.sf-h {
    margin: 0 0 16px;
    color: var(--sf-head);
    font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.sf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sf-contact li { display: flex; align-items: flex-start; gap: 10px; }
.sf-contact i, .sf-contact svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; color: var(--sf-accent); }
.sf-contact .sf-stack { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sf-break { overflow-wrap: anywhere; }

/* Bottom bar */
.sf-bottom { border-top: 1px solid var(--sf-line); }
.sf-bottom .sf-wrap {
    display: flex; align-items: center; justify-content: space-between; gap: 8px 24px; flex-wrap: wrap;
    padding-top: 18px; padding-bottom: 18px;
    font-size: 13px;
}
.sf-bottom a { color: var(--sf-head); font-weight: 600; }

@media (max-width: 960px) {
    .sf-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sf-about { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .sf { margin-top: 40px; }
    .sf-wrap { padding: 0 16px; }
    .sf-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; padding-top: 40px; padding-bottom: 32px; }
    .sf-contact-col { grid-column: 1 / -1; }
    .sf-bottom .sf-wrap { flex-direction: column; text-align: center; }
}
