.maq-expiry-product-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.maq-expiry-label-choice > span {
	flex-direction: column;
	gap: 0.25rem;
	min-height: 142px;
}

.maq-expiry-label-choice strong {
	font-size: 0.98rem;
}

.maq-expiry-label-choice small {
	color: var(--maq-muted);
	line-height: 1.35;
}

.maq-expiry-label-choice__visual {
	display: grid;
	place-items: center;
	width: 58px;
	height: 42px;
	margin-bottom: 0.2rem;
	color: var(--maq-text);
}

.maq-expiry-label-choice__visual svg {
	width: 56px;
	height: 38px;
}

.maq-expiry-label-choice__calendar,
.maq-expiry-label-choice__question {
	width: 42px;
	height: 42px;
	border: 2px solid currentColor;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 800;
}

.maq-expiry-label-choice__question {
	border-radius: 50%;
	font-size: 1.2rem;
}

.maq-expiry-pao-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.maq-expiry-pao-grid .maq-choice span {
	min-height: 54px;
	font-weight: 750;
}

.maq-expiry-custom-pao,
.maq-expiry-conditional-field {
	margin-top: 1rem;
}

.maq-expiry-month-year {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 220px));
	gap: 0.75rem;
	margin-top: 1rem;
}

.maq-expiry-status {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
}

.maq-expiry-status__marker {
	width: 14px;
	height: 14px;
	margin-top: 0.35rem;
	border: 2px solid var(--maq-text);
	border-radius: 50%;
	background: #fff;
	flex: 0 0 auto;
}

.maq-expiry-result[data-status="within"] .maq-expiry-status__marker {
	background: #2f7d4a;
	border-color: #2f7d4a;
}

.maq-expiry-result[data-status="near"] .maq-expiry-status__marker {
	background: #b7791f;
	border-color: #b7791f;
}

.maq-expiry-result[data-status="exceeded"] .maq-expiry-status__marker {
	background: #b42318;
	border-color: #b42318;
}

.maq-expiry-result[data-status="unknown"] .maq-expiry-status__marker {
	background: #fff;
	border-color: var(--maq-muted);
}

.maq-expiry-progress {
	margin-top: 1rem;
	padding: 0.95rem 1rem;
	border: 1px solid var(--maq-border);
	border-radius: 12px;
	background: #fff;
}

.maq-expiry-progress__labels {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.55rem;
	font-size: 0.84rem;
	color: var(--maq-muted);
}

.maq-expiry-progress__track {
	height: 9px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--maq-soft);
}

.maq-expiry-progress__track span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: var(--maq-text);
	transition: width 0.3s ease;
}

.maq-expiry-result[data-status="near"] .maq-expiry-progress__track span {
	background: #b7791f;
}

.maq-expiry-result[data-status="exceeded"] .maq-expiry-progress__track span {
	background: #b42318;
}

@media (max-width: 760px) {
	.maq-expiry-calculator {
		padding: 1rem;
	}

	.maq-expiry-calculator .maq-calculator__intro {
		margin-bottom: 1.35rem;
	}

	.maq-expiry-calculator .maq-fieldset {
		padding: 0.9rem;
	}

	.maq-expiry-product-grid,
	.maq-expiry-pao-grid,
	.maq-expiry-month-year {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.maq-expiry-product-grid,
	.maq-expiry-pao-grid {
		gap: 0.55rem;
	}

	.maq-expiry-product-grid .maq-choice span {
		min-height: 58px;
		padding: 0.6rem 0.5rem;
		font-size: 0.88rem;
		line-height: 1.25;
	}

	.maq-expiry-pao-grid .maq-choice span {
		min-height: 48px;
		padding: 0.55rem 0.5rem;
	}

	.maq-expiry-label-choice > span {
		min-height: 118px;
		padding: 0.7rem 0.8rem;
	}

	.maq-expiry-month-year {
		gap: 0.55rem;
	}

	.maq-expiry-progress__labels {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.15rem;
	}
}

@media (max-width: 360px) {
	.maq-expiry-calculator {
		padding: 0.85rem;
	}

	.maq-expiry-calculator .maq-fieldset {
		padding: 0.8rem;
	}

	.maq-expiry-product-grid .maq-choice span {
		padding-inline: 0.4rem;
		font-size: 0.84rem;
	}
}
