/* ==========================================================
   FOOTER.CSS — Benigens Group
   Dark 4-column footer
   ========================================================== */

.ben-footer {
    background: #0d0d0d;
    padding:    64px 80px 36px;
}

/* ── Top grid ── */
.ben-footer-top {
    display:       grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap:           48px;
    padding-bottom:48px;
    border-bottom: 0.5px solid rgba(255,255,255,0.07);
    margin-bottom: 32px;
}

/* Brand column */
.ben-f-col--brand {}
.ben-f-logo-link    { display: inline-block; margin-bottom: 16px; }
.ben-f-logo-img     { height: 44px; width: auto; object-fit: contain; }
.ben-f-brand-text {
    font-family:    var(--font-display);
    font-size:      22px;
    font-weight:    400;
    letter-spacing: 0.2em;
    color:          #fff;
    margin-bottom:  16px;
}
.ben-f-tagline {
    font-family:  var(--font-body);
    font-size:    12px;
    font-weight:  300;
    color:        rgba(255,255,255,0.32);
    line-height:  1.85;
    letter-spacing:0.04em;
    max-width:    280px;
    margin-bottom:28px;
}

/* Social icons */
.ben-f-socials {
    display: flex;
    gap:     12px;
}
.ben-f-soc {
    width:           34px;
    height:          34px;
    border:          0.5px solid rgba(255,255,255,0.12);
    display:         flex;
    align-items:     center;
    justify-content: center;
    color:           rgba(255,255,255,0.4);
    text-decoration: none;
    transition:      border-color var(--transition-fast), color var(--transition-fast);
}
.ben-f-soc:hover {
    border-color: var(--gold);
    color:        var(--gold);
}

/* Columns */
.ben-f-col-title {
    font-family:    var(--font-body);
    font-size:      10px;
    font-weight:    400;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color:          rgba(255,255,255,0.55);
    margin-bottom:  22px;
}
.ben-f-links {
    list-style:     none;
    padding:        0;
    margin:         0;
    display:        flex;
    flex-direction: column;
    gap:            12px;
}
.ben-f-links li a,
.ben-f-links a {
    font-family:     var(--font-body);
    font-size:       12px;
    font-weight:     300;
    color:           rgba(255,255,255,0.32);
    text-decoration: none;
    letter-spacing:  0.06em;
    transition:      color var(--transition-fast);
}
.ben-f-links li a:hover,
.ben-f-links a:hover { color: var(--gold); }

/* CTA link in footer */
.ben-f-cta-link {
    display:         inline-flex;
    align-items:     center;
    gap:             8px;
    font-family:     var(--font-body);
    font-size:       11px;
    font-weight:     400;
    letter-spacing:  0.14em;
    text-transform:  uppercase;
    color:           var(--gold);
    text-decoration: none;
    margin-bottom:   20px;
    padding-bottom:  10px;
    border-bottom:   0.5px solid rgba(184,151,90,0.3);
    transition:      color var(--transition-fast);
}
.ben-f-cta-link:hover { color: #c9a96e; }

/* Contact row */
.ben-f-contacts {
    display:        flex;
    flex-direction: column;
    gap:            10px;
    margin-top:     8px;
}
.ben-f-contact {
    display:         flex;
    align-items:     center;
    gap:             10px;
    font-family:     var(--font-body);
    font-size:       12px;
    font-weight:     300;
    color:           rgba(255,255,255,0.32);
    text-decoration: none;
    transition:      color var(--transition-fast);
}
.ben-f-contact:hover { color: var(--gold); }

/* ── Bottom bar ── */
.ben-footer-bottom {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             20px;
}
.ben-f-copy {
    font-family:    var(--font-body);
    font-size:      11px;
    font-weight:    300;
    color:          rgba(255,255,255,0.22);
    letter-spacing: 0.06em;
    margin:         0;
}
.ben-f-gold-dot { color: var(--gold); margin: 0 5px; }
.ben-f-legal {
    display:    flex;
    gap:        24px;
    flex-wrap:  wrap;
}
.ben-f-legal a {
    font-family:     var(--font-body);
    font-size:       11px;
    font-weight:     300;
    color:           rgba(255,255,255,0.22);
    text-decoration: none;
    letter-spacing:  0.06em;
    transition:      color var(--transition-fast);
}
.ben-f-legal a:hover { color: var(--gold); }

/* ── Responsive ── */
@media (max-width: 1024px) {
    .ben-footer           { padding: 48px 32px 28px; }
    .ben-footer-top       { grid-template-columns: 1fr 1fr; gap: 36px; }
    .ben-footer-bottom    { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 600px) {
    .ben-footer-top { grid-template-columns: 1fr; }
}
