/* JOMVI unified action-button system: shared by public website, Frameworks, Renew and Topup. */
:root {
 --jv-action-bg:#161b23;
 --jv-action-hover:#303846;
 --jv-action-text:#fff;
 --jv-action-height:46px;
 --jv-action-radius:11px;
 --jv-action-border:#161b23;
 --jv-action-font:14px;
}
a.btn,button.btn,a.button,button.button,.identity button.quiet {
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 min-height:var(--jv-action-height);
 padding:10px 17px;
 margin-top:0;
 border:1px solid var(--jv-action-border);
 border-radius:var(--jv-action-radius);
 background:var(--jv-action-bg);
 color:var(--jv-action-text);
 font:inherit;
 font-size:var(--jv-action-font);
 font-weight:720;
 letter-spacing:0;
 line-height:1.3;
 text-align:center;
 text-decoration:none;
 white-space:nowrap;
 cursor:pointer;
 box-shadow:none;
 transition:background-color .15s ease,border-color .15s ease,transform .12s ease;
}
a.btn:hover,button.btn:hover,a.button:hover,button.button:hover,.identity button.quiet:hover {
 background:var(--jv-action-hover);
 border-color:var(--jv-action-hover);
 color:#fff;
 text-decoration:none;
}
a.btn:focus-visible,button.btn:focus-visible,a.button:focus-visible,button.button:focus-visible,.identity button.quiet:focus-visible {
 outline:3px solid #9ac1ed;
 outline-offset:3px;
}
a.btn:active,button.btn:active,a.button:active,button.button:active,.identity button.quiet:active {transform:translateY(1px);}
a.btn.btn-light,button.btn.btn-light {
 background:#fff;
 border-color:#d3d9e2;
 color:#161b23;
}
a.btn.btn-light:hover,button.btn.btn-light:hover {
 background:#f1f4f8;
 border-color:#b7c1ce;
 color:#161b23;
}
a.btn.wide,button.btn.wide {width:100%;}
/* Header controls share the same button shape. No oversized Login CTA. */
.framework-header a.framework-google-login {
 display:inline-flex;
 align-items:center;
 gap:9px;
 width:auto;
 max-width:100%;
 min-width:0;
 min-height:var(--jv-action-height);
 padding:10px 17px;
 margin:0;
 border-radius:var(--jv-action-radius);
 font-size:var(--jv-action-font);
 line-height:1.3;
}
.framework-header .identity {display:flex;align-items:center;gap:12px;flex-wrap:nowrap;}
.framework-header .langswitch {min-height:var(--jv-action-height);border-radius:var(--jv-action-radius);}
.framework-header .identity form {margin:0;}
/* Keep normal form CTAs below inputs; only the top header is marginless. */
main .card form > button.button {margin-top:24px;}
main .card form > a.button {margin-top:20px;}
@media (max-width:640px) {
 :root {--jv-action-height:42px;--jv-action-font:13px;}
 .framework-header .identity {gap:8px;}
 .framework-header a.framework-google-login {padding:9px 12px;min-height:var(--jv-action-height);}
}
@media (max-width:410px) {
 .framework-header .identity {width:100%;justify-content:space-between;}
 .framework-header a.framework-google-login {flex:1;}
}
@media (prefers-reduced-motion:reduce) {
 a.btn,button.btn,a.button,button.button,.identity button.quiet {transition:none;}
}