/*
 * WÖRTH Selection · pie de página corporativo
 *
 * Copia exacta de las reglas del pie de worthselection.com (clases
 * worth-footer-* de la web → ws-site-footer__* aquí): contenido centrado de
 * hasta 1460 px con 48 px a cada lado, columnas 270 / 265 / 500+ / 220 px,
 * desplegables desde 1150 px. Los !important son los mismos que en la web y
 * protegen el pie de las hojas antiguas del portal.
 */

.ws-site-footer,
.ws-site-footer * {
    box-sizing: border-box !important;
}

.ws-site-footer {
    display: block !important;
    width: 100% !important;
    margin: 64px 0 0 !important;
    padding: 0 !important;
    background: #032F27 !important;
    color: #fff !important;
    font-family: Inter, Arial, Helvetica, sans-serif !important;
    text-align: left !important;
}

.ws-site-footer p,
.ws-site-footer h3,
.ws-site-footer div {
    margin-top: 0 !important;
}

.ws-site-footer p {
    margin-bottom: 0 !important;
}

.ws-site-footer a {
    text-decoration: none !important;
}

.ws-site-footer .ws-site-footer__shell {
    width: min(1460px, 100% - 96px) !important;
    max-width: 1460px !important;
    margin: 0 auto !important;
    padding: 48px 0 42px !important;
}

