/* t1 Forms — frontend. Tokens only, square corners, contained controls. */

.t1-form-container {
    --t1f-text: var(--wp--preset--color--text-main, var(--t1-color-text, #121212));
    --t1f-muted: var(--wp--preset--color--text-muted, var(--t1-color-muted, #3d3d3d));
    --t1f-light: var(--wp--preset--color--text-light, #bdbdba);
    --t1f-accent: var(--wp--preset--color--accent, var(--t1-color-accent, #fc490b));
    --t1f-card: var(--wp--preset--color--card, var(--t1-color-card, #fff));
    --t1f-surface: var(--wp--preset--color--surface, var(--t1-color-surface, #eae9e4));
    --t1f-border: color-mix(in srgb, var(--t1f-text) 10%, transparent);
    --t1f-font: var(--wp--preset--font-family--body, var(--t1-font-body, Inter, sans-serif));
    --t1f-heading: var(--wp--preset--font-family--heading, var(--t1-font-heading, "Space Grotesk", sans-serif));
    --t1f-label: var(--wp--preset--font-size--xs, 10px);
    --t1f-input: var(--wp--preset--font-size--sm, 13px);

    box-sizing: border-box;
    width: 100%;
    max-width: 32rem;
    margin: 0 auto;
    font-family: var(--t1f-font);
    color: var(--t1f-text);
}

.t1-form-container *,
.t1-form-container *::before,
.t1-form-container *::after {
    box-sizing: border-box;
}

.t1-form-card {
    min-width: 0;
    background: color-mix(in srgb, var(--t1f-card) 70%, transparent);
    border: 1px solid var(--t1f-border);
    border-radius: 28px;
    padding: var(--wp--preset--spacing--32, 32px);
}

.t1-form-header {
    margin: 0 0 var(--wp--preset--spacing--24, 24px);
}

.t1-form-title {
    margin: 0;
    font-family: var(--t1f-heading);
    font-size: var(--wp--preset--font-size--xl, 1.5rem);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.t1-form-subtitle {
    margin: 6px 0 0;
    color: var(--t1f-muted);
    font-size: var(--t1f-input);
    line-height: 1.5;
}

.t1-form-success,
.t1-form-error {
    margin: 0;
    padding: var(--wp--preset--spacing--16, 16px);
    font-size: var(--t1f-input);
    line-height: 1.5;
}

.t1-form-success {
    background: var(--wp--preset--color--green-100, #e7f5e4);
}

.t1-form-error {
    background: var(--wp--preset--color--accent-100, #ffe4da);
    margin-bottom: var(--wp--preset--spacing--16, 16px);
}

.t1-form-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.t1-form-step {
    display: none;
}

.t1-form-step.is-active {
    display: block;
}

.t1-form-group {
    min-width: 0;
    margin-bottom: var(--wp--preset--spacing--20, 20px);
}

.t1-form-row {
    display: flex;
    gap: var(--wp--preset--spacing--16, 16px);
}

.t1-form-row .t1-form-group {
    flex: 1;
    min-width: 0;
}

.t1-form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: var(--t1f-label);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--t1f-muted);
}

.t1-form input[type="text"],
.t1-form input[type="email"],
.t1-form input[type="tel"],
.t1-form input[type="url"],
.t1-form input[type="number"],
.t1-form textarea,
.t1-form select {
    width: 100%;
    max-width: 100%;
    padding: 10px 12px;
    font-family: var(--t1f-font);
    font-size: var(--t1f-input);
    color: var(--t1f-text);
    background: color-mix(in srgb, var(--t1f-card) 80%, transparent);
    border: 1px solid var(--t1f-border);
    border-radius: 0;
    outline: none;
    appearance: none;
}

.t1-form input::placeholder,
.t1-form textarea::placeholder {
    color: var(--t1f-light);
}

.t1-form input:focus,
.t1-form textarea:focus,
.t1-form select:focus {
    border-color: var(--t1f-text);
    box-shadow: 0 0 0 1px var(--t1f-text);
}

.t1-form textarea {
    min-height: 5rem;
    resize: vertical;
}

.t1-form .is-invalid {
    border-color: var(--t1f-accent);
    box-shadow: 0 0 0 1px var(--t1f-accent);
}

.t1-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.t1-radio-card {
    flex: 1;
    min-width: 0;
    display: flex;
    cursor: pointer;
}

.t1-radio-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.t1-radio-content {
    width: 100%;
    padding: 9px 8px;
    text-align: center;
    font-size: var(--t1f-label);
    font-weight: 500;
    color: var(--t1f-muted);
    border: 1px solid var(--t1f-border);
    background: color-mix(in srgb, var(--t1f-card) 80%, transparent);
}

.t1-radio-card input:checked + .t1-radio-content {
    color: var(--t1f-card);
    background: var(--t1f-text);
    border-color: var(--t1f-text);
}

.t1-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.t1-checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--t1f-text);
}

.t1-checkbox-text {
    font-size: var(--t1f-label);
    color: var(--t1f-muted);
    line-height: 1.5;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
}

.t1-select-wrap {
    position: relative;
    min-width: 0;
}

.t1-select-wrap select {
    padding-right: 28px;
    cursor: pointer;
}

.t1-form-submit,
.t1-form-btn-prev,
.t1-form-btn-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin-top: var(--wp--preset--spacing--24, 24px);
    padding: 14px 24px;
    font-family: var(--t1f-font);
    font-size: var(--t1f-label);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--t1f-card);
    background: var(--t1f-text);
    border: 1px solid var(--t1f-text);
    border-radius: 0;
    cursor: pointer;
}

.t1-form-submit:hover,
.t1-form-btn-next:hover {
    background: var(--t1f-accent);
    border-color: var(--t1f-accent);
    color: var(--t1f-card);
}

.t1-form-submit:disabled {
    opacity: 0.7;
    cursor: wait;
}

.t1-form-nav {
    display: flex;
    gap: 12px;
}

.t1-form-btn-prev,
.t1-form-btn-next {
    margin-top: 0;
}

.t1-form-btn-prev {
    color: var(--t1f-text);
    background: transparent;
}

.t1-form-btn-prev:hover {
    background: var(--t1f-surface);
}

.t1-form-turnstile {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 var(--wp--preset--spacing--16, 16px);
}

.t1-form-security {
    margin: 12px 0 0;
    font-size: var(--t1f-label);
    color: var(--t1f-light);
    text-align: center;
}

.ft-newsletter .t1-form-container,
.t1-form--embed {
    max-width: 100%;
}

.ft-newsletter .t1-form-card {
    padding: 0;
    border: 0;
    background: transparent;
}

.ft-newsletter .t1-form-title {
    font-size: var(--wp--preset--font-size--lg, 1.25rem);
}

@media (max-width: 600px) {
    .t1-form-container {
        max-width: 100%;
    }

    .t1-form-card {
        padding: 0;
        border: 0;
        background: transparent;
    }

    .t1-form-row {
        flex-direction: column;
        gap: 0;
    }
}
