/* Witzwutzis – Buchmodule und gemeinsame Button-Animation (v1.4.2).
 * Gestaltung bleibt mit V1.4.1 kompatibel; redundante Regeln wurden bereinigt.
 * Die Gutenberg-Zusatzklassen im Customizer liegen außerhalb dieser Datei.
 */
.wz-buch-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: clamp(24px, 4vw, 56px);
    width: 100%;
    max-width: 1100px;
    margin-inline: auto;
    padding-block: 0;
}

.wz-buch-hero--no-cover { grid-template-columns: minmax(0, 1fr); }
.wz-buch-hero__cover { min-width: 0; }
.wz-buch-hero__cover-image {
    display: block;
    width: 100%;
    max-width: 280px; /* Balanced for tightly cropped portrait cover images. */
    height: auto;
    margin-inline: auto;
    /* Do not add a white frame/shadow to transparent cover assets. */
    background: transparent;
    border: 0;
    padding: 0;
    box-shadow: none;
    filter: none;
}
/* Hero cover: click/tap to enlarge. Image does not switch or animate on hover. */
.wz-buch-hero__cover-zoom {
    display: block;
    position: relative;
    width: 100%;
    max-width: 280px;
    margin-inline: auto;
    cursor: zoom-in;
    text-decoration: none !important;
    color: #20283e;
}
.wz-buch-hero__cover-zoom:focus-visible {
    outline: 3px solid #FF7A1A;
    outline-offset: 5px;
}
.wz-buch-hero__zoom-hint {
    position: absolute;
    right: 9px;
    bottom: 9px;
    display: flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.93);
    border-radius: 50%;
    box-shadow: 0 1px 5px rgba(0,0,0,.18);
    pointer-events: none;
}
.wz-buch-lightbox {
    position: fixed;
    width: max-content;
    max-width: min(95vw, 1000px);
    max-height: 94vh;
    margin: auto;
    padding: 12px;
    border: 0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 65px rgba(0,0,0,.35);
    overflow: visible;
}
.wz-buch-lightbox::backdrop { background: rgba(19, 26, 41, .84); }
.wz-buch-lightbox__image {
    display: block;
    width: auto;
    max-width: min(89vw, 950px);
    max-height: calc(94vh - 24px);
    height: auto;
    margin: auto;
    object-fit: contain;
    box-shadow: none;
    background: transparent;
}
.wz-buch-lightbox__close {
    position: absolute;
    z-index: 1;
    top: -14px;
    right: -14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #20283e;
    background: #ffffff;
    box-shadow: 0 2px 9px rgba(0,0,0,.26);
    font: normal 30px/1 Arial, sans-serif;
    cursor: pointer;
}
.wz-buch-lightbox__close:hover,
.wz-buch-lightbox__close:focus-visible {
    color: #20283e;
    background: #ffffff;
    outline: 3px solid #FF7A1A;
    outline-offset: 2px;
}
@media (max-width: 767px) {
    .wz-buch-hero__cover-zoom { max-width: min(78vw, 280px); }
    .wz-buch-lightbox__close { top: 5px; right: 5px; }
}

.wz-buch-hero__content { min-width: 0; }
.wz-buch-hero__age {
    margin: 0 0 1.3em;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}
.wz-buch-hero__title {
    margin: 0 0 0.55em;
    font-size: clamp(1.75rem, 3.2vw, 2.75rem);
    line-height: 1.25;
    overflow-wrap: break-word;
}
.wz-buch-hero__intro { line-height: 1.65; }
.wz-buch-hero__intro p { margin-bottom: 0.75em; }
/* Keep the large Astra purchase button in normal layout flow, and reserve
   real space beneath it for the legal affiliate notice. An inline anchor's
   vertical padding may otherwise paint over the following paragraph. */
