.wow-album-gallery{background:#faf9fb;text-align:left}
.album-introduction{max-width:660px;margin:0 0 30px}
.album-introduction .section-title{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.03em}
.album-introduction p{font-size:16px;line-height:1.7;color:#655d6a}
.album-date-note{font-size:12px!important;color:#766b7b!important}
.album-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.album-cover{appearance:none;display:flex;flex-direction:column;text-align:left;width:100%;padding:7px;border:1px solid #e8e2ea;border-radius:16px;background:#fff;box-shadow:0 3px 12px #39263f06;overflow:hidden;position:relative;color:#352b3b;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.album-cover:hover{transform:translateY(-3px);border-color:#cfc0d5;box-shadow:0 12px 28px #39263f12}
.album-cover:focus-visible{outline:3px solid #754082;outline-offset:5px}
.album-cover>img{display:block;width:100%;height:204px;object-fit:cover;object-position:50% 35%;border-radius:10px}
.album-cover-copy{padding:18px 15px 16px;width:100%}
.album-cover-copy strong{display:block;font-size:20px;line-height:1.3;font-weight:650;letter-spacing:-.02em;margin-bottom:8px}
.album-cover-copy small{display:block;font-size:12px;line-height:1.7;color:#726677}
.album-cover-open{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:13px;border-top:1px solid #f0ebf2;color:#71417c;font-size:13px;font-weight:600}
.album-cover-open>span{display:grid;place-items:center;width:25px;height:25px;background:#f4eff6;border-radius:50%}
/* Keep the requested peel as a small, contemporary corner detail. */
.album-cover::after{content:'';position:absolute;top:7px;right:7px;width:23px;height:23px;background:linear-gradient(225deg,#fff 0 46%,#d9cddd 48%,#f2edf5 64%,#fff 100%);border-radius:0 9px 0 5px;box-shadow:-1px 2px 3px #38263e12;pointer-events:none;transition:width .25s ease,height .25s ease}
.album-cover:hover::after,.album-cover:focus-visible::after{width:29px;height:29px}
.gallery-load-status{min-height:24px;margin-top:18px;color:#70407a;font-size:14px}
.wow-album-book{border:1px solid #ffffff38;padding:0;border-radius:20px;width:min(1180px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;background:#fff;color:#352b3b;box-shadow:0 24px 80px #160b2745}
.wow-album-book::backdrop{background:#1e172aca;backdrop-filter:blur(7px)}
.wow-album-book[open]{animation:album-open .3s cubic-bezier(.2,.7,.2,1)}
.book-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;border-bottom:1px solid #ede7ef;background:#fff}
.book-toolbar h3{font-size:22px;font-weight:650;letter-spacing:-.025em;margin:0;color:#35263d}
.book-toolbar p{font-size:12px;line-height:1.5;margin:5px 0 0;color:#766779}
.book-photo-credit{display:block;font-size:11px;line-height:1.5;font-style:italic;color:#786a7d;margin-top:4px}
.book-close{border:1px solid #e3dae7;width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:#faf8fc;color:#63376b;font-size:25px;line-height:1;transition:background .2s ease}
.book-close:hover{background:#f0e9f4}
.book-pages{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;padding:24px 28px 8px;min-height:300px;background:#faf9fc;transition:opacity .24s ease,transform .24s ease}
.book-photo-page{margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.book-photo-page>img{display:block;width:100%;height:min(51dvh,450px);object-fit:contain;background:#f1eef4;border:0;box-shadow:none;border-radius:12px}
.book-photo-page figcaption{padding:14px 2px 12px;color:#49394d}
.book-photo-page figcaption strong{display:block;font-size:14px;line-height:1.5;font-weight:600}
.book-photo-page figcaption span{display:block;font-size:11px;line-height:1.6;color:#7a6b7e;margin-top:4px}
.book-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px 22px;border-top:1px solid #ede7ef;background:#fff}
.book-navigation button{border:1px solid #dcd0e1;background:#fff;color:#63356f;border-radius:8px;padding:11px 16px;font-size:14px;font-weight:600;min-height:44px;transition:background .2s ease}
.book-navigation [data-book-next]{background:#754082;color:#fff;border-color:#754082}
.book-navigation button:hover:not(:disabled){background:#f3edf6}
.book-navigation [data-book-next]:hover:not(:disabled){background:#62336e}
.book-navigation button:disabled{opacity:.4;cursor:default}
.book-navigation button:focus-visible,.book-close:focus-visible{outline:3px solid #754082;outline-offset:3px}
.book-counter{font-size:12px;color:#67596e;text-align:center;background:#f4f0f6;padding:7px 12px;border-radius:20px;white-space:nowrap}
.book-end-page{text-align:center;align-items:center;color:#795d84;min-height:300px;border:1px dashed #dfd2e5;border-radius:12px;background:#f8f4fa}
.book-end-mark{font-size:36px;font-weight:700;letter-spacing:-.04em}
.book-end-page p{font-size:14px;line-height:1.6;max-width:220px;margin:14px auto}
.book-pages.turn-next{opacity:.5;transform:translateX(-10px)}
.book-pages.turn-prev{opacity:.5;transform:translateX(10px)}
.book-image-error{font-size:14px;padding:40px 10px;color:#6b536f}
@keyframes album-open{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:991px){.album-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.album-cover>img{height:190px}}
@media(max-width:767px){.album-shelf{gap:16px}.album-cover{padding:5px;border-radius:13px}.album-cover>img{height:145px;border-radius:9px}.album-cover-copy{padding:14px 8px 12px}.album-cover-copy strong{font-size:16px}.album-cover-copy small{font-size:11px}.album-cover-open{font-size:12px;margin-top:12px;padding-top:10px}.album-cover::after{top:5px;right:5px}.wow-album-book{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:15px}.book-toolbar{padding:16px}.book-toolbar h3{font-size:18px}.book-pages{grid-template-columns:1fr;padding:16px 14px 4px;min-height:200px;gap:16px}.book-photo-page>img{height:48dvh;border-radius:10px}.book-navigation{padding:12px 14px 16px;gap:8px}.book-navigation button{font-size:13px;padding:10px 12px}.book-counter{font-size:11px;padding:6px 8px}}
@media(max-width:380px){.album-shelf{grid-template-columns:1fr}.album-cover>img{height:200px}}
@media(prefers-reduced-motion:reduce){.album-cover,.album-cover::after,.book-pages,.book-close,.book-navigation button{transition:none}.wow-album-book[open]{animation:none}}
