html.tmopt-mo-lock { overflow: hidden; }
.tmopt-mo-overlay {
    position: fixed; inset: 0; z-index: 1000000;
    background: rgba(8, 6, 2, .82);
    -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
    display: flex; align-items: center; justify-content: center;
    padding: 16px; overflow-y: auto; opacity: 0; transition: opacity .3s ease;
}
.tmopt-mo-overlay.tmopt-mo-open { opacity: 1; }
.tmopt-mo-box {
    position: relative; width: 100%; max-width: 420px; margin: auto;
    background: linear-gradient(165deg, #1b1b1b 0%, #0c0c0c 100%);
    border: 1px solid #fdce0c; border-radius: 18px;
    padding: 38px 26px 24px; text-align: center; color: #eee;
    box-shadow: 0 0 0 1px rgba(253,206,12,.15), 0 28px 70px rgba(0,0,0,.6);
    transform: translateY(14px) scale(.96); transition: transform .35s cubic-bezier(.2,.9,.3,1.2);
}
.tmopt-mo-open .tmopt-mo-box { transform: none; }
.tmopt-mo-box::before {
    content: ''; position: absolute; inset: 9px; pointer-events: none;
    border: 1px solid rgba(253,206,12,.28); border-radius: 12px;
}
.tmopt-mo-close {
    position: absolute; top: 10px; right: 14px; background: none; border: 0;
    color: #bbb; font-size: 28px; line-height: 1; cursor: pointer; padding: 4px 8px; z-index: 2;
}
.tmopt-mo-close:hover { color: #fdce0c; }
.tmopt-mo-kicker { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #fdce0c; font-weight: 700; }
.tmopt-mo-title { font-size: 22px; line-height: 1.25; font-weight: 700; color: #fff; margin: 10px 0 6px; font-family: Georgia, 'Times New Roman', serif; }
.tmopt-mo-orn { display: flex; align-items: center; gap: 10px; justify-content: center; margin: 10px 0 14px; color: #fdce0c; font-size: 9px; }
.tmopt-mo-orn span { flex: 0 0 56px; height: 1px; background: linear-gradient(90deg, transparent, rgba(253,206,12,.7), transparent); }
.tmopt-mo-text { font-size: 14px; line-height: 1.55; color: #d8d4cb; margin: 0 0 14px; }
.tmopt-mo-text strong { color: #fff; }
.tmopt-mo-gauge {
    display: flex; gap: 10px; margin: 4px 0 16px;
}
.tmopt-mo-gauge > div {
    flex: 1; background: rgba(255,255,255,.04); border: 1px solid rgba(253,206,12,.2);
    border-radius: 10px; padding: 10px 6px;
}
.tmopt-mo-gauge small { display: block; font-size: 11px; color: #a9a49a; margin-bottom: 2px; }
.tmopt-mo-gauge b { font-size: 17px; color: #fff; font-variant-numeric: tabular-nums; }
.tmopt-mo-gauge b.tmopt-mo-gold { color: #fdce0c; }
.tmopt-mo-retail-note { font-size: 13px; color: #bdb8ad; margin-bottom: 18px; }
.tmopt-mo-btn {
    display: block; width: 100%; border: 0; border-radius: 12px; cursor: pointer;
    padding: 13px 14px 12px; margin: 0 0 10px; font-family: inherit; transition: transform .15s ease, filter .15s ease;
}
.tmopt-mo-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.tmopt-mo-btn:disabled { opacity: .6; cursor: wait; }
.tmopt-mo-btn-main { display: block; font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.tmopt-mo-btn-sub { display: block; font-size: 11.5px; margin-top: 2px; opacity: .8; }
.tmopt-mo-btn-retail { background: linear-gradient(180deg, #ffd92e, #f2bb00); color: #1a1400; }
.tmopt-mo-btn-karen { background: transparent; color: #fdce0c; border: 1.5px solid #fdce0c; }
.tmopt-mo-back {
    background: none; border: 0; color: #8f8a80; font-size: 12.5px; text-decoration: underline;
    cursor: pointer; padding: 6px; margin-top: 2px; font-family: inherit;
}
.tmopt-mo-back:hover { color: #fdce0c; }
@media (max-width: 420px) {
    .tmopt-mo-box { padding: 34px 18px 20px; }
    .tmopt-mo-title { font-size: 20px; }
}

/* Blindagem contra estilos de botão do tema (cores/bordas/fundo) */
.tmopt-mo-overlay button { text-transform: none !important; box-shadow: none !important; text-shadow: none !important; min-height: 0 !important; line-height: 1.25 !important; }
.tmopt-mo-overlay .tmopt-mo-btn-retail { background: linear-gradient(180deg, #ffd92e, #f2bb00) !important; color: #1a1400 !important; border: 0 !important; }
.tmopt-mo-overlay .tmopt-mo-btn-karen { background: transparent !important; color: #fdce0c !important; border: 1.5px solid #fdce0c !important; }
.tmopt-mo-overlay .tmopt-mo-btn-main, .tmopt-mo-overlay .tmopt-mo-btn-sub { color: inherit !important; }
.tmopt-mo-overlay .tmopt-mo-close { background: transparent !important; color: #bbb !important; border: 0 !important; }
.tmopt-mo-overlay .tmopt-mo-close:hover { color: #fdce0c !important; }
.tmopt-mo-overlay .tmopt-mo-back { background: transparent !important; color: #8f8a80 !important; border: 0 !important; text-decoration: underline !important; }
.tmopt-mo-overlay .tmopt-mo-back:hover { color: #fdce0c !important; }
