/* Readable action labels throughout the book funnel. */
body :is(.primary,.button-main,.sticky-order>.button,.ds-buy){font-size:24px!important;line-height:1.3;font-weight:800;white-space:normal}
body :is(.primary,.ds-buy)>:not([aria-hidden]){min-width:0;flex-shrink:1}
body :is(.primary,.ds-buy) small{font-size:12px;line-height:1.5}
body .primary>.button-label{min-width:0;flex:1;font-size:inherit;overflow-wrap:anywhere}
body :is(.text-button,.text-link,.decline,.ds-decline){font-size:17px;line-height:1.5}
body .primary:disabled{animation:none!important}
@media(max-width:700px){
 body :is(.primary,.button-main,.sticky-order>.button,.ds-buy){font-size:21px!important}
 body :is(.text-button,.text-link,.decline,.ds-decline){font-size:16px}
 body .sticky-order>.button{font-size:18px!important}
}
@media(max-width:360px){body :is(.primary,.button-main,.ds-buy){font-size:20px!important}}

/* One gentle pulse for purchase actions, with a quiet pause between cycles.
   Independent scale/translate preserve each button's existing hover transform. */
@keyframes purchase-button-breathe{
 0%,58%,100%{scale:1;translate:0 0}
 78%{scale:1.01;translate:0 -1px}
}
@media(prefers-reduced-motion:no-preference){
 body :is([data-modal="order"],.co-pay-button,[data-choice="yes"],.upsell-unlock-link,.ds-buy,[data-member-offer-open]):not(:disabled):not([aria-disabled="true"]){
  animation:purchase-button-breathe 4.8s ease-in-out infinite!important;
 }
 body :is([data-modal="order"],.co-pay-button,[data-choice="yes"],.upsell-unlock-link,.ds-buy,[data-member-offer-open]):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active){
  animation-play-state:paused!important;
 }
}
body :is([data-modal="order"],.co-pay-button,[data-choice="yes"],.upsell-unlock-link,.ds-buy,[data-member-offer-open]):is(:disabled,[aria-disabled="true"]){
 animation:none!important;scale:1;translate:0 0;
}
@media(prefers-reduced-motion:reduce){
 body :is([data-modal="order"],.co-pay-button,[data-choice="yes"],.upsell-unlock-link,.ds-buy,[data-member-offer-open]){
  animation:none!important;scale:1;translate:0 0;
 }
}
