:root { --cbc-color: #e11d48; }

/* ---------- Notice under the price ---------- */
.cbc-notice {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 12px 0 18px;
	padding: 12px 14px;
	border: 1.5px dashed var(--cbc-color);
	border-radius: 12px;
	background: color-mix(in srgb, var(--cbc-color) 6%, #fff);
	line-height: 1.6;
	font-size: 14px;
}
.cbc-notice__pct {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 58px;
	height: 58px;
	padding: 0 6px;
	border-radius: 50%;
	background: var(--cbc-color);
	color: #fff;
	font-weight: 800;
	font-size: 18px;
	direction: ltr;
}
.cbc-notice__body { flex: 1 1 auto; min-width: 0; }
.cbc-notice__title { font-weight: 700; font-size: 15px; color: #111; }
.cbc-notice__line { color: #444; font-size: 13px; }
.cbc-notice__line strong { color: var(--cbc-color); }

.cbc-notice__code {
	flex: 0 0 auto;
	position: relative;
	padding: 8px 12px;
	border: 1px solid var(--cbc-color);
	border-radius: 8px;
	background: #fff;
	color: var(--cbc-color);
	font-family: ui-monospace, Menlo, Consolas, monospace;
	font-weight: 700;
	letter-spacing: .5px;
	cursor: pointer;
	direction: ltr;
	line-height: 1.2;
}
.cbc-notice__code:hover { background: var(--cbc-color); color: #fff; }
.cbc-notice__copied { display: none; font-family: inherit; }
.cbc-notice__code.is-copied .cbc-notice__code-text { display: none; }
.cbc-notice__code.is-copied .cbc-notice__copied { display: inline; }

@media (max-width: 480px) {
	.cbc-notice { flex-wrap: wrap; }
	.cbc-notice__code { width: 100%; }
}

/* ---------- Badge on product cards ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-grid__product { position: relative; }

.cbc-badge {
	position: absolute;
	top: 10px;
	z-index: 9;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--cbc-color);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
	pointer-events: none;
}
.cbc-badge--right { right: 10px; }
.cbc-badge--left  { left: 10px; }

/* Shortcode version sits inline instead of floating. */
.cbc-badge-inline .cbc-badge { position: static; display: inline-block; }
