/* ============================================================
 * Hygo Footer (v2.9.6)
 *
 * All color/spacing tokens come from --hf-* CSS custom
 * properties set inline on the .hygo-footer element by
 * inc/module-footer.php (from admin options). Base rules
 * below use var() with hard fallbacks so the footer still
 * looks reasonable if a value is empty.
 *
 * Layout: full-viewport-width dark strip with a max-width
 * inner container (matches the "contained content on a
 * full-width background" pattern used by nearly every
 * e-commerce footer).
 * ============================================================ */

.hygo-footer {
    background: var(--hf-bg, #111827);
    color: var(--hf-color, #d1d5db);
    font-size: 14px;
    line-height: 1.55;
    margin-top: 40px;
}

.hygo-footer * { box-sizing: border-box; }

.hygo-footer a {
    color: var(--hf-link, #d1d5db);
    text-decoration: none;
    transition: color .15s ease;
}
.hygo-footer a:hover,
.hygo-footer a:focus {
    color: var(--hf-link-hover, #ffffff);
    text-decoration: underline;
}

.hygo-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 24px;
}

/* --- Top / bottom HTML slots ------------------------------- */

.hygo-footer-slot { margin-bottom: 28px; }
.hygo-footer-slot--bottom { margin: 28px 0 0; }
.hygo-footer-slot-label {
    font-size: 10px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #6b7280;
    text-align: center;
    margin-bottom: 8px;
}
.hygo-footer-slot-body { text-align: center; }

/* --- Columns row ------------------------------------------- */

.hygo-footer-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 40px;
    align-items: start;
}

.hygo-footer-col {
    min-width: 0; /* let flex/grid children shrink inside */
}

.hygo-footer-heading {
    font-size: 15px;
    font-weight: 700;
    color: var(--hf-heading, #ffffff);
    margin: 0 0 14px;
    line-height: 1.3;
}

/* --- Type: links list -------------------------------------- */

.hygo-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.hygo-footer-links li { margin: 0; }
.hygo-footer-links a,
.hygo-footer-links span {
    display: inline-block;
    padding: 2px 0;
}

/* --- Type: text -------------------------------------------- */

.hygo-footer-text { max-width: 42em; }
.hygo-footer-text p { margin: 0 0 12px; }
.hygo-footer-text p:last-child { margin-bottom: 0; }

/* --- Type: contact ----------------------------------------- */

.hygo-footer-contact-address {
    margin-bottom: 14px;
    max-width: 42em;
}
.hygo-footer-contact-address p { margin: 0 0 10px; }
.hygo-footer-contact-address p:last-child { margin-bottom: 0; }
.hygo-footer-contact-address strong { color: var(--hf-heading, #ffffff); }

.hygo-footer-contact-line {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
}
.hygo-footer-contact-line:last-child { margin-bottom: 0; }
.hygo-footer-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: var(--hf-heading, #ffffff);
    flex: 0 0 auto;
}

/* --- Type: html -------------------------------------------- */

.hygo-footer-html { /* deliberately minimal — HTML blocks bring their own <style> */ }

/* --- Payment icons ----------------------------------------- */

.hygo-footer-payment {
    margin-top: 18px;
}
.hygo-footer-payment-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--hf-heading, #ffffff);
    margin-bottom: 8px;
}
.hygo-footer-payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.hygo-footer-pay-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 4px;
    padding: 4px 6px;
    height: 26px;
    min-width: 40px;
}
.hygo-footer-pay-ic svg,
.hygo-footer-pay-ic img {
    display: block;
    max-height: 18px;
    max-width: 44px;
    width: auto;
    height: auto;
}

/* Full-width payment strip when footer_payment_column === 0 */
.hygo-footer-payment-strip {
    border-top: 1px solid var(--hf-border, #374151);
    margin-top: 28px;
    padding-top: 20px;
    text-align: center;
}
.hygo-footer-payment-strip .hygo-footer-payment {
    margin-top: 0;
}
.hygo-footer-payment-strip .hygo-footer-payment-icons {
    justify-content: center;
}

/* --- Bottom copyright bar ---------------------------------- */

.hygo-footer-copy {
    background: var(--hf-bottom-bg, #0b0f18);
    border-top: 1px solid var(--hf-border, #374151);
    color: var(--hf-color, #d1d5db);
    font-size: 12px;
    text-align: center;
    padding: 14px 20px;
}
.hygo-footer-copy-inner {
    max-width: 1200px;
    margin: 0 auto;
}
.hygo-footer-copy a {
    color: var(--hf-link, #d1d5db);
    text-decoration: underline;
}
.hygo-footer-copy a:hover,
.hygo-footer-copy a:focus {
    color: var(--hf-link-hover, #ffffff);
}

/* --- Responsive -------------------------------------------- */

@media (max-width: 640px) {
    .hygo-footer-inner {
        padding: 28px 16px 20px;
    }
    .hygo-footer-columns {
        gap: 28px;
        grid-template-columns: 1fr;
    }
    .hygo-footer-heading {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .hygo-footer-payment-icons {
        gap: 6px;
    }
}
