/* Voicecomic: separate base/add-on purchase paths */
.ylvc-notice { padding:18px; border-left:4px solid #5469d4; background:rgba(84,105,212,.1); }
.ylvc-cover-link { display:block; max-width:640px; margin:24px auto; }
.ylvc-cover-link:focus-visible { outline:3px solid #f0b429; outline-offset:4px; }
.ylvc-cover { margin:0; }
.ylvc-cover img { display:block; width:100%; height:auto; }
.ylvc-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ylvc-card { min-width:0; padding:20px; border:1px solid #8992a3; border-radius:12px; display:flex; flex-direction:column; gap:12px; }
.ylvc-card h3 { margin:0; }
.ylvc-card img { width:100%; height:250px; object-fit:contain; }
.ylvc-buy { display:block; margin-top:auto; padding:14px; border-radius:8px; background:#3054bb; color:#fff!important; text-align:center; font-weight:700; text-decoration:none; }
.ylvc-buy:focus-visible { outline:3px solid #f0b429; outline-offset:3px; }
@media(max-width:600px) { .ylvc-cards { grid-template-columns:minmax(0,1fr); } }
.ylvc-cards--samples { grid-template-columns:minmax(0,1fr); }
.ylvc-gallery { min-width:0; position:relative; }
.ylvc-cards--samples > .ylvc-card:first-child { padding:0; border:0; border-radius:0; }
.ylvc-desktop-nav { display:none; }
@media (hover:hover) and (pointer:fine) {
  .ylvc-desktop-nav { display:grid; place-items:center; position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:44px; padding:0; border:1px solid #bbb; border-radius:50%; background:rgba(255,255,255,.94); color:#222; font-size:28px; line-height:1; cursor:pointer; box-shadow:0 2px 8px #0003; }
  .ylvc-desktop-nav--prev { left:8px; }
  .ylvc-desktop-nav--next { right:8px; }
  .ylvc-desktop-nav:disabled { opacity:.3; cursor:default; }
  .ylvc-desktop-nav:focus-visible { outline:3px solid #3054bb; outline-offset:2px; }
}
.ylvc-gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:.85em; margin-bottom:12px; }
.ylvc-gallery-toolbar button { cursor:pointer; padding:8px 14px; margin-left:4px; border:1px solid #8992a3; border-radius:6px; background:transparent; color:inherit; }
.ylvc-slides { max-width:100%; box-sizing:border-box; display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 4px 16px; overscroll-behavior-x:contain; }
.ylvc-slide { min-width:0; box-sizing:border-box; flex:0 0 44%; margin:0; scroll-snap-align:start; border:1px solid #8992a3; border-radius:8px; padding:8px; }
.ylvc-card .ylvc-slide img { width:100%; height:auto; max-height:520px; object-fit:contain; display:block; }
.ylvc-slide figcaption { font-size:.8em; text-align:center; margin-top:8px; }
.ylvc-slides:focus-visible,.ylvc-gallery-toolbar button:focus-visible { outline:3px solid #f0b429; outline-offset:2px; }
/* One image per viewport; support existing saved gallery markup too. */
.ylvc-gallery-toolbar, .ylvc-slide figcaption { display:none; }
.ylvc-slides { gap:0; padding:0; scrollbar-width:none; }
.ylvc-slides::-webkit-scrollbar { display:none; }
.ylvc-slide { flex-basis:100%; margin:0; padding:0; border:0; }
.ylvc-card .ylvc-slide img { width:100%; height:auto; max-height:none; }
.ylvc-dots { display:flex; justify-content:center; flex-wrap:wrap; gap:2px; margin-top:12px; }
.ylvc-dots button { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; background:transparent; cursor:pointer; box-shadow:none; }
.ylvc-dots button::before { content:''; width:7px; height:7px; border-radius:50%; background:#a0a0a0; }
.ylvc-dots button[aria-current="true"]::before { background:#3054bb; transform:scale(1.3); }
.ylvc-dots button:focus-visible { outline:2px solid #3054bb; outline-offset:1px; }
