/* Safe Tick FPSM layout refinements for large screens */

.fpsm-front-form {
    /* Palette (light, minimal) */
    --st-bg: #ffffff;
    --st-card: #ffffff;
    --st-border: #e5e7eb;
    --st-text: #1f2933;
    --st-muted: #6b7280;
    --st-heading: #111827;
    --st-accent: #2563eb;
    --st-accent-strong: #1d4ed8;
    --st-accent-aux: #0ea5e9;
    --st-danger: #dc2626;
    --st-shadow: rgba(15, 23, 42, 0.08);

    max-width: 960px;
    margin: 40px auto;
    padding: 32px 34px;
    background: var(--st-bg);
    border: 1px solid #eef1f5;
    border-radius: 16px;
    box-shadow: 0 14px 32px var(--st-shadow);
    color: var(--st-text);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.fpsm-front-form .fpsm-field-wrap {
    background: transparent;
    border: 0;
    border-radius: 12px;
    padding: 0;
    margin-bottom: 18px;
}

.fpsm-front-form .fpsm-field-wrap > label {
    display: block;
    margin: 0 0 10px;
    color: var(--st-heading);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
}

.fpsm-front-form .fpsm-field-note {
    margin-top: 10px;
    color: var(--st-muted);
    font-size: 13px;
    line-height: 1.55;
}

.fpsm-front-form input[type="text"],
.fpsm-front-form input[type="email"],
.fpsm-front-form input[type="url"],
.fpsm-front-form input[type="number"],
.fpsm-front-form textarea,
.fpsm-front-form select {
    width: 100%;
    background: #f8fafc;
    border: 1px solid var(--st-border);
    border-radius: 10px;
    padding: 12px 14px;
    color: var(--st-text);
    font-size: 15px;
    line-height: 1.5;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.fpsm-front-form input:focus,
.fpsm-front-form textarea:focus,
.fpsm-front-form select:focus {
    outline: none;
    border-color: var(--st-accent);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18);
}

/* TinyMCE container tidy up */
.fpsm-front-form .wp-editor-container,
.fpsm-front-form .mce-tinymce,
.fpsm-front-form .mce-edit-area iframe {
    border-radius: 10px;
    overflow: hidden;
}

.fpsm-front-form .mce-top-part,
.fpsm-front-form .mce-statusbar {
    background: #f8fafc;
    border-color: var(--st-border);
}

/* Content Rating overrides for dark theme */
.fpsm-front-form .st-geo-rating {
    background: #ffffff;
    border-color: var(--st-border);
    color: var(--st-text);
}

.fpsm-front-form .st-geo-rating__title { color: var(--st-heading); }
.fpsm-front-form .st-geo-rating__desc { color: var(--st-muted); }
.fpsm-front-form .st-geo-rating__btn { border-color: var(--st-border); color: var(--st-text); background: #f9fafb; }
.fpsm-front-form .st-geo-rating__btn:hover { border-color: var(--st-accent); box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12); }
.fpsm-front-form .st-geo-rating__btn--explicit.is-selected { border-color: #f59e0b; background: #fff7ed; }
.fpsm-front-form .st-geo-rating__btn--tame.is-selected { border-color: #10b981; background: #ecfdf3; }
.fpsm-front-form .st-geo-rating__helper { color: #4b5563; border-top-color: var(--st-border); }
.fpsm-front-form .st-geo-rating__helper--tame { color: #b91c1c; }

/* Terms checkbox + radios inline spacing */
.fpsm-front-form .fpsm-checkbox-list-wrap,
.fpsm-front-form .fpsm-radio-inline {
    /* display: flex; */
    gap: 14px;
    flex-wrap: wrap;
}

.fpsm-front-form .fpsm-checkbox label,
.fpsm-front-form .fpsm-radio label {
    color: var(--st-text);
    font-size: 14px;
}

/* Submit area */
.fpsm-front-form .fpsm-submit-publish,
.fpsm-front-form .fpsm-submit-draft,
.fpsm-front-form input[type="submit"] {
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 15px 16px;
    background: linear-gradient(120deg, var(--st-accent), var(--st-accent-strong));
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s;
}

.fpsm-front-form input[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 30px rgba(34, 197, 94, 0.25);
}

.fpsm-front-form input[type="submit"][disabled] {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

/* Keep overall width tight on very large screens */
@media (min-width: 1400px) {
    .fpsm-front-form { max-width: 1040px; }
}

/* Compact padding on small screens */
@media (max-width: 767px) {
    .fpsm-front-form {
        box-shadow: 0 0 24px rgba(0, 0, 0, 0.24);
        padding: 1px !important;
    }
}

/* Template 5: remove background color */
.fpsm-template-5 {
    background: #ffffff !important;
}
