.ssm-product-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.ssm-product-card,
.ssm-checkout-form,
.ssm-paywall,
.ssm-account,
.ssm-pricing,
.ssm-notice,
.ssm-empty {
	background: var(--wp--preset--color--base, #fff);
	border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(20, 31, 47, .08);
	color: inherit;
	padding: 1.25rem;
}

.ssm-product-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
}

.ssm-product-card__media {
	aspect-ratio: 4 / 3;
	background: #f3f4f6;
	display: block;
	overflow: hidden;
}

.ssm-product-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ssm-product-card__body {
	display: grid;
	gap: .85rem;
	padding: 1.25rem;
}

.ssm-product-card__badge {
	align-self: start;
	background: #12324a;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: .78rem;
	font-weight: 700;
	padding: .25rem .65rem;
}

.ssm-product-card__title {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.15;
	margin: 0;
}

.ssm-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.ssm-product-card__description {
	line-height: 1.55;
}

.ssm-product-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem .75rem;
	justify-content: space-between;
}

.ssm-product-card__price {
	font-size: 1.2rem;
	font-weight: 800;
}

.ssm-product-card__type {
	opacity: .72;
}

.ssm-product-card__period {
	background: color-mix(in srgb, currentColor 8%, transparent);
	border-radius: 999px;
	font-size: .86rem;
	font-weight: 700;
	padding: .2rem .55rem;
}

.ssm-button {
	align-items: center;
	background: #12324a;
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 2.65rem;
	padding: .72rem 1.15rem;
	text-decoration: none;
}

.ssm-button:hover,
.ssm-button:focus {
	background: #e65f2b;
	color: #fff;
}

.ssm-checkout-form {
	display: grid;
	gap: .9rem;
	margin-top: 1rem;
}

.ssm-checkout-form label {
	display: grid;
	gap: .3rem;
	font-weight: 700;
}

.ssm-checkout-form input {
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	border-radius: 10px;
	font: inherit;
	min-height: 2.6rem;
	padding: .55rem .7rem;
}

.ssm-checkout-form__header h3,
.ssm-paywall h3,
.ssm-account h3,
.ssm-pricing h2 {
	margin-top: 0;
}

.ssm-checkout-form__hint,
.ssm-checkout-form__phase-note {
	font-size: .9rem;
	opacity: .72;
}

.ssm-notice-info {
	border-color: #7fb7d5;
}

.ssm-notice-error {
	border-color: #d94d35;
}

.ssm-paywall__level {
	font-weight: 800;
}

.ssm-paywall__products {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	margin: 1rem 0;
}

.ssm-account__orders {
	border-collapse: collapse;
	width: 100%;
}

.ssm-account__orders th,
.ssm-account__orders td {
	border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
	padding: .65rem;
	text-align: left;
}
