/**
 * BSC Subscriptions.
 *
 * Colours are read from the theme's own custom properties where they exist,
 * with fallbacks so the plugin still looks right on any other theme.
 */

.bsc-subs {
	--bsc-subs-line: var(--bsc-line, rgba(61, 36, 21, .12));
	--bsc-subs-ink: var(--bsc-espresso, #3d2415);
	--bsc-subs-muted: var(--bsc-muted, rgba(61, 36, 21, .64));
	--bsc-subs-accent: var(--bsc-gold, #b8965a);
	--bsc-subs-surface: var(--bsc-cream-deep, #f5eddc);

	margin-bottom: 1.25rem;
}

/* Buy once / subscribe */
.bsc-subs__modes {
	display: grid;
	gap: .6rem;
	margin-bottom: 1rem;
}

@media (min-width: 480px) {
	.bsc-subs__modes { grid-template-columns: 1fr 1fr; }
}

.bsc-subs__mode {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	padding: .85rem 1rem;
	border: 1px solid var(--bsc-subs-line);
	border-radius: var(--bsc-radius, 8px);
	background: #fff;
	cursor: pointer;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.bsc-subs__mode:hover { border-color: var(--bsc-subs-accent); }

.bsc-subs__mode:has( input:checked ) {
	border-color: var(--bsc-subs-accent);
	box-shadow: 0 0 0 1px var(--bsc-subs-accent);
}

.bsc-subs__mode input { margin-top: .25rem; accent-color: var(--bsc-subs-ink); }

.bsc-subs__mode-body { display: block; line-height: 1.35; }
.bsc-subs__mode-body strong { display: block; color: var(--bsc-subs-ink); }
.bsc-subs__mode-body span { font-size: .85rem; color: var(--bsc-subs-muted); }

/* Panel */
.bsc-subs__panel {
	padding: 1rem 1.1rem 1.15rem;
	border: 1px solid var(--bsc-subs-line);
	border-radius: var(--bsc-radius, 8px);
	background: var(--bsc-subs-surface);
}

.bsc-subs__panel[hidden] { display: none; }

.bsc-subs__intro {
	margin: 0 0 .9rem;
	font-size: .87rem;
	color: var(--bsc-subs-muted);
}

.bsc-subs__field { margin: 0 0 .9rem; }
.bsc-subs__field label {
	display: block;
	margin-bottom: .3rem;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--bsc-subs-muted);
}
.bsc-subs__field select {
	width: 100%;
	max-width: 18rem;
	padding: .6rem .7rem;
	border: 1px solid var(--bsc-subs-line);
	border-radius: var(--bsc-radius, 8px);
	background: #fff;
	color: var(--bsc-subs-ink);
	font: inherit;
}

/* Schedule preview */
.bsc-subs__schedule-label {
	display: block;
	margin-bottom: .35rem;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--bsc-subs-muted);
}

.bsc-subs__schedule ol {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: .3rem;
}

.bsc-subs__schedule li {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .88rem;
	color: var(--bsc-subs-ink);
}

.bsc-subs__schedule li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--bsc-subs-accent);
	flex-shrink: 0;
}

.bsc-subs__total {
	margin: .9rem 0 .2rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--bsc-subs-ink);
}

.bsc-subs__note {
	margin: 0;
	font-size: .8rem;
	color: var(--bsc-subs-muted);
}

/* Cart line tag */
.bsc-subs__tag {
	display: inline-block;
	margin-left: .4rem;
	padding: .15rem .5rem;
	border-radius: 999px;
	background: var(--bsc-gold, #b8965a);
	color: #fff;
	font-size: .65rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	vertical-align: middle;
}

/* My Account */
.bsc-plan {
	border: 1px solid var(--bsc-line, rgba(61, 36, 21, .12));
	border-radius: var(--bsc-radius-lg, 16px);
	padding: 1.15rem 1.25rem 1.25rem;
	margin-bottom: 1rem;
	background: #fff;
}

.bsc-plan.is-ended { opacity: .72; }

.bsc-plan__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .3rem;
}

.bsc-plan__head h3 { margin: 0; }

.bsc-plan__status {
	flex-shrink: 0;
	padding: .2rem .6rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	background: var(--bsc-cream-deep, #f5eddc);
	color: var(--bsc-espresso, #3d2415);
}

.bsc-plan.is-active .bsc-plan__status {
	background: var(--bsc-gold, #b8965a);
	color: #fff;
}

.bsc-plan__meta {
	margin: 0 0 .9rem;
	font-size: .88rem;
	color: var(--bsc-muted, rgba(61, 36, 21, .64));
}

.bsc-plan__dates {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	display: grid;
	gap: .35rem;
}

.bsc-plan__dates li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .5rem .7rem;
	border-radius: var(--bsc-radius, 8px);
	background: var(--bsc-cream, #faf5ea);
	font-size: .9rem;
}

.bsc-plan__dates li.is-past { opacity: .6; }

.bsc-plan__state {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--bsc-muted, rgba(61, 36, 21, .64));
}

.bsc-plan__dates li.is-upcoming .bsc-plan__state { color: var(--bsc-gold, #b8965a); }

.bsc-plan__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin: 0;
}

.bsc-plan__view { font-size: .88rem; }
