/* SmallTraders Memberships — Frontend v2 */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

.stm-plans-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:20px 0;font-family:'Space Grotesk',sans-serif}
.stm-plan-card{position:relative;border:1px solid rgba(201,168,76,.2);border-radius:10px;padding:30px 24px;background:#09090b;color:#fafaf8;transition:border-color .2s,transform .15s}
.stm-plan-card:hover{border-color:rgba(201,168,76,.45);transform:translateY(-2px)}
.stm-plan-card.stm-featured{border:2px solid #c9a84c}
.stm-plan-card.stm-current{border-color:#4ade80}
.stm-badge-top{position:absolute;top:-12px;left:20px;font-size:11px;font-weight:700;letter-spacing:.07em;background:#c9a84c;color:#09090b;padding:3px 12px;border-radius:20px}
.stm-badge-current{background:#4ade80;color:#052e16}
.stm-plan-name{font-size:18px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;color:#fafaf8}
.stm-plan-price{font-size:48px;font-weight:800;line-height:1;margin-bottom:4px;color:#fafaf8}
.stm-plan-price span{font-size:14px;font-weight:400;opacity:.45}
.stm-plan-desc{font-size:13px;color:rgba(250,250,248,.5);line-height:1.65;margin:12px 0 16px}
.stm-sbltt-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;background:rgba(201,168,76,.12);color:#c9a84c;padding:4px 10px;border-radius:4px;margin-bottom:18px;border:1px solid rgba(201,168,76,.2)}
.stm-plan-actions{margin-top:auto}
.stm-btn{display:block;width:100%;text-align:center;padding:13px 20px;border-radius:5px;font-size:13px;font-weight:700;letter-spacing:.07em;cursor:pointer;border:none;text-decoration:none;transition:opacity .15s,transform .1s;font-family:'Space Grotesk',sans-serif}
.stm-btn:active{transform:scale(.98)}
.stm-btn-gold{background:#c9a84c;color:#09090b}
.stm-btn-gold:hover{opacity:.88}
.stm-btn-outline{border:1px solid rgba(250,250,248,.2);background:transparent;color:#fafaf8}
.stm-btn-outline:hover{border-color:#c9a84c;color:#c9a84c}
.stm-btn-disabled{background:rgba(250,250,248,.06);color:rgba(250,250,248,.3);cursor:not-allowed}
.stm-sbltt-info{font-size:13px;color:rgba(250,250,248,.5);text-align:center;margin-top:8px;font-family:'Space Grotesk',sans-serif}
.stm-sbltt-info strong{color:#c9a84c}

/* ── Modal ────────────────────────────────────────────────────── */
.stm-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center}
.stm-modal.stm-hidden{display:none}
.stm-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px)}
.stm-modal-box{position:relative;background:#111014;border:1px solid rgba(201,168,76,.28);border-radius:12px;padding:28px 28px 24px;width:min(460px,94vw);z-index:1;color:#fafaf8;max-height:90vh;overflow-y:auto;font-family:'Space Grotesk',sans-serif}
.stm-modal-close{position:absolute;top:14px;right:18px;background:none;border:none;color:rgba(250,250,248,.4);font-size:24px;cursor:pointer;line-height:1;transition:color .15s}
.stm-modal-close:hover{color:#fafaf8}
.stm-modal-title{font-size:15px;font-weight:600;color:rgba(250,250,248,.5);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}

/* ── Checkout wrap ────────────────────────────────────────────── */
.stm-checkout-wrap{font-family:'Space Grotesk',sans-serif}

.stm-co-plan-bar{display:flex;justify-content:space-between;align-items:center;background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.18);border-radius:6px;padding:12px 16px;margin-bottom:18px;gap:10px;flex-wrap:wrap}
.stm-co-plan-label{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,250,248,.35);margin-bottom:3px}
.stm-co-plan-name{font-size:15px;font-weight:600;color:#fafaf8;display:block}
.stm-co-plan-price{font-size:15px;font-weight:700;color:#c9a84c;text-align:right}
.stm-co-sbltt-note{display:block;font-size:10px;color:rgba(201,168,76,.6);margin-top:2px}

/* ── Tabs ─────────────────────────────────────────────────────── */
.stm-method-tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.stm-method-tab{flex:1;min-width:90px;padding:9px 8px;font-size:12px;font-weight:600;letter-spacing:.03em;border:1px solid rgba(250,250,248,.12);border-radius:5px;background:transparent;color:rgba(250,250,248,.45);cursor:pointer;transition:all .15s;font-family:'Space Grotesk',sans-serif;display:flex;align-items:center;justify-content:center;gap:5px}
.stm-method-tab.active{border-color:#c9a84c;color:#c9a84c;background:rgba(201,168,76,.07)}
.stm-method-tab:hover:not(.active){border-color:rgba(250,250,248,.25);color:rgba(250,250,248,.7)}

/* ── Panels ───────────────────────────────────────────────────── */
.stm-method-panel{display:none}
.stm-method-panel.active{display:block}

/* ── Yape panel ───────────────────────────────────────────────── */
.stm-yape-box{display:flex;align-items:center;gap:14px;background:rgba(250,250,248,.04);border:1px solid rgba(250,250,248,.08);border-radius:6px;padding:14px;margin-bottom:16px}
.stm-yape-emoji{font-size:28px;flex-shrink:0}
.stm-yape-send{font-size:13px;color:rgba(250,250,248,.55);margin-bottom:4px}
.stm-yape-num{font-size:20px;font-weight:700;color:#fafaf8;letter-spacing:.04em}

.stm-field-group{margin-bottom:14px}
.stm-field-label{display:block;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:rgba(250,250,248,.4);margin-bottom:7px}
.stm-input{width:100%;background:rgba(250,250,248,.05);border:1px solid rgba(250,250,248,.14);border-radius:5px;padding:11px 13px;font-size:14px;color:#fafaf8;font-family:'Space Grotesk',sans-serif;transition:border-color .15s;box-sizing:border-box}
.stm-input:focus{outline:none;border-color:#c9a84c}
.stm-input::placeholder{color:rgba(250,250,248,.25)}
.stm-field-hint{display:block;font-size:11px;color:rgba(250,250,248,.3);margin-top:5px;line-height:1.5}

.stm-pay-btn{margin-top:6px;font-size:14px;letter-spacing:.05em}
.stm-co-footer-note{font-size:11px;color:rgba(250,250,248,.3);text-align:center;margin-top:10px;line-height:1.5}

/* ── SBLTT panel ──────────────────────────────────────────────── */
.stm-sbltt-pay-box{display:flex;align-items:flex-start;gap:14px;background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.15);border-radius:6px;padding:16px;margin-bottom:16px}
.stm-sbltt-icon-big{font-size:32px;flex-shrink:0;line-height:1}
.stm-sbltt-pay-title{font-size:14px;font-weight:600;margin-bottom:4px;color:#fafaf8}
.stm-sbltt-pay-rate{font-size:12px;color:rgba(250,250,248,.5);margin-bottom:6px}
.stm-sbltt-pay-balance{font-size:13px;color:rgba(250,250,248,.7);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stm-ok-pill{font-size:10px;font-weight:600;background:rgba(74,222,128,.15);color:#4ade80;padding:2px 8px;border-radius:10px}
.stm-err-pill{font-size:10px;font-weight:600;background:rgba(239,68,68,.15);color:#f87171;padding:2px 8px;border-radius:10px}
.stm-co-alert{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:5px;padding:12px;font-size:13px;color:#fca5a5;line-height:1.5;margin-top:4px}

/* ── Result message ───────────────────────────────────────────── */
.stm-co-result{margin-top:14px;padding:12px 16px;border-radius:6px;font-size:13px;line-height:1.65}
.stm-co-result.ok{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);color:#4ade80}
.stm-co-result.err{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#f87171}
.stm-hidden{display:none!important}

/* ── My plan widget ───────────────────────────────────────────── */
.stm-my-plan{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.22);border-radius:8px;padding:16px 20px;display:inline-block;font-family:'Space Grotesk',sans-serif}
.stm-my-plan-name{font-size:16px;font-weight:700;color:#c9a84c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.stm-my-plan-exp{font-size:12px;color:rgba(250,250,248,.4);margin-bottom:6px}
.stm-my-sbltt{font-size:14px;color:rgba(250,250,248,.65)}
.stm-my-sbltt strong{color:#fafaf8}

/* ── SBLTT Panel styles (integración con WooCommerce SBLTT gateway) ───────── */
.stm-sbltt-loading {
    padding: 24px;
    text-align: center;
    color: #c0a040;
    font-size: 15px;
    letter-spacing: .02em;
    animation: stm-pulse 1.4s ease-in-out infinite;
}
@keyframes stm-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

.stm-sbltt-panel { padding: 4px 0; }

.sbltt-checkout-box { font-size: 13px; }

.sbltt-ticker-mini {
    background: #111;
    border-radius: 6px;
    padding: 8px 12px;
    margin-bottom: 10px;
    font-size: 12px;
    color: #bbb;
}
.sbltt-ticker-mini strong { color: #e8c840; }

.sbltt-cashback-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(90deg,#1a1200,#2a1e00);
    border: 1px solid #c0a040;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 12px;
}
.sbltt-cashback-icon { font-size: 20px; flex-shrink: 0; }
.sbltt-cashback-text { flex: 1; }
.sbltt-cashback-percent { display: block; font-size: 15px; color: #e8c840; }
.sbltt-cashback-sub { font-size: 11px; color: #bbb; }
.sbltt-cashback-amount { text-align: right; color: #e8c840; font-weight: 700; font-size: 14px; line-height: 1.2; }
.sbltt-cashback-amount small { display: block; font-size: 10px; color: #bbb; font-weight: 400; }

.sbltt-wallet-summary { margin-bottom: 10px; }
.sbltt-wallet-user { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.sbltt-badge-user { background: #222; border-radius: 20px; padding: 3px 10px; font-size: 12px; color: #ddd; }
.sbltt-explorer-link { font-size: 12px; color: #c0a040; text-decoration: none; }
.sbltt-explorer-link:hover { text-decoration: underline; }

.sbltt-balance-row,.sbltt-order-cost,.sbltt-cashback-row {
    background: #181818;
    border-radius: 6px;
    padding: 8px 12px;
    margin-bottom: 6px;
    font-size: 12px;
    color: #ccc;
}
.sbltt-balance-row strong,.sbltt-order-cost strong,.sbltt-cashback-row strong { color: #e8c840; }
.sbltt-balance-row small,.sbltt-order-cost small,.sbltt-cashback-row small { color: #888; }
.sbltt-balance-row.sbltt-ok { border-left: 3px solid #4caf50; }
.sbltt-balance-row.sbltt-low { border-left: 3px solid #e74c3c; }
.sbltt-cashback-row { border-left: 3px solid #c0a040; }

.sbltt-tx-note { color: #666; font-size: 11px; margin: 6px 0; }

.sbltt-no-wallet-panel {
    background: #111;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
}
.sbltt-no-wallet-header { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.sbltt-no-wallet-icon { font-size: 24px; }
.sbltt-no-wallet-titles strong { display: block; color: #ddd; font-size: 14px; }
.sbltt-no-wallet-sub { font-size: 12px; color: #888; }
.sbltt-btn-create-wallet {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(90deg,#c0a040,#e8c840);
    border-radius: 8px;
    padding: 10px 14px;
    text-decoration: none;
    color: #000;
    font-weight: 700;
    margin-bottom: 8px;
}
.sbltt-cwallet-left { display: flex; align-items: center; gap: 8px; }
.sbltt-cwallet-icon { font-size: 18px; }
.sbltt-cwallet-texts strong { display: block; font-size: 13px; }
.sbltt-cwallet-texts small { font-size: 11px; font-weight: 400; }
.sbltt-cwallet-arrow { font-size: 16px; }
.sbltt-btn-link-existing {
    display: block;
    text-align: center;
    color: #c0a040;
    text-decoration: none;
    font-size: 12px;
    padding: 6px;
    border: 1px solid #c0a04055;
    border-radius: 6px;
    margin-bottom: 10px;
}
.sbltt-no-wallet-note { font-size: 11px; color: #666; margin: 0; }
.sbltt-no-wallet-note a { color: #c0a040; }

.sbltt-error { color: #e74c3c; font-size: 12px; margin: 6px 0; }
.sbltt-error a { color: #e87060; }
