.rpf-event-contract-gate {
    --rpf-contract-gate-backdrop: rgba(0, 0, 0, 0.92);
    --rpf-contract-gate-surface: var(--rpf-color-surface, #fff);
    --rpf-contract-gate-surface-2: var(--rpf-color-surface-2, #f7f8f9);
    --rpf-contract-gate-text: var(--rpf-color-text, #000);
    --rpf-contract-gate-muted: var(--rpf-color-muted, #6b7385);
    --rpf-contract-gate-border: var(--rpf-color-border, rgba(0, 0, 0, 0.08));
    --rpf-contract-gate-accent: var(--rpf-color-primary, #FF5D06);
    --rpf-contract-gate-accent-hover: var(--rpf-color-primary-hover-fill, #D14800);
    --rpf-contract-gate-on-accent: var(--rpf-on-rosso, #000);
    --rpf-contract-gate-canvas: var(--rpf-color-white, #fff);
    position: fixed;
    inset: 0;
    z-index: 20000;
    overflow: auto;
    background: var(--rpf-contract-gate-backdrop);
    color: var(--rpf-contract-gate-text);
}

body.dark-mode .rpf-event-contract-gate {
    --rpf-contract-gate-backdrop: rgba(0, 0, 0, 0.96);
}

.rpf-event-contract-gate__card {
    width: min(760px, calc(100% - 30px));
    margin: 30px auto;
    padding: 24px;
    border-radius: 12px;
    background: var(--rpf-contract-gate-surface);
    color: var(--rpf-contract-gate-text);
    border: 1px solid var(--rpf-contract-gate-border);
    box-shadow: var(--rpf-shadow-2, none);
}

.rpf-event-contract-gate__card h2,
.rpf-event-contract-gate__card p,
.rpf-event-contract-gate__card label,
.rpf-event-contract-gate__card span {
    color: var(--rpf-contract-gate-text);
}

.rpf-event-contract-gate__pdf {
    width: 100%;
    height: 360px;
    background: var(--rpf-contract-gate-surface-2);
    border: 1px solid var(--rpf-contract-gate-border);
}

.rpf-event-contract-gate__canvas {
    width: 100%;
    max-width: 460px;
    height: 140px;
    border: 1px solid var(--rpf-contract-gate-accent);
    background: var(--rpf-contract-gate-canvas);
    touch-action: none;
}

.rpf-event-contract-gate input[type="checkbox"] {
    accent-color: var(--rpf-contract-gate-accent);
}

.rpf-event-contract-gate .btn-default {
    background-color: var(--rpf-contract-gate-surface-2);
    border-color: var(--rpf-contract-gate-border);
    color: var(--rpf-contract-gate-text);
}

.rpf-event-contract-gate .btn-default:hover,
.rpf-event-contract-gate .btn-default:focus {
    background-color: var(--rpf-contract-gate-surface);
    border-color: var(--rpf-contract-gate-accent);
    color: var(--rpf-contract-gate-text);
}

.rpf-event-contract-gate .btn-primary {
    background-color: var(--rpf-contract-gate-accent);
    border-color: var(--rpf-contract-gate-accent);
    color: var(--rpf-contract-gate-on-accent);
}

.rpf-event-contract-gate .btn-primary:hover,
.rpf-event-contract-gate .btn-primary:focus {
    background-color: var(--rpf-contract-gate-accent-hover);
    border-color: var(--rpf-contract-gate-accent-hover);
    color: var(--rpf-contract-gate-on-accent);
}

.rpf-event-contract-gate .btn[disabled],
.rpf-event-contract-gate .btn:disabled {
    background-color: var(--rpf-contract-gate-surface-2);
    border-color: var(--rpf-contract-gate-border);
    color: var(--rpf-contract-gate-muted);
}
