/* YCN Subscriptions: plan picker, e-edition library, paywall. Base styles come from YCN Core (.ycn). */
/* Plan picker */
.ycn-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .8em; margin-bottom: .8em; }
.ycn-plan { position: relative; display: block; cursor: pointer; }
.ycn-plan input { position: absolute; opacity: 0; }
.ycn-plan__body { display: flex; flex-direction: column; gap: .25em; height: 100%; border: 2px solid var(--ycn-rule); padding: 1em; background: #fff; transition: border-color .15s, box-shadow .15s; }
.ycn-plan input:checked + .ycn-plan__body { border-color: var(--ycn-red); box-shadow: inset 0 4px 0 var(--ycn-red); }
.ycn-plan input:focus-visible + .ycn-plan__body { outline: 3px solid var(--ycn-gold); outline-offset: 2px; }
.ycn-plan__name { font-family: var(--ycn-serif); font-weight: 700; color: var(--ycn-navy); font-size: 1.1rem; }
.ycn-plan__price { font-size: 1.6rem; font-weight: 700; color: var(--ycn-red); }
.ycn-plan__price small { font-size: .9rem; color: var(--ycn-muted); font-weight: 400; }
.ycn-plan__desc { font-size: .88rem; color: var(--ycn-muted); }

/* E-edition library */
.ycn-library__filters { display: flex; gap: .6em; flex-wrap: wrap; margin-bottom: 1em; }
.ycn-library__filters input[type=search] { flex: 1 1 220px; width: auto; }
.ycn-library__filters select { flex: 0 0 150px; width: auto; }
.ycn-library__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.4em; }
.ycn-card { display: flex; flex-direction: column; }
.ycn-card__cover { position: relative; display: block; aspect-ratio: 8.5 / 11; background: var(--ycn-cream); border: 1px solid var(--ycn-rule); overflow: hidden; }
.ycn-card__cover img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.ycn-card__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 18% 10% 0; text-align: center; border-top: 6px solid var(--ycn-red); }
.ycn-card__placeholder span { font-family: var(--ycn-serif); font-weight: 700; color: var(--ycn-navy); font-size: 1.15rem; line-height: 1.15; }
.ycn-card__placeholder small { margin-top: .6em; color: var(--ycn-muted); font-size: .85rem; border-top: 1px solid var(--ycn-rule); padding-top: .4em; }
.ycn-card__badge { position: absolute; top: .6em; right: .6em; background: var(--ycn-gold); color: var(--ycn-navy); font-size: .72rem; font-weight: 700; text-transform: uppercase; padding: .2em .6em; }
.ycn-card__title { font-size: 1rem !important; margin: .6em 0 .15em !important; border: 0 !important; padding: 0 !important; }
.ycn-card__title a { color: var(--ycn-navy); text-decoration: none; }
.ycn-card__date { font-size: .85rem; color: var(--ycn-muted); margin: 0 0 .6em; }
.ycn-card__actions { margin-top: auto; display: flex; gap: .4em; flex-wrap: wrap; }
.ycn-card__actions .ycn-btn { font-size: .82rem; padding: .45em .8em; }
.ycn-pager { display: flex; gap: .3em; justify-content: center; margin: 1.6em 0; flex-wrap: wrap; }
.ycn-pager a, .ycn-pager span { min-width: 2.4em; text-align: center; padding: .4em .6em; border: 1px solid var(--ycn-rule); text-decoration: none; color: var(--ycn-navy); }
.ycn-pager .is-current { background: var(--ycn-navy); color: #fff; border-color: var(--ycn-navy); }

/* Single edition + paywall */
.ycn-edition-box, .ycn-paywall { border: 1px solid var(--ycn-rule); border-top: 4px solid var(--ycn-red); background: var(--ycn-cream); padding: 1.1em 1.25em; margin: 0 0 1.5em; }
.ycn-edition-box__meta { font-family: var(--ycn-serif); color: var(--ycn-navy); font-weight: 700; margin: 0 0 .6em; }
.ycn-paywall__msg { font-family: var(--ycn-serif); font-size: 1.15rem; color: var(--ycn-navy); margin: 0 0 .8em; }

@media (max-width: 600px) {
	.ycn-library__grid { grid-template-columns: repeat(2, 1fr); gap: 1em; }
}
