/*
Theme Name: 247b-v1
Theme URI: https://github.com/yourusername/247b-v1
Author: me
Author URI: https://example.com
Description: Retro arcade-styled block theme with neon glow aesthetics and Press Start 2P pixel font.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.0
Version: 1.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 247b-v1
Tags: retro, arcade, neon, block-theme, press-start-2p
*/

/* Base configuration */
:root {
    --base: #00ff66;
    --bg: #222529;
    /* glow radii */
    --g1: 6px;
    --g2: 14px;
    --g3: 22px;

    /* derived colors (progressively "off") */
    --c-core: var(--base);
    --c-mid: color-mix(in srgb, var(--base) 70%, var(--bg));
    --c-wide: color-mix(in srgb, var(--base) 40%, var(--bg));
    /* fallback for browsers without color-mix() */
    --c-mid-fallback: #1a6e33;
    --c-wide-fallback: #111416;
    /* final glow stack */
    --glow: 0 0 var(--g1) var(--c-core),
    0 0 var(--g2) var(--c-mid),
    0 0 var(--g3) var(--c-wide);
}

body {
    /*background: url("assets/background-1.png"),*/
    linear-gradient(45deg, #222529 0%, #191519 100%);

    background-size: cover, auto;
    background-repeat: no-repeat, repeat;
    background-attachment: fixed, fixed; /* optional */
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    background-color: #fff;
    color: #000;

}

.wpcf7-textarea {
    resize: none;
}

.wpcf7 {
    font-family: var(--wp--preset--font-family--press-start-2-p);
}

.wpcf7-not-valid-tip {
    margin-top: 5px;
}

.wpcf7 form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wpcf7 p:has(.wpcf7-submit) {
    display: flex;
    justify-content: center;
    align-items: center;
}

.wpcf7-submit {
    margin-left: 0;
}

.wpcf7-spinner {
    visibility: hidden;
    width: 0;
    padding: 0;
    margin: 0;
}

.wpcf7 input[type="checkbox"] {
    margin-right: 10px;
}

.wpcf7-acceptance .wpcf7-list-item {
    max-width: 317px;
}


.wpcf7-acceptance .wpcf7-list-item label {
    display: flex;
    align-items: center; /* keeps checkbox aligned with first line */
    gap: 12px;
}

.wpcf7-acceptance input[type="checkbox"] {
    transform: scale(1.9);
    flex: 0 0 auto;
    margin-top: 2px;
    margin-right: 14px;
}

.wpcf7-checkbox .wpcf7-list-item-label {
    display: block;
    line-height: 1.4;
}

.arcade-button, .wpcf7-submit {
    font-family: 'Press Start 2P', monospace;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1.5px;

    color: var(--c-core);
    background: transparent;

    border: 2px solid var(--c-core);
    padding: 12px 18px;

    text-shadow: var(--glow);
    box-shadow: var(--glow);

    cursor: pointer;

    transition: transform 120ms ease, box-shadow 120ms ease, color 120ms ease;
}

/* hover = stronger emission */
.arcade-button:hover, .wpcf7-submit:hover {
    box-shadow: 0 0 calc(var(--g1) * 1.5) var(--c-core),
    0 0 calc(var(--g2) * 1.5) var(--c-mid),
    0 0 calc(var(--g3) * 1.5) var(--c-wide);

    transform: translateY(-1px);
}

/* active = "pressed arcade key" */
.arcade-button:active, .wpcf7-submit:active {
    transform: translateY(1px);
    box-shadow:
            0 0 calc(var(--g1) * 0.8) var(--c-core),
            0 0 calc(var(--g2) * 0.8) var(--c-mid),
            0 0 calc(var(--g3) * 0.8) var(--c-wide);
}

/* focus-visible = keyboard navigation indicator */
.arcade-button:focus-visible,
.wpcf7-submit:focus-visible {
    outline: 2px solid var(--base);
    outline-offset: 3px;
}

a:focus-visible {
    outline: 2px solid var(--base);
    outline-offset: 2px;
}

/* links = neon green text with subtle glow hover */
a {
    color: var(--c-core);
    text-decoration: none;
    transition: text-shadow 150ms ease, color 150ms ease;
}

a:hover {
    text-shadow: var(--glow);
}

.insert-coin {
    font-family: 'Press Start 2P', monospace;
    font-size: 32px;
    font-weight: bold;

    color: var(--c-core);
    text-shadow: var(--glow);

    text-transform: uppercase;
    letter-spacing: 2px;

    animation: insert-coin-blink 1s steps(2, start) infinite;
}

@keyframes insert-coin-blink {
    to {
        visibility: hidden;
    }
}

/* t2.html full-height layout */
.full-height-wrapper {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    margin: 0;
}

.full-height-content {
    flex: 1;
    min-height: 0;
}

/* Mobile hamburger align left */
@media (max-width: 760px) {
    .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-open {
        position: fixed;
        left: 16px;
        top: 16px;
        z-index: 1000;
    }

    .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container {
        padding: 56px 24px 24px;
        background: url("assets/background-1.png"),
        linear-gradient(45deg, #222529 0%, #191519 100%);

        background-size: cover, auto;
        background-repeat: no-repeat, repeat;
        background-attachment: fixed, fixed; /* optional */
    }

    .wpcf7-submit {
        margin-left: 0;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .insert-coin {
        animation: none;
        visibility: visible !important;
    }
    .arcade-button,
    .wpcf7-submit {
        transition: none;
    }
}
