/* ============================================================
   NR Footer Widget — Stylesheet v2.0
   ALL layout values are driven by Elementor inline styles.
   CSS only provides base resets, flex/display, transitions.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

/* ── Wrapper ─────────────────────────────────────────────── */
.nrf-footer { width: 100%; }
.nrf-footer-inner { margin: 0 auto; }
.nrf-footer a { text-decoration: none; }

/* ── Main grid — columns set via inline style ────────────── */
.nrf-main-grid {
    display: grid;
    align-items: start;
}

/* ── Brand column ────────────────────────────────────────── */
.nrf-brand-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.nrf-brand-logos img { display: block; object-fit: contain; }
.nrf-brand-name  { display: block; }
.nrf-tagline     { display: block; }
.nrf-desc        { margin: 0; }

/* ── Social row ──────────────────────────────────────────── */
.nrf-social-row { display: flex; flex-wrap: wrap; }
.nrf-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid;
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
    flex-shrink: 0;
    transition: background .25s, color .25s, border-color .25s, transform .2s;
}
.nrf-social-btn:hover { transform: translateY(-2px); }

/* ── Column titles ───────────────────────────────────────── */
.nrf-col-title {
    display: block;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* ── Link lists ──────────────────────────────────────────── */
.nrf-link-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}
.nrf-link-list li a {
    display: inline-block;
    transition: color .2s, transform .2s;
}
.nrf-link-list li a:hover { transform: translateX(3px); }

/* ── Contact list ────────────────────────────────────────── */
.nrf-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}
.nrf-contact-list li {
    display: flex;
    align-items: flex-start;
}
.nrf-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
}
.nrf-contact-icon svg { display: block; }
.nrf-contact-text { flex: 1; }

/* ── Divider ─────────────────────────────────────────────── */
.nrf-divider { border: none; border-top: 1px solid; margin: 0; }

/* ── Bottom bar ──────────────────────────────────────────── */
.nrf-bottom-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.nrf-bottom-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
.nrf-bottom-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}
.nrf-bottom-links a { transition: opacity .2s; }
.nrf-bottom-links a:hover { opacity: .7; }
.nrf-bottom-sep { opacity: .4; padding: 0 4px; }
.nrf-credit a { transition: opacity .2s; }
.nrf-credit a:hover { opacity: .7; }
