/*
 * IXZIS public footer v2.
 * Late-loading layout layer: uses the available page width while preserving
 * the existing theme colors, links and content managed by the public layout.
 */

.site-footer {
    width: calc(100vw - clamp(28px, 4vw, 80px)) !important;
    max-width: none !important;
    margin: clamp(34px, 5vw, 72px) auto clamp(24px, 3vw, 44px) !important;
    padding: clamp(26px, 3vw, 48px) !important;
}

.site-footer__grid {
    grid-template-columns:
        minmax(270px, 1.05fr)
        minmax(190px, .78fr)
        minmax(430px, 1.55fr)
        minmax(210px, .78fr) !important;
    column-gap: clamp(24px, 3vw, 58px) !important;
    row-gap: 28px !important;
    align-items: start !important;
}

.site-footer__brand {
    min-width: 0;
    padding: 18px 20px;
    border: 1px solid rgba(144, 191, 223, .1);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018));
    box-shadow: inset 0 1px rgba(255, 255, 255, .055);
}

.site-footer__brand p {
    max-width: 42rem !important;
    margin: 0 !important;
    line-height: 1.75 !important;
}

.site-footer__col {
    min-width: 0;
    align-content: start;
    gap: 4px !important;
}

.site-footer__col:nth-child(3) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(14px, 1.5vw, 28px) !important;
}

.site-footer__col:nth-child(3) .site-footer__title {
    grid-column: 1 / -1;
}

.site-footer__title {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 34px;
    margin-bottom: 7px !important;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(144, 191, 223, .1);
}

.site-footer__title::before {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #72f2df, #67a7ff);
    box-shadow: 0 0 15px rgba(104, 220, 255, .38);
}

.site-footer__col a {
    width: fit-content;
    max-width: 100%;
    margin-left: -9px;
    padding: 6px 9px;
    border: 1px solid transparent;
    border-radius: 10px;
    overflow-wrap: anywhere;
    line-height: 1.45;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.site-footer__col a:hover,
.site-footer__col a:focus-visible {
    border-color: rgba(113, 211, 231, .16);
    background: rgba(101, 199, 224, .075);
    color: #f3fdff;
    transform: translateX(3px);
}

.site-footer__bottom {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: start !important;
    justify-content: initial !important;
    gap: clamp(20px, 4vw, 70px) !important;
}

.site-footer__bottom > * {
    min-width: 0;
}

.site-footer__bottom > :last-child {
    max-width: 90rem;
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .site-footer__grid {
        grid-template-columns: minmax(170px, .8fr) minmax(360px, 1.7fr) minmax(180px, .8fr) !important;
        column-gap: clamp(22px, 4vw, 48px) !important;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }

    .site-footer__brand p {
        max-width: 70rem !important;
        columns: initial !important;
    }
}

@media (max-width: 720px) {
    .site-footer {
        width: calc(100vw - 24px) !important;
        padding: 22px !important;
        border-radius: 24px !important;
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 22px !important;
        row-gap: 30px !important;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .site-footer__col:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .site-footer__col:nth-child(3) {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .site-footer__col:nth-child(4) {
        grid-column: 2;
        grid-row: 2;
    }

    .site-footer__bottom {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

@media (max-width: 480px) {
    .site-footer {
        padding: 20px 18px !important;
    }

    .site-footer__grid {
        grid-template-columns: 1fr !important;
    }

    .site-footer__brand {
        grid-column: auto;
        grid-row: auto;
    }

    .site-footer__col:nth-child(2),
    .site-footer__col:nth-child(4) {
        grid-column: auto;
        grid-row: auto;
    }

    .site-footer__col:nth-child(3) {
        grid-column: auto;
        grid-row: auto;
    }

    .site-footer__col:nth-child(3) .site-footer__title {
        grid-column: 1 / -1;
    }
}

@media (max-width: 360px) {
    .site-footer__col:nth-child(3) {
        grid-template-columns: 1fr;
    }

    .site-footer__col:nth-child(3) .site-footer__title {
        grid-column: auto;
    }
}

html[data-public-theme="light"] .site-footer__brand {
    border-color: rgba(32, 99, 126, .14);
    background: linear-gradient(145deg, rgba(255, 255, 255, .68), rgba(228, 243, 248, .46));
    box-shadow: inset 0 1px #fff;
}

html[data-public-theme="light"] .site-footer__title {
    border-bottom-color: rgba(32, 99, 126, .14);
}

html[data-public-theme="light"] .site-footer__col a:hover,
html[data-public-theme="light"] .site-footer__col a:focus-visible {
    border-color: rgba(0, 133, 158, .2);
    background: rgba(41, 196, 210, .11);
    color: #09283d;
}

@media (prefers-reduced-motion: reduce) {
    .site-footer__col a {
        transition: none;
    }

    .site-footer__col a:hover,
    .site-footer__col a:focus-visible {
        transform: none;
    }
}