body.single-wz_buch .wz-buch-hero__action {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 1.5em;
}
body.single-wz_buch .wz-buch-hero__action > a.ast-button.wz-buch-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    text-align: center;
    text-decoration: none;
}
.wz-buch-hero__button:focus-visible { outline: 3px solid #3F4650; outline-offset: 3px; }
body.single-wz_buch .wz-buch-hero__action > p.wz-buch-hero__disclosure {
    margin: 0;
    font-size: 0.78em;
    line-height: 1.45;
}
@media (max-width: 767px) {
    .wz-buch-hero { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .wz-buch-hero__cover-image { max-width: min(78vw, 280px); }
}


/* Astra can print an empty heading wrapper after a custom hero has suppressed
   the normal post title; omit that wrapper and its residual blank space. */
body.single-wz_buch.wz-has-hero .ast-article-single > .entry-header,
body.single-wz_buch.wz-has-hero article.wz_buch > .entry-header,
body.single-wz_buch.wz-has-hero .ast-single-post-order {
    display: none;
}
/* Fallback for other Astra title layouts; do not affect blog posts. */
body.single-wz_buch .entry-meta { display: none; }
body.single-wz_buch.wz-has-hero .entry-content { margin-top: 0; }
/* For custom book heroes: Astra's outer primary margin plus the inner
   article padding otherwise create a large empty strip below the header.
   Only the TOP is reset; horizontal padding and other content stay intact. */
body.single-wz_buch.wz-has-hero #primary {
    margin-top: 0;
    padding-top: 0;
}
body.single-wz_buch.wz-has-hero .ast-article-single {
    padding-top: 0;
}
body.single-wz_buch.wz-has-hero .site-content > .ast-container {
    padding-top: 12px;
}
/* Book cover and age label begin at the same grid row rather than being
   vertically centered against each other on wide screens. */
body.single-wz_buch.wz-has-hero .wz-buch-hero {
    align-items: start;
}
/* The shared Astra-button rule near the end of this file also handles
   link underlining in both normal and hover states. */
.wz-buch-hero__affiliate-star { padding-left: 0.06em; }

/* The styling of the content within modules is intentionally neutral.
   Later colour highlights and illustration overlaps remain editable. */
.wz-buch-details,
.wz-buch-ausgaben {
    width: 100%;
    max-width: 1100px;
    margin: clamp(16px, 3vw, 32px) auto;
}
.wz-buch-module__heading { margin: 0 0 0.9em; }
.wz-buch-details__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 32px;
    margin: 0;
}
.wz-buch-details__row {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 12px;
    padding: 0.8em 0;
    border-bottom: 1px solid rgba(35, 45, 65, 0.12);
    min-width: 0;
}
.wz-buch-details__row dt { font-weight: 650; }
.wz-buch-details__row dd { margin: 0; overflow-wrap: anywhere; }
.wz-buch-ausgaben__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.5vw, 28px);
}
.wz-buch-ausgaben__card {
    min-width: 0;
    padding: clamp(18px, 2.4vw, 26px);
    border: 1px solid rgba(35, 45, 65, 0.14);
    border-radius: 18px;
}
.wz-buch-ausgaben__name { margin: 0 0 0.8em; }
.wz-buch-ausgaben__card p { margin: 0.35em 0; overflow-wrap: anywhere; }
.wz-buch-ausgaben__button {
    display: inline-block;
    max-width: 100%;
    margin-top: 1em;
    text-align: center;
    text-decoration: none;
}
.wz-buch-ausgaben__button:focus-visible { outline: 3px solid #3F4650; outline-offset: 3px; }
.wz-buch-ausgaben__disclosure { margin-top: 1em; font-size: 0.78em; line-height: 1.5; }
@media (max-width: 767px) {
    .wz-buch-details__grid, .wz-buch-ausgaben__grid { grid-template-columns: 1fr; }
    .wz-buch-details__row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}


/* Combined book details + editions shortcode: compact 900px section. */
.wz-buch-kompakt {
    width: 100%;
    max-width: 900px;
    margin: 32px auto;
    font-size: 15px;
    line-height: 1.48;
    color: inherit;
}
.wz-buch-kompakt__heading {
    margin: 0 0 27px;
    font-size: clamp(25px, 2.15vw, 30px);
    line-height: 1.25;
}
.wz-buch-kompakt__layout {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 32px;
    align-items: start;
}
.wz-buch-kompakt__editions { grid-column: span 2; min-width: 0; }
.wz-buch-kompakt__subheading {
    margin: 0 0 29px;
    font-size: clamp(21px, 1.7vw, 24px);
    line-height: 1.3;
}
.wz-buch-kompakt__facts {
    margin: 0;
    padding: 0;
    font-size: 15px;
}
.wz-buch-kompakt__fact {
    display: flex;
    gap: 4px;
    margin: 0 0 4px;
    padding: 0;
    min-width: 0;
    line-height: 1.47;
}
.wz-buch-kompakt__fact dt { flex: none; font-weight: 600; }
.wz-buch-kompakt__fact dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.wz-buch-kompakt__edition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 30px;
}
.wz-buch-kompakt__edition { min-width: 0; font-size: 15px; }
.wz-buch-kompakt__edition p {
    margin: 0 0 4px;
    padding: 0;
    font-size: 15px;
    line-height: 1.47;
    overflow-wrap: anywhere;
}
.wz-buch-kompakt__edition .wz-buch-kompakt__edition-name { margin-bottom: 4px; font-weight: 700; }
body.single-wz_buch .entry-content a.wz-buch-kompakt__button {
    display: inline-block;
    width: auto;
    max-width: 100%;
    margin-top: 27px;
    text-align: center;
    text-decoration: none;
}
.wz-buch-kompakt__button:focus-visible { outline: 3px solid #3F4650; outline-offset: 3px; }
.wz-buch-kompakt__disclosure {
    margin: 18px 0 0;
    font-size: 12px;
    line-height: 1.45;
}
@media (max-width: 860px) {
    .wz-buch-kompakt__layout { grid-template-columns: minmax(0, 1fr); row-gap: 30px; }
    .wz-buch-kompakt__editions { grid-column: auto; }
    .wz-buch-kompakt__subheading { margin-bottom: 18px; }
}
@media (max-width: 560px) {
    .wz-buch-kompakt__edition-grid { grid-template-columns: minmax(0, 1fr); row-gap: 25px; }
    .wz-buch-kompakt__heading { margin-bottom: 20px; }
    .wz-buch-kompakt__fact { flex-wrap: wrap; }
}


/* Book details on CPT pages: retain stronger, Astra-aware selectors.
   The general rules above also support the shortcode in other contexts. */
body.single-wz_buch .entry-content section.wz-buch-kompakt {
    box-sizing: border-box;
    width: 900px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}
body.single-wz_buch .entry-content section.wz-buch-kompakt .wz-buch-kompakt__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 32px;
    width: 100%;
    min-width: 0;
}
body.single-wz_buch .entry-content section.wz-buch-kompakt .wz-buch-kompakt__details,
body.single-wz_buch .entry-content section.wz-buch-kompakt .wz-buch-kompakt__editions {
    min-width: 0;
    grid-column: auto;
}
body.single-wz_buch .entry-content section.wz-buch-kompakt .wz-buch-kompakt__edition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 32px;
    width: 100%;
    min-width: 0;
}
/* Module purchase links now use the standard Astra "ast-button" class.
   Their colors, font and padding come from Design > Anpassen > Buttons. */
