/* ==========================================================================
   BIQ — RODAPÉ
   Versão otimizada para legibilidade e responsividade
   ========================================================================== */

.biq-footer {
    width: 100%;
    margin: 0;
    padding-top: 10px;

    background: #ffffff;
    color: #2d2d2d;

    font-size: clamp(12px, 0.8vw, 14px);
    line-height: 1.55;
}


/* ==========================================================================
   RESET INTERNO
   ========================================================================== */

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

.biq-footer a {
    color: inherit;
    text-decoration: none;
}


/* ==========================================================================
   BARRA SUPERIOR GRADIENTE
   ========================================================================== */

.biq-footer__accent {
    width: 100%;
    height: clamp(14px, 1vw, 18px);

    background: linear-gradient(
        90deg,
        #2bb6e4 0%,
        #76cfd2 48%,
        #99d8c7 100%
    );
}


/* ==========================================================================
   CONTENTOR PRINCIPAL
   ========================================================================== */

.biq-footer__inner {
    width: calc(100% - 60px);
    max-width: 1240px;

    margin: 0 auto;

    padding: clamp(22px, 2vw, 32px) 0 14px;
}


/* ==========================================================================
   ZONA SUPERIOR
   ========================================================================== */

.biq-footer__upper {
    display: grid;

    grid-template-columns:
        minmax(250px, 300px)
        minmax(0, 1fr);

    gap: clamp(35px, 4vw, 70px);
}


.biq-footer__left,
.biq-footer__right {
    min-width: 0;
}


/* ==========================================================================
   COLUNA ESQUERDA
   ========================================================================== */

.biq-footer__left {
    position: relative;
}


/* Logo principal */

.biq-footer__brand {
    display: inline-block;

    width: clamp(190px, 16vw, 220px);

    margin-top: 3px;
}


.biq-footer__logo {
    display: block;

    width: 100%;
    max-width: 100%;
    height: auto;
}


/* ==========================================================================
   SEDE
   ========================================================================== */

.biq-footer__headquarters {
    margin: clamp(36px, 4vw, 52px) 0 0 clamp(25px, 4vw, 55px);
}


.biq-footer__headquarters p,
.biq-footer__info-grid p,
.biq-footer__bottom p {
    margin: 0;
}


/* Pequenos títulos */

.biq-footer__eyebrow {
    margin: 0 0 9px;

    color: #08aee8;

    font-size: clamp(10px, 0.72vw, 12px);
    line-height: 1.3;

    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.02em;
}


/* Texto informativo */

.biq-footer__headquarters p,
.biq-footer__info-grid p {
    color: #606060;

    font-size: clamp(10.5px, 0.75vw, 12.5px);

    line-height: 1.65;

    font-weight: 400;
}


/* ==========================================================================
   REDES SOCIAIS
   ========================================================================== */

.biq-footer__social {
    display: flex;

    align-items: center;

    gap: 14px;
	
	color: #ffffff;
}

.biq-footer .biq-footer__social {
	margin: 16px 0px !important;
    padding: 0;
    list-style: none;
    flex-wrap: wrap;
}


.biq-footer__social-link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: clamp(28px, 2vw, 32px);
    height: clamp(28px, 2vw, 32px);

    border-radius: 50%;

    background: #25aae1;
    color: #ffffff;

    transition:
        transform .16s ease,
        opacity .16s ease;
}


.biq-footer__social-link svg,
.biq-footer__social-link img {
    width: 55%;
    height: 55%;
    object-fit: contain;
}


.biq-footer__social-link:hover,
.biq-footer__social-link:focus-visible {
    opacity: .82;

    transform: translateY(-2px);
}


/* ==========================================================================
   COLUNA DIREITA
   ========================================================================== */

.biq-footer__right {
    padding-left: clamp(20px, 3vw, 50px);
}


/* ==========================================================================
   MENU DE SOLUÇÕES
   ========================================================================== */

.biq-footer__solutions {
    min-height: 165px;

    padding-top: 14px;
    padding-bottom: 28px;
}


.biq-footer__solutions-menu {
    display: grid;

    grid-template-rows: repeat(var(--biq-menu-rows, 3), auto);

    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);

    justify-content: space-between;

    row-gap: 16px;
    column-gap: clamp(24px, 3vw, 45px);

    margin: 0;
    padding: 0;

    list-style: none;
}


.biq-footer__solutions-menu li {
    margin: 0;
    padding: 0;
}


.biq-footer__solutions-menu a {
    display: block;

    color: #1f1f1f;

    font-size: clamp(13px, 0.9vw, 15px);

    line-height: 1.25;

    font-weight: 400;

    overflow-wrap: anywhere;

    transition: color .15s ease;
}


.biq-footer__solutions-menu a:hover,
.biq-footer__solutions-menu a:focus-visible {
    color: #08aee8;
}


/* ==========================================================================
   SEPARADOR DIREITO
   ========================================================================== */

