.members-only { display: block; max-width: 700px; margin: 40px auto; text-align: center; font-size: 1.8rem; padding: 20px; background: #f7f7f7; border: 1px solid #ccc; border-radius: 3px; }
.members-only-img span { display: block; font-size: 10rem; color: #ff0000; line-height: 1; }
.members-only-header { font-weight: 500; font-size: 2.4rem; }
.product-content { max-width: 900px; margin: 20px auto 40px; text-align: center; }
.no-access-links { display: flex; align-items: center; justify-content: center; gap: 30px; flex-wrap: wrap; }
.buy-btn, .access-btn { display: flex; width: 260px; text-decoration: none; color: #fff; font-weight: 400; font-size: 1.8rem; overflow: hidden; border-radius: 3px; margin: 0 auto; text-align: left; }
.buy-btn > span:first-child { line-height: 1; padding: 10px; display: flex; align-items: center; background: #073c8b; font-size: 1.4em; }
.buy-btn > span:last-child { flex-grow: 1; padding: 10px; background: #3662a3; background: linear-gradient(to left, #3662a3 50%, #073c8b 50%) right; background-size: 200%; transition: .2s ease; }
.buy-btn:hover > span:last-child { background-position: left; }
.access-btn > span:first-child { line-height: 1; padding: 10px; display: flex; align-items: center; background: #185f03; font-size: 1.4em; }
.access-btn > span:last-child { flex-grow: 1; padding: 10px; background: #268b07; background: linear-gradient(to left, #268b07 50%, #185f03 50%) right; background-size: 200%; transition: .2s ease; }
.access-btn:hover > span:last-child { background-position: left; }

.p-title-sub { font-style: italic; }


@media screen and (max-width: 700px) {
    .members-br { display: none; }
}