@media (max-width: 860px) {
    body.single-wz_buch .entry-content section.wz-buch-kompakt .wz-buch-kompakt__layout {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 30px;
    }
}
@media (max-width: 560px) {
    body.single-wz_buch .entry-content section.wz-buch-kompakt .wz-buch-kompakt__edition-grid {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 25px;
    }
}


/* Book cards: common card style, then compact / detailed variants.
   Both variants are retained for existing and future shortcode usage. */
.wz-buecher-liste {
    box-sizing: border-box;
    width: 100%;
    max-width: 900px;
    margin: 32px auto;
}
.wz-buecher-liste__titel {
    margin: 0 0 28px;
    font-size: clamp(24px, 2.5vw, 31px);
    line-height: 1.3;
}
.wz-buchkarten {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
    align-items: stretch;
}
/* The one-card preview follows the same width as future catalogue cards. */
.wz-buchkarten--einzeln {
    grid-template-columns: minmax(0, 280px);
    justify-content: start;
}
.wz-buchkarte {
    box-sizing: border-box;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
    padding: 22px;
    border: 0;
    border-radius: 18px;
    background: #FAF6EE;
    box-shadow: none;
}
.wz-buchkarte__media {
    display: flex;
    position: relative;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 0 0 17px;
    min-height: 0;
}
.wz-buchkarte__bildlink {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}
.wz-buchkarte__bild {
    display: block;
    object-fit: contain;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 270px;
    margin: 0 auto;
    border: 0;
    background: transparent;
    box-shadow: 0 8px 16px rgba(24, 36, 56, .13);
    transition: transform .2s ease, box-shadow .2s ease;
}
.wz-buchkarte__media--wechsel .wz-buchkarte__bild--hover {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    max-width: 100%;
    max-height: 270px;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity .2s ease;
    pointer-events: none;
}
.wz-buchkarte__inhalt {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.wz-buchkarte__titel {
    width: 100%;
    margin: 0;
    font-family: "Cause", sans-serif;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 600;
    color: #3F4650;
    overflow-wrap: anywhere;
}
.wz-buchkarte__titel a,
.wz-buchkarte__titel a:link,
.wz-buchkarte__titel a:visited {
    color: #3F4650;
    text-decoration: none;
}
.wz-buchkarte__titel a:hover,
.wz-buchkarte__titel a:focus-visible {
    color: #FF7A1A;
    text-decoration: none;
}
.wz-buchkarte__titel a:focus-visible,
.wz-buchkarte__bildlink:focus-visible,
.wz-buchkarte__mehr:focus-visible {
    outline: 3px solid #FF7A1A;
    outline-offset: 5px;
}
/* Extended cards inherit the same background, radius and padding from
   .wz-buchkarte; only their content layout differs. */
.wz-buchkarte--ausfuehrlich .wz-buchkarte__media { margin-bottom: 18px; }
.wz-buchkarte--ausfuehrlich .wz-buchkarte__bild { max-height: 235px; }
.wz-buchkarte--ausfuehrlich .wz-buchkarte__inhalt { align-items: stretch; text-align: left; }
.wz-buchkarte__info { font-size: 13px; line-height: 1.5; margin: 0 0 10px; }
.wz-buchkarte--ausfuehrlich .wz-buchkarte__titel { margin: 0 0 12px; }
.wz-buchkarte__auszug {
    margin: 0 0 16px;
    font-size: 15px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
}
.wz-buchkarte__mehr {
    display: inline-block;
    align-self: flex-start;
    margin-top: auto;
    font-size: 15px;
    color: #20283E;
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.wz-buchkarte__mehr:hover { color: #E96D12; }
.wz-buchkarte__mehr--entwurf { opacity: .65; text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
    .wz-buchkarte--kompakt:hover .wz-buchkarte__bild--cover,
    .wz-buchkarte--kompakt:focus-within .wz-buchkarte__bild--cover {
        transform: translateY(-3px);
        box-shadow: 0 12px 20px rgba(24, 36, 56, .18);
    }
    .wz-buchkarte:hover .wz-buchkarte__bild--hover,
    .wz-buchkarte:focus-within .wz-buchkarte__bild--hover { opacity: 1; }
}
@media (max-width: 740px) {
    .wz-buchkarten { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .wz-buchkarten--einzeln { grid-template-columns: minmax(0, 280px); }
}
@media (max-width: 500px) {
    .wz-buchkarten { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .wz-buchkarten--einzeln { grid-template-columns: minmax(0, 280px); }
    .wz-buchkarte { max-width: 310px; width: 100%; margin-inline: auto; }
    .wz-buchkarte__bild { max-height: 260px; }
    .wz-buecher-liste__titel { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .wz-buchkarte__bild,
    .wz-buchkarte__media--wechsel .wz-buchkarte__bild--hover { transition: none; }
    .wz-buchkarte--kompakt:hover .wz-buchkarte__bild--cover { transform: none; }
}


/* Responsive book carousel for four or more published books.
   Horizontal swiping also works without JavaScript. */
.wz-buecher-liste--karussell {
    width: calc(100vw - 2 * clamp(18px, 3vw, 52px));
    max-width: 1800px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 45px 0;
}
.wz-buecher-liste--karussell .wz-buecher-liste__titel {
    box-sizing: border-box;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto 20px;
    padding: 0 8px;
}
.wz-buecher-karussell {
    position: relative;
    width: 100%;
    --wz-karussell-luecke: clamp(18px, 2.1vw, 32px);
}
.wz-buecher-karussell__spur {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    gap: var(--wz-karussell-luecke);
    margin: 0;
    padding: 12px 50px 25px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 50px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}
.wz-buecher-karussell__spur > .wz-buchkarte {
    box-sizing: border-box;
    flex: 0 0 calc((100% - 100px - var(--wz-karussell-luecke) - var(--wz-karussell-luecke) - var(--wz-karussell-luecke) - var(--wz-karussell-luecke)) / 5);
    min-width: 0;
    max-width: none;
    margin: 0;
    height: auto;
    scroll-snap-align: start;
}
.wz-buecher-karussell__spur:focus-visible {
    outline: 2px solid #FF7A1A;
    outline-offset: -2px;
}
.wz-buecher-liste--karussell button.wz-buecher-karussell__pfeil {
    position: absolute;
    z-index: 2;
    top: 35%;
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #FF7A1A;
    color: #20283E;
    box-shadow: 0 2px 12px rgba(20, 28, 40, .13);
    cursor: pointer;
    line-height: 1;
    transition: background-color .15s ease;
}
.wz-buecher-karussell__pfeil--zurueck { left: 2px; }
.wz-buecher-karussell__pfeil--weiter { right: 2px; }
.wz-buecher-karussell__pfeil span { font-size: 34px; line-height: 1; transform: translateY(-2px); }
.wz-buecher-liste--karussell button.wz-buecher-karussell__pfeil:hover { background: #E96D12; color: #20283E; }
.wz-buecher-karussell__pfeil:focus-visible { outline: 3px solid #20283E; outline-offset: 3px; }
.wz-buecher-karussell__pfeil:disabled { opacity: .27; cursor: default; }
.wz-buecher-karussell__pfeil[hidden] { display: none !important; }
@media (max-width: 1450px) {
    .wz-buecher-karussell__spur > .wz-buchkarte {
        flex-basis: calc((100% - 100px - var(--wz-karussell-luecke) - var(--wz-karussell-luecke) - var(--wz-karussell-luecke)) / 4);
    }
}
@media (max-width: 1080px) {
    .wz-buecher-karussell__spur > .wz-buchkarte {
        flex-basis: calc((100% - 100px - var(--wz-karussell-luecke) - var(--wz-karussell-luecke)) / 3);
    }
}
@media (max-width: 750px) {
    .wz-buecher-karussell__spur { padding-inline: 36px; scroll-padding-inline: 36px; }
    .wz-buecher-karussell__spur > .wz-buchkarte {
        flex-basis: calc((100% - var(--wz-karussell-luecke) - 72px) / 2);
    }
    .wz-buecher-karussell__pfeil { width: 32px; height: 32px; }
    .wz-buecher-karussell__pfeil span { font-size: 27px; }
}
@media (max-width: 480px) {
    .wz-buecher-karussell__spur { padding-inline: 20px; scroll-padding-inline: 20px; }
    .wz-buecher-karussell__spur > .wz-buchkarte { flex-basis: min(75%, 270px); }
    .wz-buecher-karussell__pfeil { top: 29%; }
    .wz-buecher-karussell__pfeil--zurueck { left: -10px; }
    .wz-buecher-karussell__pfeil--weiter { right: -10px; }
}
@media (prefers-reduced-motion: reduce) {
    .wz-buecher-karussell__spur { scroll-behavior: auto; }
    .wz-buecher-karussell__pfeil { transition: none; }
}

/* Compact card meta: book type from taxonomy, age from ACF. */
.wz-buchkarte--kompakt .wz-buchkarte__meta {
    margin: 0 0 8px;
    padding: 0;
    color: #20283e;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
}
.wz-buchkarte--kompakt .wz-buchkarte__typ {
    color: #FF7A1A;
    font-weight: 600;
}

/* Catalog heading and card-grid alignment for both grid and carousel. */
.wz-buecher-liste--katalog:not(.wz-buecher-liste--karussell) {
    width: 100%;
    max-width: none;
}
.wz-buecher-liste--katalog .wz-buecher-liste__titel {
    box-sizing: border-box;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto 28px;
    padding-inline: 0;
}
.wz-buecher-liste--katalog:not(.wz-buecher-liste--karussell) .wz-buchkarten {
    width: 100%;
    max-width: 900px;
}
@media (max-width: 1150px) {
    .wz-buecher-liste--katalog .wz-buecher-liste__titel {
        padding-inline: clamp(16px, 3vw, 24px);
    }
}

/* Same alignment for the optional single-book preview shortcode. */
.wz-buecher-liste--einzeln {
    width: 100%;
    max-width: none;
}
.wz-buecher-liste--einzeln .wz-buecher-liste__titel {
    box-sizing: border-box;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 0;
}
@media (max-width: 1150px) {
    .wz-buecher-liste--einzeln .wz-buecher-liste__titel {
        padding-inline: clamp(16px, 3vw, 24px);
    }
}


/* NEW label: appears within six calendar months of actual publication. */
.wz-buchkarte__neu {
    position: absolute;
    z-index: 2;
    top: 9px;
    right: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 5px;
    background: #FF7A1A;
    color: #232638;
    font-family: "Cause", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

/* Shared button transitions: Astra controls size, shape and colors. */
.wp-block-button .wp-block-button__link,
body.single-wz_buch .entry-content a.ast-button.wz-buch-hero__button,
body.single-wz_buch .entry-content a.ast-button.wz-buch-ausgaben__button,
body.single-wz_buch .entry-content a.ast-button.wz-buch-kompakt__button {
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
    transform-origin: center center;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .wp-block-button .wp-block-button__link:hover,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-hero__button:hover,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-ausgaben__button:hover,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-kompakt__button:hover {
        transform: scale(1.03);
        text-decoration: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .wp-block-button .wp-block-button__link,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-hero__button,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-ausgaben__button,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-kompakt__button {
        transition: none;
    }
    .wp-block-button .wp-block-button__link:hover,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-hero__button:hover,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-ausgaben__button:hover,
    body.single-wz_buch .entry-content a.ast-button.wz-buch-kompakt__button:hover {
        transform: none;
    }
}

/* Optional Gutenberg class for mobile-only illustration centering. */
@media (max-width: 767px) {
    .wz-mobil-zentriert {
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center;
    }
    .wz-mobil-zentriert img {
        display: block;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
