/*
 * GrandLiga Upload Your Case — Multilingual v2.0
 * Scoped to .grandliga-upload-case so legacy form styles do not leak out.
 */

.grandliga-upload-case,
.grandliga-upload-case *,
.grandliga-upload-case *::before,
.grandliga-upload-case *::after {
    box-sizing: border-box;
}

.grandliga-upload-case {
    --gl-navy: #19374e;
    --gl-dark: #12273a;
    --gl-teal: #238174;
    --gl-teal-dark: #196960;
    --gl-muted: #677584;
    --gl-line: #d8e0e8;
    --gl-soft: #f6f9fb;
    --gl-danger: #b94444;

    width: 100%;
    color: var(--gl-dark);
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px !important;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.grandliga-upload-case .gl-upload-intro {
    margin: 0 0 22px;
    padding: 18px 20px;
    border: 1px solid rgba(35,129,116,.20);
    border-radius: 16px;
    background: rgba(246,249,251,.72);
}

.grandliga-upload-case .gl-upload-intro p {
    margin: 0;
    color: var(--gl-muted);
    font-size: 15px;
}

.grandliga-upload-case .gl-upload-section {
    margin: 0 0 22px;
    padding: 26px;
    border: 1px solid var(--gl-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20,43,63,.055);
}

.grandliga-upload-case .gl-upload-section-head {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    align-items: start;
    gap: 16px;
    margin-bottom: 22px;
}

.grandliga-upload-case .gl-upload-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(35,129,116,.24);
    border-radius: 50%;
    background: rgba(35,129,116,.07);
    color: var(--gl-teal);
    font-size: 14px;
    font-weight: 800;
}

.grandliga-upload-case .gl-upload-section-head h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--gl-navy) !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.grandliga-upload-case .gl-upload-section-head h2::after {
    display: none !important;
}

.grandliga-upload-case .gl-upload-section-head p {
    margin: 6px 0 0;
    color: var(--gl-muted);
    font-size: 14px;
    line-height: 1.5;
}

.grandliga-upload-case .gl-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px 20px;
}

.grandliga-upload-case .gl-upload-field {
    min-width: 0;
}

.grandliga-upload-case .gl-upload-field--full {
    grid-column: 1 / -1;
}

