#wpGateways { --gtv-accent:#7421a8; --gtv-ink:#21132c; --gtv-line:#e9dff0; color:var(--gtv-ink); }
#wpGateways .modal-dialog { max-width:min(540px,calc(100% - 24px)); margin-inline:auto; }
#wpGateways .modal-content { border:0; border-radius:24px; box-shadow:0 24px 80px #1b0a3866; overflow:hidden; }
#wpGateways .modal-header { background:#faf5ff; border-color:var(--gtv-line); padding:24px; }
#wpGateways .modal-body { padding:24px; }
#wpGateways #wpGatewaysLabel { color:var(--gtv-ink) !important; margin:0; font:700 1.45rem/1.2 system-ui,sans-serif; }
#wpGateways .gtv-eyebrow { color:var(--gtv-accent); font:800 .72rem system-ui,sans-serif; letter-spacing:.16em; margin:0 0 8px; }
#wpGateways .payment_method { display:block; margin:0; }
#wpGateways .gtv-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#f7effc; border-radius:14px; padding:14px; margin-bottom:20px; }
#wpGateways .gtv-summary strong { white-space:nowrap; }
#wpGateways .form-control { min-height:48px; border-color:var(--gtv-line); color:var(--gtv-ink); font-size:16px; }
#wpGateways .input-group-text { background:#faf5ff; border-color:var(--gtv-line); }
#wpGateways .btn-success, #wpGateways .btn-primary { background:var(--gtv-accent); border-color:var(--gtv-accent); min-height:46px; border-radius:12px; }
#wpGateways :focus-visible { outline:2px solid var(--gtv-accent); outline-offset:2px; }
#wpGateways .gtv-card-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.gtv-return { padding:12px 16px; border-radius:12px; background:#f7effc; color:#40196c; }
#wpGateways .alerta:not(:empty) { color:#a42036; background:#fff0f3; padding:12px; border-radius:10px; margin-bottom:14px; }
#wpGateways #togglePassword { cursor:pointer; }
#wpGateways .input-group-append-password, #wpGateways .input-group-text-password { align-self:stretch; }
#wpGateways .input-group-text-password { display:flex; align-items:center; }
#wpGateways .form-control { margin-bottom:0; }
#loading-overlay { position:fixed; inset:0; align-items:center; justify-content:center; z-index:99999; background:#170f24a6; }
#loading-overlay .loading-spinner { width:48px; height:48px; border:5px solid #ffffff4d; border-left-color:#fff; border-radius:50%; animation:gtv-spin 1s linear infinite; }
@keyframes gtv-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { #loading-overlay .loading-spinner { animation:none; } }
@media (max-width:480px) {
    #wpGateways .modal-header, #wpGateways .modal-body { padding:18px; }
}

#wpGateways .modal-body {
    background:radial-gradient(ellipse at 100% 5%, #ebddff 0, transparent 50%),
               radial-gradient(ellipse at 0 65%, #dceff9 0, transparent 55%), #fbf9fd;
}
#wpGateways #gtv-payment-label {
    color:var(--gtv-ink);
    margin:0 0 12px;
    font:700 1rem/1.4 system-ui,sans-serif;
}
#gtv-payment-methods { display:grid; gap:10px; }
#gtv-payment-methods [hidden] { display:none !important; }
#wpGateways .gtv-method {
    min-width:0;
    border:1px solid #fff;
    border-radius:16px;
    background:linear-gradient(135deg, #ffffffe8, #ffffff80);
    box-shadow:0 5px 16px #351a5c12, inset 0 0 0 1px #6c468a16;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
}
#wpGateways .gtv-method-button {
    width:100%;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) 20px;
    align-items:center;
    gap:12px;
    padding:12px;
    text-align:left;
    color:var(--gtv-ink);
    font-family:system-ui,sans-serif;
    border:1px solid transparent;
    border-radius:15px;
    background:transparent;
    cursor:pointer;
    transition:background-color .16s ease, border-color .16s ease;
}
#wpGateways .gtv-method-button:hover { background:#fff9; }
#wpGateways .gtv-method-button[aria-expanded="true"] { background:#f7effcea; border-color:#bd8ddd; }
#wpGateways .gtv-method-icon {
    display:grid;
    place-items:center;
    width:52px;
    height:44px;
    padding:5px;
    background:#fff;
    border:1px solid #e9dff0;
    border-radius:11px;
}
#wpGateways .gtv-method-icon img { width:100%; height:100%; object-fit:contain; }
#wpGateways .gtv-method-copy { display:grid; gap:2px; line-height:1.3; }
#wpGateways .gtv-method-copy strong { font-size:.98rem; }
#wpGateways .gtv-method-copy small { color:#604d6f; font-size:.82rem; }
#wpGateways .gtv-method-chevron {
    justify-self:center;
    width:8px;
    height:8px;
    border:solid var(--gtv-accent);
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
    transition:transform .16s ease;
}
#wpGateways .gtv-method-button[aria-expanded="true"] .gtv-method-chevron { transform:rotate(225deg); }
#wpGateways .gtv-method-panel { padding:14px; animation:gtv-panel-in .16s ease-out; }
#wpGateways .gtv-method-message { margin:0; color:#604d6f; font-size:.9rem; }
#wpGateways .gtv-method-panel form { margin:0; }
#wpGateways .gtv-method-panel .pix_qr_code { width:100%; }
@keyframes gtv-panel-in { from { opacity:0; transform:translateY(-4px); } }
@media (prefers-reduced-motion:reduce) {
    #wpGateways .gtv-method-panel { animation:none; }
    #wpGateways .gtv-method-button, #wpGateways .gtv-method-chevron { transition:none; }
}