.biq-footer__right-separator {
    height: 1px;

    margin-left: clamp(-50px, -3vw, -20px);

    background: #d2d2d2;
}


/* ==========================================================================
   INFORMAÇÃO / CONTACTOS / APOIOS
   ========================================================================== */

.biq-footer__info-grid {
    display: grid;

    grid-template-columns:
        minmax(190px, 1.2fr)
        minmax(180px, 1fr)
        minmax(150px, .8fr);

    justify-content: space-between;

    gap: clamp(28px, 3vw, 50px);

    padding-top: clamp(32px, 3vw, 45px);
    padding-bottom: clamp(32px, 3vw, 45px);
}


/* Logo apoios (Desktop/Tablet) */

.biq-footer__supports-logo {
    display: block;

    width: 100%;
    max-width: 250px;
    height: auto;

    margin-top: 13px;
}


/* ==========================================================================
   SEPARADOR
   ========================================================================== */

.biq-footer__separator {
    width: 100%;
    height: 1px;

    background: #d2d2d2;
}


/* ==========================================================================
   CERTIFICAÇÕES
   ========================================================================== */

.biq-footer__certifications {
    display: flex;

    min-height: 120px;

    align-items: center;
    justify-content: center;

    gap: clamp(30px, 4vw, 65px);

    padding: 22px 10px;

    flex-wrap: wrap;
}


.biq-footer__cert-logo {
    display: block;

    width: auto;
    height: auto;

    max-width: clamp(115px, 10vw, 165px);

    object-fit: contain;
}


/* ==========================================================================
   RODAPÉ INFERIOR
   ========================================================================== */

.biq-footer__bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 24px;

    padding: 14px 0 5px;

    color: #666666;

    font-size: clamp(10px, 0.7vw, 11.5px);

    line-height: 1.45;
}


/* ==========================================================================
   DESKTOP / LAPTOP MAIS PEQUENO
   ========================================================================== */

@media (max-width: 1100px) {

    .biq-footer__inner {
        width: calc(100% - 44px);
        max-width: 960px;
    }


    .biq-footer__upper {
        grid-template-columns:
            minmax(220px, 255px)
            minmax(0, 1fr);

        gap: 32px;
    }


    .biq-footer__headquarters {
        margin-left: 25px;
    }


    .biq-footer__right {
        padding-left: 25px;
    }


    .biq-footer__right-separator {
        margin-left: -25px;
    }


    .biq-footer__solutions-menu {
        column-gap: 22px;
    }


    .biq-footer__solutions-menu a {
        font-size: 13px;
    }


    .biq-footer__info-grid {
        grid-template-columns:
            minmax(170px, 1fr)
            minmax(170px, 1fr)
            minmax(140px, .8fr);

        gap: 28px;
    }


    .biq-footer__certifications {
        gap: 30px;
    }
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 820px) {

    .biq-footer {
        font-size: 13px;
    }


    .biq-footer__inner {
        width: calc(100% - 40px);
        max-width: 700px;

        padding-top: 30px;

        text-align: center;
    }


    .biq-footer__upper {
        grid-template-columns: 1fr;

        gap: 24px;
    }


    .biq-footer__left {
        display: grid;
        grid-template-columns: 1fr;

        gap: 22px;

        align-items: start;
        justify-content: center;
        justify-items: center;
    }


    .biq-footer__brand {
        width: 200px;

        margin-top: 0;
        margin-inline: auto;
        justify-self: center;
    }


    .biq-footer__headquarters {
        width: 100%;
        margin: 5px auto 28px;
        text-align: center;
    }


    .biq-footer__social {
        justify-content: center;
    }


    .biq-footer__right {
        padding-left: 0;
    }


    .biq-footer__solutions {
        min-height: 0;

        padding-top: 0;
        padding-bottom: 30px;
    }


    .biq-footer__right-separator {
        margin-left: 0;
    }


    .biq-footer__solutions-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        grid-template-rows: none;

        grid-auto-flow: row;
        grid-auto-columns: auto;

        justify-content: stretch;

        gap: 14px 35px;
    }


    .biq-footer__solutions-menu li,
    .biq-footer__solutions-menu a {
        text-align: center;
    }


    .biq-footer__solutions-menu a {
        font-size: 13.5px;

        white-space: normal;
    }


    .biq-footer__info-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));

        gap: 26px;

        padding: 30px 0;

        text-align: center;
    }


    .biq-footer__supports-logo {
        max-width: 220px;
        margin: 13px auto 0;
    }


    .biq-footer__headquarters p,
    .biq-footer__info-grid p {
        font-size: 11.5px;
    }


    .biq-footer__eyebrow {
        font-size: 11px;
    }


    .biq-footer__certifications {
        gap: 30px 38px;

        padding: 25px 0;
    }


    .biq-footer__cert-logo {
        max-width: 135px;
    }


    .biq-footer__bottom {
        justify-content: center;
        flex-wrap: wrap;

        text-align: center;
        font-size: 10.5px;
    }
}


