/**
 * Bright Chaos Engine — public shortcode styles.
 *
 * Used by the [bce_*] shortcodes and the HTML inserted into generated drafts.
 * Palette values are hardcoded (not CSS vars) because these elements can land
 * anywhere inside theme content, with no guaranteed scoping ancestor.
 *
 * @package BrightChaosEngine
 */

/* Product card ------------------------------------------------------------ */
.bce-card {
	background: #FFFFFF;
	border: 1px solid #E5E0D8;
	border-radius: 12px;
	overflow: hidden;
	max-width: 520px;
	margin: 0 0 24px;
	box-shadow: 0 1px 3px rgba( 25, 23, 20, .06 );
}
.bce-card__image { display: block; width: 100%; height: auto; }
.bce-card__body { padding: 16px 18px; }
.bce-card__title { margin: 0 0 6px; font-size: 20px; line-height: 1.25; color: #191714; }
.bce-card__hook { margin: 0 0 12px; color: #3A2A3F; font-size: 15px; }
.bce-card__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.bce-card__price { font-weight: 800; color: #191714; font-size: 15px; }
.bce-card__rating { color: #DD6B20; font-weight: 700; }

/* Buttons ----------------------------------------------------------------- */
.bce-btn {
	display: inline-block;
	background: #3A2A3F;
	color: #fff;
	border-radius: 999px;
	padding: 10px 22px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.4;
	transition: transform .08s ease, filter .15s ease;
}
.bce-btn:hover { filter: brightness( 1.08 ); transform: translateY( -1px ); color: #fff; }
.bce-btn--lime { background: #C9F53F; color: #191714; }
.bce-btn--lime:hover { color: #191714; }
.bce-btn--lg { padding: 14px 30px; font-size: 18px; }
.bce-btn--sm { padding: 6px 14px; font-size: 13px; }

/* CTA block --------------------------------------------------------------- */
.bce-cta {
	background: #3A2A3F;
	color: #fff;
	border-radius: 12px;
	padding: 22px 24px;
	margin: 24px 0;
	text-align: center;
}
.bce-cta p { margin: 0 0 14px; font-size: 17px; }

/* Verdict badge ----------------------------------------------------------- */
.bce-badge {
	display: inline-block;
	border-radius: 999px;
	padding: 4px 14px;
	font-size: 13px;
	font-weight: 800;
	border: 2px solid #191714;
	background: #fff;
	white-space: nowrap;
}
.bce-badge--obsessed { background: #C9F53F; }
.bce-badge--budget_win { background: #cdeffd; }
.bce-badge--worth_look { background: #fff3cd; }
.bce-badge--skip_it { background: #fde0e0; color: #E53E3E; border-color: #E53E3E; }
.bce-badge--overhyped { background: #ffe9d6; color: #DD6B20; border-color: #DD6B20; }
.bce-badge--researched { background: #ece6ef; }

/* Quick verdict callout (in generated drafts) ----------------------------- */
.bce-quick-verdict {
	background: #FBF7F0;
	border-left: 4px solid #C9F53F;
	border-radius: 8px;
	padding: 14px 18px;
	margin: 18px 0;
	font-size: 16px;
}

/* Affiliate disclosure ---------------------------------------------------- */
.bce-disclosure {
	background: #FBF7F0;
	border: 1px solid #E5E0D8;
	border-radius: 8px;
	padding: 10px 14px;
	margin: 0 0 20px;
	font-size: 13px;
	color: #6b6258;
}

/* Comparison table -------------------------------------------------------- */
.bce-table-wrap { overflow-x: auto; margin: 0 0 24px; }
.bce-compare {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #E5E0D8;
	border-radius: 12px;
	overflow: hidden;
}
.bce-compare th,
.bce-compare td {
	padding: 12px 14px;
	border-bottom: 1px solid #E5E0D8;
	text-align: left;
	vertical-align: middle;
	font-size: 14px;
}
.bce-compare thead th {
	background: #3A2A3F;
	color: #fff;
	font-weight: 700;
}
.bce-compare tbody tr:nth-child( even ) { background: #faf6ee; }

/* FYP finds grid ---------------------------------------------------------- */
.bce-grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 240px, 1fr ) );
	gap: 18px;
	margin: 0 0 24px;
}
.bce-grid .bce-card { margin: 0; max-width: none; }
