/* Reading-room details for the complete public portal. */
.pss-interior { --pss-paper: #fffdf7; --pss-ink: #244c40; }
.pss-interior :is(.pss-info-grid h2,.submenu-card h2,.nilam-note h2,.loan-form h2,.loan-note h2,.virtual-shelf-note b) { font-family: Georgia,serif; font-weight: 400; color: var(--pss-ink); }
.pss-interior .pss-section-heading .page-intro { max-width: 60ch; }
.pss-journey { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; list-style: none; padding: 0; margin: 1.4rem 0 2.2rem; counter-reset: step; }
.pss-journey li { display: flex; align-items: start; gap: .8rem; padding: 1rem; border-top: 2px solid #97aa89; }
.pss-journey li > span { flex-shrink: 0; display: grid; place-items: center; width: 35px; height: 35px; background: #e5ead9; border-radius: 50%; color: #244c40; font: 600 .75rem var(--font-mono); }
.pss-journey li:nth-child(2) > span { background: #f7e2ad; }
.pss-journey li:nth-child(3) > span { background: #f2d9ca; }
.pss-journey b { font-size: .86rem; color: #244c40; }
.pss-journey p { margin: .25rem 0 0; font-size: .78rem; line-height: 1.65; color: #4c6354; }
.pss-detail-art { display: block; width: 150px; height: 110px; object-fit: contain; margin: 0 0 1rem auto; border-radius: 10px; }
.pss-interior .pss-info-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.2rem; }
.pss-interior .pss-info-block { padding: 1.8rem; background: #e9eddf; border: 1px solid #d5dacb; border-radius: 14px; }
.pss-interior .pss-info-block:nth-child(2) { background: #fffdf7; }
.pss-interior .pss-info-block:nth-child(3) { background: #f5e6c4; }
.pss-interior .pss-info-block:nth-child(4) { background: #e2ece9; }
.pss-interior .pss-info-block :is(p,li) { font-size: .9rem; line-height: 1.8; color: #445c4e; }
.pss-interior .pss-info-block h2 { margin: 0 0 .6rem; font-size: 1.7rem; }
.pss-interior .pss-info-block ul { padding-left: 1.2rem; }
.pss-interior .pss-info-block a { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.pss-interior .submenu-page { max-width: 1180px; }
.pss-interior .submenu-card { max-width: none; padding: 2rem; border: 1px solid #d5dacb; background: #fffdf7; }
.pss-interior .submenu-card > span { background: #f7e2ad; color: #71522e; border-radius: 50%; }
.pss-interior .submenu-card h2 { font-size: 2rem; }
.pss-interior .submenu-card p { max-width: 65ch; font-size: .95rem; color: #4b6154; }
.pss-interior .submenu-action { min-height: 48px; padding: .9rem 1.3rem; border-radius: 7px; background: #244c40; color: #fffdf7; }
.pss-service-directory { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.pss-service-directory a { padding: 2rem; border: 1px solid #d5dacb; border-radius: 14px; background: #e5ead9; transition: transform 180ms ease; }
.pss-service-directory a:nth-child(2) { background: #f7e2ad; }
.pss-service-directory a:nth-child(3) { background: #f2d9ca; }
.pss-service-directory a:nth-child(4) { background: #dce7e6; }
.pss-service-directory span { font: 600 .68rem var(--font-mono); letter-spacing: .08em; }
.pss-service-directory h2 { font: 400 2rem Georgia,serif; margin: .8rem 0; }
.pss-service-directory p { color: #445c4e; font-size: .9rem; }
.pss-service-directory b { display: block; margin-top: 1.5rem; font-size: .85rem; }
.pss-interior .loan-layout { gap: 1.5rem; margin-top: 1.2rem; }
.pss-interior .loan-form { border-top: 5px solid #789174; padding: 1.8rem; }
.pss-interior .loan-fields { gap: 1.2rem; }
.pss-interior .loan-fields label { font-size: .83rem; }
.pss-interior .loan-fields :is(input,select,textarea) { border-color: #c5cebd; background: #fafbf6; border-radius: 7px; min-height: 46px; font-size: .9rem; }
.pss-interior .loan-fields :is(input,select,textarea):focus { background: #fff; }
.pss-interior .loan-note { align-self: start; padding: 1.5rem; background: #f4e6c8; }
.pss-interior .loan-note p { font-size: .85rem; color: #4b6154; }
.pss-interior .loan-submit { min-height: 48px; border-radius: 7px; background: #244c40; }
.pss-interior .loan-status:not(:empty) { border-left: 3px solid currentColor; padding: .9rem; background: #faf7ee; border-radius: 5px; }
.pss-interior .pss-announcement-list { border: 0; display: grid; gap: 1rem; }
.pss-interior .pss-announcement-list .notis-item { padding: 1.5rem; background: #fffdf7; border: 1px solid #d5dacb; border-radius: 12px; grid-template-columns: 7.5rem minmax(0,1fr); }
.pss-interior .pss-announcement-list .notis-item:not(:has(.notis-date)) { grid-template-columns: 1fr; padding: 2rem 2rem 2rem 120px; min-height: 130px; background: #f0f1e5 url('/assets/pss-art/empty-notice.svg') no-repeat 18px center / 82px 75px; }
.pss-interior .pss-announcement-list .notis-date { white-space: normal; max-width: 100%; border-radius: 6px; padding: .6rem; line-height: 1.6; background: #f7e2ad; }
.pss-interior .pss-announcement-list h4 { font-size: 1rem; }
.pss-interior .pss-announcement-list p { font-size: .87rem; }
.pss-interior .pss-announcement-aside { padding: 1.5rem; border: 1px solid #d5dacb; border-radius: 12px; background: #e5ead9; }
.pss-interior .pss-announcement-state { padding: 1.5rem; background: #f2eddf; border: 1px dashed #acb79f; border-radius: 10px; }
.pss-interior .virtual-shelf-tools { padding: 1.2rem; background: #fffdf7; border: 1px solid #d5dacb; border-radius: 12px; gap: .6rem; }
.pss-interior .virtual-shelf-tools input { flex-basis: 100%; min-height: 48px; font-size: .9rem; border-color: #b9c5b0; }
.pss-interior .virtual-shelf-filter { min-height: 44px; padding: .7rem .9rem; border-radius: 7px; background: #f5f4e9; font-size: .76rem; }
.pss-interior .virtual-shelf-filter.active { background: #244c40; color: #fffdf7; }
.pss-interior .virtual-shelf { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.7rem; padding: 1.7rem; background: #ede7d5; border-color: #d3c8ac; box-shadow: none; }
.pss-interior .virtual-book { min-height: 255px; padding: 1.4rem 1.15rem; border-radius: 3px 12px 12px 3px; box-shadow: inset 7px 0 #ffffff25, 4px 5px 0 #244c4025; }
.pss-interior .virtual-book b { font: 400 1.35rem/1.2 Georgia,serif; margin: auto 0 .6rem; }
.pss-interior .virtual-book small { font-size: .64rem; border-bottom: 1px solid #ffffff55; padding-bottom: .8rem; }
.pss-interior .virtual-book span { font-size: .78rem; }
.pss-interior .virtual-shelf-note { background: #fffdf7; padding: 1.5rem; border-color: #d5dacb; gap: 1.5rem; }
.pss-interior .virtual-shelf-note b { font-size: 1.4rem; margin-bottom: .5rem; }
.pss-interior .nilam-links { grid-template-columns: 1fr; }
.pss-interior .nilam-links a { padding: 1.8rem 190px 1.8rem 1.8rem; background: #e5ead9 url('/assets/pss-art/ains-link.svg') no-repeat right 18px center / 150px 120px; box-shadow: none; }
.pss-interior .nilam-note { background: #f6e8c8; border: 1px solid #ddcfaf; padding: 1.8rem; box-shadow: none; }
.pss-interior .nilam-note h2 { font-size: 1.8rem; }
.pss-interior .nilam-note p { max-width: 65ch; font-size: .9rem; }
@media(hover:hover) { .pss-service-directory a:hover { transform: translateY(-4px); } }
@media(prefers-reduced-motion:no-preference) { .pss-journey li { animation: detail-enter 400ms ease both; } .pss-journey li:nth-child(2) { animation-delay: 60ms; } .pss-journey li:nth-child(3) { animation-delay: 120ms; } .pss-interior .virtual-book { transition: transform 180ms ease,box-shadow 180ms ease; } }
@keyframes detail-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media(max-width:900px) { .pss-interior .virtual-shelf { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; } }
@media(max-width:700px) { .pss-journey { grid-template-columns: 1fr; gap: .3rem; } .pss-journey li { border-top: 0; border-left: 2px solid #97aa89; padding: .8rem; } .pss-interior .pss-info-grid,.pss-service-directory { grid-template-columns: 1fr; } .pss-interior .virtual-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1rem; } .pss-interior .virtual-book { min-height: 220px; padding: 1rem; } .pss-interior .virtual-book b { font-size: 1.15rem; } .pss-interior .virtual-shelf-note { flex-direction: column; } }
@media(max-width:480px) { .pss-interior .pss-announcement-list .notis-item { grid-template-columns: 1fr; } .pss-interior .loan-form { padding: 1.2rem; } .pss-interior .nilam-links a { padding: 115px 1.3rem 1.3rem; background-position: right 12px top 8px; background-size: 125px 95px; } .pss-interior .submenu-card { padding: 1.4rem; } }
@media(prefers-reduced-motion:reduce) { .pss-interior *, .pss-interior *::after { animation: none !important; transition: none !important; } }
@media print { .pss-journey,.pss-detail-art { display: none; } }
.pss-more-books { display: block; margin: 1.4rem auto; min-height: 48px; padding: .8rem 1.4rem; border: 1px solid #244c40; border-radius: 7px; background: #244c40; color: #fffdf7; font: 700 .85rem var(--sans); cursor: pointer; }
.pss-more-books[hidden] { display: none; }
.pss-shelf-empty { grid-column: 1 / -1; padding: 1.5rem; margin: 0; font-size: .9rem; color: #244c40; background: #fffdf7; border-radius: 8px; }
@media(max-width:480px) { .pss-interior .catalog-pagination { flex-wrap: wrap; } .pss-interior .catalog-pagination span { order: -1; flex-basis: 100%; min-width: 0; } }
