/* Paket 15C.2 — isolated styles for books listing and detail pages. */
.ips-books-hero { padding: 6.6rem 0; }
.ips-books-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}
.ips-books-hero__stats > div {
    min-height: 13rem;
    padding: 2rem 1.5rem;
    border: 1px solid rgba(0, 58, 90, .13);
    border-radius: .85rem;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 1.2rem 3.5rem rgba(19, 42, 54, .06);
    text-align: center;
}
.ips-books-hero__stats strong {
    display: block;
    color: var(--primary-color);
    font-family: var(--primary-font);
    font-size: 3.6rem;
    line-height: 1;
}
.ips-books-hero__stats span {
    display: block;
    margin-top: 1rem;
    color: var(--grey-dark-three);
    font-size: 1.2rem;
    line-height: 1.45;
}
.ips-books-section { padding: 7rem 0 8rem; }
.ips-books-section__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2.5rem;
}
.ips-books-section__heading p {
    max-width: 72rem;
    margin: 1.2rem 0 0;
    color: var(--grey-dark-three);
    font-size: 1.5rem;
    line-height: 1.7;
}
.ips-books-result-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5rem;
    height: 4.6rem;
    padding: 0 1.5rem;
    border-radius: 999px;
    background: rgba(0, 58, 90, .08);
    color: var(--primary-color);
    font-family: var(--primary-font);
    font-weight: 700;
    white-space: nowrap;
}
.ips-books-filter {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) repeat(2, minmax(18rem, .68fr)) auto;
    align-items: end;
    gap: 1.2rem;
    margin-bottom: 4rem;
    padding: 2.2rem;
    border: 1px solid #e4eaee;
    border-radius: .85rem;
    background: #f8fafb;
}
.ips-books-filter__field label {
    display: block;
    margin-bottom: .8rem;
    color: var(--grey-dark-one);
    font-family: var(--primary-font);
    font-size: 1.25rem;
    font-weight: 700;
}
.ips-books-filter__input { position: relative; }
.ips-books-filter__input i {
    position: absolute;
    top: 50%;
    left: 1.55rem;
    transform: translateY(-50%);
    color: #82919a;
}
.ips-books-filter input,
.ips-books-filter select {
    width: 100%;
    height: 5rem;
    border: 1px solid #d8e0e5;
    border-radius: .5rem;
    background: #fff;
    color: var(--grey-dark-one);
    font-family: var(--primary-font);
    font-size: 1.35rem;
}
.ips-books-filter input { padding: 0 1.5rem 0 4.4rem; }
.ips-select-control {
    position: relative;
    width: 100%;
}
.ips-select-control select {
    display: block;
    width: 100%;
    padding: 0 4.2rem 0 1.4rem;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.ips-select-control > i {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
    color: var(--primary-color);
    font-size: 1.05rem;
    pointer-events: none;
}
.ips-select-control select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 .3rem rgba(0, 58, 90, .08);
    outline: 0;
}
.ips-select-control select:focus + i { color: var(--secondary-color); }
.ips-books-filter__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 5rem;
}
.ips-books-filter__actions .ips-primary-button { min-height: 5rem; margin-top: 0; }
.ips-books-filter__actions > a {
    color: var(--primary-color);
    font-size: 1.25rem;
    font-weight: 700;
    white-space: nowrap;
}
.ips-books-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.2rem;
}
.ips-book-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e1e7eb;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 .9rem 3rem rgba(23, 43, 54, .05);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ips-book-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 58, 90, .28);
    box-shadow: 0 1.6rem 4rem rgba(23, 43, 54, .09);
}
.ips-book-card__cover {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 2 / 3;
    padding: 1.6rem;
    overflow: hidden;
    background: linear-gradient(145deg, #eff4f6, #e2eaee);
}
.ips-book-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 1.2rem 1.6rem rgba(25, 43, 53, .12));
    transition: transform .3s ease;
}
.ips-book-card:hover .ips-book-card__cover img { transform: scale(1.025); }
.ips-book-card__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 72%;
    aspect-ratio: 2 / 3;
    border-radius: .45rem;
    background: var(--primary-color);
    color: #fff;
    box-shadow: 0 1.2rem 2.6rem rgba(0, 58, 90, .18);
}
.ips-book-card__fallback i { font-size: 4rem; }
.ips-book-card__fallback small {
    margin-top: 1.2rem;
    font-family: var(--primary-font);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .18em;
}
.ips-book-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 2rem;
}
.ips-book-card__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem .9rem;
    min-height: 2rem;
    color: var(--primary-color);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.ips-book-card__meta span + span::before {
    display: inline-block;
    width: .3rem;
    height: .3rem;
    margin-right: .9rem;
    border-radius: 50%;
    background: #a9b5bc;
    content: "";
    vertical-align: middle;
}
.ips-book-card__body h3 {
    margin: 1rem 0 1.1rem;
    color: var(--grey-dark-one);
    font-size: 1.75rem;
    line-height: 1.4;
    text-transform: none;
}
.ips-book-card__body h3 a { color: inherit; }
.ips-book-card__body h3 a:hover { color: var(--primary-color); }
.ips-book-card__authors {
    min-height: 4.2rem;
    margin-bottom: 1.2rem;
    color: var(--grey-dark-three);
    font-size: 1.2rem;
    line-height: 1.6;
}
.ips-book-card__authors a { color: var(--grey-dark-three); }
.ips-book-card__authors a:hover { color: var(--primary-color); }
.ips-book-card__action {
    margin-top: auto;
    padding-top: 1.2rem;
    border-top: 1px solid #edf1f3;
}
.ips-book-card__action a {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--primary-color);
    font-size: 1.25rem;
    font-weight: 700;
}
.ips-book-card__action a i { transition: transform .2s ease; }
.ips-book-card__action a:hover i { transform: translateX(3px); }

