/* CCOO Platform Kit v6.0.0 · Accessibilitat WCAG AA */
:root{
  --a11y-focus-color:#111111;
  --a11y-focus-halo:#FFFFFF;
  --a11y-target:44px;
}
.visually-hidden,.a11y-visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
:where(button,[href],input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:3px solid var(--a11y-focus-color)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px var(--a11y-focus-halo)!important;
}
:where(h1,h2,h3,h4,h5,h6,[role="heading"]){scroll-margin-block-start:6rem}
:where([tabindex="-1"]):focus{outline:none}
.ds-skip-link{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ds-skip-link:focus{position:fixed;z-index:100000;inset:1rem auto auto 1rem;width:auto;height:auto;margin:0;padding:.75rem 1rem;clip:auto;overflow:visible;white-space:normal;background:#fff;color:#111;border:3px solid var(--app-accent,#E32118);border-radius:.5rem}
:where(button,input:not([type="hidden"]),select,textarea,[role="button"],[role="tab"]){min-block-size:var(--a11y-target)}
:where(a[href],button,[role="button"],[role="tab"]){touch-action:manipulation}
.ds-button--small{min-height:44px}
.guide-nav a,.ds-tabs__tab,.ds-pagination button,.workspace-tab{min-block-size:44px}
:where(p,li,dd,dt,td,th,label,button,a,strong,small,code,pre){overflow-wrap:anywhere}
:where(input,select,textarea){max-inline-size:100%}
[aria-invalid="true"]{border-color:#E32118!important;box-shadow:0 0 0 2px rgba(227,33,24,.18)}
.a11y-error{color:#8A1712;font-weight:700}
.a11y-error::before{content:"⚠ ";forced-color-adjust:auto}
.a11y-live-region{position:fixed;z-index:99999;inset:auto auto 1rem 1rem;max-width:min(36rem,calc(100vw - 2rem));padding:.75rem 1rem;background:#FFFFFF;color:#111111;border:1px solid #D2D2D2;border-left:6px solid #E32118;border-radius:.5rem;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.a11y-live-region:empty{display:none}
.a11y-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:1rem 0}
.a11y-summary article{padding:1rem;border:1px solid #d1d1d1;border-top:5px solid #E32118;border-radius:12px;background:#fff}
.a11y-summary strong{display:block;font-size:1.65rem}
.a11y-results{display:grid;gap:.65rem}
.a11y-result{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.85rem;border-left:5px solid #1466A3;border-radius:10px;background:#f4f4f4}
.a11y-result[data-state="pass"]{border-color:#167447;background:#edf7f2}
.a11y-result[data-state="warn"]{border-color:#A96500;background:#fff7e6}
.a11y-result[data-state="fail"]{border-color:#E32118;background:#fff0ef}
.a11y-result__mark{font-weight:900}
.a11y-result small{display:block;color:#4f4f4f;margin-top:.2rem}
.a11y-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.75rem}
.a11y-criterion{padding:.85rem;border:1px solid #d5d5d5;border-radius:12px;background:#fff}
.a11y-criterion strong,.a11y-criterion small{display:block}
.a11y-criterion small{margin-top:.25rem;color:#555}
.a11y-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end}
.a11y-toolbar>.ds-button{flex:0 1 auto}
.a11y-progress{height:10px;margin:.8rem 0;border-radius:999px;background:#e3e3e3;overflow:hidden}
.a11y-progress>span{display:block;height:100%;width:0;background:#E32118;transition:width .2s ease}
@media (max-width:640px){
  .a11y-toolbar>.ds-button{flex:1 1 100%}
  .a11y-live-region{inset:auto 1rem 1rem 1rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .a11y-progress>span{transition:none}
}
@media (prefers-contrast:more){
  :root{--a11y-focus-color:#000;--a11y-focus-halo:#fff}
  :where(button,[href],input,select,textarea,[tabindex]:not([tabindex="-1"])){border-width:2px}
  .a11y-result,.a11y-summary article{border-width:2px}
}
@media (forced-colors:active){
  :where(button,[href],input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
  .a11y-result,.a11y-summary article{forced-color-adjust:auto}
}
@media print{
  .ds-skip-link,.a11y-live-region,.workspace-switcher,.guide-sidebar{display:none!important}
}
