/* HaGa-Seifert – Assistenzzentrale */
:root{--a11y-green:#173d29;--a11y-gold:#ad6d2f;--a11y-ink:#17211c;--a11y-paper:#fff;--a11y-soft:#f3efe5;--a11y-focus:#ffd800}
.a11y-test-trigger,.a11y-read-trigger{min-height:44px;padding:.55rem .75rem;border:2px solid var(--a11y-green);border-radius:.55rem;background:var(--a11y-green);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.a11y-read-trigger{background:#fff;color:var(--a11y-green)}
.header-tools{flex-wrap:wrap}.header-tools .a11y-link{width:auto!important;min-width:44px;min-height:44px!important;padding-inline:.65rem;border-radius:.55rem!important;font-size:1rem!important}
.header-tools .a11y-link .visually-hidden{position:static!important;width:auto!important;height:auto!important;margin:0!important;clip:auto!important;overflow:visible!important;white-space:normal!important}
.header-tools .a11y-link>span[aria-hidden]{display:none}
.a11y-hub-backdrop{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.66)}
.a11y-hub,.a11y-reader-card,.a11y-image-dialog{position:fixed;z-index:5010;background:var(--a11y-paper);color:var(--a11y-ink);box-shadow:0 1rem 4rem rgba(0,0,0,.35)}
.a11y-hub{inset:0 0 0 auto;width:min(46rem,100%);overflow:auto;padding:clamp(1rem,3vw,2rem)}
.a11y-hub[hidden],.a11y-hub-backdrop[hidden],.a11y-reader-card[hidden],.a11y-image-dialog[hidden],.a11y-readbar[hidden]{display:none!important}
.a11y-hub__head,.a11y-dialog-head,.a11y-reader-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.a11y-hub h2,.a11y-reader-card h2,.a11y-image-dialog h2{margin:.2rem 0 1rem;font-size:clamp(1.6rem,5vw,2.3rem)}
.a11y-close{min-width:48px;min-height:48px;border:2px solid var(--a11y-green);border-radius:50%;background:#fff;color:var(--a11y-green);font-size:1.75rem;cursor:pointer}
.a11y-quick,.a11y-groups{display:grid;gap:.75rem}.a11y-quick{grid-template-columns:repeat(3,1fr);margin:1rem 0 1.5rem}
.a11y-quick button,.a11y-group>button,.a11y-action,.a11y-zoom button,.a11y-readbar button,.a11y-image-toolbar button{min-height:48px;border:2px solid var(--a11y-green);border-radius:.6rem;background:#fff;color:var(--a11y-green);font:inherit;font-weight:800;cursor:pointer}
.a11y-quick button[aria-pressed=true],.a11y-action[aria-pressed=true]{background:var(--a11y-green);color:#fff}
.a11y-group{border:2px solid #c7d0ca;border-radius:.7rem;overflow:hidden}.a11y-group>button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border:0;border-radius:0;background:var(--a11y-soft);text-align:left;font-size:1.12rem}
.a11y-group-panel{display:grid;gap:.65rem;padding:1rem}.a11y-group-panel[hidden]{display:none}
.a11y-control{display:grid;gap:.35rem}.a11y-control label{font-weight:800}.a11y-control select,.a11y-control input{min-height:48px;width:100%;padding:.55rem;border:2px solid #526057;border-radius:.4rem;font:inherit}
.a11y-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;padding:.5rem .7rem;border:1px solid #c7d0ca;border-radius:.45rem;background:#fff;color:inherit;text-align:left;font:inherit;font-weight:700}
.a11y-toggle[aria-pressed=true]{outline:3px solid var(--a11y-green);background:#eaf2ed}
.a11y-status{min-height:1.5em;margin:.7rem 0;font-weight:700}
.a11y-reader-card,.a11y-image-dialog{inset:3vh 3vw;overflow:auto;border-radius:.8rem;padding:clamp(1rem,3vw,2rem)}
.a11y-reader-content{margin:1rem 0;padding:1rem;border:3px solid var(--a11y-green);border-radius:.5rem;background:#fff;color:#000;line-height:1.55;overflow-wrap:anywhere}
.a11y-reader-actions,.a11y-image-toolbar{display:flex;flex-wrap:wrap;gap:.6rem}.a11y-reader-actions button,.a11y-image-toolbar button{padding:.5rem .8rem}
.a11y-origin{outline:5px solid var(--a11y-focus)!important;outline-offset:5px!important}
.a11y-selectable{cursor:zoom-in}.a11y-selectable:focus{outline:5px solid var(--a11y-focus)!important;outline-offset:4px!important}
.a11y-image-stage{height:auto;overflow:hidden;margin:1rem 0;border:3px solid var(--a11y-green);background:transparent;touch-action:none;cursor:zoom-in}
.a11y-image-canvas{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:.55rem}
.a11y-gallery-arrow{width:48px;height:64px;border:1px solid #9aa9a0;border-radius:999px;background:#fff;color:var(--a11y-green);font:700 2rem/1 Georgia,serif;cursor:pointer}
.a11y-gallery-arrow:hover,.a11y-gallery-arrow:focus-visible{background:var(--a11y-green);color:#fff}
.a11y-gallery-count{margin:0 0 .5rem;font-weight:800;color:var(--a11y-green)}
.a11y-direct-zoom{cursor:zoom-in}
.a11y-image-stage img{display:block;width:100%;height:auto;max-width:none;transform-origin:top left;user-select:none;-webkit-user-drag:none;will-change:transform}
.a11y-image-stage.is-zoomed{cursor:grab}
.a11y-image-stage.is-dragging{cursor:grabbing}
.a11y-image-meta{padding:1rem;background:var(--a11y-soft);border-radius:.5rem}
.a11y-section-listen{display:inline-flex;min-height:44px;align-items:center;gap:.4rem;margin:.35rem 0 .9rem;padding:.4rem .7rem;border:1px solid #9aa9a0;border-radius:999px;background:#fff;color:var(--a11y-green);font:inherit;font-size:.92rem;font-weight:800;cursor:pointer}
.a11y-section-listen{margin:.1rem 0 1rem}
.a11y-image-wrap,.a11y-image-host{position:relative;min-width:0}
.a11y-image-wrap.project{display:block}
.a11y-project-link{position:absolute;inset:0;display:block;color:inherit;text-decoration:none}
.project-grid>.a11y-image-wrap{min-height:330px}
.a11y-image-open{position:absolute;z-index:4;top:.65rem;right:.65rem;display:grid;width:44px;height:44px;place-items:center;margin:0;padding:0;border:1px solid rgba(23,61,41,.35);border-radius:50%;background:rgba(255,255,255,.92);color:var(--a11y-green);box-shadow:0 3px 14px rgba(0,0,0,.2);cursor:zoom-in;backdrop-filter:blur(5px)}
.a11y-image-open svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.a11y-image-open:hover,.a11y-image-open:focus-visible{background:#fff;transform:scale(1.06)}
.a11y-read-unit{position:relative}.a11y-speaking{outline:5px solid var(--a11y-focus)!important;outline-offset:5px!important;background:#fff7bd!important}
.a11y-readbar{position:fixed;z-index:4990;right:.75rem;bottom:.75rem;width:min(25rem,calc(100% - 1.5rem));display:grid;grid-template-columns:1fr;gap:.4rem;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.3);border-radius:1rem;background:#10291c;color:#fff;box-shadow:0 4px 24px rgba(0,0,0,.3)}
.a11y-read-buttons{display:grid;grid-template-columns:44px 1fr 44px auto 44px;gap:.35rem}.a11y-readbar button{padding:.3rem .55rem}.a11y-readbar label{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:700}.a11y-readbar input{width:100%}
.a11y-read-position{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.a11y-bar-visible{padding-bottom:1rem}
html[data-a11y-scale="125"]{font-size:125%}html[data-a11y-scale="150"]{font-size:150%}html[data-a11y-scale="175"]{font-size:175%}html[data-a11y-scale="200"]{font-size:200%}
html.a11y-test-contrast body{background:#000!important;color:#fff!important}html.a11y-test-contrast main,html.a11y-test-contrast section,html.a11y-test-contrast article,html.a11y-test-contrast header,html.a11y-test-contrast footer{background:#000!important;color:#fff!important}html.a11y-test-contrast a{color:#ffea00!important}
html.a11y-test-spacing body{letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.8!important}
html.a11y-test-links a{text-decoration:underline!important;text-decoration-thickness:3px!important;text-underline-offset:4px!important}
html.a11y-test-focus *:focus-visible{outline:5px solid var(--a11y-focus)!important;outline-offset:5px!important;box-shadow:0 0 0 8px #000!important}
@media(max-width:560px){.a11y-quick{grid-template-columns:1fr}.a11y-readbar{right:.5rem;bottom:.5rem;width:calc(100% - 1rem)}.a11y-reader-card,.a11y-image-dialog{inset:0;border-radius:0}.header-tools .a11y-link .visually-hidden{font-size:.84rem!important}}
@media(max-width:320px){.header-tools{gap:4px!important}.header-tools .a11y-link,.a11y-read-trigger{padding:.35rem .45rem;font-size:.78rem}.a11y-hub{padding:.75rem}.a11y-reader-actions button,.a11y-image-toolbar button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(forced-colors:active){.a11y-hub,.a11y-reader-card,.a11y-image-dialog,.a11y-readbar{border:2px solid CanvasText}.a11y-origin,.a11y-speaking{outline:5px solid Highlight!important}}

/* Ruhiger, vergrößerungsfester Kopfbereich auf schmalen Geräten. */
@media(max-width:560px){
  .header-inner{
    height:auto!important;
    min-height:70px;
    display:grid!important;
    grid-template-columns:1fr;
    gap:.5rem!important;
    padding:.55rem 0;
  }
  .brand{justify-self:center}
  .header-tools{
    width:100%;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.4rem!important;
  }
  .header-tools .a11y-link,.header-tools .a11y-read-trigger,.header-tools .nav-toggle{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:.45rem .3rem!important;
    font-size:clamp(14px,.85rem,17px)!important;
    line-height:1.15!important;
    justify-content:center;
    white-space:nowrap;
  }
  .site-header nav{top:100%!important}
  .project-grid>.a11y-image-wrap{min-height:240px}
}

/* Touch-Galerie: volle Bildbreite, Navigation direkt auf dem Foto, kein Leerbalken. */
@media(max-width:900px),(hover:none),(pointer:coarse){
  .a11y-image-dialog{inset:0;padding:.55rem;border-radius:0}
  .a11y-image-dialog .a11y-dialog-head{align-items:center}
  .a11y-image-dialog h2{margin:.1rem 0;font-size:1.35rem}
  .a11y-image-toolbar{gap:.35rem;margin:.35rem 0}
  .a11y-image-toolbar button{min-height:44px;padding:.35rem .55rem;font-size:.82rem}
  .a11y-image-canvas{position:relative;display:block;width:100%}
  .a11y-image-stage{
    width:100%;
    height:auto;
    max-height:none;
    margin:.45rem 0;
    overflow:hidden;
    border:0;
    background:transparent;
    overscroll-behavior:contain;
  }
  .a11y-image-stage.is-zoomed{max-height:none}
  .a11y-image-stage img{width:100%;height:auto}
  .a11y-gallery-arrow{
    position:absolute;
    z-index:3;
    top:50%;
    width:44px;
    height:54px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#fff;
    box-shadow:none;
    text-shadow:0 2px 5px rgba(0,0,0,.95);
    transform:translateY(-50%);
    backdrop-filter:none;
  }
  .a11y-gallery-arrow[data-image-prev]{left:calc(var(--a11y-stage-inset,0px) + .35rem)}
  .a11y-gallery-arrow[data-image-next]{right:calc(var(--a11y-stage-inset,0px) + .35rem)}
  .a11y-gallery-arrow:hover,.a11y-gallery-arrow:active{background:transparent;color:#fff;transform:translateY(-50%) scale(.96)}
  .a11y-image-dialog .a11y-gallery-arrow:focus,.a11y-image-dialog .a11y-gallery-arrow:focus-visible,
  html.a11y-test-focus .a11y-image-dialog .a11y-gallery-arrow:focus-visible{background:transparent!important;color:#fff;outline:0!important;box-shadow:none!important;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 8px #fff}
  .a11y-image-meta{padding:.65rem}
}

/* Navigation und Hilfsschalter im mittleren Desktopformat stabil halten. */
@media(min-width:561px){
  .header-inner{gap:12px!important}
  .brand img{width:145px!important}
  .header-tools{
    display:flex!important;
    flex:0 0 auto!important;
    flex-wrap:nowrap!important;
    gap:.4rem!important;
  }
  .header-tools .a11y-link,.header-tools .a11y-read-trigger{
    flex:0 0 auto;
    min-height:44px!important;
    padding:.4rem .55rem!important;
    font-size:15px!important;
    white-space:nowrap;
  }
  .site-header nav{gap:16px!important}
  .site-header nav a{font-size:.86rem!important}
  .site-header nav .nav-cta{padding:9px 13px!important}
}

/* Hochauflösende Testbilder: echte Projektfotos statt kleiner Altdateien. */
.cards .card:nth-child(1),.service-links .service-link:nth-child(1),
.cards .card:nth-child(2),.service-links .service-link:nth-child(2){
  background-image:url('assets/projekte/baumpflege-2023-kronenarbeit.webp')
}
@media (min-resolution:1.5dppx),(min-width:1400px){
  .cards .card:nth-child(1),.service-links .service-link:nth-child(1),
  .cards .card:nth-child(2),.service-links .service-link:nth-child(2){
    background-image:url('assets/projekte/baumpflege-2023-kronenarbeit-hd.webp')
  }
  .cards .card:nth-child(3),.service-links .service-link:nth-child(3){
    background-image:url('assets/projekte/terrasse-2025-nachher-hd.webp')
  }
}
