/* ==========================================================================
   BragDeals Auto — Unified Design (ReHub-compatible)
   Inherits ReHub's Roboto font, #111 text, #ddd borders, 4-6px radius.
   We do NOT override font-family — it inherits from ReHub's body rule.
   ========================================================================== */

:root {
	--bd-orange:       #FF6A00;
	--bd-orange-dark:  #E55D00;
	--bd-red:          #d32f2f;
	--bd-gold:         #FFB800;
	--bd-green:        #2e7d32;
	--bd-text:         #111;
	--bd-text-muted:   #777;
	--bd-border:       #ddd;
	--bd-bg:           #f8f8f8;
	--bd-card-bg:      #fff;
	--bd-radius:       4px;
	--bd-radius-sm:    4px;
	--bd-radius-lg:    6px;
	--bd-shadow-sm:    0 1px 3px rgba(0,0,0,.10);
	--bd-shadow:       0 2px 8px rgba(0,0,0,.10);
	--bd-shadow-hover: 0 6px 20px rgba(0,0,0,.14);
	--bd-transition:   .2s ease;
}

/* --------------------------------------------------------------------------
   Layout container
   -------------------------------------------------------------------------- */
.bd-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ==========================================================================
   SOURCE BADGES
   ========================================================================== */
.bd-source-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	line-height: 1.5;
	white-space: nowrap;
}