/* Pagination matches the employees/researchers listing. */
.ips-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin-top: 4.5rem;
}
.ips-pagination a,
.ips-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.2rem;
    height: 4.2rem;
    padding: 0 1rem;
    border: 1px solid #dfe6ea;
    border-radius: .45rem;
    color: var(--grey-dark-one);
    font-weight: 600;
}
.ips-pagination a:hover,
.ips-pagination a.is-active {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: #fff;
}
.ips-pagination__arrow { color: var(--primary-color) !important; }
.ips-pagination__arrow:hover { color: #fff !important; }

.ips-book-hero {
    position: relative;
    overflow: hidden;
    padding: 6.5rem 0 7rem;
    background: linear-gradient(135deg, #f5f8fa 0%, #eaf1f5 100%);
}
.ips-book-hero::after {
    position: absolute;
    top: -18rem;
    right: -10rem;
    width: 40rem;
    height: 40rem;
    border-radius: 50%;
    background: rgba(0, 58, 90, .06);
    content: "";
}
.ips-book-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 33rem minmax(0, 1fr);
    align-items: center;
    gap: 6rem;
}
.ips-book-hero__cover {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 2 / 3;
    padding: 2rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 2rem 5rem rgba(19, 42, 54, .12);
}
.ips-book-hero__cover img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 1.6rem 2rem rgba(25, 43, 53, .16));
}
.ips-book-hero__cover .ips-book-card__fallback { width: 74%; }
.ips-book-hero__content h1 {
    max-width: 84rem;
    margin: 1.2rem 0 2rem;
    color: var(--grey-dark-one);
    font-size: 4.6rem;
    line-height: 1.15;
    text-transform: none;
}
.ips-book-hero__citation {
    max-width: 82rem;
    margin: -.5rem 0 2.2rem;
    padding-left: 1.6rem;
    border-left: .3rem solid var(--primary-color);
}
.ips-book-hero__citation span {
    display: block;
    margin-bottom: .55rem;
    color: var(--primary-color);
    font-family: var(--primary-font);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.ips-book-hero__citation p {
    margin: 0;
    color: var(--grey-dark-two);
    font-size: 1.4rem;
    font-style: italic;
    line-height: 1.75;
}
.ips-book-hero__metadata {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 1rem;
}
.ips-book-hero__metadata > div {
    min-width: 16rem;
    padding: 1.4rem 1.7rem;
    border: 1px solid rgba(0, 58, 90, .12);
    border-radius: .65rem;
    background: rgba(255, 255, 255, .74);
}
.ips-book-hero__metadata span,
.ips-book-hero__authors > span {
    display: block;
    margin-bottom: .5rem;
    color: #70808a;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ips-book-hero__metadata strong {
    color: var(--grey-dark-one);
    font-size: 1.45rem;
    font-weight: 700;
}
.ips-book-hero__authors { margin-top: 2rem; }
.ips-book-hero__authors > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    color: var(--grey-dark-one);
    font-size: 1.55rem;
    line-height: 1.6;
}
.ips-book-hero__authors a { color: var(--primary-color); font-weight: 700; }
.ips-book-author-separator { color: #8c989f; }
.ips-book-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.4rem;
    margin-top: 2.5rem;
}
.ips-book-hero__actions .ips-primary-button { margin-top: 0; }
.ips-book-description { padding: 7rem 0; }
.ips-book-content-grid {
    display: grid;
    grid-template-columns: 27rem minmax(0, 1fr);
    gap: 6rem;
}
.ips-book-content-grid__heading h2 {
    margin: .9rem 0 0;
    font-size: 3.4rem;
    line-height: 1.25;
}
.ips-book-rich-text {
    max-width: 88rem;
    color: var(--grey-dark-three);
    font-size: 1.6rem;
    line-height: 1.9;
}
.ips-book-rich-text p { margin-bottom: 2rem; }
.ips-book-rich-text p:last-child { margin-bottom: 0; }
.ips-related-books { padding: 7rem 0 8rem; background: #f7f9fa; }
.ips-related-books__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}
.ips-related-book-card {
    display: grid;
    grid-template-columns: 14rem minmax(0, 1fr);
    align-items: center;
    gap: 2rem;
    min-width: 0;
    padding: 1.8rem;
    border: 1px solid #e1e7eb;
    border-radius: .8rem;
    background: #fff;
}
.ips-related-book-card__cover {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 2 / 3;
    padding: .8rem;
    overflow: hidden;
    border-radius: .45rem;
    background: #edf2f5;
}
.ips-related-book-card__cover img { width: 100%; height: 100%; object-fit: contain; }
.ips-related-book-card__cover .ips-book-card__fallback { width: 82%; }
.ips-related-book-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem 1rem;
    color: var(--primary-color);
    font-size: 1.05rem;
    font-weight: 700;
    text-transform: uppercase;
}
.ips-related-book-card h3 {
    margin: 1rem 0 1.3rem;
    font-size: 1.7rem;
    line-height: 1.4;
    text-transform: none;
}
.ips-related-book-card h3 a { color: var(--grey-dark-one); }
.ips-related-book-card__link {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: var(--primary-color);
    font-size: 1.2rem;
    font-weight: 700;
}
.ips-book-not-found { padding: 8rem 0; }
.ips-book-not-found .ips-empty-state h1 { margin: 1.5rem 0 .8rem; font-size: 3rem; }
.ips-book-not-found .ips-empty-state p { margin-bottom: 2rem; color: var(--grey-dark-three); }
.ips-book-not-found .ips-primary-button { margin-top: 0; }