#wpGateways .gtv-auth [hidden] { display:none !important; }
#wpGateways .gtv-auth-field { margin-bottom:14px; }
#wpGateways .gtv-auth-field label { display:block; color:#251533 !important; font-weight:700; margin-bottom:6px; }
#wpGateways .gtv-auth .form-control {
    background:#fff;
    color:#251533 !important;
    -webkit-text-fill-color:#251533;
    opacity:1;
    border:1px solid #c9b8d5;
    border-radius:12px;
    padding:10px 13px;
}
#wpGateways .gtv-auth .form-control::placeholder { color:#584963 !important; -webkit-text-fill-color:#584963; opacity:1; }
#wpGateways .gtv-password { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; }
#wpGateways #togglePassword, #wpGateways .gtv-auth-link {
    color:#542071 !important;
    font-weight:700;
    border:0;
    background:transparent;
    padding:8px;
    cursor:pointer;
}
#wpGateways .gtv-auth-link { text-decoration:underline; text-underline-offset:3px; }
#wpGateways .gtv-auth-switch { color:#332541; margin-top:12px; }
#wpGateways #gtv-reset-form p { color:#43334f; }
#wpGateways #gtv-reset-status:not(:empty) { margin-top:12px; padding:12px; background:#e8f6ee; border-radius:10px; }
#wpGateways .gtv-continue {
    display:flex;
    width:100%;
    min-height:48px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    background:linear-gradient(115deg,#58208b,#8a2bbc);
    color:#fff !important;
    border:0;
    border-radius:12px;
    box-shadow:0 5px 14px #5c248033;
    font:700 1rem/1.35 system-ui,sans-serif;
    text-align:left;
    cursor:pointer;
}
#wpGateways .gtv-continue:hover { background:linear-gradient(115deg,#48166f,#75219f); }
#wpGateways .gtv-continue:disabled { opacity:.65; cursor:wait; }

#wpGateways .gtv-pix-icon { background:#d9f8f2; border-color:#aee7dc; color:#087f72; }
#wpGateways .gtv-pix-icon svg { width:30px; height:30px; }
#wpGateways .gtv-payment-brands { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
#wpGateways .gtv-brand {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:23px;
    gap:4px;
    padding:2px 5px;
    border:1px solid #d9cce2;
    border-radius:5px;
    background:#fff;
}
#wpGateways .gtv-brand img { width:28px; height:16px; object-fit:contain; }
#wpGateways .gtv-brand-boleto { color:#332541; font:700 .67rem/1 system-ui,sans-serif; }
#wpGateways .gtv-brand-boleto > span {
    width:13px;
    height:10px;
    background:repeating-linear-gradient(90deg,#332541 0 1px,transparent 1px 2px,#332541 2px 4px,transparent 4px 5px);
}
#wpGateways #pix-form input[name="identificationNumber"] {
    background:#fff !important;
    color:#251533 !important;
    -webkit-text-fill-color:#251533;
    opacity:1;
    border-color:#a894b7;
}
#wpGateways #pix-form input[name="identificationNumber"]::placeholder {
    color:#534260 !important;
    -webkit-text-fill-color:#534260;
    opacity:1;
}

#wpGateways .gtv-pix-cpf-label, #wpGateways .pix_qr_code label { display:block; color:#251533 !important; font-weight:700; margin-bottom:5px; }
#wpGateways .gtv-pix-generated > .row { display:none; }
#wpGateways .gtv-pix-output { display:grid; gap:8px; }
#wpGateways .gtv-pix-generated .gtv-pix-output {
    grid-template-columns:minmax(0,1fr) 148px;
    align-items:start;
    background:#f7effc;
    border-radius:12px;
    padding:10px;
}
#wpGateways #pix-code { width:100%; min-height:36px; height:36px; margin-bottom:7px; padding:5px 8px; font-size:.82rem; color:#251533; }
#wpGateways #copy-pix-code {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding:8px;
    color:#fff !important;
    background:#146844;
    border:0;
    border-radius:9px;
    font-weight:700;
    cursor:pointer;
}
#wpGateways #copy-pix-code:hover { background:#0f5236; }
#wpGateways .gtv-pix-generated #wp-planos-pix-result { text-align:center; font-size:.78rem; }
#wpGateways #wp-planos-pix-result img { display:block; width:148px; max-width:100%; height:auto; margin:4px auto 0; }
#wpGateways #pix-form #status-pagamento { grid-column:1 / -1; font-size:.84rem; }
@media (max-width:400px) {
    #wpGateways .gtv-pix-generated .gtv-pix-output { grid-template-columns:minmax(0,1fr); }
}
