/* Shared accessibility controls and stronger defaults for every public and management page. */
.a11y-skip{position:fixed;left:12px;top:-80px;z-index:10000;background:#fff;color:#063e70!important;border:3px solid #063e70;border-radius:5px;padding:12px 16px;font:700 16px/1.4 Arial,sans-serif;text-decoration:underline!important}
.a11y-skip:focus{top:12px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #095caa!important;outline-offset:3px!important}
html[data-a11y-size="125"]{zoom:1.25}
html[data-a11y-size="150"]{zoom:1.5}
html[data-a11y-size="200"]{zoom:2}
.a11y-launch{position:fixed;right:14px;bottom:14px;z-index:9998;background:#073b68;color:#fff;border:2px solid #fff;box-shadow:0 2px 12px #10263877;border-radius:8px;padding:12px 16px;min-height:44px;font:700 15px/1.2 Arial,sans-serif;cursor:pointer}
.a11y-panel{position:fixed;right:14px;bottom:70px;z-index:9999;width:min(360px,calc(100vw - 28px));max-height:min(75vh,650px);overflow:auto;background:#fff;color:#192d3e;border:2px solid #073b68;border-radius:10px;box-shadow:0 10px 35px #10263866;padding:16px;font:15px/1.5 Arial,sans-serif}
.a11y-panel[hidden]{display:none!important}
.a11y-panel h2{font:700 20px/1.3 Arial,sans-serif;margin:0 0 12px;color:#132f49}.a11y-panel h3{font:700 16px/1.3 Arial,sans-serif;margin:16px 0 8px;color:#132f49}
.a11y-panel .a11y-actions{display:flex;gap:8px;flex-wrap:wrap}.a11y-panel button,.a11y-panel select{background:#fff;color:#053d70;border:2px solid #17689d;border-radius:5px;padding:8px 10px;min-height:42px;font:600 15px Arial,sans-serif;cursor:pointer}.a11y-panel button[aria-pressed="true"]{background:#073b68;color:#fff}.a11y-panel button:disabled{opacity:.55;cursor:not-allowed}.a11y-panel label{display:block;margin-top:12px;font-weight:600}.a11y-panel select{width:100%;margin-top:5px}.a11y-panel p{margin:8px 0 0}.a11y-panel .a11y-status{min-height:24px;font-weight:600;color:#173f64}
html.a11y-contrast body,html.a11y-contrast main,html.a11y-contrast .unified-header,html.a11y-contrast .site-header,html.a11y-contrast .category-nav,html.a11y-contrast .panel,html.a11y-contrast .admin-panel,html.a11y-contrast .seller-card,html.a11y-contrast .listing-info,html.a11y-contrast .listing-contact-panel,html.a11y-contrast .category-group{background:#fff!important;color:#111!important}
html.a11y-contrast :where(p,small,label,span,li,dt,dd,h1,h2,h3,h4){color:#111!important}
html.a11y-contrast :where(a){color:#003e75!important;text-decoration:underline!important}
html.a11y-contrast :where(button,input,select,textarea,summary){border-color:#003e75!important;color:#111!important;background:#fff!important}
html.a11y-contrast :where(.primary,.unified-place,.a11y-launch){background:#003e75!important;color:#fff!important}
html.a11y-contrast :where(.primary,.unified-place,.a11y-launch) :where(span,strong){color:#fff!important}
html.a11y-contrast .a11y-panel{background:#fff!important;color:#111!important}
html.a11y-contrast :focus-visible{outline-color:#d15a00!important}
html.a11y-contrast ::placeholder{color:#445261!important;opacity:1}
html[data-a11y-size="150"] :where(.listing-layout,.listing-detail-layout,.filter-layout,.grid,.market-layout,.admin-layout,.account-layout,.profile-layout,.chat-layout,.pop3-inbox-layout),html[data-a11y-size="200"] :where(.listing-layout,.listing-detail-layout,.filter-layout,.grid,.market-layout,.admin-layout,.account-layout,.profile-layout,.chat-layout,.pop3-inbox-layout){grid-template-columns:minmax(0,1fr)!important}
html[data-a11y-size="200"] :where(.category-groups,.category-grid,.listing-cards,.listing-grid,.brand-grid,.feature-grid,.info-grid,.link-grid,.category-folder-grid,.category-form-grid,.photo-grid,.option-grid){grid-template-columns:minmax(0,1fr)!important}
html[data-a11y-size="200"] .unified-search{grid-template-columns:minmax(0,1fr)!important}
html[data-a11y-size="200"] .unified-search>*{grid-column:1/-1!important;border:1px solid #577e9b!important}
@media(max-width:600px){.a11y-launch{right:8px;bottom:8px}.a11y-panel{right:8px;bottom:64px;width:calc(100vw - 16px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Knoplinks behouden witte tekst op een donkere achtergrond, ook bij bezochte links. */
:is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"]),
:is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"]):visited{
 color:#fff!important;text-decoration:none!important;
}
:is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"]):hover{text-decoration:none!important}
:is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"]),
:is(button.primary,button[type="submit"],.help-search button,.unified-search button[type="submit"],.filters button,.nearby-form button){
 min-height:44px;touch-action:manipulation;
}
:is(button.favorite,button[aria-label],.listing-quick-actions button,.top-actions button){
 min-width:44px;min-height:44px;touch-action:manipulation;
}

/* De contrastmodus mag de tekst van gevulde knoppen niet donker maken. */
html.a11y-contrast :is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"],
 button.primary,button[type="submit"],.help-search button,.unified-search button[type="submit"],.filters button,.nearby-form button){
 background:#003e75!important;color:#fff!important;border:2px solid #003e75!important;
 text-decoration:none!important;
}
html.a11y-contrast :is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"],
 button.primary,button[type="submit"],.help-search button,.unified-search button[type="submit"],.filters button,.nearby-form button):is(:hover,:focus-visible){
 background:#002b52!important;border-color:#002b52!important;color:#fff!important;
}
html.a11y-contrast :is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"],
 button.primary,button[type="submit"],.help-search button,.unified-search button[type="submit"],.filters button,.nearby-form button) :is(span,strong,small){color:#fff!important}
html.a11y-contrast :is(button, a[role="button"]):disabled{opacity:.55}

@media(max-width:600px){
 :is(a.help-action,a.primary,a.unified-place,a.go,a.btn,a[role="button"],
 button.primary,button[type="submit"],.help-search button,.unified-search button[type="submit"],.filters button,.nearby-form button){
  min-height:48px;max-width:100%;white-space:normal;text-align:center;line-height:1.3;
 }
}
/* Compact auction layout and bottom controls remain usable with magnification. */
html[data-a11y-size="200"] .auction-grid {grid-template-columns:minmax(0,1fr)!important}
html.a11y-contrast :where(.auction-card,.auction-hero,.auction-note,.auction-start,article,section,aside,th,td){background:#fff!important;color:#111!important}
.a11y-launch {bottom:calc(14px + env(safe-area-inset-bottom,0px))}
body:has(.mobile-contact-bar:not([hidden])) .a11y-launch {bottom:calc(86px + env(safe-area-inset-bottom,0px))}
body:has(.mobile-contact-bar:not([hidden])) .a11y-panel {bottom:calc(144px + env(safe-area-inset-bottom,0px))}
/* Keep the control panel reachable while the page itself is magnified. */
html[data-a11y-size="125"] :is(.a11y-launch,.a11y-panel){zoom:.8}
html[data-a11y-size="150"] :is(.a11y-launch,.a11y-panel){zoom:.6666666667}
html[data-a11y-size="200"] :is(.a11y-launch,.a11y-panel){zoom:.5}
.a11y-panel,.a11y-launch{box-sizing:border-box}
.a11y-panel{width:min(360px,calc(100% - 28px));max-height:min(650px,calc(100% - 100px))}
@media(max-width:600px){.a11y-panel{width:calc(100% - 16px)}}
/* Repeated ID raises specificity above the existing warm theme group. */
html body #a11y-panel#a11y-panel button[aria-pressed="true"]{
  background:#073b68!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
