/* LeadMagnet Store — buy box. Inherits the theme's fonts and colours; override the variables to brand it. */
.lms-buy {
	--lms-accent: #1f4fd8;
	--lms-border: #d7dbe3;
	--lms-muted: #5a6275;
	--lms-error: #b3261e;
	max-width: 640px;
	margin: 1.5rem 0;
}

.lms-plans {
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	margin-bottom: 1.25rem;
}

.lms-plan {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	padding: .9rem 1rem;
	border: 1.5px solid var(--lms-border);
	border-radius: 10px;
	cursor: pointer;
	position: relative;
}

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

.lms-plan input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.lms-plan input:focus-visible + .lms-plan-name {
	outline: 2px solid var(--lms-accent);
	outline-offset: 3px;
}

.lms-plan-name { font-weight: 600; }
.lms-plan-price { font-size: 1.5rem; font-weight: 700; }
.lms-plan-meta { color: var(--lms-muted); font-size: .85rem; }

.lms-form label {
	display: block;
	margin-bottom: .85rem;
	font-size: .95rem;
}

.lms-form input[type="text"],
.lms-form input[type="email"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: .3rem;
	padding: .65rem .75rem;
	border: 1px solid var(--lms-border);
	border-radius: 8px;
	font: inherit;
}

.lms-renew { margin-bottom: 1rem; color: var(--lms-muted); }
.lms-renew summary { cursor: pointer; }

.lms-button {
	padding: .75rem 1.6rem;
	border: 0;
	border-radius: 8px;
	background: var(--lms-accent);
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.lms-button:disabled { opacity: .6; cursor: progress; }
.lms-msg { min-height: 1.4em; margin: .75rem 0 0; color: var(--lms-muted); }
.lms-msg.lms-error { color: var(--lms-error); }

.lms-done { padding: 1.25rem; border: 1.5px solid var(--lms-accent); border-radius: 10px; }
.lms-done[hidden], .lms-plans[hidden], .lms-form[hidden] { display: none; }
.lms-key { font-size: 1.1rem; word-break: break-all; }
.lms-note { color: var(--lms-muted); font-style: italic; }

@media (max-width: 480px) {
	.lms-plans { grid-template-columns: 1fr; }
}

/* ---- My Licences ---- */
.lms-account { max-width: 720px; margin: 1.5rem 0; --lms-accent: #1f4fd8; --lms-border: #d7dbe3; --lms-muted: #5a6275; --lms-error: #b3261e; }
.lms-signedin { display: flex; gap: .75rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; color: var(--lms-muted); font-size: .9rem; }
.lms-link { background: none; border: 0; padding: 0; color: var(--lms-accent); font: inherit; text-decoration: underline; cursor: pointer; }
.lms-card { border: 1.5px solid var(--lms-border); border-radius: 10px; padding: 1rem 1.15rem; margin-bottom: 1rem; }
.lms-card header { display: flex; gap: .75rem; align-items: baseline; justify-content: space-between; }
.lms-card h3 { margin: 0; font-size: 1.1rem; }
.lms-card h3 small { color: var(--lms-muted); font-weight: 400; margin-left: .4rem; }
.lms-card code { word-break: break-all; }
.lms-badge { padding: .15rem .6rem; border-radius: 999px; font-size: .8rem; font-weight: 600; border: 1px solid var(--lms-border); white-space: nowrap; }
.lms-badge.lms-valid { color: #146c2e; border-color: #146c2e; }
.lms-badge.lms-expired { color: #8a5a00; border-color: #8a5a00; }
.lms-badge.lms-revoked, .lms-badge.lms-refunded { color: var(--lms-error); border-color: var(--lms-error); }
.lms-sites { list-style: none; margin: .5rem 0 1rem; padding: 0; }
.lms-sites li { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px solid var(--lms-border); word-break: break-all; }
.lms-sites form, .lms-inline { margin: 0; display: inline; }
.lms-secondary { background: transparent; color: var(--lms-accent); border: 1.5px solid var(--lms-accent); }
.lms-renew-box { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--lms-border); }
.lms-renew-box select { display: block; width: 100%; box-sizing: border-box; margin: .3rem 0 .75rem; padding: .6rem; border: 1px solid var(--lms-border); border-radius: 8px; font: inherit; }
