/* Explicit button layouts override theme button defaults. */
.ajx .objs { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ajx button.obj,
.ajx button.tier {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0;
    min-width:0;
    width:100%;
    height:auto;
    white-space:normal;
    line-height:1.4;
    overflow-wrap:anywhere;
}
.ajx .tiers { grid-template-columns:repeat(3,minmax(0,1fr)); min-width:0; }
.ajx button.tier { padding:14px 10px; }
.ajx button.tier .pr { font-size:clamp(16px,1.5vw,20px); }
.ajx button.tier .best { letter-spacing:normal; white-space:nowrap; }
.ajx .card { container-type:inline-size; }
@container (max-width:440px) {
    .ajx .tiers { grid-template-columns:minmax(0,1fr); gap:14px; }
}
@media(max-width:480px) {
    .ajx .tiers { grid-template-columns:minmax(0,1fr); gap:14px; }
}
.rcab-loading {
    position:fixed;inset:0;z-index:2147483647;
    display:flex;align-items:center;justify-content:center;
    padding:24px;background:rgba(15,23,42,.65);
    font-family:system-ui,sans-serif;cursor:wait;
}
.rcab-loading-box {
    width:100%;max-width:380px;padding:32px 24px;border-radius:20px;
    background:#fff;color:#0f172a;text-align:center;
    box-shadow:0 20px 80px rgba(0,0,0,.25);line-height:1.5;
}
.rcab-loading-box strong { display:block;font-size:20px;margin:16px 0 8px; }
.rcab-loading-box p { margin:0;color:#64748b;font-size:15px; }
.rcab-spinner {
    display:block;width:48px;height:48px;margin:0 auto;
    border:4px solid #e2e8f0;border-top-color:#dc2626;border-radius:50%;
    animation:rcab-spin .8s linear infinite;
}
@keyframes rcab-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .rcab-spinner { animation:none; } }