.bd-source--aliexpress { background: #FF6A00; color: #fff; }
.bd-source--amazon     { background: #FF9900; color: #111; }
.bd-source--temu       { background: #2BA45A; color: #fff; }
.bd-source--ebay       { background: #E53238; color: #fff; }

/* ==========================================================================
   DISCOUNT & HOT DEAL BADGES
   ========================================================================== */
.bd-badge {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 3px 7px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
}

.bd-badge--discount {
	background: #FF9900;
	color: #fff !important;
	font-size: 12px;
	font-weight: 800;
}
.bd-badge--discount.bd-badge--high { background: #E53935; color: #fff !important; }
.bd-badge--discount.bd-badge--lg   { font-size: 13px; padding: 4px 10px; }

.bd-badge--hot {
	background: linear-gradient(135deg, #FF6A00, #E53935);
	color: #fff;
}

/* ==========================================================================
   STAR RATINGS
   ========================================================================== */
.bd-stars {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	line-height: 1;
}

.bd-star--full  { color: var(--bd-gold); font-size: 14px; }
.bd-star--empty { color: #ccc;           font-size: 14px; }

.bd-star--half {
	position: relative;
	font-size: 14px;
	color: #ccc;
}
.bd-star-half-fill {
	position: absolute;
	left: 0; top: 0;
	width: 55%;
	overflow: hidden;
	color: var(--bd-gold);
	display: block;
}
.bd-star-half-empty { display: block; }

.bd-star-score {
	font-size: 12px;
	color: var(--bd-text-muted);
	margin-left: 5px;
	font-weight: 400;
}

/* ==========================================================================
   SHARED PRICE ATOMS
   ========================================================================== */
.bd-price-sale {
	font-size: 1.2em;
	font-weight: 700;
	color: var(--bd-red);
	line-height: 1;
}

.bd-price-original {
	font-size: .875em;
	color: #999 !important;
	text-decoration: line-through !important;
	font-weight: 400;
}

/* ==========================================================================
   TODAY'S DEALS — section wrapper
   ========================================================================== */
.bd-todays-deals { padding: 40px 0; }

.bd-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	flex-wrap: wrap;
	gap: 10px;
}

.bd-section-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: var(--bd-text);
	line-height: 1.2;
}

.bd-section-icon { margin-right: 6px; }

.bd-view-all {
	font-size: .82rem;
	font-weight: 600;
	color: var(--bd-orange);
	text-decoration: none;
	padding: 6px 14px;
	border: 1.5px solid var(--bd-orange);
	border-radius: 3px;
	transition: background var(--bd-transition), color var(--bd-transition);
}
.bd-view-all:hover { background: var(--bd-orange); color: #fff; }

.bd-no-deals {
	color: var(--bd-text-muted);
	font-style: italic;
	padding: 40px 0;
	text-align: center;
}

/* ==========================================================================
   DEALS GRID
   ========================================================================== */
.bd-deals-grid {
	display: grid;
	gap: 16px;
}

.bd-cols-1 { grid-template-columns: 1fr; }
.bd-cols-2 { grid-template-columns: repeat(2, 1fr); }
.bd-cols-3 { grid-template-columns: repeat(3, 1fr); }
.bd-cols-4 { grid-template-columns: repeat(4, 1fr); }
.bd-cols-5 { grid-template-columns: repeat(5, 1fr); }
.bd-cols-6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1100px) { .bd-cols-4,.bd-cols-5,.bd-cols-6 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width:  768px) { .bd-deals-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } }
@media (max-width:  480px) { .bd-deals-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   DEAL CARD  (plugin's own shortcode cards)
   ========================================================================== */
.bd-deal-card {
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-lg);
	box-shadow: var(--bd-shadow-sm);
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	transition: transform var(--bd-transition), box-shadow var(--bd-transition);
}

.bd-deal-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--bd-shadow-hover);
}

.bd-deal-card--hot { border-color: #f0f0f0; }

.bd-deal-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

/* Image */
.bd-deal-card__image-wrap {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--bd-bg);
}

.bd-deal-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.bd-deal-card:hover .bd-deal-card__image { transform: scale(1.05); }

.bd-deal-card__image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 2rem;
	color: #bbb;
}

/* Badge overlay — top-left */
.bd-deal-card__overlay-top {
	position: absolute;
	top: 8px;
	left: 8px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	pointer-events: none;
}

/* Card body */
.bd-deal-card__body {
	flex: 1;
	padding: 10px 12px 6px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.bd-deal-card__body > .bd-source-badge { align-self: flex-start; }

.bd-deal-card__title {
	font-size: .82rem;
	font-weight: 600;
	margin: 0;
	line-height: 1.4;
	color: var(--bd-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.bd-deal-card__prices {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 2px;
}

/* Card footer / CTA */
.bd-deal-card__footer { padding: 8px 12px 12px; }

.bd-shop-btn {
	display: block;
	background: #FFC107;
	color: #111 !important;
	text-align: center;
	padding: 9px 10px;
	border-radius: 4px;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	text-decoration: none;
	transition: background var(--bd-transition), box-shadow var(--bd-transition);
	box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.bd-deal-card:hover .bd-shop-btn {
	background: #FFB300;
	box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

/* ==========================================================================
   ARCHIVE PAGE  (/deals/)
   ========================================================================== */
.bd-archive {
	padding: 30px 0 50px;
	background: var(--bd-bg);
	min-height: 60vh;
}

.bd-archive-header {
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-lg);
	padding: 24px 28px;
	margin-bottom: 24px;
	box-shadow: var(--bd-shadow-sm);
}

.bd-archive-title-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.bd-archive-title {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
	color: var(--bd-text);
}

.bd-archive-count {
	background: var(--bd-orange);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 3px;
}

.bd-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
}

.bd-pill {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 3px;
	font-size: .78rem;
	font-weight: 500;
	color: var(--bd-text-muted);
	background: #fff;
	border: 1px solid var(--bd-border);
	text-decoration: none;
	transition: all var(--bd-transition);
	white-space: nowrap;
}
.bd-pill:hover, .bd-pill--active {
	background: var(--bd-orange);
	color: #fff;
	border-color: var(--bd-orange);
}

.bd-sort-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.bd-sort-label {
	font-size: .78rem;
	font-weight: 600;
	color: var(--bd-text-muted);
	margin-right: 4px;
}

.bd-sort-btn {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 3px;
	font-size: .75rem;
	font-weight: 500;
	color: var(--bd-text-muted);
	background: transparent;
	border: 1px solid var(--bd-border);
	text-decoration: none;
	transition: all var(--bd-transition);
}
.bd-sort-btn:hover, .bd-sort-btn--active {
	background: #111;
	color: #fff;
	border-color: #111;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 8px;
	margin: 0 2px;
	border-radius: 3px;
	border: 1px solid var(--bd-border);
	font-size: .82rem;
	font-weight: 500;
	color: var(--bd-text-muted);
	text-decoration: none;
	transition: all var(--bd-transition);
}
.page-numbers:hover, .page-numbers.current {
	background: var(--bd-orange);
	color: #fff;
	border-color: var(--bd-orange);
}
.bd-archive .page-numbers { margin-top: 30px; }

.bd-archive-empty {
	text-align: center;
	padding: 50px 20px;
	color: var(--bd-text-muted);
}

/* ==========================================================================
   SINGLE DEAL PAGE
   ========================================================================== */
.bd-single-deal {
	padding: 28px 0 56px;
}

/* Breadcrumb */
.bd-breadcrumb {
	font-size: .8rem;
	color: var(--bd-text-muted);
	margin-bottom: 22px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
}
.bd-breadcrumb a { color: var(--bd-orange); text-decoration: none; font-weight: 500; }
.bd-breadcrumb a:hover { text-decoration: underline; }
.bd-breadcrumb span[aria-hidden] { color: #bbb; }

/* Two-column layout */
.bd-product-article {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 36px;
	align-items: start;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-lg);
	padding: 28px;
	box-shadow: var(--bd-shadow-sm);
}

@media (max-width: 900px) {
	.bd-product-article {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 20px;
	}
}

/* Image column */
.bd-product-image-wrap {
	position: relative;
	border-radius: var(--bd-radius);
	overflow: hidden;
	background: var(--bd-bg);
	aspect-ratio: 1 / 1;
	border: 1px solid var(--bd-border);
}

.bd-product-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 3rem;
	color: #ccc;
}

.bd-product-main-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.bd-product-image-wrap:hover .bd-product-main-image { transform: scale(1.03); }

.bd-product-image-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

/* Discount bar */
.bd-discount-bar {
	height: 22px;
	background: #f0f0f0;
	border-radius: 3px;
	overflow: hidden;
	margin-top: 12px;
	border: 1px solid var(--bd-border);
}
.bd-discount-bar__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--bd-orange), #E55D00);
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 50px;
	transition: width .7s ease;
}
.bd-discount-bar__fill span {
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

/* Info column */
.bd-product-meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}

.bd-cat-tag {
	background: #f0f0f0;
	color: #555;
	padding: 2px 9px;
	border-radius: 3px;
	font-size: .72rem;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
	border: 1px solid #ddd;
}
.bd-cat-tag:hover { background: #e5e5e5; color: #111; }

.bd-product-title {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 14px;
	color: var(--bd-text);
}

.bd-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}
.bd-rating-pct {
	font-size: .78rem;
	color: var(--bd-text-muted);
	font-weight: 400;
}

/* Price block */
.bd-price-block {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
	padding: 16px 18px;
	background: var(--bd-bg);
	border-radius: var(--bd-radius);
	border: 1px solid var(--bd-border);
}
.bd-price-block__sale {
	font-size: 2rem;
	font-weight: 700;
	color: var(--bd-red);
	line-height: 1;
}
.bd-price-block__right {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.bd-price-block .bd-price-original { font-size: .95rem; font-weight: 400; }

.bd-price-savings {
	display: inline-block;
	background: #e8f5e9;
	color: #2e7d32;
	padding: 3px 9px;
	border-radius: 3px;
	font-size: .78rem;
	font-weight: 600;
}

/* Buy button — matches ReHub's primary button style */
.bd-buy-button {
	display: block;
	background: var(--bd-orange);
	color: #fff !important;
	text-align: center;
	text-decoration: none !important;
	padding: 14px 20px;
	border-radius: 4px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .02em;
	box-shadow: 0 2px 6px rgba(255,106,0,.3);
	transition: background var(--bd-transition), box-shadow var(--bd-transition);
	margin-bottom: 10px;
}
.bd-buy-button:hover {
	background: var(--bd-orange-dark);
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(255,106,0,.4);
}

.bd-affiliate-notice {
	font-size: .7rem;
	color: #aaa;
	font-weight: 400;
	text-align: center;
	margin: 0 0 20px;
}

/* Trust badges */
.bd-trust-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}
.bd-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .75rem;
	font-weight: 400;
	color: var(--bd-text-muted);
	background: var(--bd-bg);
	border: 1px solid var(--bd-border);
	padding: 5px 10px;
	border-radius: 3px;
}

/* Description */
.bd-product-description {
	border-top: 1px solid var(--bd-border);
	padding-top: 18px;
}
.bd-product-description h2 {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 10px;
	color: var(--bd-text);
}

/* Single-page discount badge */
.bd-sp-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 700;
	background: #E65100;
	color: #fff;
	letter-spacing: .03em;
}
.bd-sp-badge--hot { background: #c62828; }

/* ==========================================================================
   UPSELLS SECTION
   ========================================================================== */
.bd-upsells {
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid var(--bd-border);
}

.bd-upsells-header { margin-bottom: 18px; }

.bd-upsells-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--bd-text);
	margin: 0;
}

