/* ============================================================
   TERAPRINT FOOTER v1.0
   Custom footer replacing Kadence default.
   Brand: azure-blue #337ab7, vibrant-orange #f36f21
   Dark-navy footer: #1a3a5c, bottom-bar: #122c47
   ============================================================ */

/* ── Reset Kadence footer ── */
#colophon,
.site-footer-wrap,
.site-footer,
footer.colophon,
.footer-widget-area.site-info[data-section="kadence_customizer_footer_html"] {
    display: none !important;
}

/* ── Footer container ── */
.tp-footer {
    font-family: 'Roboto', -apple-system, sans-serif;
    width: 100%;
    margin-top: auto;
}

/* ── Shared inner wrapper ── */
.tp-footer .tp-footer-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ═══════════ MAIN FOOTER ═══════════ */
.tp-footer-main {
    background: #1a3a5c;
}

.tp-footer-main > .tp-footer-inner {
    padding-top: 40px;
    padding-bottom: 32px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
    gap: 32px;
}

/* ── Company Column ── */
.tp-footer-logo {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 16px;
    text-decoration: none;
    color: inherit;
}

.tp-flogo-icon {
    width: 30px;
    height: 30px;
    background: #337ab7;
    border-radius: var(--tp-card-radius, 6px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    flex-shrink: 0;
}

.tp-flogo-text {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.3px;
}

.tp-flogo-orange {
    color: #f36f21;
}

.tp-flogo-reg {
    color: #6db3e8;
    font-size: 10px;
    vertical-align: super;
}

.tp-footer-desc {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.7;
    margin: 0 0 14px;
}

/* Contact rows */
.tp-footer-contact {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.tp-footer-contact-row {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.tp-footer-contact-row svg {
    flex-shrink: 0;
}

/* Social icons */
.tp-footer-social {
    display: flex;
    gap: 6px;
    margin-top: 16px;
}

.tp-social-icon {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--tp-card-radius, 6px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}

.tp-social-icon:hover {
    border-color: #f36f21;
    background: rgba(243, 111, 33, 0.1);
}

/* ── Link Columns ── */
.tp-footer-col-title {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
    padding-bottom: 7px;
    border-bottom: 2px solid #f36f21;
    display: inline-block;
}

.tp-footer-link {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.65);
    padding: 3px 0;
    text-decoration: none;
    transition: color 0.15s;
}

.tp-footer-link:hover {
    color: #f36f21;
}

.tp-footer-link-arrow {
    font-size: 10px;
    opacity: 0.4;
    transition: opacity 0.15s;
}

.tp-footer-link:hover .tp-footer-link-arrow {
    opacity: 1;
}

/* ── Trust & Payment Column ── */

/* Käuferschutz box */
.tp-footer-trust-box {
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--tp-card-radius, 6px);
    padding: 12px;
    margin-bottom: 16px;
}

.tp-footer-trust-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.tp-footer-trust-header span {
    font-size: 12px;
    font-weight: 600;
    color: #fff;
}

.tp-footer-trust-stars {
    display: flex;
    gap: 1px;
    margin-bottom: 4px;
}

.tp-footer-trust-rating {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.6);
}

.tp-footer-trust-rating strong {
    color: #fff;
}

/* Payment/Shipping Labels */
.tp-footer-pay-label {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.tp-footer-pay-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 14px;
}

/* Pay icon base */
.tp-pay-icon {
    height: 26px;
    padding: 0 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3px;
    line-height: 1;
    border-radius: 4px;
}

/* Individual payment brand colors */
.tp-pay-paypal  { background: #003087; color: #fff; }
.tp-pay-klarna  { background: #FFB3C7; color: #0A0B09; }
.tp-pay-visa    { background: #1A1F71; color: #fff; }
.tp-pay-mc      { background: #EB001B; color: #fff; }
.tp-pay-sepa    { background: #2E4057; color: #fff; }
.tp-pay-vorkasse { background: #fff; color: var(--tp-dark, #5C5B5B); }

/* Shipping */
.tp-pay-dhl { background: #FFCC00; color: #CC0000; }
.tp-pay-dpd { background: #DC0032; color: #fff; }
.tp-pay-gls { background: #2B3990; color: #fff; }

/* ═══════════ BOTTOM BAR ═══════════ */
.tp-footer-bottom {
    background: #122c47;
}

.tp-footer-bottom > .tp-footer-inner {
    padding-top: 14px;
    padding-bottom: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tp-footer-copy {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.35);
}

.tp-footer-legal {
    display: flex;
    gap: 20px;
}

.tp-footer-legal a {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.35);
    text-decoration: none;
    transition: color 0.15s;
}

.tp-footer-legal a:hover {
    color: rgba(255, 255, 255, 0.8);
}

/* ═══════════ RESPONSIVE ═══════════ */

/* Tablet */
@media (max-width: 1100px) {
    .tp-footer-main > .tp-footer-inner {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 28px;
    }

    .tp-footer-company {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .tp-footer-logo {
        grid-column: 1 / -1;
    }

    .tp-footer-desc {
        grid-column: 1;
    }

    .tp-footer-contact {
        grid-column: 2;
    }

    .tp-footer-social {
        grid-column: 1 / -1;
    }

    .tp-footer-trust-col {
        grid-column: 1 / -1;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        align-items: flex-start;
    }

    .tp-footer-trust-col .tp-footer-col-title {
        width: 100%;
    }

    .tp-footer-trust-box {
        margin-bottom: 0;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .tp-footer-main > .tp-footer-inner {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-top: 32px;
        padding-bottom: 24px;
    }

    .tp-footer-company {
        display: block;
    }

    .tp-footer-trust-col {
        display: block;
    }

    .tp-footer-trust-box {
        margin-bottom: 16px;
    }

    .tp-footer-bottom > .tp-footer-inner {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .tp-footer-legal {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }
}
