/* One palette for grouped choices. Explicit tones win over older per-page
   and positional button rules without changing labels, links or behaviour. */
.btn[data-cta-tone="red"]{
 --cta-fill:var(--hts-red,#c91623);
 --cta-hover:var(--hts-red-hover,#a60f1b);
 --cta-border:transparent;
}
.btn[data-cta-tone="blue"]{
 --cta-fill:var(--hts-blue,#0069ba);
 --cta-hover:var(--hts-blue-hover,#005397);
 --cta-border:transparent;
}
.btn[data-cta-tone="neutral"]{
 --cta-fill:#25282e;
 --cta-hover:#12151a;
 --cta-border:#b8c0cc;
}
html body :is(a,button).btn[data-cta-tone]{
 background:var(--cta-fill)!important;
 color:#fff!important;
 border-color:var(--cta-border)!important;
 text-decoration:none;
}
html body :is(a,button).btn[data-cta-tone]:hover{
 background:var(--cta-hover)!important;
 color:#fff!important;
 border-color:var(--cta-border)!important;
}
html body :is(a,button).btn[data-cta-tone]:focus-visible{
 outline:3px solid #111827;outline-offset:4px;
 box-shadow:0 0 0 4px #fff;
}
html body :is(a,button).btn[data-cta-tone]:is(:disabled,[aria-disabled="true"]){
 background:#e8e8ed!important;color:#626268!important;
 border-color:#b8c0cc!important;filter:none;box-shadow:none;
}
@media(forced-colors:active){
 html body :is(a,button).btn[data-cta-tone]{
  background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important;
 }
 html body :is(a,button).btn[data-cta-tone]:focus-visible{outline-color:Highlight;box-shadow:none}
}