.grandliga-upload-case .gl-upload-field label {
    display: block;
    margin: 0 0 7px;
    color: var(--gl-navy);
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

.grandliga-upload-case .gl-upload-field label > span {
    color: var(--gl-teal);
}

.grandliga-upload-case .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.grandliga-upload-case input[type="text"],
.grandliga-upload-case input[type="email"],
.grandliga-upload-case input[type="tel"],
.grandliga-upload-case input[type="number"],
.grandliga-upload-case select,
.grandliga-upload-case textarea {
    width: 100% !important;
    max-width: none !important;
    min-height: 54px;
    margin: 0 !important;
    padding: 13px 15px !important;
    border: 1px solid #c9d6df !important;
    border-radius: 13px !important;
    outline: none !important;
    background: #fff !important;
    color: var(--gl-dark) !important;
    font: inherit !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    box-shadow: 0 2px 8px rgba(20,43,63,.025);
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

.grandliga-upload-case textarea {
    min-height: 170px !important;
    resize: vertical;
}

.grandliga-upload-case input:focus,
.grandliga-upload-case select:focus,
.grandliga-upload-case textarea:focus {
    border-color: var(--gl-teal) !important;
    box-shadow: 0 0 0 3px rgba(35,129,116,.10) !important;
}

.grandliga-upload-case .wpcf7-not-valid {
    border-color: #d97979 !important;
}

.grandliga-upload-case .wpcf7-not-valid-tip {
    display: block !important;
    position: static !important;
    margin-top: 6px;
    padding: 0 !important;
    color: var(--gl-danger) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.grandliga-upload-case .gl-upload-counter {
    margin-top: 7px;
    color: var(--gl-muted);
    font-size: 12.5px;
    text-align: right;
}

/* ---------- Upload area ---------- */

.grandliga-upload-case .gl-upload-filebox {
    width: 100%;
}

.form-page .grandliga-upload-case .codedropz-upload-handler,
.grandliga-upload-case .codedropz-upload-handler {
    display: block !important;
    overflow: hidden;
    min-height: 160px;
    border: 1.5px dashed #b7c9d4 !important;
    border-radius: 18px !important;
    background: var(--gl-soft) !important;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.grandliga-upload-case .codedropz-upload-handler:hover {
    border-color: rgba(35,129,116,.68) !important;
    background: #f2f8f7 !important;
    box-shadow: 0 8px 22px rgba(20,43,63,.05);
}

.grandliga-upload-case .codedropz-upload-container,
.grandliga-upload-case .codedropz-upload-inner {
    min-height: 158px;
}

.grandliga-upload-case .codedropz-upload-inner {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 26px 18px !important;
    text-align: center;
}

.grandliga-upload-case .codedropz-upload-inner h3 {
    margin: 0 !important;
    color: var(--gl-navy) !important;
    font-family: inherit !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.grandliga-upload-case .codedropz-upload-inner > span {
    color: var(--gl-muted) !important;
    font-size: 13px !important;
}

.grandliga-upload-case .codedropz-btn-wrap {
    margin-top: 3px;
}

.grandliga-upload-case .cd-upload-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 20px !important;
    border: 1px solid rgba(35,129,116,.40);
    border-radius: 999px;
    background: #fff;
    color: var(--gl-teal-dark) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.grandliga-upload-case .dnd-upload-counter {
    display: block;
    margin-top: 10px;
    color: var(--gl-muted);
    font-size: 12px !important;
    text-align: right;
}

.grandliga-upload-case .dnd-upload-status {
    margin-top: 12px;
}

.grandliga-upload-case .dnd-upload-details {
    border-radius: 11px;
}

.grandliga-upload-case .gl-upload-limits {
    margin: 10px 0 0;
    color: var(--gl-muted);
    font-size: 12.5px;
    line-height: 1.5;
}

/* ---------- Consent / Turnstile / submit ---------- */

.grandliga-upload-case .gl-upload-submit-section {
    margin-top: 24px;
    padding: 24px 26px 28px;
    border: 1px solid var(--gl-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20,43,63,.05);
}

.grandliga-upload-case .gl-upload-consent {
    padding: 15px 17px;
    border: 1px solid #dce5eb;
    border-radius: 14px;
    background: var(--gl-soft);
}

.grandliga-upload-case .gl-upload-consent .wpcf7-list-item {
    margin: 0 !important;
}

.grandliga-upload-case .gl-upload-consent label {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    cursor: pointer;
}

.grandliga-upload-case .gl-upload-consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    margin: 2px 0 0 !important;
    accent-color: var(--gl-teal);
}

.grandliga-upload-case .gl-upload-consent .wpcf7-list-item-label {
    color: #526474 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-transform: none !important;
}

.grandliga-upload-case .gl-upload-consent a {
    color: var(--gl-teal-dark) !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.grandliga-upload-case .gl-upload-turnstile {
    display: flex;
    justify-content: center;
    margin: 18px 0 0;
}

.grandliga-upload-case .gl-upload-submit {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.grandliga-upload-case .gl-upload-submit input[type="submit"] {
    min-width: 240px;
    min-height: 52px;
    margin: 0 !important;
    padding: 12px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--gl-teal) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: none !important;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(35,129,116,.18);
    transition:
        background-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.grandliga-upload-case .gl-upload-submit input[type="submit"]:hover {
    background: var(--gl-teal-dark) !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(35,129,116,.23);
}

.grandliga-upload-case .gl-upload-submit input[type="submit"]:disabled {
    opacity: .55;
    cursor: not-allowed;
    transform: none;
}

.grandliga-upload-case .wpcf7-response-output {
    margin: 20px 0 0 !important;
    padding: 15px 17px !important;
    border: 1px solid #d8e0e8 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--gl-dark) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.grandliga-upload-case form.sent .wpcf7-response-output,
.grandliga-upload-case .wpcf7-form.sent .wpcf7-response-output {
    border-color: rgba(35,129,116,.28) !important;
    background: rgba(35,129,116,.055) !important;
}

.grandliga-upload-case form.invalid .wpcf7-response-output,
.grandliga-upload-case .wpcf7-form.invalid .wpcf7-response-output {
    border-color: rgba(185,68,68,.28) !important;
    background: rgba(185,68,68,.035) !important;
}

/* Make this page visually compatible with the wider modern site system. */
body.grandliga-upload-case-page .page_site .wrapper {
    max-width: 1180px;
}

body.grandliga-upload-case-page .form-page {
    font-size: 16px !important;
}

@media screen and (max-width: 767px) {
    body.grandliga-upload-case-page .page_site .wrapper {
        width: calc(100% - 24px);
        padding-left: 0;
        padding-right: 0;
    }

    .grandliga-upload-case {
        font-size: 16px !important;
    }

    .grandliga-upload-case .gl-upload-intro {
        padding: 15px 16px;
        border-radius: 14px;
    }

    .grandliga-upload-case .gl-upload-section,
    .grandliga-upload-case .gl-upload-submit-section {
        padding: 19px 16px;
        border-radius: 18px;
    }

    .grandliga-upload-case .gl-upload-section-head {
        grid-template-columns: 40px minmax(0,1fr);
        gap: 11px;
        margin-bottom: 18px;
    }

    .grandliga-upload-case .gl-upload-step {
        width: 38px;
        height: 38px;
        font-size: 12px;
    }

    .grandliga-upload-case .gl-upload-section-head h2 {
        font-size: 21px !important;
    }

    .grandliga-upload-case .gl-upload-section-head p {
        font-size: 13px;
    }

    .grandliga-upload-case .gl-upload-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .grandliga-upload-case .gl-upload-field--full {
        grid-column: auto;
    }

    .grandliga-upload-case input[type="text"],
    .grandliga-upload-case input[type="email"],
    .grandliga-upload-case input[type="tel"],
    .grandliga-upload-case input[type="number"],
    .grandliga-upload-case select,
    .grandliga-upload-case textarea {
        min-height: 52px;
        font-size: 16px !important;
    }

    .grandliga-upload-case textarea {
        min-height: 150px !important;
    }

    .form-page .grandliga-upload-case .codedropz-upload-handler,
    .grandliga-upload-case .codedropz-upload-handler {
        min-height: 145px;
        border-radius: 16px !important;
    }

    .grandliga-upload-case .codedropz-upload-container,
    .grandliga-upload-case .codedropz-upload-inner {
        min-height: 143px;
    }

    .grandliga-upload-case .codedropz-upload-inner {
        padding: 22px 12px !important;
    }

    .grandliga-upload-case .codedropz-upload-inner h3 {
        font-size: 16px !important;
    }

    .grandliga-upload-case .gl-upload-consent {
        padding: 14px;
    }

    .grandliga-upload-case .gl-upload-consent .wpcf7-list-item-label {
        font-size: 13.5px !important;
    }

    .grandliga-upload-case .gl-upload-submit {
        width: 100%;
    }

    .grandliga-upload-case .gl-upload-submit input[type="submit"] {
        width: 100%;
        min-width: 0;
        min-height: 52px;
    }
}

@media (hover:none) {
    .grandliga-upload-case .codedropz-upload-handler:hover {
        background: var(--gl-soft) !important;
        box-shadow: none;
    }

    .grandliga-upload-case .gl-upload-submit input[type="submit"]:hover {
        transform: none;
    }
}

/* ==========================================================================
   GrandLiga Upload Your Case — Multilingual visual system v2.0
   ========================================================================== */

/* Match the modern site width used by the Contacts shell. */
@media screen and (min-width: 1024px) {
    body.grandliga-upload-case-page .page_site .wrapper {
        width: min(1420px, calc(100% - 40px)) !important;
        max-width: 1420px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    body.grandliga-upload-case-page .page_site .wrapper {
        width: calc(100% - 32px) !important;
        max-width: 1180px !important;
    }
}

/* Bring the page H1 into the approved longform visual system. */
body.grandliga-upload-case-page .page_site h1.page_title {
    margin: 0 0 24px !important;
    padding: 0 !important;
    color: #19374e !important;
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: clamp(32px, 2.3vw, 42px) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    text-align: left !important;
    text-transform: none !important;
}

body.grandliga-upload-case-page .page_site h1.page_title span {
    color: inherit !important;
    font: inherit !important;
    font-size: 1em !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

body.grandliga-upload-case-page .page_site h1.page_title::after {
    content: "";
    display: block;
    width: 72px;
    height: 3px;
    margin-top: 13px;
    border-radius: 3px;
    background:
        linear-gradient(
            to right,
            #19374e 0 60%,
            #238174 60% 100%
        );
}

/* Same typography stack as the approved article / form system. */
body.grandliga-upload-case-page .form-page,
body.grandliga-upload-case-page .grandliga-upload-case {
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Slightly scale the wide desktop version so the larger shell does not feel sparse. */
@media screen and (min-width: 1024px) {
    .grandliga-upload-case .gl-upload-intro {
        padding: 20px 22px;
    }

    .grandliga-upload-case .gl-upload-intro p {
        font-size: 16px;
    }

    .grandliga-upload-case .gl-upload-section {
        padding: 30px;
    }

    .grandliga-upload-case .gl-upload-section-head {
        margin-bottom: 25px;
    }

    .grandliga-upload-case .gl-upload-section-head h2 {
        font-size: 27px !important;
    }

    .grandliga-upload-case .gl-upload-section-head p {
        font-size: 15px;
    }

    .grandliga-upload-case .gl-upload-field label {
        font-size: 15px !important;
    }

    .grandliga-upload-case input[type="text"],
    .grandliga-upload-case input[type="email"],
    .grandliga-upload-case input[type="tel"],
    .grandliga-upload-case input[type="number"],
    .grandliga-upload-case select,
    .grandliga-upload-case textarea {
        font-size: 17px !important;
    }

    .grandliga-upload-case .gl-upload-submit-section {
        padding: 28px 30px 32px;
    }
}

/* Security note produced by the lightweight front-end UX guard. */
.grandliga-upload-case .gl-upload-security-warning {
    display: none;
    margin-top: 7px;
    color: #b94444;
    font-size: 13px;
    line-height: 1.42;
}

.grandliga-upload-case .gl-upload-security-warning.is-visible {
    display: block;
}

/*
 * CF7 response output is a sibling of .grandliga-upload-case, not a child.
 * Style the actual DOM location instead of relying on descendant selectors.
 */
body.grandliga-upload-case-page .form-page .wpcf7-form > .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7-form .grandliga-upload-case ~ .wpcf7-response-output {
    margin: 22px 0 0 !important;
    padding: 17px 19px !important;
    border: 1px solid #d8e0e8 !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #19374e !important;
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    box-shadow: 0 7px 18px rgba(18,39,58,.045);
}

body.grandliga-upload-case-page .form-page .wpcf7-form.sent > .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7-form.sent .grandliga-upload-case ~ .wpcf7-response-output {
    border-color: rgba(35,129,116,.28) !important;
    background: rgba(35,129,116,.055) !important;
    color: #196960 !important;
}

body.grandliga-upload-case-page .form-page .wpcf7-form.invalid > .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7-form.failed > .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7-form.spam > .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7-form.invalid .grandliga-upload-case ~ .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7-form.failed .grandliga-upload-case ~ .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7-form.spam .grandliga-upload-case ~ .wpcf7-response-output {
    border-color: rgba(185,68,68,.30) !important;
    background: rgba(185,68,68,.035) !important;
    color: #9e3636 !important;
}

@media screen and (max-width: 767px) {
    body.grandliga-upload-case-page .page_site h1.page_title {
        margin-bottom: 18px !important;
        font-size: 28px !important;
        line-height: 1.18 !important;
    }

    body.grandliga-upload-case-page .page_site h1.page_title::after {
        width: 64px;
        margin-top: 10px;
    }

    body.grandliga-upload-case-page .form-page .wpcf7-form > .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page .wpcf7-form .grandliga-upload-case ~ .wpcf7-response-output {
        margin-top: 18px !important;
        padding: 15px 16px !important;
        border-radius: 14px !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
    }
}

/* ==========================================================================
   GrandLiga Upload Your Case — approved desktop typography + validation
   ========================================================================== */

/*
 * There is no useful reason for desktop helper copy to stay at the old
 * 12–14px scale once the form uses a 1420px shell. Keep mobile untouched and
 * use a readable desktop hierarchy.
 */
@media screen and (min-width: 1024px) {
    .grandliga-upload-case {
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .grandliga-upload-case .gl-upload-intro p {
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .grandliga-upload-case .gl-upload-section-head h2 {
        font-size: 29px !important;
        line-height: 1.18 !important;
    }

    .grandliga-upload-case .gl-upload-section-head p {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .grandliga-upload-case .gl-upload-step {
        width: 50px !important;
        height: 50px !important;
        font-size: 15px !important;
    }

    .grandliga-upload-case .gl-upload-field label {
        margin-bottom: 8px !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .grandliga-upload-case input[type="text"],
    .grandliga-upload-case input[type="email"],
    .grandliga-upload-case input[type="tel"],
    .grandliga-upload-case input[type="number"],
    .grandliga-upload-case select,
    .grandliga-upload-case textarea {
        font-size: 17px !important;
    }

    .grandliga-upload-case .gl-upload-counter {
        margin-top: 8px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    .grandliga-upload-case .gl-upload-limits {
        margin-top: 12px !important;
        font-size: 14.5px !important;
        line-height: 1.55 !important;
    }

    .grandliga-upload-case .codedropz-upload-inner h3 {
        font-size: 19px !important;
        line-height: 1.35 !important;
    }

    .grandliga-upload-case .codedropz-upload-inner > span,
    .grandliga-upload-case .dnd-upload-counter {
        font-size: 14px !important;
    }

    .grandliga-upload-case .cd-upload-btn {
        min-height: 44px !important;
        padding: 10px 22px !important;
        font-size: 15px !important;
    }

    .grandliga-upload-case .gl-upload-consent {
        padding: 17px 18px !important;
    }

    .grandliga-upload-case .gl-upload-consent .wpcf7-list-item-label {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    .grandliga-upload-case .gl-upload-consent input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
        margin-top: 3px !important;
    }

    .grandliga-upload-case .gl-upload-submit input[type="submit"] {
        min-width: 260px !important;
        min-height: 54px !important;
        font-size: 16px !important;
    }

    .grandliga-upload-case .gl-upload-security-warning,
    .grandliga-upload-case .wpcf7-not-valid-tip {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }
}

/*
 * Contact Form 7 marks failed validation with data-status as well as classes.
 * Style both paths with higher specificity so the plugin's default yellow
 * response border cannot win the cascade.
 */
body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="invalid"] .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="failed"] .wpcf7-response-output,
body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="spam"] .wpcf7-response-output,
body.grandliga-upload-case-page .form-page form.wpcf7-form.invalid .wpcf7-response-output,
body.grandliga-upload-case-page .form-page form.wpcf7-form.failed .wpcf7-response-output,
body.grandliga-upload-case-page .form-page form.wpcf7-form.spam .wpcf7-response-output {
    margin: 22px 0 0 !important;
    padding: 17px 19px !important;
    border: 1px solid rgba(185,68,68,.30) !important;
    border-radius: 15px !important;
    background: rgba(185,68,68,.045) !important;
    color: #9e3636 !important;
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    box-shadow: 0 7px 18px rgba(185,68,68,.045) !important;
}

/* Preserve the approved soft-green sent state with equivalent specificity. */
body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="sent"] .wpcf7-response-output,
body.grandliga-upload-case-page .form-page form.wpcf7-form.sent .wpcf7-response-output {
    margin: 22px 0 0 !important;
    padding: 17px 19px !important;
    border: 1px solid rgba(35,129,116,.28) !important;
    border-radius: 15px !important;
    background: rgba(35,129,116,.055) !important;
    color: #196960 !important;
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    box-shadow: 0 7px 18px rgba(18,39,58,.045) !important;
}

@media screen and (max-width: 767px) {
    body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="invalid"] .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="failed"] .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="spam"] .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page form.wpcf7-form.invalid .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page form.wpcf7-form.failed .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page form.wpcf7-form.spam .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page .wpcf7 form[data-status="sent"] .wpcf7-response-output,
    body.grandliga-upload-case-page .form-page form.wpcf7-form.sent .wpcf7-response-output {
        margin-top: 18px !important;
        padding: 15px 16px !important;
        border-radius: 14px !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
    }
}

/* Chinese typography: use platform CJK fonts before generic sans-serif. */
html[lang^="zh"] .grandliga-upload-case,
html[lang^="cn"] .grandliga-upload-case,
html[lang^="zh"] body.grandliga-upload-case-page .page_site h1.page_title,
html[lang^="cn"] body.grandliga-upload-case-page .page_site h1.page_title,
body.grandliga-upload-case-page-cn .grandliga-upload-case,
body.grandliga-upload-case-page-cn .page_site h1.page_title {
    font-family:
        Inter,
        "PingFang SC",
        "Microsoft YaHei",
        "Noto Sans SC",
        "Source Han Sans SC",
        sans-serif !important;
}

/* v2.0.1: keep the first mobile heading clear of the sticky header edge. */
@media screen and (max-width: 767px) {
    body.grandliga-upload-case-page
    .page_site
    .main_page > .wrapper {
        padding-top: 20px !important;
    }
}

/* ==========================================================================
   v2.0.2 — unified Upload page title standard
   ========================================================================== */

/*
 * The page titles come from 11 different WordPress translations and some are
 * stored in sentence case while others are stored in uppercase. Normalize
 * them visually in one place instead of editing 11 page titles manually.
 */
body.grandliga-upload-case-page .page_site h1.page_title,
body.grandliga-upload-case-page .page_site h1.page_title span {
    text-transform: uppercase !important;
}

/*
 * Mobile: allow one additional 10px step below the two-row sticky header.
 * This is scoped only to Upload Your Case pages.
 */
@media screen and (max-width: 767px) {
    body.grandliga-upload-case-page
    .page_site
    .main_page > .wrapper {
        padding-top: 20px !important;
    }
}


