/* Footer background patterns — subtle overlay (same approach as boxed page patterns) */

footer[data-footer-bg-type="pattern"] {
    position: relative;
    overflow: hidden;
}

footer[data-footer-bg-type="pattern"]::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: var(--footer-pattern-opacity, 0.12);
}

footer[data-footer-bg-type="pattern"] > * {
    position: relative;
    z-index: 1;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="dots"]::before {
    background-image: radial-gradient(
        circle,
        var(--footer-pattern-color, #374151) 1px,
        transparent 1px
    );
    background-size: 20px 20px;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="grid"]::before {
    background-image:
        linear-gradient(var(--footer-pattern-color, #374151) 1px, transparent 1px),
        linear-gradient(90deg, var(--footer-pattern-color, #374151) 1px, transparent 1px);
    background-size: 30px 30px;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="lines"]::before {
    background-image: repeating-linear-gradient(
        45deg,
        var(--footer-pattern-color, #374151),
        var(--footer-pattern-color, #374151) 1px,
        transparent 1px,
        transparent 10px
    );
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="crosshatch"]::before {
    background-image:
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 10px,
            var(--footer-pattern-color, #374151) 10px,
            var(--footer-pattern-color, #374151) 11px
        ),
        repeating-linear-gradient(
            -45deg,
            transparent,
            transparent 10px,
            var(--footer-pattern-color, #374151) 10px,
            var(--footer-pattern-color, #374151) 11px
        );
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="zigzag"]::before {
    background:
        linear-gradient(135deg, var(--footer-pattern-color, #374151) 25%, transparent 25%) -10px 0,
        linear-gradient(225deg, var(--footer-pattern-color, #374151) 25%, transparent 25%) -10px 0,
        linear-gradient(315deg, var(--footer-pattern-color, #374151) 25%, transparent 25%),
        linear-gradient(45deg, var(--footer-pattern-color, #374151) 25%, transparent 25%);
    background-size: 20px 20px;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="hexagon"]::before {
    background-image:
        radial-gradient(circle at 0% 50%, transparent 20px, var(--footer-pattern-color, #374151) 21px, var(--footer-pattern-color, #374151) 22px, transparent 23px),
        radial-gradient(circle at 100% 50%, transparent 20px, var(--footer-pattern-color, #374151) 21px, var(--footer-pattern-color, #374151) 22px, transparent 23px);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="plus"]::before {
    background-image:
        linear-gradient(var(--footer-pattern-color, #374151) 1px, transparent 1px),
        linear-gradient(90deg, var(--footer-pattern-color, #374151) 1px, transparent 1px);
    background-size: 18px 18px;
    background-position: center center;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="diamonds"]::before {
    background-image: repeating-linear-gradient(
        45deg,
        var(--footer-pattern-color, #374151) 0,
        var(--footer-pattern-color, #374151) 1px,
        transparent 1px,
        transparent 12px
    );
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="circles"]::before {
    background-image: radial-gradient(
        circle,
        var(--footer-pattern-color, #374151) 2px,
        transparent 2.5px
    );
    background-size: 28px 28px;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="waves"]::before {
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 8px,
        var(--footer-pattern-color, #374151) 8px,
        var(--footer-pattern-color, #374151) 9px,
        transparent 9px,
        transparent 16px
    );
    background-size: 100% 16px;
}

footer[data-footer-bg-type="pattern"][data-footer-pattern="bricks"]::before {
    background-image:
        linear-gradient(90deg, var(--footer-pattern-color, #374151) 1px, transparent 1px),
        linear-gradient(var(--footer-pattern-color, #374151) 1px, transparent 1px);
    background-size: 32px 16px;
    background-position: 0 0, 16px 8px;
}

/* Top glow separator (Theme Customizer → Footer tab) */
footer .cms-footer-glow {
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: var(--footer-glow-height, 2px);
    border-radius: 999px;
    pointer-events: none;
    z-index: 3;
    filter: blur(0.5px);
}
