/* DigiBaz companion — structural UI (theme can override). Logical properties for RTL. */
:root {
	--dgbz-cyan: var(--db-accent, #35B8C5);
	--dgbz-blue: var(--db-primary, #7864D8);
	--dgbz-purple: var(--db-hover, #604BBE);
	--dgbz-navy: var(--db-navy, #14131F);
	--dgbz-text: var(--db-text, #5B5A6B);
	--dgbz-muted: var(--db-muted, #6A6978);
	--dgbz-bg: var(--db-surface, #FBFAFF);
	--dgbz-bg-soft: var(--db-bg-alt, #F0EDFF);
	--dgbz-border: var(--db-border, #E8E5F1);
	--dgbz-ok: #12805c;
	--dgbz-danger: #c0392b;
	--dgbz-radius: 12px;
}
html[data-theme="dark"],
html.digibaz-dark,
body.digibaz-night {
	--dgbz-text: var(--db-text, #C9C7D9);
	--dgbz-muted: var(--db-muted, #A8A6BA);
	--dgbz-bg: var(--db-surface, #1D1B2C);
	--dgbz-bg-soft: var(--db-bg-alt, #1D1B2C);
	--dgbz-border: var(--db-border, #2E2B42);
}
@media (prefers-color-scheme: dark) {
	html:not([data-theme="light"]):not(.digibaz-light) {
		--dgbz-text: var(--db-text, #C9C7D9);
		--dgbz-muted: var(--db-muted, #A8A6BA);
		--dgbz-bg: var(--db-surface, #1D1B2C);
		--dgbz-bg-soft: var(--db-bg-alt, #1D1B2C);
		--dgbz-border: var(--db-border, #2E2B42);
	}
}

.digibaz-reactions,
.digibaz-review,
.digibaz-newsletter,
.digibaz-author-box,
.digibaz-toc,
.digibaz-breadcrumbs,
.digibaz-ad,
.digibaz-post-list,
.digibaz-helpful {
	color: var(--dgbz-text);
	font-family: inherit;
}

/* Reactions */
.digibaz-reactions { margin-block: 1.5rem; }
.digibaz-reactions__title { font-weight: 700; margin: 0 0 .75rem; }
.digibaz-reactions__list { display: flex; flex-wrap: wrap; gap: .5rem; }
.digibaz-reactions__btn {
	display: inline-flex; align-items: center; gap: .35rem;
	border: 1px solid var(--dgbz-border); background: var(--dgbz-bg-soft);
	border-radius: 999px; padding: .4rem .75rem; cursor: pointer;
	transition: border-color .15s, background .15s, transform .15s;
}
.digibaz-reactions__btn:hover,
.digibaz-reactions__btn.is-active {
	border-color: var(--dgbz-blue);
	background: color-mix(in srgb, var(--dgbz-cyan) 12%, var(--dgbz-bg));
}
.digibaz-reactions__btn.is-active { box-shadow: 0 0 0 2px color-mix(in srgb, var(--dgbz-purple) 30%, transparent); }
.digibaz-reactions__count { font-variant-numeric: tabular-nums; font-size: .85em; color: var(--dgbz-muted); }

/* Review */
.digibaz-review {
	background: var(--dgbz-bg); border: 1px solid var(--dgbz-border);
	border-radius: var(--dgbz-radius); padding: 1.25rem; margin-block: 1.5rem;
}
.digibaz-review__header { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.digibaz-review__score {
	width: 4.5rem; height: 4.5rem; border-radius: 16px; flex: 0 0 auto;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	color: #fff; background: var(--db-gradient, linear-gradient(135deg, var(--dgbz-blue, #7864D8), var(--dgbz-purple, #604BBE)));
}
.digibaz-review__score-num { font-size: 1.4rem; font-weight: 800; line-height: 1; }
.digibaz-review__score-of { font-size: .7rem; opacity: .9; }
.digibaz-review__title { margin: 0; font-size: 1.15rem; }
.digibaz-review__brand { margin: .25rem 0 0; color: var(--dgbz-muted); }
.digibaz-review__criteria { list-style: none; margin: 0 0 1rem; padding: 0; }
.digibaz-review__criteria li { display: grid; grid-template-columns: 7rem 1fr 2.2rem; gap: .5rem; align-items: center; margin-bottom: .4rem; }
.digibaz-review__bar { display: block; height: .5rem; background: var(--dgbz-bg-soft); border-radius: 99px; overflow: hidden; }
.digibaz-review__bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--dgbz-blue), var(--dgbz-purple)); }
.digibaz-review__proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-block: 1rem; }
.digibaz-review__pros h3 { color: var(--dgbz-ok); margin: 0 0 .4rem; }
.digibaz-review__cons h3 { color: var(--dgbz-danger); margin: 0 0 .4rem; }
.digibaz-review__specs { width: 100%; border-collapse: collapse; margin-block: .75rem; }
.digibaz-review__specs th, .digibaz-review__specs td { border-bottom: 1px solid var(--dgbz-border); padding: .4rem 0; text-align: start; }
.digibaz-review__buy {
	display: inline-block; margin-inline-start: .5rem; padding: .4rem .9rem;
	background: var(--dgbz-navy); color: #fff; border-radius: 8px; text-decoration: none;
}
.digibaz-review__user { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--dgbz-border); }
.digibaz-stars { display: flex; gap: .2rem; }
.digibaz-stars__btn { background: none; border: 0; font-size: 1.4rem; color: #c5c9d6; cursor: pointer; padding: 0 .15rem; }
.digibaz-stars__btn.is-on, .digibaz-stars__btn:hover { color: #f5b301; }

/* Newsletter */
.digibaz-newsletter { margin-block: 1rem; }
.digibaz-newsletter__row { display: flex; gap: .5rem; }
.digibaz-newsletter__row input[type="email"] {
	flex: 1; padding: .65rem .8rem; border: 1px solid var(--dgbz-border); border-radius: 8px; background: var(--dgbz-bg); color: inherit;
}
.digibaz-newsletter__submit {
	border: 0; border-radius: 8px; padding: .65rem 1.1rem; cursor: pointer; color: #fff;
	background: linear-gradient(135deg, var(--dgbz-blue), var(--dgbz-purple));
}
.digibaz-newsletter__hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.digibaz-newsletter__consent { display: flex; gap: .4rem; align-items: flex-start; margin-top: .6rem; font-size: .85rem; color: var(--dgbz-muted); }
.digibaz-newsletter__flash, .digibaz-newsletter__msg { margin: .5rem 0 0; }
.digibaz-newsletter__flash--ok, .digibaz-newsletter__flash--confirm, .digibaz-newsletter__flash--pending { color: var(--dgbz-ok); }
.digibaz-newsletter__flash--error { color: var(--dgbz-danger); }

/* Author */
.digibaz-author-box {
	display: flex; gap: 1rem; padding: 1rem; border: 1px solid var(--dgbz-border);
	border-radius: var(--dgbz-radius); background: var(--dgbz-bg-soft); margin-block: 1.5rem;
}
.digibaz-author-box__avatar img { border-radius: 50%; width: 96px; height: 96px; object-fit: cover; }
.digibaz-author-box__name { margin: 0 0 .35rem; font-weight: 700; }
.digibaz-author-box__title { display: block; font-weight: 400; color: var(--dgbz-muted); font-size: .9em; }
.digibaz-author-box__bio { margin: 0 0 .4rem; }
.digibaz-author-box__meta { display: flex; flex-wrap: wrap; gap: .6rem; color: var(--dgbz-muted); font-size: .85rem; margin: 0 0 .4rem; }
.digibaz-author-social { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; }
.digibaz-author-social a { color: var(--dgbz-blue); text-decoration: none; }

/* TOC / crumbs */
.digibaz-toc { background: var(--dgbz-bg-soft); border: 1px solid var(--dgbz-border); border-radius: var(--dgbz-radius); padding: .75rem 1rem; margin-block: 1rem; }
.digibaz-toc__title { font-weight: 700; cursor: pointer; }
.digibaz-toc__list { margin: .5rem 0 0; padding-inline-start: 1.1rem; }
.digibaz-toc__item--l2 { margin-inline-start: 1rem; }
.digibaz-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1rem; padding: 0; font-size: .9rem; color: var(--dgbz-muted); }
.digibaz-breadcrumbs li:not(:last-child)::after { content: "/"; margin-inline-start: .35rem; opacity: .6; }
.digibaz-breadcrumbs a { color: inherit; text-decoration: none; }
.digibaz-breadcrumbs a:hover { color: var(--dgbz-blue); }

/* Ads — reserved box, CLS-safe */
.digibaz-ad { position: relative; margin-block: 1rem; overflow: hidden; background: var(--dgbz-bg-soft); }
.digibaz-ad img, .digibaz-ad amp-img { display: block; width: 100%; height: auto; }
.digibaz-ad__label { position: absolute; top: 0; inset-inline-end: 0; font-size: 10px; padding: 1px 6px; background: rgba(0,0,0,.45); color: #fff; }
.digibaz-ad--mobile { display: none; }
.digibaz-ad--desktop { display: block; }
.digibaz-ad--both { display: block; }
@media (max-width: 781px) {
	.digibaz-ad--desktop { display: none; }
	.digibaz-ad--mobile, .digibaz-ad--both { display: block; }
	.digibaz-review__proscons { grid-template-columns: 1fr; }
	.digibaz-review__criteria li { grid-template-columns: 5.5rem 1fr 2rem; }
	.digibaz-newsletter__row { flex-direction: column; }
	.digibaz-ad--mobile_sticky {
		position: sticky; bottom: 0; z-index: 40; margin: 0;
		width: 100%; max-width: 100% !important;
	}
}

/* Lists / helpful */
.digibaz-post-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.digibaz-post-list__item { display: flex; gap: .75rem; align-items: flex-start; }
.digibaz-post-list__thumb img { width: 120px; height: 75px; object-fit: cover; border-radius: 8px; }
.digibaz-helpful { margin-top: .6rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: .85rem; }
.digibaz-helpful__btn { border: 1px solid var(--dgbz-border); background: var(--dgbz-bg); border-radius: 99px; padding: .2rem .6rem; cursor: pointer; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* Poll / quiz */
.digibaz-poll { margin-block: 1rem; padding: 1rem; border: 1px solid var(--dgbz-border, #e5e7eb); border-radius: 12px; background: var(--dgbz-bg, #fff); }
.digibaz-poll__question { margin: 0 0 .75rem; font-size: 1.05rem; }
.digibaz-poll__options { list-style: none; margin: 0 0 .75rem; padding: 0; display: grid; gap: .4rem; }
.digibaz-poll__options label { display: flex; gap: .5rem; align-items: flex-start; cursor: pointer; }
.digibaz-poll__submit { border: 0; background: var(--dgbz-purple, var(--db-primary, #7864D8)); color: #fff; font-weight: 700; border-radius: 8px; padding: .45rem 1rem; cursor: pointer; }
.digibaz-poll__results { display: grid; gap: .55rem; margin-top: .5rem; }
.digibaz-poll__bar-label { display: flex; justify-content: space-between; gap: .5rem; font-size: .9rem; }
.digibaz-poll__bar-track { height: 8px; border-radius: 99px; background: var(--dgbz-bg-soft, #f1f5f9); overflow: hidden; }
.digibaz-poll__bar-track i { display: block; height: 100%; width: 0; background: var(--dgbz-purple, var(--db-primary, #7864D8)); }
.digibaz-poll__bar.is-choice .digibaz-poll__bar-track i { background: var(--dgbz-cyan, var(--db-accent, #35B8C5)); }
.digibaz-poll__bar.is-correct .digibaz-poll__bar-track i { background: var(--dgbz-ok, #059669); }
.digibaz-poll__total, .digibaz-poll__msg { margin: .4rem 0 0; font-size: .85rem; color: var(--dgbz-muted, #64748b); }
.digibaz-ad { contain: inline-size; }
