.ebmnt1-footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: var(--ebmnt1-color-footer-bg);
}

.ebmnt1-footer::before,
.ebmnt1-footer::after {
    content: "";
    display: block;
    flex-shrink: 0;
    height: calc(var(--ebmnt1-space-section-fill) * 0.8);
}

.ebmnt1-footer__inner {
    width: calc(100% - 2em);
    max-width: var(--ebmnt1-max-width-container);
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: calc(var(--ebmnt1-gap-section-inner) * 1.4);
}

.ebmnt1-footer__columns {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 2em var(--ebmnt1-gap-cards);
}

.ebmnt1-footer__column {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25em;
    text-align: start;
}

.ebmnt1-footer__title {
    font-size: var(--ebmnt1-fs-h3);
    color: var(--ebmnt1-color-footer-title);
}

.ebmnt1-footer__text {
    color: var(--ebmnt1-color-footer-text);
}

.ebmnt1-footer__links {
    display: flex;
    flex-direction: column;
    gap: 0.9em;
    padding-inline-start: 1.25em;
    list-style: disc;
}

.ebmnt1-footer__links li {
    color: var(--ebmnt1-color-footer-link);
}

.ebmnt1-footer__links li::marker {
    color: var(--ebmnt1-color-footer-marker);
}

.ebmnt1-footer__links li:hover::marker {
    color: var(--ebmnt1-color-footer-marker-hover);
}

.ebmnt1-footer__links a {
    transition: color var(--ebmnt1-duration-fast) var(--ebmnt1-ease-main);
}

.ebmnt1-footer__links a:hover {
    color: var(--ebmnt1-color-footer-link-hover);
}

.ebmnt1-footer__contact-item {
    display: flex;
    align-items: center;
    gap: 0.9em;
    color: var(--ebmnt1-color-footer-text);
}

.ebmnt1-footer__contact-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.5rem;
    aspect-ratio: 1;
    border-radius: var(--ebmnt1-radius-circle);
    background-color: var(--ebmnt1-color-footer-contact-icon-bg);
    color: var(--ebmnt1-color-footer-contact-icon);
    font-size: var(--ebmnt1-fs-icon-small);
    transition: all var(--ebmnt1-duration-fast) var(--ebmnt1-ease-main);
}

.ebmnt1-footer__contact-item:hover .ebmnt1-footer__contact-icon {
    background-color: var(--ebmnt1-color-footer-contact-icon-hover-bg);
    color: var(--ebmnt1-color-footer-contact-icon-hover);
}

.ebmnt1-footer__contact-item a {
    transition: color var(--ebmnt1-duration-fast) var(--ebmnt1-ease-main);
}

.ebmnt1-footer__contact-item:hover a {
    color: var(--ebmnt1-color-footer-link-hover);
}

/* ===== bottom bar ===== */
.ebmnt1-footer__bar {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25em;
    padding-block-start: 2em;
    border-top: 1px solid var(--ebmnt1-color-footer-divider);
    text-align: center;
}

.ebmnt1-footer__logo {
    display: flex;
    align-items: center;
    gap: 0.6em;
}

.ebmnt1-footer__logo-circle {
    display: grid;
    place-items: center;
    width: 2.5rem;
    aspect-ratio: 1;
    border-radius: var(--ebmnt1-radius-circle);
    background-color: var(--ebmnt1-color-footer-logo-circle-bg);
    color: var(--ebmnt1-color-footer-logo-icon);
    font-size: var(--ebmnt1-fs-icon-medium);
}

.ebmnt1-footer__logo-text {
    font-size: var(--ebmnt1-fs-h3);
    font-weight: 700;
    color: var(--ebmnt1-color-footer-logo-text);
}

.ebmnt1-footer__social {
    display: flex;
    align-items: center;
    gap: 0.9em;
}

