/* Footer styles — converted from Ritter Energie SCSS */

:root {
    --footer-bg: #58666D;
    --footer-text: #ffffff;
    --footer-heading: #ffffff;
    --subfooter-bg: #003E66;
    --footer-accent: #D4D9DB;
    --footer-accent-hover: #949FA6;
    

    --footer-border: #2d5c8b;
    --footer-primary: #003E66;
}

footer {
    position: relative;
    color: var(--footer-text);
}

.tool-version-banner {
    width: min(1200px, 100%);
    margin: 1.5rem auto 0;
    padding: 0 1rem 0.75rem;
    box-sizing: border-box;
}

.tool-version-banner p {
    margin: 0;
    color: var(--footer-primary);
    font-size: 0.95rem;
    font-weight: 700;
    text-align: right;
}

.zzfooter-text {
    color: var(--footer-text) !important;
}

.zzfooter-heading {
    color: var(--footer-heading) !important;
}

footer p {
    line-height: 26px;
    letter-spacing: 0.03em;
    margin-bottom: 0;
    color: var(--footer-text);
}

.footer-light .light-layout {
    background-color: var(--footer-bg);
}

.footer-theme .footer-mobile-title {
    display: none;
}

.footer-theme .footer-logo {
    margin-bottom: 18px;
}

.footer-theme .footer-logo img {
    max-width: 200px;
}

.footer-theme .sub-title h4 {
    margin-bottom: 25px;
    text-transform: uppercase;
    font-weight: bold;
    color: var(--footer-heading);
}

.footer-theme .sub-title li {
    position: relative;
    display: inherit;
    padding-top: 13px;
    font-size: 14px;
    color: var(--footer-text);
}

.footer-theme .sub-title li a,
.footer-theme .sub-title li .btn-link {
    position: relative;
    color: var(--footer-text);
    text-decoration: none;
}

.footer-theme .sub-title li a:before,
.footer-theme .sub-title li .btn-link:before {
    position: absolute;
    top: 20px;
    content: "";
    height: 2px;
    width: 0;
    background-color: var(--footer-primary);
    transition: 0.5s ease;
}

.footer-theme .sub-title li:hover a:before,
.footer-theme .sub-title li:hover .btn-link:before {
    width: 100%;
    height: 2px;
    transition: 0.5s ease;
}

.footer-social {
    margin-top: 40px;
    display: flex;
    align-items: center;
}

.footer-social ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-social li {
    display: inline-block;
    padding-right: 45px;
}

.footer-social i {
    font-size: 20px;
    color: var(--footer-text);
    transition: 0.5s ease;
}

.footer-social i:hover {
    color: var(--footer-primary) !important;
    transition: 0.5s ease;
}

.footer-social a {
    font-size: 20px;
    color: var(--footer-text);
    text-decoration: none;
}

.sub-footer {
    background-color: var(--subfooter-bg);
}

.sub-footer p {
    margin-bottom: 0;
    padding: 20px 0;
    color: #ffffff;
}

.sub-footer a {
    color: #ffffff;
    text-decoration: none;
}

/* Layout */
.section-b-space {
    padding-bottom: 70px;
    padding-top: 70px;
}

footer .container {
    width: min(1200px, 100%);
    margin: 0 auto;
    padding: 0 1rem;
}

footer .row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

footer .col {
    flex: 1;
    min-width: 200px;
}

.footer-content ul,
.sub-title ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-end {
    display: inline;
}

.zzsub-footer-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    width: 100%;
}

.zzsub-footer-left .footer-social {
    margin-left: auto;
    margin-top: 0;
    order: 3;
}

.zzsub-footer-left .zzsub-footer-cms {
    order: 2;
}

.zzsub-footer-left .footer-end {
    order: 1;
}

.zzsub-footer-cms ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1.25rem;
}

.zzsub-footer-cms a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
}

.zzsub-footer-cms a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.btn-link {
    background: none;
    border: none;
    color: var(--footer-text);
    cursor: pointer;
    padding: 0;
    font-size: inherit;
    text-decoration: none;
}

.zzbtn-tertiary {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    background: var(--footer-accent);
    color: var(--footer-heading);
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none;
}

.zzbtn-tertiary:hover {
    background: var(--footer-accent-hover);
}

/* Responsive */
@media (max-width: 1199px) {
    .footer-social {
        margin-top: 25px;
    }
    .footer-social li {
        padding-right: 38px;
    }
}

@media (max-width: 991px) {
    .tool-version-banner p {
        text-align: left;
    }

    .footer-theme .col {
        max-width: 50%;
        flex-basis: unset;
    }
    .footer-theme .footer-logo {
        margin-bottom: 30px;
    }
    .footer-theme .sub-title h4 {
        margin-bottom: 10px;
    }
    .footer-social {
        margin-top: 15px;
    }
}

@media (max-width: 768px) {
    .footer-theme .col {
        max-width: 100%;
        flex-basis: unset;
    }
    .footer-theme .sub-title li {
        padding-top: 7px;
    }
    .footer-social ul {
        margin: 0 auto;
    }
    .footer-social li {
        padding: 0 15px;
    }
    .footer-end {
        text-align: center;
    }
    .footer-title {
        margin-top: 10px;
        text-align: left;
        border-bottom: 1px solid var(--footer-border);
        position: relative;
    }
    .footer-title h4 {
        text-transform: uppercase;
        font-weight: bold;
        cursor: pointer;
    }
}

@media (max-width: 384px) {
    footer {
        margin-bottom: 60px;
    }
    footer p {
        line-height: 20px;
    }
}

@media print {
    footer {
        display: none;
    }
}
