/* ==========================================================================
   Indifi blog footer — mirrors the indifi.com main-site footer
   Source of truth: indifi-website/public/partials/footer.ejs
                    indifi-website/src/sass/layout/_footer.scss
   Self-contained: no Bootstrap required. All selectors are prefixed "ifo-".
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

.ifo-footer {
    --ifo-green: #05AF6E;
    --ifo-green-dark: #03a064;
    --ifo-bg: #393939;
    --ifo-text: #cbd3e1;
    --ifo-muted: #a6a7aa;        /* $color-light */
    --ifo-line: rgba(255, 255, 255, .1);

    background: var(--ifo-bg);
    color: var(--ifo-text);
    font: 400 14px/1.6 'Montserrat', sans-serif;
    box-sizing: border-box;
}
.ifo-footer *, .ifo-footer *::before, .ifo-footer *::after { box-sizing: inherit; }
.ifo-footer p { color: var(--ifo-text); margin: 0 0 10px; }
.ifo-footer a { color: var(--ifo-text); text-decoration: none; transition: color .3s ease; }
.ifo-footer a:hover, .ifo-footer a:focus { color: #fff; }
.ifo-footer a:focus-visible, .ifo-footer button:focus-visible, .ifo-footer input:focus-visible {
    outline: 2px solid var(--ifo-green); outline-offset: 2px;
}
.ifo-footer ul { list-style: none; margin: 0; padding: 0; }

.ifo-container { max-width: 1170px; margin: 0 auto; padding: 0 15px; }
.ifo-section { padding-top: 60px; padding-bottom: 30px; }
.ifo-sep { border-bottom: 1px solid var(--ifo-line); }
.ifo-row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.ifo-col { padding: 0 15px; }

/* ---------- Row 1: logo + blog signup ---------- */
.ifo-top { align-items: center; padding-bottom: 20px; }
.ifo-top .ifo-brand { flex: 0 0 41.66%; }
.ifo-top .ifo-signup { flex: 0 0 58.33%; }
.ifo-logo { width: 91px; height: 29px; display: block; }

.ifo-form { display: flex; align-items: center; gap: 0; }
.ifo-form label { flex: 0 0 auto; color: #fff; margin-right: 15px; white-space: nowrap; }
.ifo-form input[type="email"] {
    flex: 1 1 auto; min-width: 0;
    height: 42px; padding: 6px 12px;
    font: inherit; color: #555; background: #fff;
    border: 1px solid #ccc; border-right: 0;
    border-radius: 5px 0 0 5px;
}
.ifo-form input[type="submit"] {
    flex: 0 0 auto;
    height: 42px; padding: 0 34px;
    font: 400 16px/1 'Montserrat', sans-serif; text-transform: uppercase;
    color: #fff; background: var(--ifo-green); border: 1px solid var(--ifo-green);
    border-radius: 0 5px 5px 0; cursor: pointer; transition: background .3s ease;
}
.ifo-form input[type="submit"]:hover { background: var(--ifo-green-dark); }
.ifo-honeypot { position: absolute; left: -5000px; }

/* ---------- Row 2: about + link columns ---------- */
.ifo-main { padding-top: 40px; padding-bottom: 20px; }
.ifo-about { flex: 0 0 41.66%; margin-bottom: 30px; }
.ifo-about .ifo-office { text-transform: uppercase; font-weight: 700; font-size: 18px; margin: 20px 0 5px; color: #fff; }
.ifo-about .ifo-address li { font-size: 14px; color: #fff; }

.ifo-links { flex: 0 0 58.33%; display: flex; flex-wrap: wrap; }
.ifo-links .ifo-col { flex: 0 0 25%; margin-bottom: 30px; }
.ifo-links li { margin-bottom: 25px; line-height: 1.4; }
.ifo-links li:last-child { margin-bottom: 0; }

.ifo-social { display: flex; align-items: flex-start; gap: 0; }
.ifo-social a {
    display: inline-flex; align-items: center; justify-content: center;
    color: #b3b3b3; padding: 0 6px; min-width: 24px; min-height: 24px;
}
.ifo-social a:hover { color: #fff; }
.ifo-ico { width: 22px; height: 22px; fill: currentColor; }

.ifo-gptw {
    background: #6B6B6B; border-radius: 10px; padding: 10px; text-align: center;
    color: #fff; font-size: 14px; font-weight: 600;
}
.ifo-gptw img { display: block; margin: 4px auto 0; width: auto; height: 6em; }

/* ---------- Row 3: Quick / City / Other links tabs ---------- */
.ifo-tabs { padding: 20px 0 30px; }
.ifo-tabs-nav { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--ifo-line); margin-bottom: 20px; }
.ifo-tab {
    background: none; border: 0; border-bottom: 3px solid transparent;
    color: var(--ifo-text); font: 500 18px/1.4 'Montserrat', sans-serif;
    padding: 10px 20px; margin-bottom: -1px; cursor: pointer; box-shadow: none; border-radius: unset;
}
.ifo-tab:hover { color: #fff; background: none !important; box-shadow: none; border-bottom-color: var(--ifo-green); }
button.ifo-tab:focus-visible, button.ifo-tab:focus, button.ifo-tab:active:focus { border-bottom-color: var(--ifo-green); background: none !important; }
.ifo-tab.active { color: #fff; border-bottom-color: var(--ifo-green); }
/* Panels collapse only once JS has initialised (.tabs-ready); without JS all lists stay visible */
.ifo-tabs.tabs-ready .ifo-panel { display: none; }
.ifo-tabs.tabs-ready .ifo-panel.active { display: block; }
.ifo-tab-list { display: flex; flex-wrap: wrap; }
.ifo-tab-list li { margin-right: 15px; margin-bottom: 10px; }
.ifo-tab-list li::after { content: "|" / ""; color: rgba(255, 255, 255, .25); margin-left: 15px; }
.ifo-tab-list li:last-child::after { content: none; }
.ifo-tab-list a { display: inline-block; padding: 4px 0; line-height: 1.5; }

/* ---------- Copyright ---------- */
.ifo-copy { text-align: center; color: var(--ifo-muted); padding: 30px 0; font-size: 14px; }

/* Hide the Newsup theme footer and its back-to-top button so only this footer shows */
footer.footer.back-img, a.ta_upscr { display: none !important; }

/* ---------- Tablet (≤ 991px) ---------- */
@media (max-width: 991px) {
    .ifo-links .ifo-col { flex: 0 0 50%; }
    .ifo-tab { font-size: 16px; padding: 8px 12px; }
    .ifo-tab-list li { margin-right: 10px; }
    .ifo-tab-list li::after { margin-left: 10px; }
}

/* ---------- Phone (≤ 767px) ---------- */
@media (max-width: 767px) {
    .ifo-section { padding-top: 40px; padding-bottom: 20px; }
    .ifo-top .ifo-brand, .ifo-top .ifo-signup,
    .ifo-about, .ifo-links { flex: 0 0 100%; }
    .ifo-form { flex-wrap: wrap; }
    .ifo-form label { flex: 0 0 100%; margin: 0 0 10px; }
    .ifo-form input[type="email"] { flex: 1 1 58%; }
    .ifo-form input[type="submit"] { flex: 0 0 42%; padding: 0 10px; }
    .ifo-links .ifo-col { flex: 0 0 50%; margin-bottom: 20px; }
    .ifo-links li { margin-bottom: 12px; }
    .ifo-social { justify-content: flex-end; }
    .ifo-tabs-nav { flex-wrap: nowrap; }
    .ifo-tab { flex: 1 1 0; text-align: center; font-size: 14px; padding: 8px 4px; white-space: nowrap; }
    .ifo-tab-list li { margin-right: 8px; }
    .ifo-tab-list li::after { margin-left: 8px; }
    .ifo-tab-list a { font-size: 13px; padding: 3px 0; }
    .ifo-copy { font-size: 13px; padding-bottom: 50px; }
}