.ws-site-footer .ws-site-footer__layout {
    display: grid !important;
    grid-template-columns: 270px 265px minmax(500px, 1fr) 220px !important;
    grid-template-areas: "brand useful jobs side" !important;
    column-gap: 44px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ws-site-footer .ws-site-footer__brand {
    grid-area: brand !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ws-site-footer .ws-site-footer__useful { grid-area: useful !important; }
.ws-site-footer .ws-site-footer__jobs { grid-area: jobs !important; }
.ws-site-footer .ws-site-footer__side { grid-area: side !important; }

.ws-site-footer .ws-site-footer__logo {
    display: block !important;
    width: 245px !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.ws-site-footer .ws-site-footer__logo img {
    display: block !important;
    width: 245px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: brightness(0) invert(1) !important;
}

.ws-site-footer .ws-site-footer__description {
    width: 100% !important;
    max-width: 255px !important;
    margin: 0 !important; /* en la web «p {margin-bottom:0}» anula los 20 px */
    padding: 0 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.ws-site-footer .ws-site-footer__socials {
    display: flex !important;
    flex-flow: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ws-site-footer .ws-site-footer__social {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    overflow: hidden !important;
    line-height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform .2s, opacity .2s !important;
}

.ws-site-footer .ws-site-footer__social:hover {
    transform: translateY(-2px) !important;
    opacity: .9 !important;
}

.ws-site-footer .ws-site-footer__social img {
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    filter: none !important;
}

.ws-site-footer .ws-site-footer__section {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ws-site-footer .ws-site-footer__heading {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: #A7F3D0 !important;
    -webkit-text-fill-color: currentColor !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ws-site-footer .ws-site-footer__links {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ws-site-footer .ws-site-footer__links a {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, .96) !important;
    -webkit-text-fill-color: currentColor !important;
    background: transparent !important;
    border: 0 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
}

.ws-site-footer .ws-site-footer__links a:hover {
    color: #A7F3D0 !important;
}

.ws-site-footer .ws-site-footer__jobs-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 38px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ws-site-footer .ws-site-footer__side {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 28px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ws-site-footer .ws-site-footer__mobile-nav {
    display: none !important;
}

.ws-site-footer .ws-site-footer__bottom {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    background: #032F27 !important;
}

.ws-site-footer .ws-site-footer__bottom-inner {
    width: min(1460px, 100% - 96px) !important;
    max-width: 1460px !important;
    margin: 0 auto !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .14) !important;
}

.ws-site-footer .ws-site-footer__copy {
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, .72) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

/* Desplegables (pantallas de 1150 px o menos) */

.ws-site-footer .ws-site-footer__accordion {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .15) !important;
    background: transparent !important;
}

.ws-site-footer .ws-site-footer__accordion:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, .15) !important;
}

.ws-site-footer .ws-site-footer__accordion summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    color: #A7F3D0 !important;
    background: transparent !important;
    list-style: none !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.ws-site-footer .ws-site-footer__accordion summary::-webkit-details-marker {
    display: none !important;
}

.ws-site-footer .ws-site-footer__accordion summary::after {
    content: "+" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 30px !important;
    margin-left: 16px !important;
    border: 1px solid rgba(167, 243, 208, .55) !important;
    border-radius: 50% !important;
    color: #A7F3D0 !important;
    font-size: 19px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

.ws-site-footer .ws-site-footer__accordion[open] summary::after {
    content: "−" !important;
    background: #A7F3D0 !important;
    color: #032F27 !important;
}

.ws-site-footer .ws-site-footer__accordion-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 2px 18px !important;
}

.ws-site-footer .ws-site-footer__accordion-content .ws-site-footer__links {
    gap: 0 !important;
}

.ws-site-footer .ws-site-footer__accordion-content .ws-site-footer__links a {
    width: 100% !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
    font-size: 13px !important;
}

.ws-site-footer .ws-site-footer__mobile-jobs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 24px !important;
    width: 100% !important;
}

.ws-site-footer .ws-site-footer__mobile-jobs a {
    display: block !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
    border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

@media (max-width: 1350px) {
    .ws-site-footer .ws-site-footer__shell {
        width: calc(100% - 60px) !important;
    }

    .ws-site-footer .ws-site-footer__layout {
        grid-template-columns: 230px 220px minmax(440px, 1fr) 190px !important;
        column-gap: 30px !important;
    }

    .ws-site-footer .ws-site-footer__logo,
    .ws-site-footer .ws-site-footer__logo img {
        width: 210px !important;
    }

    .ws-site-footer .ws-site-footer__jobs-grid {
        column-gap: 26px !important;
    }

    .ws-site-footer .ws-site-footer__links a {
        font-size: 13px !important;
    }
}

@media (max-width: 1150px) {
    .ws-site-footer .ws-site-footer__shell {
        width: min(760px, 100% - 48px) !important;
        padding: 40px 0 30px !important;
    }

    .ws-site-footer .ws-site-footer__layout {
        display: block !important;
    }

    .ws-site-footer .ws-site-footer__useful,
    .ws-site-footer .ws-site-footer__jobs,
    .ws-site-footer .ws-site-footer__side {
        display: none !important;
    }

    .ws-site-footer .ws-site-footer__mobile-nav {
        display: block !important;
        width: 100% !important;
        margin: 0 !important; /* en la web «div {margin-top:0}» anula los 30 px */
        padding: 0 !important;
    }

    .ws-site-footer .ws-site-footer__logo,
    .ws-site-footer .ws-site-footer__logo img {
        width: 205px !important;
    }

    .ws-site-footer .ws-site-footer__bottom-inner {
        width: min(760px, 100% - 48px) !important;
    }
}

@media (max-width: 600px) {
    .ws-site-footer .ws-site-footer__shell {
        width: calc(100% - 34px) !important;
        padding: 32px 0 24px !important;
    }

    .ws-site-footer .ws-site-footer__logo,
    .ws-site-footer .ws-site-footer__logo img {
        width: 175px !important;
    }

    .ws-site-footer .ws-site-footer__description {
        max-width: 245px !important;
        font-size: 13px !important;
    }

    .ws-site-footer .ws-site-footer__social,
    .ws-site-footer .ws-site-footer__social img {
        flex-basis: 36px !important;
        width: 36px !important;
        height: 36px !important;
    }

    .ws-site-footer .ws-site-footer__mobile-jobs {
        grid-template-columns: 1fr !important;
    }

    .ws-site-footer .ws-site-footer__accordion summary {
        min-height: 56px !important;
        font-size: 12px !important;
    }

    .ws-site-footer .ws-site-footer__accordion-content .ws-site-footer__links a,
    .ws-site-footer .ws-site-footer__mobile-jobs a {
        font-size: 12px !important;
    }

    .ws-site-footer .ws-site-footer__bottom-inner {
        width: calc(100% - 34px) !important;
    }

    .ws-site-footer .ws-site-footer__copy {
        font-size: 10px !important;
    }
}
