/* DealRadar Categories — product card, price comparison, category grid */
.dr-card, .dr-cats {
	--dr-ink: #14171f;
	--dr-muted: #5b6272;
	--dr-line: #e4e7ee;
	--dr-surface: #ffffff;
	--dr-soft: #f5f7fb;
	--dr-accent: #0b6bcb;
	--dr-accent-ink: #ffffff;
	--dr-deal: #d6331f;
	--dr-good: #157347;
	--dr-radius: 14px;
	font-family: inherit;
	color: var(--dr-ink);
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .dr-card, :root:not([data-theme="light"]) .dr-cats {
		--dr-ink: #eef1f7; --dr-muted: #a3abbd; --dr-line: #2b3140; --dr-surface: #171b24;
		--dr-soft: #1e2330; --dr-accent: #4c9dff; --dr-accent-ink: #0b1220; --dr-deal: #ff6b57; --dr-good: #45c486;
	}
}

.dr-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	background: var(--dr-surface);
	border: 1px solid var(--dr-line);
	border-radius: var(--dr-radius);
	overflow: hidden;
	margin: 0 0 2rem;
}
@media (min-width: 760px) {
	.dr-card { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
	.dr-card .dr-offers, .dr-card .dr-disclosure { grid-column: 1 / -1; }
}

.dr-card__media {
	position: relative;
	background: var(--dr-soft);
	display: flex; align-items: center; justify-content: center;
	padding: 24px; min-height: 240px;
}
.dr-card__media img { max-width: 100%; max-height: 340px; height: auto; object-fit: contain; }
.dr-badge {
	position: absolute; top: 14px; left: 14px;
	background: var(--dr-deal); color: #fff;
	font-weight: 700; font-size: 0.85rem; letter-spacing: .02em;
	padding: 4px 10px; border-radius: 999px;
}

.dr-card__body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; }
.dr-crumbs { font-size: .8rem; color: var(--dr-muted); display: flex; flex-wrap: wrap; gap: 6px; }
.dr-crumbs a { color: inherit; text-decoration: none; }
.dr-crumbs a:hover { color: var(--dr-accent); text-decoration: underline; }
.dr-brand { margin: 0; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--dr-muted); }
.dr-title { margin: 0; font-size: clamp(1.25rem, 2.4vw, 1.6rem); line-height: 1.25; }
.dr-excerpt { margin: 0; color: var(--dr-muted); line-height: 1.5; }

.dr-price { display: flex; align-items: baseline; gap: 12px; margin-top: 4px; }
.dr-price__now { font-size: 2rem; font-weight: 800; letter-spacing: -.01em; }
.dr-price__was { color: var(--dr-muted); font-size: 1.05rem; }
.dr-merchant { margin: 0; font-size: .9rem; color: var(--dr-good); font-weight: 600; }

.dr-btn {
	align-self: flex-start; margin-top: 6px;
	background: var(--dr-accent); color: var(--dr-accent-ink) !important;
	text-decoration: none !important; font-weight: 700;
	padding: 12px 26px; border-radius: 10px;
	transition: filter .15s ease, transform .15s ease;
}
.dr-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }

.dr-offers { border-top: 1px solid var(--dr-line); padding: 18px 24px 8px; }
.dr-offers h3 { margin: 0 0 10px; font-size: 1rem; }
.dr-offers ul { list-style: none; margin: 0; padding: 0; }
.dr-offers li {
	display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px;
	padding: 12px 0; border-bottom: 1px solid var(--dr-line);
}
.dr-offers li:last-child { border-bottom: 0; }
.dr-offers__store { font-weight: 600; display: flex; flex-direction: column; }
.dr-offers__store small { font-weight: 400; color: var(--dr-muted); font-size: .8rem; }
.dr-offers__price { font-weight: 700; font-variant-numeric: tabular-nums; }
.dr-offers li a {
	font-size: .85rem; font-weight: 700; text-decoration: none;
	border: 1px solid var(--dr-line); border-radius: 8px; padding: 6px 12px; color: var(--dr-ink);
}
.dr-offers li.is-best .dr-offers__price { color: var(--dr-good); }
.dr-offers li.is-best a { background: var(--dr-accent); border-color: var(--dr-accent); color: var(--dr-accent-ink); }

.dr-disclosure { margin: 0; padding: 10px 24px 16px; font-size: .75rem; color: var(--dr-muted); }

/* Category grid */
.dr-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin: 0 0 2rem; }
.dr-cats__group { background: var(--dr-surface); border: 1px solid var(--dr-line); border-radius: var(--dr-radius); padding: 16px 18px; }
.dr-cats__group h3 { margin: 0 0 8px; font-size: 1.05rem; }
.dr-cats__group h3 a { color: var(--dr-ink); text-decoration: none; }
.dr-cats__group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.dr-cats__group li a { color: var(--dr-muted); text-decoration: none; font-size: .92rem; }
.dr-cats__group li a:hover, .dr-cats__group h3 a:hover { color: var(--dr-accent); }
