.book-card, .additional-books-grid article, .hero-books { position: relative; }
.book-image.jlw-trailer-surface, .book-detail-cover.jlw-trailer-surface,
.hero-featured-book.jlw-trailer-surface, .featured-book.jlw-trailer-surface,
.jlw-gift-cover.jlw-trailer-surface { position: relative; }
.jlw-trailer-preview { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #241830; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.jlw-trailer-playing .jlw-trailer-preview { opacity: 1; }
.jlw-trailer-play { position: absolute; z-index: 2; right: 10px; top: 10px; border: 1px solid #fff9; border-radius: 999px; background: #2c1b3be8; color: white; font: 600 12px/1.2 Arial, sans-serif; padding: 9px 12px; cursor: pointer; box-shadow: 0 2px 8px #0005; }
.jlw-trailer-play:hover, .jlw-trailer-play:focus-visible { background: #563073; outline: 2px solid #e1c776; outline-offset: 2px; }
.book-detail-cover > .jlw-trailer-play, .featured-book > .jlw-trailer-play { top: 14px; right: 14px; }
.hero-books > .jlw-trailer-play { top: 50px; right: 0; }
.jlw-gift-cover { display: block; width: 100%; max-width: 210px; height: 260px; background: #2c1b3b; }
.jlw-gift-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.additional-books-grid article > .jlw-trailer-play { top: 40px; right: auto; left: 40px; }
.jlw-trailer-dialog { border: 0; border-radius: 12px; width: min(92vw, 540px); max-height: 94vh; padding: 0; background: #22182b; color: white; box-shadow: 0 20px 60px #0009; }
.jlw-trailer-dialog::backdrop { background: #140e20db; }
.jlw-trailer-dialog-inner { padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.jlw-trailer-dialog h2 { color: white; font: 600 20px/1.3 Georgia, serif; margin: 0 60px 0 0; }
.jlw-trailer-close { position: absolute; top: 13px; right: 16px; border: 0; background: transparent; color: white; cursor: pointer; padding: 6px; }
.jlw-trailer-dialog video { display: block; width: 100%; max-height: min(75vh, 700px); background: black; }
@media (max-width: 640px) { .jlw-trailer-play { padding: 8px 10px; } }