/* Force horizontal row — use flex so ReHub can't override the grid layout */
.bd-upsells-grid {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 14px !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 6px;
	/* scrollbar styling */
	scrollbar-width: thin;
	scrollbar-color: #ddd #f8f8f8;
}
.bd-upsells-grid::-webkit-scrollbar { height: 5px; }
.bd-upsells-grid::-webkit-scrollbar-track { background: #f8f8f8; }
.bd-upsells-grid::-webkit-scrollbar-thumb { background: #ddd; border-radius: 99px; }

.bd-upsell-card {
	display: flex !important;
	flex-direction: column !important;
	flex: 0 0 calc(16.666% - 12px) !important;
	min-width: 150px !important;
	max-width: 220px !important;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-lg);
	overflow: hidden;
	transition: transform var(--bd-transition), box-shadow var(--bd-transition);
	box-shadow: var(--bd-shadow-sm);
}

.bd-upsell-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--bd-shadow-hover);
}

.bd-upsell-card--hot { border-color: #f0f0f0; }

/* inner link wraps image + title → product page */
.bd-upsell-card__page-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	text-decoration: none !important;
	color: inherit !important;
}
.bd-upsell-card__page-link:hover { text-decoration: none !important; color: inherit !important; }

.bd-upsell-card__img-wrap {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--bd-bg);
}
.bd-upsell-card__img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}
.bd-upsell-card:hover .bd-upsell-card__img-wrap img { transform: scale(1.05); }