.ebmnt1-footer__social a {
    display: grid;
    place-items: center;
    width: 2.5rem;
    aspect-ratio: 1;
    border: 1px solid var(--ebmnt1-color-footer-social-border);
    border-radius: var(--ebmnt1-radius-circle);
    color: var(--ebmnt1-color-footer-social-icon);
    font-size: var(--ebmnt1-fs-icon-small);
    transition: background-color var(--ebmnt1-duration-medium) var(--ebmnt1-ease-main);
}

.ebmnt1-footer__social a:hover {
    background-color: var(--ebmnt1-color-footer-social-hover-bg);
}

.ebmnt1-footer__copyright {
    color: var(--ebmnt1-color-footer-copyright);
}

/* ===== signature : created by ===== */
.ebmnt1-signature {
    width: 100%;
    display: flex;
    justify-content: center;
    perspective: 900px;
}

.ebmnt1-signature__card {
    --ebmnt1-tilt-x: 0deg;
    --ebmnt1-tilt-y: 0deg;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5em 0.9em;
    padding: 0.9em 1.6em;
    border: 1px solid var(--ebmnt1-color-signature-border);
    border-radius: var(--ebmnt1-radius-pill);
    background-color: var(--ebmnt1-color-signature-bg);
    overflow: hidden;
    direction: ltr;
    transform-style: preserve-3d;
    transform: rotateX(var(--ebmnt1-tilt-x)) rotateY(var(--ebmnt1-tilt-y));
    transition: transform var(--ebmnt1-duration-fast) ease-out;
    animation: ebmnt1-float 4s ease-in-out infinite;
}

.ebmnt1-signature__card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-start: -60%;
    width: 40%;
    z-index: 1;
    background: linear-gradient(100deg, transparent, var(--ebmnt1-color-signature-sheen), transparent);
    transform: skewX(-20deg);
    transition: inset-inline-start 0.9s ease;
}

.ebmnt1-signature__card:hover::after {
    inset-inline-start: 120%;
}

.ebmnt1-signature__icon {
    font-size: var(--ebmnt1-fs-icon-medium);
    color: var(--ebmnt1-color-signature-icon);
    transform: translateZ(1.5rem);
}

.ebmnt1-signature__label {
    font-size: var(--ebmnt1-fs-small);
    letter-spacing: 0.04em;
    color: var(--ebmnt1-color-signature-label);
    direction: ltr;
}

.ebmnt1-signature__name {
    position: relative;
    display: inline-block;
    font-size: var(--ebmnt1-fs-signature);
    font-weight: 700;
    color: var(--ebmnt1-color-signature-text);
    text-shadow:
        1px 1px 0 var(--ebmnt1-color-signature-extrude-1),
        2px 2px 0 var(--ebmnt1-color-signature-extrude-1),
        3px 3px 0 var(--ebmnt1-color-signature-extrude-2),
        4px 4px 0 var(--ebmnt1-color-signature-extrude-2),
        5px 5px 0 var(--ebmnt1-color-signature-extrude-3),
        8px 10px 14px var(--ebmnt1-color-signature-shadow);
    transform: translateZ(2.5rem);
}

.ebmnt1-signature__name::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: -0.35em;
    height: 3px;
    border-radius: 3px;
    background-color: var(--ebmnt1-color-signature-underline);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.8s ease;
}

.ebmnt1-signature.is-visible .ebmnt1-signature__name::after,
.ebmnt1-signature__card:hover .ebmnt1-signature__name::after {
    transform: scaleX(1);
}

@keyframes ebmnt1-float {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -0.3rem;
    }
}

@media (min-width: 768px) {
    .ebmnt1-footer__column {
        width: calc(50% - var(--ebmnt1-gap-cards) / 2);
    }

    .ebmnt1-footer__bar {
        flex-direction: row;
        justify-content: space-between;
    }
}

@media (min-width: 1024px) {
    .ebmnt1-footer__column {
        width: auto;
        flex: 1;
    }

    .ebmnt1-footer__column--about {
        flex: 1.6;
    }
}
