.oph-openpay-form {
    --oph-primary-color: #073992;
    --oph-text-color: #073992;
    --oph-button-color: #073992;
    --oph-button-hover-color: #05285f;
    --oph-notice-background-color: #f5f8ff;
    --oph-required-color: #c62828;
    --oph-font-family: "Lato", Arial, sans-serif;
    --oph-font-size: 18px;
    --oph-form-max-width: 760px;
    --oph-field-background-color: #ffffff;
    --oph-field-filled-background-color: #edfeea;
    --oph-field-border-color: #cccccc;
    max-width: var(--oph-form-max-width);
    margin: 0 auto;
    font-family: var(--oph-font-family);
    font-size: var(--oph-font-size);
    color: var(--oph-text-color);
}
.oph-openpay-form * { box-sizing: border-box; }
.oph-form-title { color: var(--oph-primary-color); font-family: var(--oph-font-family); }
.oph-field { margin-bottom: 18px; }
.oph-field label { display: block; margin-bottom: 6px; color: var(--oph-primary-color); font-weight: 700; }
.oph-required { color: var(--oph-required-color); }
.oph-field input, .oph-field textarea, .oph-field select {
    width: 100%; padding: 10px 12px; border: 1px solid var(--oph-field-border-color);
    border-radius: 4px; background: var(--oph-field-background-color); color: #000000;
    font-family: var(--oph-font-family); font-size: var(--oph-font-size);
}
.oph-field input:not(:placeholder-shown), .oph-field textarea:not(:placeholder-shown) { background: var(--oph-field-filled-background-color); }
.oph-field input:focus, .oph-field textarea:focus, .oph-field select:focus {
    border-color: var(--oph-primary-color); outline: none; box-shadow: 0 0 0 1px var(--oph-primary-color);
}
.oph-field input:-webkit-autofill, .oph-field textarea:-webkit-autofill, .oph-field select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--oph-field-filled-background-color) inset !important;
    box-shadow: 0 0 0 1000px var(--oph-field-filled-background-color) inset !important;
    -webkit-text-fill-color: #000000 !important;
}
.oph-field-help { display: block; margin-top: 5px; color: #666; font-size: .86em; }
.oph-summary { padding: 14px 16px; margin: 18px 0; background: var(--oph-notice-background-color); border-left: 4px solid var(--oph-primary-color); }
.oph-terms-checkbox { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; }
.oph-terms-checkbox input { margin-top: 5px; }
.oph-button {
    display: inline-block; padding: 12px 24px; border: 0; border-radius: 4px;
    background: var(--oph-button-color); color: #fff; font-family: var(--oph-font-family);
    font-size: var(--oph-font-size); font-weight: 700; cursor: pointer;
}
.oph-button:hover { background: var(--oph-button-hover-color); }
.oph-message, .oph-result { max-width: 760px; margin: 24px auto; padding: 16px 20px; border-left: 4px solid #777; background: #f7f7f7; }
.oph-result-success { border-left-color: #1f7a3a; }
.oph-result-pending { border-left-color: #b7791f; }
.oph-result-error, .oph-error { border-left-color: #b91c1c; }

.oph-card-section{margin:22px 0;padding:16px;border:1px solid var(--oph-field-border-color);border-radius:6px;background:var(--oph-notice-background-color);}
.oph-card-title{margin-top:0;color:var(--oph-primary-color);font-family:var(--oph-font-family);}
.oph-card-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.oph-token-error{margin-top:10px;color:#b91c1c;font-weight:700;}
.oph-button:disabled{opacity:.65;cursor:not-allowed;}
@media(max-width:680px){.oph-card-row{grid-template-columns:1fr;gap:0;}}