.bd-upsell-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 1.8rem;
	color: #ccc;
}

/* Badge inside upsell image — yellow bg, white text */
.bd-upsell-card__img-wrap .bd-rh-badge {
	position: absolute;
	top: 6px;
	left: 6px;
	background: #FFB300 !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 10px;
	padding: 3px 7px;
	border-radius: 3px;
	line-height: 1.4;
	pointer-events: none;
}

/* Original price in upsell cards */
.bd-rh-price-orig {
	color: #999999 !important;
	text-decoration: line-through !important;
}

.bd-upsell-card__body {
	flex: 1;
	padding: 9px 10px 5px;
}

.bd-upsell-card__title {
	font-size: .76rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--bd-text);
	margin: 0 0 5px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.bd-upsell-card__prices {
	display: flex;
	align-items: baseline;
	gap: 4px;
	flex-wrap: wrap;
}

.bd-upsell-card__footer { padding: 5px 10px 10px; }

.bd-upsell-btn {
	display: block;
	width: 100%;
	background: #FFB300;
	color: #fff !important;
	text-align: center;
	padding: 8px 10px;
	border-radius: 4px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-decoration: none !important;
	box-sizing: border-box;
	transition: background var(--bd-transition);
}
.bd-upsell-btn:hover {
	background: #F9A825;
	color: #fff !important;
	text-decoration: none !important;
}

/* ==========================================================================
   REVIEWS SECTION — light, ReHub-style typography
   ========================================================================== */
.bd-reviews {
	margin-top: 40px;
	padding: 28px;
	background: #fff;
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-lg);
	box-shadow: var(--bd-shadow-sm);
}

