/* Image credits: native disclosure works with touch, keyboard and without JS. */
.image-with-credit{position:relative}
.image-credit{position:absolute;inset:auto .45rem .45rem auto;z-index:2;width:48px;height:48px;font-size:.875rem;line-height:1.5;text-align:left;color:var(--text)}
.image-credit>summary{display:grid;place-items:center;width:48px;height:48px;margin-left:auto;border:0;border-radius:0;background:transparent;color:#fff;cursor:pointer;list-style:none}
.image-credit>summary::-webkit-details-marker{display:none}
/* Google Material Icons — info (outlined), Apache-2.0. The 48px trigger remains transparent; only the 24px glyph is visible. */
.image-credit>summary span{display:block;width:24px;height:24px;font-size:0;line-height:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'/%3E%3C/svg%3E") center/contain no-repeat;mix-blend-mode:difference;filter:drop-shadow(0 1px 2px rgb(0 0 0/.28))}
.image-credit>summary:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-radius:6px}
.image-credit[open]{width:48px;height:48px;overflow:visible;padding:0;background:transparent;border:0;box-shadow:none}
.image-credit-panel{position:absolute;right:0;bottom:calc(100% + .35rem);width:22rem;max-width:min(22rem,calc(100vw - 2rem));max-height:min(20rem,calc(100vh - 6rem));overflow:auto;padding:.65rem .8rem;border:1px solid rgb(255 255 255/.18);border-radius:12px;background:rgb(30 25 31/.9);backdrop-filter:blur(8px);box-shadow:0 6px 22px #0004;color:#fff;overflow-wrap:anywhere}
.image-credit-panel p{margin:.45rem 0}
.image-credit-panel a{color:#fff;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.15em}
/* Slinky Springs: warm, orange-leaning treatment aligned with the article image palette. */
.slinky-bridge-toned,.image-with-credit:has(>img[src$="wikimedia-colling-architektur-slinky-springs-puente-peatonal-2048x1536.webp"]){position:relative}
.slinky-bridge-toned img,.image-with-credit:has(>img[src$="wikimedia-colling-architektur-slinky-springs-puente-peatonal-2048x1536.webp"])>img{display:block;width:100%;height:auto;filter:contrast(150%) brightness(50%) saturate(118%) sepia(84%) hue-rotate(-14deg) grayscale(8%);-webkit-filter:contrast(150%) brightness(50%) saturate(118%) sepia(84%) hue-rotate(-14deg) grayscale(8%)}
.slinky-bridge-toned::before,.slinky-bridge-toned::after,.image-with-credit:has(>img[src$="wikimedia-colling-architektur-slinky-springs-puente-peatonal-2048x1536.webp"])::before,.image-with-credit:has(>img[src$="wikimedia-colling-architektur-slinky-springs-puente-peatonal-2048x1536.webp"])::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.slinky-bridge-toned::before,.image-with-credit:has(>img[src$="wikimedia-colling-architektur-slinky-springs-puente-peatonal-2048x1536.webp"])::before{background:radial-gradient(circle at center,rgba(0,0,0,0) 30%,rgba(0,0,0,.20) 56%,rgba(0,0,0,.52) 100%),linear-gradient(to bottom,rgba(183,120,40,.24) 0%,rgba(122,72,26,.14) 45%,rgba(46,24,10,.34) 100%);mix-blend-mode:multiply}
.slinky-bridge-toned::after,.image-with-credit:has(>img[src$="wikimedia-colling-architektur-slinky-springs-puente-peatonal-2048x1536.webp"])::after{background:rgba(214,132,46,.20);mix-blend-mode:soft-light}
@media print{.image-credit{position:static;width:auto;height:auto}.image-credit>summary{display:none}.image-credit::details-content{content-visibility:visible;display:block}.image-credit-panel{position:static;width:auto;max-width:none;max-height:none;overflow:visible;padding:.4rem 0;border:0;background:transparent;box-shadow:none;color:var(--text)}.image-credit-panel a{color:var(--accent-strong)}}

/* Book library credits: keep the info trigger visible and the popover inside narrow cards. */
.author-books .book-cover .image-credit{z-index:12;pointer-events:auto}
.author-books .book-cover .image-credit>summary{color:var(--accent-strong)!important;opacity:1}
.author-books .book-cover .image-credit>summary span{mix-blend-mode:normal;filter:drop-shadow(0 1px 1px rgb(255 255 255/.95)) drop-shadow(0 0 2px rgb(255 255 255/.85))}
.author-books .book-cover .image-credit-panel{right:0;width:min(14rem,calc(100vw - 2rem));max-width:14rem;max-height:12rem;padding:.55rem .65rem;font-size:.78rem;line-height:1.35;border-radius:10px}
.author-books .book-cover .image-credit-panel p{margin:.3rem 0}
@media(max-width:700px){.author-books .book-cover .image-credit-panel{width:min(13rem,calc(100vw - 3rem));max-width:13rem}}


/* Mobile related-book credits: let the disclosure escape the thumbnail/card frame. */
@media(max-width:700px){
  .author-books .card,
  .author-books .book-cover{overflow:visible}
  .author-books .book-cover .image-credit{z-index:40}
  .author-books .book-cover .image-credit-panel{
    position:fixed;
    left:1rem;
    right:1rem;
    bottom:1rem;
    width:auto;
    max-width:none;
    max-height:min(50vh,22rem);
    padding:.8rem .9rem;
    font-size:.86rem;
    line-height:1.5;
    z-index:1000;
  }
}


/* Related-book credit panel: viewport overlay must not inherit the 48px details box clipping. */
@media(max-width:700px){
  .author-books .book-cover .image-credit[open]{
    position:fixed;
    inset:0;
    width:auto;
    height:auto;
    overflow:visible;
    z-index:999;
    pointer-events:none;
  }
  .author-books .book-cover .image-credit[open]>summary{
    position:fixed;
    pointer-events:auto;
  }
  .author-books .book-cover .image-credit[open] .image-credit-panel{
    display:block;
    position:fixed;
    left:1rem;
    right:1rem;
    bottom:1rem;
    width:auto;
    max-width:none;
    max-height:50vh;
    overflow:auto;
    pointer-events:auto;
    z-index:1001;
  }
}


/* Related-book credit copy: keep inherited catalogue text styles from darkening the overlay. */
.author-books .book-cover .image-credit-panel,
.author-books .book-cover .image-credit-panel p,
.author-books .book-cover .image-credit-panel strong,
.author-books .book-cover .image-credit-panel span{color:#fff}
.author-books .book-cover .image-credit-panel a{color:#fff}
