/* Footer — modern */

.footer-modern {
    position: relative;
    z-index: 2;
    margin-top: auto;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        hsl(var(--body-bg)) 0%,
        hsl(var(--base) / 0.04) 100%
    );
}

.footer-modern::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 45% at 0% 100%, hsl(var(--base) / 0.12), transparent 55%),
        radial-gradient(ellipse 40% 35% at 100% 0%, hsl(192 85% 58% / 0.08), transparent 50%);
    z-index: 0;
}

.footer-modern .container {
    position: relative;
    z-index: 1;
}

.footer-modern__main {
    padding-top: clamp(3.5rem, 8vw, 5rem);
    padding-bottom: clamp(2.5rem, 6vw, 3.5rem);
}

.footer-modern .footer-item {
    padding-bottom: 0;
}

.footer-modern .footer-item__logo {
    margin-bottom: 1.15rem;
}

.footer-modern .footer-item__logo a img {
    max-width: 150px;
    max-height: 56px;
    object-fit: contain;
}

.footer-modern .footer-item__desc {
    font-size: 0.9rem;
    line-height: 1.65;
    color: hsl(var(--body-color) / 0.82);
    max-width: 22rem;
    margin-bottom: 0;
}

.dark .footer-modern .footer-item__desc {
    color: hsl(var(--white) / 0.68);
}

.footer-modern .footer-item__title {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: hsl(var(--heading-color));
    margin-bottom: 1.1rem;
    padding-bottom: 0;
}

.dark .footer-modern .footer-item__title {
    color: hsl(var(--white) / 0.92);
}

.footer-modern .footer-item__title::after {
    display: block;
    width: 2rem;
    height: 3px;
    margin-top: 0.5rem;
    border-radius: 999px;
    background: hsl(var(--base));
    left: 0;
    bottom: auto;
    position: static;
}

.footer-modern .social-list {
    margin-top: 1.15rem;
    gap: 0.55rem;
}

.footer-modern .social-list__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 10px;
    border: 1px solid hsl(var(--base) / 0.2);
    background: hsl(var(--white) / 0.05);
    color: hsl(var(--heading-color)) !important;
    font-size: 1.05rem !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.footer-modern .social-list__link:hover {
    background: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white)) !important;
    transform: translateY(-2px);
    margin-left: 0 !important;
}

.dark .footer-modern .social-list__link {
    color: hsl(var(--white) / 0.88) !important;
    border-color: hsl(var(--white) / 0.12);
    background: hsl(var(--white) / 0.04);
}

.footer-modern .footer-menu {
    margin: 0;
    gap: 0.15rem;
}

.footer-modern .footer-menu__item {
    padding: 0.28rem 0;
}