.bd-reviews-header { margin-bottom: 20px; }

.bd-reviews-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--bd-text);
	margin: 0;
}

/* Summary / bar chart */
.bd-reviews-summary {
	display: flex;
	align-items: flex-start;
	gap: 28px;
	padding: 20px;
	background: var(--bd-bg);
	border-radius: var(--bd-radius);
	border: 1px solid var(--bd-border);
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.bd-reviews-summary__score {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	min-width: 80px;
}

.bd-reviews-summary__avg {
	font-size: 2.6rem;
	font-weight: 700;
	color: var(--bd-text);
	line-height: 1;
}

.bd-reviews-summary__count {
	font-size: .72rem;
	color: var(--bd-text-muted);
	font-weight: 400;
	text-align: center;
}

.bd-reviews-summary__bars {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 180px;
}

.bd-review-bar-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.bd-review-bar-label {
	font-size: .75rem;
	color: var(--bd-text-muted);
	font-weight: 400;
	width: 34px;
	flex-shrink: 0;
	text-align: right;
}

.bd-review-bar-track {
	flex: 1;
	height: 8px;
	background: #e8e8e8;
	border-radius: 99px;
	overflow: hidden;
}

.bd-review-bar-fill {
	height: 100%;
	background: #FFB800;
	border-radius: 99px;
	transition: width .5s ease;
}

.bd-review-bar-pct {
	font-size: .7rem;
	color: var(--bd-text-muted);
	font-weight: 400;
	width: 30px;
	flex-shrink: 0;
}

/* Individual review cards */
.bd-reviews-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 24px;
}

.bd-reviews-empty {
	color: var(--bd-text-muted);
	font-style: italic;
	font-weight: 400;
	padding: 14px 0;
	text-align: center;
}

.bd-review-card {
	background: var(--bd-bg);
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	padding: 16px 18px;
}

.bd-review-card--new {
	border-color: var(--bd-orange);
	animation: bd-review-pop .35s ease;
}

@keyframes bd-review-pop {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

.bd-review-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
	flex-wrap: wrap;
	gap: 5px;
}

.bd-review-card__stars { font-size: .95rem; letter-spacing: 2px; }

.bd-review-verified {
	font-size: .7rem;
	font-weight: 500;
	color: #2e7d32;
	background: #e8f5e9;
	padding: 2px 7px;
	border-radius: 3px;
}

.bd-review-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.bd-review-card__name {
	font-size: .82rem;
	font-weight: 600;
	color: var(--bd-text);
}

.bd-review-card__date {
	font-size: .72rem;
	color: var(--bd-text-muted);
	font-weight: 400;
}

.bd-review-card__text {
	font-size: .875rem;
	font-weight: 400;
	color: #444;
	line-height: 1.65;
	margin: 0;
}

/* Write a Review */
.bd-review-form-wrap { border-top: 1px solid var(--bd-border); padding-top: 20px; }

