/* ── BSB Footer ── */

.bsb-footer {
    background-color: var(--bsb-color-black);
    color:            #ffffff;
    padding:          100px 0 40px;
    position:         relative;
    z-index:          10;
}

.bsb-footer-container {
    display:        flex;
    flex-direction: column;
}

/* ── Top Area ── */
.bsb-footer-top {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-start;
    flex-wrap:       wrap;
    gap:             40px;
    margin-bottom:   80px;
}

.bsb-footer-top-left {
    flex:      1 1 50%;
    max-width: 600px;
}

.bsb-footer-logo {
    display:       block;
    margin-bottom: 30px;
    max-width:     126px;
}

.bsb-footer-logo img {
    width:  100%;
    height: auto;
}

.bsb-footer-headline {
    font-family:    var(--bsb-font-display);
    font-size:      clamp(1.5rem, 2.5vw, 1.75rem);
    font-weight:    700;
    line-height:    1.3;
    text-transform: uppercase;
    margin:         0;
}

.bsb-footer-top-right {
    flex:           1 1 50%;
    max-width:      450px;
    display:        flex;
    flex-direction: column;
    gap:            20px;
    padding-top:    10px;
}

.bsb-footer-desc {
    font-family: var(--bsb-font-primary);
    font-size:   1.5rem;
    line-height: 1.5;
}

/* ── Newsletter Form ── */
.bsb-footer-form {
    display:        flex;
    align-items:    center;
    border-bottom:  1px solid #ffffff;
    padding-bottom: 10px;
    transition:     border-color 0.3s ease;
}

.bsb-footer-form:focus-within {
    border-color: var(--bsb-pink);
}

.bsb-footer-input {
    background:  transparent;
    border:      none;
    color:       #ffffff;
    font-family: var(--bsb-font-primary);
    font-size:   1.1rem;
    flex:        1;
    outline:     none;
    padding:     5px 0;
}

.bsb-footer-input::placeholder { color: #6d6d6d; }

.bsb-footer-submit {
    background:  transparent;
    border:      none;
    color:       #ffffff;
    cursor:      pointer;
    display:     flex;
    align-items: center;
    padding:     5px;
    transition:  transform 0.3s ease, color 0.3s ease;
}

.bsb-footer-submit:hover {
    transform: translateX(5px);
    color:     var(--bsb-pink);
}

.bsb-footer-submit svg { width: 24px; height: 24px; }

.bsb-footer-disclaimer {
    font-family: var(--bsb-font-primary);
    font-size:   0.875rem;
    line-height: 1.5;
}

/* ── Divider ── */
.bsb-footer-divider {
    height:           1px;
    background-color: rgba(255, 255, 255, 1);
    width:            100%;
    margin-bottom:    60px;
    transform-origin: left;
}

/* ── Footer Navigation ── */
.bsb-footer-middle {
    margin-bottom: 40px;
    max-width:     800px;
}

.bsb-footer-menu {
    list-style: none;
    padding:    0;
    margin:     0;
    column-gap: 24px;
}

@media (min-width: 1024px) { .bsb-footer-menu { column-count: 3; } }
@media (max-width: 767px)  { .bsb-footer-menu { column-count: 2; } }

.bsb-footer-menu li { break-inside: avoid; }

.bsb-footer-menu a,
.bsb-footer-link {
    color:           #ffffff;
    text-decoration: none;
    font-family:     var(--bsb-font-primary);
    font-weight:     500;
    font-size:       0.875rem;
    display:         inline-block;
    margin-bottom:   0.75rem;
    transition:      color 0.3s ease;
}

.bsb-footer-menu a:hover,
.bsb-footer-link:hover { color: var(--bsb-pink); }

/* ── Bottom Area ── */
.bsb-footer-bottom {
    display:               grid;
    grid-template-columns: 1fr auto 1fr;
    align-items:           center;
    gap:                   20px;
    padding-top:           40px;
}

.bsb-footer-bottom-left {
    display:     flex;
    align-items: center;
    gap:         30px;
    font-family: var(--bsb-font-primary);
    font-size:   0.8rem;
}

.bsb-footer-locations {
    letter-spacing: 0.05em;
    font-weight:    600;
    margin-bottom:  0.5rem;
}

.bsb-footer-copyright a {
    color:      #ffffff;
    transition: color 0.3s ease;
}

.bsb-footer-copyright a:hover { color: var(--bsb-pink); }

.bsb-footer-bottom-center {
    display:        flex;
    justify-content:center;
    align-self:     flex-end;
}

.bsb-footer-social {
    display:     flex;
    gap:         20px;
    align-items: center;
    color:       #ffffff;
}

.bsb-footer-social a {
    display:    flex;
    align-items:center;
    transition: transform 0.3s ease;
}

.bsb-footer-social a:hover { transform: translateY(-3px); }

.bsb-footer-bottom-right {
    display:         flex;
    justify-content: flex-end;
}

.bsb-footer-backtotop {
    display:        flex;
    align-items:    center;
    flex-direction: column-reverse;
    gap:            10px;
    color:          #ffffff;
    font-family:    var(--bsb-font-primary);
    font-size:      0.9rem;
    font-weight:    600;
    letter-spacing: 0.05em;
    cursor:         pointer;
    background:     none;
    border:         none;
    transition:     color 0.3s ease;
}

.bsb-footer-backtotop:hover { color: var(--bsb-pink); }

.bsb-footer-backtotop svg {
    width:     20px;
    height:    20px;
    transform: rotate(-90deg);
    transition:transform 0.3s ease;
}

.bsb-footer-backtotop:hover svg {
    transform: rotate(-90deg) translateX(5px);
}

/* ── Reveal initial state ── */
.bsb-footer .reveal-item {
    opacity:   0;
    transform: translateY(40px);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .bsb-footer-bottom {
        display:        flex;
        flex-direction: column;
        align-items:    flex-start;
        gap:            30px;
    }
    .bsb-footer-bottom-center,
    .bsb-footer-bottom-right { width: 100%; justify-content: flex-start; }
    .bsb-footer-bottom-left  { flex-direction: column; align-items: flex-start; gap: 10px; }
}

@media (max-width: 768px) {
    .bsb-footer-top { flex-direction: column; }
    .bsb-footer-top-left,
    .bsb-footer-top-right { max-width: 100%; flex: 1 1 100%; }
}
