.stft-plans {
  --stft-plan-accent: var(--red, var(--e-global-color-accent, #a41615));
  --stft-plan-bg: var(--bg, #0b0d0f);
  --stft-plan-surface: var(--surface, #13161a);
  --stft-plan-text: var(--text, #e8e6e1);
  --stft-plan-muted: var(--muted, #8a8782);
  --stft-plan-border: rgba(255,255,255,.09);
  --stft-plan-title: #fff;
  --stft-plan-font: var(--font-body, var(--e-global-typography-text-font-family, var(--fm, "Inter", system-ui, sans-serif)));
  --stft-plan-display: var(--font-display, var(--e-global-typography-primary-font-family, "Sora", system-ui, sans-serif));
  box-sizing: border-box; width: 100%; max-width: 1160px; margin-inline: auto; padding: 32px 24px; border-radius: 16px;
  background: var(--stft-plan-bg); color: var(--stft-plan-text); font-family: var(--stft-plan-font); font-size: 16px; line-height: 1.7;
}
.stft-plans[data-color-scheme="light"] { --stft-plan-bg:#fff; --stft-plan-surface:#f8fafc; --stft-plan-text:#25313e; --stft-plan-muted:#596573; --stft-plan-border:#e2e5e9; --stft-plan-title:#18222e; }
.stft-plans *, .stft-plans *::before, .stft-plans *::after { box-sizing:border-box; }
.stft-plans .stft-plans-intro { margin:0 0 28px; color:var(--stft-plan-muted); font:inherit; font-size:14px; }
.stft-plans .stft-plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
.stft-plans.stft-plans-single .stft-plan-grid { grid-template-columns:minmax(0,1fr); }
.stft-plans .stft-plan-card { position:relative; min-width:0; padding:28px 24px; border:1px solid var(--stft-plan-border); border-radius:16px; background:var(--stft-plan-surface); color:var(--stft-plan-text); display:flex; flex-direction:column; }
.stft-plans .stft-plan-card.stft-plan-featured { border-color:color-mix(in srgb,var(--stft-plan-accent) 50%,transparent); background:linear-gradient(160deg,color-mix(in srgb,var(--stft-plan-accent) 7%,var(--stft-plan-surface)),var(--stft-plan-surface) 60%); }
.stft-plans .stft-plan-badge { position:absolute; top:-13px; left:50%; transform:translateX(-50%); border-radius:20px; background:var(--stft-plan-accent); color:#fff; padding:4px 14px; white-space:nowrap; font-size:11px; font-weight:700; line-height:1.7; letter-spacing:.06em; text-transform:uppercase; }
.stft-plans .stft-plan-name { margin:0 0 12px; color:var(--stft-plan-title); font-family:var(--stft-plan-display); font-size:16px; font-weight:700; line-height:1.4; text-transform:none; }
.stft-plans .stft-plan-price { margin:0 0 8px; color:var(--stft-plan-title); font-family:var(--stft-plan-display); font-size:34px; font-weight:700; line-height:1.2; }
.stft-plans .stft-plan-price span { margin-left:4px; color:var(--stft-plan-muted); font-family:var(--stft-plan-font); font-size:16px; font-weight:400; }
.stft-plans .stft-plan-period { margin:0 0 20px; min-height:40px; color:var(--stft-plan-muted); font-size:12px; line-height:1.6; }
.stft-plan-signup { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 16px; border:1px solid transparent; border-radius:var(--radius,10px); background:var(--red,var(--e-global-color-accent,#a41615)); color:#fff; font-family:var(--font-body,var(--fm,"Inter",system-ui,sans-serif)); font-size:14px; font-weight:600; line-height:1.5; text-align:center; text-decoration:none; }
.stft-plan-signup:hover, .stft-plan-signup:focus-visible { background:var(--red-dark,#7a0f0f); color:#fff; text-decoration:none; }
.stft-plan-signup:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.stft-plans .stft-plan-card .stft-plan-signup { width:100%; margin:0 0 20px; background:transparent; border:1px solid var(--stft-plan-border); color:var(--stft-plan-text); font-family:var(--stft-plan-font); }
.stft-plans .stft-plan-card .stft-plan-signup:hover { border-color:var(--stft-plan-accent); }
.stft-plans .stft-plan-featured .stft-plan-signup { background:var(--stft-plan-accent); border-color:var(--stft-plan-accent); color:#fff; }
.stft-plans .stft-plan-featured .stft-plan-signup:hover { background:var(--red-dark,#7a0f0f); }
.stft-plans .stft-plan-description { margin:0 0 20px; color:var(--stft-plan-muted); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.stft-plans .stft-plan-features { display:flex; flex-direction:column; gap:10px; list-style:none; margin:0 0 20px; padding:20px 0 0; border-top:1px solid var(--stft-plan-border); }
.stft-plans .stft-plan-features li { display:flex; align-items:flex-start; gap:9px; margin:0; padding:0; color:var(--stft-plan-muted); font-size:13px; line-height:1.5; }
.stft-plans .stft-plan-features svg { flex:0 0 14px; width:14px; height:14px; margin-top:3px; fill:none; stroke:#22c55e; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.stft-plans .stft-plan-usage { margin:auto 0 0; color:var(--stft-plan-muted); font-size:12px; line-height:1.6; }
@media(max-width:1000px) { .stft-plans .stft-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; } }
@media(max-width:600px) {
  .stft-plans { padding:24px 8px; }
  .stft-plans .stft-plan-grid { grid-template-columns:minmax(0,1fr); align-items:start; gap:28px; }
  /* Stacked cards follow their own content. Avoid stretched flex children,
     reserved desktop heights and auto margins on narrow WordPress pages. */
  .stft-plans .stft-plan-card { display:block; height:auto; min-height:0; padding:24px 20px; }
  .stft-plans .stft-plan-period { min-height:0; margin-bottom:16px; }
  .stft-plans .stft-plan-card .stft-plan-signup { margin-bottom:16px; padding:11px 14px; }
  .stft-plans .stft-plan-description { margin-bottom:16px; }
  .stft-plans .stft-plan-features { display:block; height:auto; min-height:0; margin:0 0 16px; padding-top:16px; }
  .stft-plans .stft-plan-features li { display:grid; grid-template-columns:14px minmax(0,1fr); align-items:start; gap:9px; margin:0 0 10px; min-height:0; }
  .stft-plans .stft-plan-features li:last-child { margin-bottom:0; }
  .stft-plans .stft-plan-features li > span { min-width:0; overflow-wrap:anywhere; }
  .stft-plans .stft-plan-features svg { display:block; width:14px; height:14px; }
  .stft-plans .stft-plan-usage { margin:0; }
}