.bd-review-form-toggle {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 9px 18px;
	border-radius: 4px;
	border: 1.5px solid var(--bd-orange);
	background: transparent;
	color: var(--bd-orange);
	font-size: .82rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--bd-transition), color var(--bd-transition);
}
.bd-review-form-toggle:hover { background: var(--bd-orange); color: #fff; }

.bd-review-form {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bd-review-form__field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.bd-review-form__field label {
	font-size: .8rem;
	font-weight: 600;
	color: #333;
}

.bd-review-form__field input[type="text"],
.bd-review-form__field textarea {
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius);
	padding: 9px 12px;
	font-size: .875rem;
	font-weight: 400;
	font-family: inherit;
	color: var(--bd-text);
	background: #fff;
	transition: border-color var(--bd-transition);
	width: 100%;
	box-sizing: border-box;
}
.bd-review-form__field input[type="text"]:focus,
.bd-review-form__field textarea:focus {
	outline: none;
	border-color: var(--bd-orange);
	box-shadow: 0 0 0 2px rgba(255,106,0,.12);
}

/* Star input */
.bd-star-input { display: flex; gap: 4px; }
.bd-star-btn {
	background: none;
	border: none;
	font-size: 1.5rem;
	color: #ccc;
	cursor: pointer;
	padding: 0;
	transition: color .1s, transform .1s;
	line-height: 1;
}
.bd-star-btn:hover { transform: scale(1.12); }

/* Review messages */
.bd-review-msg {
	padding: 9px 14px;
	border-radius: var(--bd-radius);
	font-size: .82rem;
	font-weight: 400;
}
.bd-review-msg--success {
	background: #e8f5e9;
	color: #2e7d32;
	border: 1px solid #a5d6a7;
}
.bd-review-msg--error {
	background: #fdecea;
	color: #c62828;
	border: 1px solid #ef9a9a;
}

.bd-review-submit {
	align-self: flex-start;
	padding: 10px 24px;
	background: var(--bd-orange);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: .875rem;
	font-weight: 700;
	cursor: pointer;
	transition: background var(--bd-transition);
}
.bd-review-submit:hover:not(:disabled) { background: var(--bd-orange-dark); }
.bd-review-submit:disabled { opacity: .6; cursor: not-allowed; }

/* ==========================================================================
   ARCHIVE / CATEGORY CARD INJECTION  (render_block + JS bridge fallback)
   .bd-arc-* classes are injected server-side after the post title on
   category archive pages for each post that has _bd_product_id meta.
   ========================================================================== */
.bd-arc-deal {
	padding: 5px 10px 8px;
}

.bd-arc-prices {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 5px;
}

.bd-arc-price-sale {
	font-size: .95rem;
	font-weight: 700;
	color: #d32f2f;
	line-height: 1.2;
}

.bd-arc-price-orig {
	font-size: .8rem;
	color: #999 !important;
	text-decoration: line-through !important;
	font-weight: 400;
}

.bd-arc-badge {
	display: inline-block;
	background: #FF6A00;
	color: #fff !important;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 3px;
	line-height: 1.4;
	letter-spacing: .03em;
}

.bd-arc-btn {
	display: block;
	background: #FF6A00;
	color: #fff !important;
	text-align: center;
	padding: 8px 10px;
	border-radius: 4px;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-decoration: none !important;
	box-shadow: 0 1px 4px rgba(255,106,0,.25);
	transition: background .18s;
	box-sizing: border-box;
}

.bd-arc-btn:hover {
	background: #E55D00;
	color: #fff !important;
	text-decoration: none !important;
}

/* ==========================================================================
   EXCERPT FILTER INJECTION  (get_the_excerpt hook — works with all
   ReHub card templates, classic PHP loops, and Gutenberg blocks)
   ========================================================================== */
.bd-exc-deal {
	padding: 5px 10px 8px;
	margin-top: 4px;
}

.bd-exc-prices {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 5px;
}

.bd-exc-price-sale {
	font-size: .95rem;
	font-weight: 700;
	color: #d32f2f;
	line-height: 1.2;
}

.bd-exc-price-orig {
	font-size: .8rem;
	color: #999 !important;
	text-decoration: line-through !important;
	font-weight: 400;
}

.bd-exc-badge {
	display: inline-block;
	background: #FF6A00;
	color: #fff !important;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 3px;
	line-height: 1.4;
	letter-spacing: .03em;
}

.bd-exc-btn {
	display: block;
	background: #FF6A00;
	color: #fff !important;
	text-align: center;
	padding: 8px 10px;
	border-radius: 4px;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-decoration: none !important;
	box-shadow: 0 1px 4px rgba(255,106,0,.25);
	transition: background .18s;
	box-sizing: border-box;
	margin-top: 2px;
}

.bd-exc-btn:hover {
	background: #E55D00;
	color: #fff !important;
	text-decoration: none !important;
}

/* ==========================================================================
   [bragdeals_grid] SHORTCODE WRAPPER
   Cards reuse existing .bd-deal-card + .bd-deals-grid + .bd-cols-* classes.
   ========================================================================== */
.bd-grid-sc {
	margin: 24px 0;
}

.bd-grid-sc .bd-section-header {
	margin-bottom: 18px;
}
