/* 既存テーマ（黒基調）に合わせ、色はテーマの文字色を継承 */
.lnest-track, .lnest-booking, .lnest-related { max-width: 760px; margin-inline: auto; }

.lnest-yt { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; background: #000; cursor: pointer; overflow: hidden; }
.lnest-yt img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .85; }
.lnest-yt:hover img, .lnest-yt:focus-visible img { opacity: 1; }
.lnest-yt__play { position: absolute; inset: 0; margin: auto; width: 72px; height: 72px; border: 2px solid #fff; border-radius: 50%; }
.lnest-yt__play::after { content: ""; position: absolute; left: 29px; top: 22px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent #fff; }
.lnest-yt__frame { width: 100%; aspect-ratio: 16 / 9; border: 0; display: block; }

.lnest-track__meta { display: grid; gap: .25rem; margin: 1.25rem 0; }
.lnest-track__meta div { display: flex; gap: 1rem; }
.lnest-track__meta dt { min-width: 6em; opacity: .6; }
.lnest-track__meta dd { margin: 0; }

.lnest-track__listen { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.lnest-track__listen a { padding: .6rem 1rem; border: 1px solid currentColor; text-decoration: none; color: inherit; }

.lnest-sub { margin: 2rem 0; padding: 1.5rem; border: 1px solid currentColor; text-align: center; }
.lnest-sub__lead { margin: 0 0 .75rem; }
.lnest-sub__btn { display: inline-block; padding: .9rem 1.6rem; background: #fff; color: #070707; font-weight: 700; text-decoration: none; }
.lnest-sub__btn:hover { background: #e00; color: #fff; }

.lnest-sticky { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 9999; padding: .8rem 1.4rem; background: #e00; color: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 4px 16px rgba(0,0,0,.5); }
.lnest-sticky[hidden] { display: none; }

.lnest-related ul, .lnest-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .5rem; }
.lnest-related a, .lnest-list a { display: block; padding: .6rem .8rem; border-bottom: 1px solid rgba(255,255,255,.2); color: inherit; text-decoration: none; }

.lnest-table-wrap { overflow-x: auto; }
.lnest-table { width: 100%; border-collapse: collapse; min-width: 480px; }
.lnest-table th, .lnest-table td { padding: .7rem; border-bottom: 1px solid rgba(255,255,255,.2); text-align: left; }
.lnest-note { font-size: .9em; opacity: .7; }

a:focus-visible, button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

.lnest-standalone .lnest-wrap a.lnest-sub__btn { color: #070707; }
.lnest-standalone .lnest-wrap a.lnest-sub__btn:hover { color: #fff; }