/* ===== 本日の一冊 ギャラリー ===== */
.books-hero{background:var(--grad-deep);color:#f4f9fd;padding:76px 0 60px;text-align:center;position:relative;overflow:hidden}
.books-hero::before{content:"";position:absolute;top:-30%;right:-6%;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(227,198,132,.28),transparent 62%)}
.books-hero>*{position:relative;z-index:2}
.books-hero__title{font-family:var(--serif);font-size:clamp(1.9rem,4.6vw,2.8rem);font-weight:600;margin:.35em 0 .4em}
.books-hero__lead{color:#e3eef9;max-width:40em;margin:0 auto}
.books-hero__count{margin-top:22px;font-family:var(--lat);letter-spacing:.14em;font-size:.9rem;color:#cfe0ee}
.books-hero__count b{font-size:1.6rem;background:linear-gradient(120deg,#ffe9b8,#f3c873);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:.3em}

.books-section{padding:64px 0 84px}
.books-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:30px 24px}
@media(max-width:1000px){.books-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.books-grid{grid-template-columns:repeat(3,1fr);gap:26px 16px}}
@media(max-width:480px){.books-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}}

.book{display:flex;flex-direction:column}
.book__cover{position:relative;display:block;border-radius:8px;overflow:hidden;
  background:linear-gradient(160deg,#dfe8f1,#eef4fb);
  box-shadow:0 14px 30px -14px rgba(22,63,104,.5),0 2px 6px -3px rgba(0,0,0,.25);
  transition:transform .32s cubic-bezier(.3,0,.2,1),box-shadow .32s}
.book__cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;z-index:2;
  background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.12) 60%,transparent)}
.book__cover img{width:100%;aspect-ratio:.68/1;object-fit:cover;display:block}
.book:hover .book__cover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 26px 46px -18px rgba(22,63,104,.6)}
.book__noimg{display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;
  aspect-ratio:.68/1;font-family:var(--serif);font-size:.95rem;color:var(--navy);line-height:1.6}
.book__badge{position:absolute;right:8px;bottom:8px;z-index:3;font-size:.62rem;font-weight:700;letter-spacing:.03em;
  color:#3a2c00;background:linear-gradient(120deg,#f6cf7e,#e3b45a);padding:.25em .6em;border-radius:5px;opacity:0;transform:translateY(6px);transition:.28s}
.book:hover .book__badge{opacity:1;transform:none}

.book__body{padding:12px 2px 0;display:flex;flex-direction:column;gap:6px}
.book__title{font-family:var(--serif);font-size:.92rem;font-weight:600;line-height:1.5;color:var(--ink)}
.book__date{font-family:var(--lat);font-size:.78rem;color:var(--sub)}
.book__links{display:flex;align-items:center;gap:12px;margin-top:4px}
.book__buy{font-size:.78rem;font-weight:700;color:#fff;background:var(--grad-gold);padding:.4em .9em;border-radius:999px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 18px -10px rgba(193,146,63,.8)}
.book__buy:hover{transform:translateY(-2px);box-shadow:0 12px 22px -10px rgba(193,146,63,.9)}
.book__note{font-size:.78rem;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gold2);padding-bottom:1px}
.book__note:hover{color:var(--gold)}

.books-disclosure{margin-top:54px;text-align:center;font-size:.78rem;color:var(--sub)}
