/* Scoped to shop recommendations: catalogue columns and lot dimensions stay unchanged. */
.book-promotion { box-sizing:border-box; width:100%; min-width:0; margin:16px 0; padding:12px; border:1px solid #c8c893; border-radius:4px; background:#fdfdf8; color:#333300; font:inherit; }
.book-promotion__label { margin:0 0 10px; color:#626255; font-size:11px; line-height:1.4; }
.book-promotion__link { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; min-width:0; }
.book-promotion__link:focus-visible { outline:2px solid #777738; outline-offset:4px; border-radius:2px; }
.book-promotion__cover { width:104px; height:136px; object-fit:contain; flex:0 0 104px; }
.book-promotion__content { display:block; min-width:0; overflow-wrap:anywhere; }
.book-promotion__recommendation { display:block; font-size:11px; line-height:1.5; color:#626255; margin-bottom:4px; }
.book-promotion__title { display:block; font-size:14px; line-height:1.45; font-weight:700; }
.book-promotion__price { display:block; margin:8px 0; font-size:14px; }
.book-promotion__action { font-size:12px; text-decoration:underline; text-underline-offset:3px; }
@media (min-width:768px) {
 .book-promotion--sidebar .book-promotion__link { align-items:flex-start; gap:10px; }
 .book-promotion--sidebar .book-promotion__cover { width:72px; height:100px; flex-basis:72px; }
}
@media (max-width:767px) {
 .book-promotion__cover { width:96px; height:128px; flex-basis:96px; }
 .book-promotion--sidebar { display:none; }
}
@media print { .book-promotion { display:none !important; } }