@media (max-width: 1199px) {
    .ips-books-filter { grid-template-columns: minmax(0, 1.5fr) minmax(13rem, .55fr) minmax(17rem, .7fr); }
    .ips-books-filter__actions { grid-column: 1 / -1; }
    .ips-books-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ips-book-hero__grid { grid-template-columns: 29rem minmax(0, 1fr); gap: 4rem; }
}

@media (max-width: 991px) {
    .ips-books-hero__stats { margin-top: 3rem; }
    .ips-books-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ips-book-hero__grid { grid-template-columns: 25rem minmax(0, 1fr); gap: 3rem; }
    .ips-book-hero__content h1 { font-size: 3.7rem; }
    .ips-book-content-grid,
    .ips-book-citation__card { grid-template-columns: 1fr; gap: 2rem; }
    .ips-related-books__grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {

    .ips-pagination a, .ips-pagination span { min-width: 3.7rem; height: 3.7rem; padding: 0 .7rem; }
    .ips-books-hero,
    .ips-book-hero { padding: 4.8rem 0; }
    .ips-books-hero__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
    .ips-books-hero__stats > div { min-height: 10rem; padding: 1.4rem .8rem; }
    .ips-books-hero__stats strong { font-size: 2.7rem; }
    .ips-books-hero__stats span { font-size: 1rem; }
    .ips-books-section { padding: 5rem 0 6rem; }
    .ips-books-section__heading { align-items: flex-start; flex-direction: column; }
    .ips-books-filter { grid-template-columns: 1fr 1fr; padding: 1.5rem; }
    .ips-books-filter__field--search { grid-column: 1 / -1; }
    .ips-books-filter__actions { align-items: stretch; flex-direction: column; }
    .ips-books-filter__actions .ips-primary-button { justify-content: center; width: 100%; }
    .ips-books-filter__actions > a { align-self: center; }
    .ips-books-grid { gap: 1.2rem; }
    .ips-book-card__cover { padding: 1rem; }
    .ips-book-card__body { padding: 1.4rem; }
    .ips-book-card__body h3 { font-size: 1.45rem; }
    .ips-book-card__authors { min-height: 3.8rem; font-size: 1.05rem; }
    .ips-book-card__action a { font-size: 1.1rem; }
    .ips-book-hero__grid { grid-template-columns: 1fr; }
    .ips-book-hero__cover { width: min(28rem, 82vw); margin: 0 auto; }
    .ips-book-hero__content { text-align: center; }
    .ips-book-hero__content h1 { margin-top: 1rem; font-size: 3.2rem; }
    .ips-book-hero__citation { margin: -.2rem auto 2rem; padding: 0 0 1.5rem; border-left: 0; border-bottom: .25rem solid var(--primary-color); text-align: center; }
    .ips-book-hero__metadata,
    .ips-book-hero__authors > div,
    .ips-book-hero__actions { justify-content: center; }
    .ips-book-hero__authors > span { text-align: center; }
    .ips-book-description { padding: 5rem 0; }
    .ips-book-content-grid__heading h2 { font-size: 2.8rem; }
    .ips-related-books { padding: 5rem 0 6rem; }
}

@media (max-width: 479px) {
    .ips-books-filter { grid-template-columns: 1fr; }
    .ips-books-filter__field--search { grid-column: auto; }
    .ips-books-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
    .ips-book-card__body { padding: 1.1rem; }
    .ips-book-card__meta { font-size: .9rem; }
    .ips-book-card__body h3 { font-size: 1.25rem; line-height: 1.35; }
    .ips-book-card__authors { font-size: .95rem; line-height: 1.45; }
    .ips-book-card__action { padding-top: .9rem; }
    .ips-book-card__action a { gap: .45rem; font-size: 1rem; }
    .ips-book-hero__metadata { display: grid; grid-template-columns: 1fr 1fr; }
    .ips-book-hero__metadata > div { min-width: 0; padding: 1.2rem; }
    .ips-related-book-card { grid-template-columns: 10rem minmax(0, 1fr); gap: 1.3rem; padding: 1.2rem; }
    .ips-related-book-card h3 { font-size: 1.4rem; }
}
