.dealsmaster-voice-card {
	--dm-voice-accent: #745849;
	--dm-voice-wash: #f4ede5;
	--dm-voice-ink: #243d38;
	--dm-voice-mark-text: #ffffff;
	position: relative;
	display: grid;
	grid-template-columns: clamp(3.4rem, 8vw, 4.65rem) minmax(0, 1fr);
	gap: clamp(1rem, 2.8vw, 1.55rem);
	width: min(980px, calc(100% - 2rem));
	margin: clamp(2rem, 5vw, 3.75rem) auto clamp(2.4rem, 6vw, 4.25rem);
	padding: clamp(1.15rem, 3vw, 1.7rem) clamp(0.8rem, 2.4vw, 1.25rem);
	border-block: 1px solid color-mix(in srgb, var(--dm-voice-accent) 32%, #b9aea2);
	background: color-mix(in srgb, var(--dm-voice-wash) 43%, transparent);
	box-shadow: 0 1.2rem 3rem rgba(34, 42, 38, 0.055);
	color: #202622;
}

/* WordPress may add an empty paragraph around shortcode inline children. */
.dealsmaster-voice-card > p:empty {
	display: none;
}

.dealsmaster-voice-card::before {
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: 0;
	width: 3px;
	background: var(--dm-voice-accent);
	content: "";
}

.dealsmaster-voice-card__mark {
	display: grid;
	place-items: center;
	align-self: start;
	width: clamp(3.4rem, 8vw, 4.65rem);
	aspect-ratio: 1;
	border: 1px solid color-mix(in srgb, var(--dm-voice-accent) 45%, #ffffff);
	border-radius: 50%;
	background: var(--dm-voice-ink);
	box-shadow: inset 0 0 0 0.28rem color-mix(in srgb, var(--dm-voice-ink) 84%, #ffffff);
	color: var(--dm-voice-mark-text);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: clamp(0.72rem, 2vw, 0.9rem);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.dealsmaster-voice-card__eyebrow {
	margin: 0 0 0.28rem;
	color: color-mix(in srgb, var(--dm-voice-accent) 82%, #302a25);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dealsmaster-voice-card__title {
	margin: 0;
	color: #17231f;
	font-family: var(--dm-serif, Fraunces, Georgia, serif);
	font-size: clamp(1.55rem, 4vw, 2.25rem);
	font-weight: 560;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

.dealsmaster-voice-card__descriptor {
	max-width: 46rem;
	margin: 0.58rem 0 0;
	font-size: clamp(0.98rem, 2.5vw, 1.08rem);
	line-height: 1.58;
}

.dealsmaster-voice-card__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 1.5rem;
	margin: 1rem 0 0;
}

.dealsmaster-voice-card__details div {
	padding-top: 0.68rem;
	border-top: 1px solid rgba(32, 38, 34, 0.16);
}

.dealsmaster-voice-card__details dt {
	color: color-mix(in srgb, var(--dm-voice-accent) 78%, #302a25);
	font-size: 0.7rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dealsmaster-voice-card__details dd {
	margin: 0.25rem 0 0;
	line-height: 1.5;
}

.dealsmaster-voice-card__disclosure {
	margin: 1rem 0 0;
	padding: 0.82rem 0 0;
	border-top: 1px dashed rgba(32, 38, 34, 0.28);
	color: #3a413d;
	font-size: 0.8rem;
	line-height: 1.55;
}

.dealsmaster-voice-card.is-compact .dealsmaster-voice-card__descriptor {
	margin-top: 0.38rem;
}

.dealsmaster-editorial-byline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem;
	align-items: baseline;
	margin: 0;
	color: #4d554f;
	font-size: 0.92rem;
	line-height: 1.5;
}

.dealsmaster-editorial-byline__author {
	color: #252e29;
	font-weight: 700;
}

.dealsmaster-editorial-byline__separator {
	padding-inline: 0.16rem;
}

@media (max-width: 40rem) {
	.dealsmaster-voice-card {
		grid-template-columns: 3.35rem minmax(0, 1fr);
		width: min(100%, calc(100vw - 1rem));
		padding-inline: 0.78rem;
	}

	.dealsmaster-voice-card__mark {
		width: 3.35rem;
	}

	.dealsmaster-voice-card__details,
	.dealsmaster-voice-card__disclosure {
		grid-column: 1 / -1;
	}

	.dealsmaster-voice-card__details {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dealsmaster-voice-card,
	.dealsmaster-voice-card * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media (forced-colors: active) {
	.dealsmaster-voice-card {
		border: 2px solid CanvasText;
	}

	.dealsmaster-voice-card__mark {
		border: 1px solid CanvasText;
	}
}

@media print {
	.dealsmaster-voice-card {
		width: 100%;
		margin-inline: 0;
		box-shadow: none;
	}
}
