.frontline-vip-checkout-box,
.frontline-vip-account-order-box {
    margin: 24px 0;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(10, 14, 22, .72);
}

.frontline-vip-checkout-box h3,
.frontline-vip-account-order-box h2 {
    margin-top: 0;
}

.frontline-vip-checkout-hint {
    margin-bottom: 14px;
    opacity: .82;
}

.frontline-vip-account-order-box dl {
    display: grid;
    grid-template-columns: minmax(140px, 220px) 1fr;
    gap: 8px 18px;
    margin: 0 0 12px;
}

.frontline-vip-account-order-box dt {
    font-weight: 700;
}

.frontline-vip-account-order-box dd {
    margin: 0;
}

@media (max-width: 640px) {
    .frontline-vip-account-order-box dl {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

.frontline-vip-withdrawal-consent {
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    background: rgba(10, 14, 22, .5);
}

.frontline-vip-expiration {
    padding: 18px 20px;
    border-radius: 14px;
    background: rgba(10, 14, 22, .72);
}

.frontline-vip-verification,
.frontline-vip-verification-code {
    margin: 16px 0;
    padding: 16px;
    border: 1px solid rgba(219, 172, 77, .45);
    border-radius: 12px;
    background: rgba(219, 172, 77, .08);
}

.frontline-vip-verification--success {
    border-color: rgba(69, 176, 104, .5);
    background: rgba(69, 176, 104, .08);
}

.frontline-vip-verification-code code {
    display: inline-block;
    padding: 10px 14px;
    font-size: 1.05rem;
    user-select: all;
}

/* 0.4.0 — account-first player verification. */
.frontline-vip-checkout-box,
.frontline-vip-account-order-box,
.frontline-vip-expiration,
.frontline-vip-withdrawal-consent,
.frontline-vip-verification,
.frontline-vip-verification-code {
    border-radius: 0;
    border-color: var(--fln-line, rgba(237, 229, 215, .16));
    background: var(--fln-panel, #111710);
    color: var(--fln-text, #ede5d7);
}

.frontline-vip-identities {
    display: grid;
    gap: 30px;
    max-width: 1080px;
}

.frontline-vip-identities-head {
    padding: 26px 0 0;
    border-top: 1px solid var(--fln-gold, #c59a4a);
}

.frontline-vip-identities-head > span,
.frontline-vip-state {
    display: inline-block;
    color: var(--fln-gold-2, #deb159);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.frontline-vip-identities-head h2 {
    margin: 10px 0 14px;
    color: var(--fln-text, #ede5d7);
    font: 400 clamp(42px, 5vw, 64px)/.95 var(--fln-display, sans-serif);
    text-transform: uppercase;
}

.frontline-vip-identities-head p {
    max-width: 760px;
    margin: 0;
    color: var(--fln-muted, #aaa493);
    font-size: 16px;
    line-height: 1.65;
}

.frontline-vip-selection-context {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 18px;
    row-gap: 3px;
    max-width: 760px;
    margin: 24px 0 28px;
    padding: 18px 20px;
    border-left: 3px solid var(--fln-gold, #c59a4a);
    background: linear-gradient(90deg, rgba(197, 154, 74, .12), rgba(197, 154, 74, .025));
}

.frontline-vip-selection-context > span {
    grid-row: span 2;
    align-self: center;
    color: var(--fln-gold-2, #deb159);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.frontline-vip-selection-context strong {
    color: var(--fln-text, #ede5d7);
}

.frontline-vip-selection-context p {
    margin: 0;
    color: var(--fln-muted, #aaa493);
    line-height: 1.55;
}

.frontline-vip-identity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
    border-left: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
}

.frontline-vip-game-card {
    display: flex;
    min-width: 0;
    min-height: 390px;
    flex-direction: column;
    padding: 30px;
    border-right: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
    border-bottom: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
    background: linear-gradient(145deg, rgba(197, 154, 74, .055), transparent 52%), var(--fln-panel, #111710);
}

.frontline-vip-game-card.is-selected-for-vip {
    position: relative;
    background: linear-gradient(145deg, rgba(197, 154, 74, .16), transparent 56%), var(--fln-panel, #111710);
}

.frontline-vip-game-card.is-selected-for-vip::before {
    position: absolute;
    inset: 0;
    border: 1px solid var(--fln-line-gold, rgba(197, 154, 74, .48));
    content: '';
    pointer-events: none;
}

.frontline-vip-game-card-head {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
}

.frontline-vip-game-card h3,
.frontline-vip-account-code h3 {
    margin: 11px 0 0;
    color: var(--fln-text, #ede5d7);
    font: 400 clamp(31px, 3vw, 42px)/.96 var(--fln-display, sans-serif);
    text-transform: uppercase;
}

.frontline-vip-required-game {
    margin: 10px 0 0;
    color: var(--fln-gold-2, #deb159);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.frontline-vip-state.is-verified {
    color: var(--fln-green, #a9d454);
}

.frontline-vip-game-card > p {
    color: var(--fln-muted, #aaa493);
    line-height: 1.6;
}

.frontline-vip-game-card form {
    padding-top: 14px;
}

.frontline-vip-browser-start {
    display: grid;
    gap: 14px;
    margin-top: auto;
}

.frontline-vip-online-hint {
    margin: 18px 0 0;
    padding: 14px 16px;
    border-left: 3px solid var(--fln-gold-2, #deb159);
    background: rgba(197, 154, 74, .08);
    color: var(--fln-text, #ede5d7);
}

.frontline-vip-online-hint strong {
    color: var(--fln-gold-2, #deb159);
}

.frontline-vip-browser-results {
    margin: 18px 0 4px;
    padding: 16px;
    border: 1px solid var(--fln-line-gold, rgba(197, 154, 74, .48));
    background: rgba(197, 154, 74, .08);
}

.frontline-vip-browser-result-buttons {
    display: grid;
    gap: 8px;
}

.frontline-vip-browser-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
}

.frontline-vip-browser-result span {
    overflow-wrap: anywhere;
    color: var(--fln-text, #ede5d7);
    font-weight: 700;
}

.frontline-vip-game-card label {
    display: grid;
    gap: 7px;
    color: var(--fln-text, #ede5d7);
    font-size: 13px;
    font-weight: 700;
}

.frontline-vip-game-card input[type="text"],
.frontline-vip-game-card input[type="search"],
.frontline-vip-game-card select {
    display: block;
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--fln-line, rgba(237, 229, 215, .24));
    border-radius: 0;
    background: var(--fln-bg, #070a07);
    color: var(--fln-text, #ede5d7);
}

.frontline-vip-game-card input[type="search"] {
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid var(--fln-line, rgba(237, 229, 215, .24));
    border-left: 3px solid var(--fln-gold, #c59a4a);
    border-radius: 0;
    outline: 0;
    appearance: none;
    background: rgba(7, 10, 7, .82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
    color: var(--fln-text, #ede5d7);
    font: inherit;
    font-size: 16px;
    line-height: 1.35;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.frontline-vip-game-card input[type="search"]::placeholder {
    color: var(--fln-dim, #777568);
    opacity: 1;
}

.frontline-vip-game-card input[type="search"]:hover {
    border-color: rgba(222, 177, 89, .62);
    border-left-color: var(--fln-gold-2, #deb159);
}

.frontline-vip-game-card input[type="search"]:focus,
.frontline-vip-game-card input[type="search"]:focus-visible {
    border-color: var(--fln-gold-2, #deb159);
    background: var(--fln-bg, #070a07);
    box-shadow: 0 0 0 3px rgba(222, 177, 89, .16), inset 0 1px 0 rgba(255, 255, 255, .05);
}

.frontline-vip-game-card input[type="search"]::-webkit-search-cancel-button {
    opacity: .72;
    filter: sepia(1) saturate(.8) brightness(1.45);
}

.frontline-vip-browser-confirm {
    margin: 18px 0 4px;
    padding: 16px;
    border: 1px solid var(--fln-line-gold, rgba(197, 154, 74, .48));
    background: rgba(197, 154, 74, .08);
}

.frontline-vip-browser-confirm > strong {
    color: var(--fln-gold-2, #deb159);
}

.frontline-vip-browser-confirm p {
    margin: 6px 0 0;
}

.frontline-vip-browser-confirm form {
    display: grid;
    gap: 12px;
}

.frontline-vip-browser-confirm input[name="verification_code"] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 20px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.frontline-vip-code-hint {
    display: block;
    margin-top: 7px;
    color: var(--fln-muted, #aaa493);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.45;
}

.frontline-vip-chat-fallback {
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
    color: var(--fln-muted, #aaa493);
}

.frontline-vip-chat-fallback summary {
    color: var(--fln-text, #ede5d7);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
}

.frontline-vip-chat-fallback p {
    line-height: 1.55;
}

.frontline-vip-game-card .button,
.frontline-vip-identities-next .button,
.frontline-vip-account-summary .button,
.frontline-vip-checkout-missing .button {
    min-height: 44px;
    border-radius: 0 !important;
}

.frontline-vip-player-list {
    display: grid;
    margin: 22px 0 8px;
    border-top: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
}

.frontline-vip-player-list article {
    display: grid;
    gap: 5px;
    padding: 16px 0;
    border-bottom: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
}

.frontline-vip-player-list strong {
    color: var(--fln-text, #ede5d7);
}

.frontline-vip-player-list code,
.frontline-vip-account-code code {
    overflow-wrap: anywhere;
    color: var(--fln-gold-2, #deb159);
}

.frontline-vip-player-list small,
.frontline-vip-meta,
.frontline-vip-pending {
    color: var(--fln-dim, #777568);
}

.frontline-vip-account-code {
    margin: 0;
    padding: 24px 26px;
    border-left: 3px solid var(--fln-gold, #c59a4a);
}

.frontline-vip-account-code code {
    display: block;
    width: fit-content;
    max-width: 100%;
    padding: 13px 16px;
    border: 1px solid var(--fln-line-gold, rgba(197, 154, 74, .48));
    background: var(--fln-bg, #070a07);
    font-size: clamp(15px, 2vw, 20px);
}

.frontline-vip-identities-next {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 24px 0;
    border-top: 1px solid var(--fln-line-gold, rgba(197, 154, 74, .48));
    border-bottom: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
}

.frontline-vip-identities-next p,
.frontline-vip-account-summary p {
    margin: 5px 0 0;
    color: var(--fln-muted, #aaa493);
}

.frontline-vip-account-summary {
    display: grid;
    gap: 12px;
}

.frontline-vip-account-summary .button {
    justify-self: start;
}

.frontline-vip-checkout-missing {
    padding: 18px 0 4px;
    border-top: 1px solid var(--fln-line-gold, rgba(197, 154, 74, .48));
}

.frontline-vip-checkout-missing p {
    color: var(--fln-muted, #aaa493);
}

.frontline-vip-prepurchase {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
    border-left: 3px solid var(--fln-gold, #c59a4a);
    background: linear-gradient(105deg, rgba(32, 39, 33, .98), rgba(19, 23, 20, .98));
}

.fln-vip-readiness {
    margin-bottom: clamp(34px, 5vw, 64px);
}

.frontline-vip-prepurchase h2 {
    max-width: 18ch;
    margin: 12px 0 14px;
    color: var(--fln-text, #ede5d7);
    font: 400 clamp(32px, 3.5vw, 50px) / .94 var(--fln-display, sans-serif);
    letter-spacing: .01em;
    text-transform: uppercase;
}

.frontline-vip-prepurchase p {
    max-width: 64ch;
    margin: 0;
    color: var(--fln-muted, #aaa493);
    line-height: 1.58;
}

.frontline-vip-prepurchase-action,
.frontline-vip-readiness-games {
    display: grid;
    gap: 14px;
}

.frontline-vip-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.frontline-vip-readiness-game {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 0;
    border-bottom: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
}

.frontline-vip-readiness-game > span {
    color: var(--fln-muted, #aaa493);
}

.frontline-vip-readiness-game.is-verified > strong {
    color: var(--fln-green, #a9d454);
}

.frontline-vip-readiness-game.is-open > strong {
    color: var(--fln-gold-2, #deb159);
}

@media (max-width: 760px) {
    .frontline-vip-prepurchase {
        grid-template-columns: 1fr;
    }

    .frontline-vip-readiness-game {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .frontline-vip-identity-grid {
        grid-template-columns: 1fr;
    }

    .frontline-vip-browser-result {
        grid-template-columns: 1fr;
    }

    .frontline-vip-selection-context {
        grid-template-columns: 1fr;
        gap: 7px;
        margin: 20px 0 24px;
        padding: 16px;
    }

    .frontline-vip-selection-context > span {
        grid-row: auto;
    }

    .frontline-vip-game-card {
        min-height: 0;
        padding: 24px 20px;
    }

    .frontline-vip-identities-next {
        display: grid;
        gap: 18px;
    }

    .frontline-vip-identities-next .button {
        width: 100%;
    }
}

/* 0.4.2 — compact, human-readable checkout identity panel. */
.woocommerce-checkout .frontline-vip-checkout-box {
    display: grid;
    gap: 18px;
    margin: 38px 0 0;
    padding: 26px 28px;
    border: 1px solid var(--fln-line, rgba(237, 229, 215, .16));
    border-left: 3px solid var(--fln-gold, #c59a4a);
    background: linear-gradient(135deg, rgba(197, 154, 74, .07), transparent 58%), var(--fln-bg, #070a07);
}

.woocommerce-checkout .frontline-vip-checkout-box h3 {
    margin: 0;
    color: var(--fln-text, #ede5d7);
    font: 400 clamp(30px, 2.6vw, 38px)/1 var(--fln-display, sans-serif);
    text-transform: uppercase;
}

.woocommerce-checkout .frontline-vip-checkout-box .form-row {
    margin: 0;
}

.woocommerce-checkout .frontline-vip-checkout-box .form-row label {
    margin-bottom: 8px;
}

.woocommerce-checkout .frontline-vip-checkout-box select,
.woocommerce-checkout .frontline-vip-checkout-box .select2-selection--single {
    min-height: 50px;
    border: 1px solid var(--fln-line-gold, rgba(197, 154, 74, .48)) !important;
    background: var(--fln-panel, #111710) !important;
    color: var(--fln-text, #ede5d7) !important;
}

.woocommerce-checkout .frontline-vip-checkout-hint {
    max-width: 680px;
    margin: -2px 0 0;
    color: var(--fln-muted, #aaa493);
    font-size: 14px;
    line-height: 1.6;
    opacity: 1;
}

@media (max-width: 680px) {
    .woocommerce-checkout .frontline-vip-checkout-box {
        margin-top: 30px;
        padding: 22px 18px;
    }
}