/* ==========================================================================
   MOBILE (Imagem de apoios maior, destacada e perfeitamente centrada)
   ========================================================================== */

@media (max-width: 560px) {

    .biq-footer {
        font-size: 13px;
    }


    .biq-footer__accent {
        height: 13px;
    }


    .biq-footer__inner {
        width: calc(100% - 32px);
        max-width: 460px;

        padding-top: 28px;
    }


    .biq-footer__left {
        grid-template-columns: 1fr;

        gap: 22px;
    }


    .biq-footer__brand {
        width: 190px;

        margin-inline: auto;
        justify-self: center;
    }


    .biq-footer__logo {
        width: 100%;
    }


    .biq-footer__headquarters {
        margin: 0 0 26px;
    }


    .biq-footer__eyebrow {
        margin-bottom: 8px;

        font-size: 11px;
    }


    .biq-footer__headquarters p,
    .biq-footer__info-grid p {
        font-size: 11.5px;

        line-height: 1.6;
    }


    .biq-footer__social {
        gap: 14px;

        margin-top: 16px;
    }


    .biq-footer__social-link {
        width: 32px;
        height: 32px;
    }


    .biq-footer__solutions {
        padding-bottom: 26px;
    }


    .biq-footer__solutions-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-flow: row;
        grid-auto-columns: auto;
        gap: 14px 20px;
    }

    .biq-footer__solutions-menu li,
    .biq-footer__solutions-menu a {
        text-align: center;
    }

    .biq-footer__solutions-menu a {
        font-size: 14px;
        line-height: 1.35;
        white-space: normal;
    }


    .biq-footer__info-grid {
        grid-template-columns: 1fr;

        gap: 28px;

        padding: 30px 0;
    }


    /* IMAGEM DE APOIOS COM DESTAQUE EM MOBILE (Largura aumentada, sem quebrar limites) */
    .biq-footer__supports-logo {
        width: 320px !important;
        max-width: 90vw !important;
        height: auto !important;
        margin: 15px auto 0 !important;
    }


    .biq-footer__certifications {
        display: grid;

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 28px 24px;

        padding: 28px 5px;
    }


    .biq-footer__cert-logo {
        max-width: 125px;

        margin-inline: auto;
    }


    .biq-footer__bottom {
        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 7px;

        padding: 15px 0 5px;

        text-align: center;
        font-size: 10.5px;
    }
}


/* ==========================================================================
   MOBILE MUITO PEQUENO
   ========================================================================== */

@media (max-width: 380px) {

    .biq-footer__inner {
        width: calc(100% - 24px);
    }


    .biq-footer__brand {
        width: 175px;
    }


    .biq-footer__solutions-menu a {
        font-size: 13.5px;
    }


    .biq-footer__certifications {
        gap: 24px 15px;
    }


    .biq-footer__cert-logo {
        max-width: 110px;
    }
}


/* ==========================================================================
   ACESSIBILIDADE / REDUÇÃO DE MOVIMENTO
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .biq-footer *,
    .biq-footer *::before,
    .biq-footer *::after {
        scroll-behavior: auto !important;

        transition-duration: .01ms !important;
    }
}

/* Link legal: discreto, sem sublinhado, hover como o menu de Solucoes. */
.biq-footer .biq-footer__privacy-link,
.biq-footer .biq-footer__privacy-link:link,
.biq-footer .biq-footer__privacy-link:visited {
    color: inherit;
    font: inherit;
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    opacity: .85;
    transition: color .15s ease, opacity .15s ease;
}
.biq-footer .biq-footer__privacy-link:hover,
.biq-footer .biq-footer__privacy-link:focus-visible,
.biq-footer .biq-footer__privacy-link:active {
    color: #08aee8 !important;
    opacity: 1;
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}
/* Evita cortes de texto longo sem afetar o layout de desktop. */
.biq-footer .biq-footer__privacy-link {
    max-width: 100%;
    overflow-wrap: anywhere;
    text-align: center;
}


/* Botão de contactos: destaque local, sem alterar a grelha ou os restantes elementos. */
.biq-footer .biq-footer__contact-button,
.biq-footer .biq-footer__contact-button:link,
.biq-footer .biq-footer__contact-button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 10px 20px;
    border: 2px solid #25aae1;
    border-radius: 0px;
    background: #25aae1;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    box-shadow: none;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.biq-footer .biq-footer__contact-button:hover,
.biq-footer .biq-footer__contact-button:focus-visible {
    border-color: #078fc4;
    background: #078fc4;
    color: #ffffff;
    text-decoration: none !important;
    transform: translateY(-1px);
}

.biq-footer .biq-footer__contact-button:focus-visible {
    outline: 2px solid #1f1f1f;
    outline-offset: 3px;
}

@media (max-width: 820px) {
    .biq-footer .biq-footer__contact-button {
        margin-top: 14px;
    }
}
