/* Accessibility fixes (a11y.js has the behaviour). Colors: every text color here reaches at
 * least 4.5:1 against its background (WCAG AA) — the same hues, a little deeper. */
:root{--yoga-ink:#0C796D;--pilates-ink:#AA4747;--other-ink:#7551C1;--sky-deep:#397C9E;--pilates-deep:#C15151;
  --other-deep:#855CDB;--yoga-deep:#0D8275;--pink-deep:#A55C81}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--yoga-ink:var(--yoga);--pilates-ink:var(--pilates);--other-ink:var(--other)}}
:root[data-theme="dark"]{--yoga-ink:var(--yoga);--pilates-ink:var(--pilates);--other-ink:var(--other)}

/* small colored text on light backgrounds */
.b-Y{color:var(--yoga-ink)} .b-P{color:var(--pilates-ink)} .b-O{color:var(--other-ink)}
.x-when,.x-when b{color:var(--yoga-ink)}
.fl,.dtab th,.linkbtn{color:var(--other-ink)}
.near .err{color:var(--pilates-ink)}
.hr{color:#9B6216}
:root[data-theme="dark"] .hr{color:var(--sun)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hr{color:var(--sun)}}

/* white text on colored buttons and tabs */
.nav a:nth-child(1){background:var(--sky-deep)} .nav a:nth-child(2){background:var(--pilates-deep)}
.nav a:nth-child(3){background:var(--other-deep)} .nav a:nth-child(4){background:var(--yoga-deep)}
.nav a .n,.day[aria-pressed="true"] span,.day[aria-pressed="true"] b{color:#fff}
.days .day:nth-child(8n+2)[aria-pressed="true"]{background:var(--pilates-deep)}
.day[aria-pressed="true"]{background:linear-gradient(135deg,var(--pilates-deep),var(--pink-deep))}
.seg button[aria-pressed="true"]{background:var(--sky-deep)}
.dtabs button[aria-selected="true"]{background:var(--other-deep)}
.btn.pri{background:linear-gradient(135deg,var(--pilates-deep),var(--pink-deep))}

/* links inside sentences are underlined, not told apart by color alone */
p a:not(.btn):not(.abtn),li a:not(.btn):not(.abtn),.foot a,.hint a,.pl-m a,.sub a{text-decoration:underline;text-underline-offset:2px}

/* a visible focus ring everywhere, including the sheets and panels */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus,#3D8BFF);outline-offset:2px}

/* "Skip to the classes" for keyboard users: shown when it has focus */
.a11y-skip{position:absolute;left:12px;top:-60px;z-index:10000;padding:10px 16px;border-radius:12px;background:var(--ink,#2B2350);color:var(--panel,#fff);
  font-weight:800;text-decoration:none;transition:top .1s}
.a11y-skip:focus{top:12px}
.sr,.a11y-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* bigger tap targets for the little × and close buttons */
#ypm-sheet .x,#ypm-panel .x{min-width:44px;min-height:44px}

/* less motion when the device asks for it */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