.footer-modern .footer-menu__link {
    font-size: 0.9rem;
    color: hsl(var(--body-color) / 0.8);
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.footer-modern .footer-menu__link:hover {
    color: hsl(var(--base));
    margin-left: 0;
    padding-left: 0.35rem;
}

.dark .footer-modern .footer-menu__link {
    color: hsl(var(--white) / 0.72);
}

.footer-modern__contact {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.footer-modern__contact li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    font-size: 0.9rem;
    line-height: 1.45;
    color: hsl(var(--body-color) / 0.82);
}

.dark .footer-modern__contact li {
    color: hsl(var(--white) / 0.72);
}

.footer-modern__contact i {
    flex-shrink: 0;
    width: 1.15rem;
    margin-top: 0.15rem;
    color: hsl(var(--base));
    text-align: center;
}

.footer-modern__contact a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-modern__contact a:hover {
    color: hsl(var(--base));
}

/* Newsletter */
.footer-modern__subscribe {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.35rem;
}

.footer-modern__subscribe .form--input__field {
    flex: 1 1 12rem;
    min-width: 0;
    width: auto !important;
    padding: 0.75rem 1rem !important;
    margin: 0 !important;
    border-radius: 12px !important;
    border: 1px solid hsl(var(--base) / 0.22) !important;
    background: hsl(var(--white) / 0.06) !important;
    color: hsl(var(--heading-color)) !important;
    font-size: 0.9rem;
    line-height: 1.3;
}

.footer-modern__subscribe .form--input__field::placeholder {
    color: hsl(var(--body-color) / 0.5);
}

.dark .footer-modern__subscribe .form--input__field {
    background: hsl(var(--white) / 0.05) !important;
    border-color: hsl(var(--white) / 0.12) !important;
    color: hsl(var(--white) / 0.9) !important;
}

.dark .footer-modern__subscribe .form--input__field::placeholder {
    color: hsl(var(--white) / 0.4);
}

.footer-modern__subscribe .search-btn {
    position: static !important;
    flex: 0 0 auto;
    padding: 0.75rem 1.25rem !important;
    border-radius: 12px !important;
    border: none !important;
    background: hsl(var(--base)) !important;
    color: hsl(var(--white)) !important;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
    transition: filter 0.2s ease, transform 0.2s ease;
}

.footer-modern__subscribe .search-btn:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* Bottom bar */
.footer-modern__bottom {
    border-top: 1px solid hsl(var(--base) / 0.12);
    background: hsl(var(--base) / 0.04) !important;
    padding: 1rem 0 !important;
}

.dark .footer-modern__bottom {
    border-top-color: hsl(var(--white) / 0.08);
    background: hsl(var(--black) / 0.25) !important;
}

.footer-modern .bottom-footer-text {
    font-size: 0.85rem;
    color: hsl(var(--body-color) / 0.7);
}

.dark .footer-modern .bottom-footer-text {
    color: hsl(var(--white) / 0.55);
}

.footer-modern .bottom-footer-menu ul {
    gap: 0.25rem 0;
}

.footer-modern .bottom-footer-menu ul li {
    padding-left: 0;
    margin-left: 0;
}

.footer-modern .bottom-footer-menu ul li::after {
    display: none;
}

.footer-modern .bottom-footer-menu ul li + li::before {
    content: '·';
    margin: 0 0.5rem;
    color: hsl(var(--base) / 0.5);
}

.footer-modern .bottom-footer-menu ul li a {
    font-size: 0.85rem;
    color: hsl(var(--body-color) / 0.72);
    transition: color 0.2s ease;
}

.footer-modern .bottom-footer-menu ul li a:hover {
    color: hsl(var(--base));
}

.dark .footer-modern .bottom-footer-menu ul li a {
    color: hsl(var(--white) / 0.55);
}

@media (max-width: 991px) {
    .footer-modern__grid > [class*='col-'] {
        text-align: center;
    }

    .footer-modern .footer-item__desc {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-modern .social-list {
        justify-content: center;
    }

    .footer-modern .footer-item__title::after {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-modern__contact li {
        justify-content: center;
    }

    .footer-modern__subscribe {
        justify-content: center;
        max-width: 22rem;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 575px) {
    .footer-modern__subscribe {
        flex-direction: column;
    }

    .footer-modern__subscribe .search-btn {
        width: 100%;
    }
}

/* Keep the newsletter input compact when the mobile form stacks. */
.footer-modern .footer-modern__subscribe{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;width:100%}
.footer-modern .footer-modern__subscribe .form--input__field{width:100%!important;height:48px!important;min-height:48px;max-height:48px;box-sizing:border-box;flex:none;transform:none!important}
.footer-modern .footer-modern__subscribe .search-btn{height:48px!important;min-width:0;width:auto!important;transform:none!important;box-sizing:border-box}
@media(max-width:575px){.footer-modern .footer-modern__subscribe{grid-template-columns:minmax(0,1fr)}.footer-modern .footer-modern__subscribe .search-btn{width:100%!important}}

/* Mobile footer: explicit grid, independent of legacy column overrides. */
@media(max-width:767px){
 .footer-modern{font-family:Arial,"Segoe UI",sans-serif;border-top:1px solid hsl(var(--base)/.12)}
 .footer-modern__main{padding:32px 0 24px}
 .footer-modern .footer-modern__grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 18px!important;margin:0!important;text-align:left!important}
 .footer-modern .footer-modern__grid>div{width:auto!important;max-width:100%!important;min-width:0;padding:0!important;margin:0!important}
 .footer-modern .footer-modern__grid>div:nth-child(1){grid-column:1/-1;grid-row:1;border-bottom:1px solid hsl(var(--base)/.12);padding-bottom:24px!important}
 .footer-modern .footer-modern__grid>div:nth-child(2){grid-column:1;grid-row:2}
 .footer-modern .footer-modern__grid>div:nth-child(4){grid-column:2;grid-row:2}
 .footer-modern .footer-modern__grid>div:nth-child(3){grid-column:1/-1;grid-row:3;border-top:1px solid hsl(var(--base)/.12);padding-top:24px!important}
 .footer-modern .footer-item{text-align:left!important;margin:0!important;padding:0!important}
 .footer-modern .footer-item__logo{margin:0 0 15px!important}.footer-modern .footer-item__logo img{width:135px;height:auto;max-height:45px}
 .footer-modern .footer-item__desc{font-family:inherit!important;font-size:13px!important;line-height:1.75!important;max-width:none!important;margin:0!important;text-align:left!important}
 .footer-modern .footer-item__title{font-family:inherit!important;font-size:12px!important;letter-spacing:.5px;margin:0 0 14px!important;text-align:left!important}
 .footer-modern .footer-item__title:after{display:none!important}
 .footer-modern .social-list{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:9px!important;margin:17px 0 0!important;padding:0!important}
 .footer-modern .social-list__link{width:36px!important;height:36px!important;transform:none!important}.footer-modern .social-list__item{margin:0!important}
 .footer-modern .footer-menu{display:flex!important;flex-direction:column;gap:0!important;align-items:flex-start!important;padding:0!important}
 .footer-modern .footer-menu__item{padding:0!important;max-width:100%}.footer-modern .footer-menu__link{display:block;font-family:inherit!important;font-size:12px!important;line-height:1.5!important;padding:7px 0!important}
 .footer-modern .footer-modern__contact{gap:12px!important}.footer-modern .footer-modern__contact li{justify-content:flex-start!important;font-size:12px!important;line-height:1.6!important;gap:6px!important;min-width:0}.footer-modern .footer-modern__contact a,.footer-modern .footer-modern__contact span{min-width:0;overflow-wrap:anywhere}.footer-modern .footer-modern__contact i{width:14px;flex:0 0 14px;margin-top:3px}
 .footer-modern .footer-modern__subscribe{max-width:none!important;margin:14px 0 0!important;grid-template-columns:minmax(0,1fr) auto}.footer-modern .footer-modern__subscribe .search-btn{font-size:12px!important;padding:0 15px!important;width:auto!important}.footer-modern .footer-modern__subscribe input{font-size:13px!important}
 .footer-modern .footer-modern__bottom{padding:18px 0 22px!important;border-top:1px solid hsl(var(--base)/.12)}
 .footer-modern .footer-modern__bottom .row{gap:12px!important;margin:0!important}.footer-modern .footer-modern__bottom .row>div{padding:0!important}
 .footer-modern .bottom-footer-text{text-align:left!important;font-family:inherit!important;font-size:11px!important;line-height:1.6!important}
 .footer-modern .bottom-footer-menu ul{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px 14px!important;padding:0!important;margin:0!important}.footer-modern .bottom-footer-menu li{margin:0!important;padding:0!important}.footer-modern .bottom-footer-menu li:before{display:none!important}.footer-modern .bottom-footer-menu a{font-family:inherit!important;font-size:11px!important;line-height:1.6!important}
}
@media(max-width:359px){.footer-modern .footer-modern__subscribe{grid-template-columns:minmax(0,1fr)}.footer-modern .footer-modern__subscribe .search-btn{width:100%!important}}
@media(max-width:767px){.footer-modern .bottom-footer-text p,.footer-modern .bottom-footer-text span{font-size:11px!important;line-height:1.7!important;margin:0!important}}

/* Mobile uses the bottom navigation; the full footer remains on desktop. */
@media(max-width:991px){footer.footer-modern{display:none!important}}
