.cmsb-ad,
.cmsb-ad-group,
.cmsb-product-box {
	box-sizing: border-box;
	margin: 1.25rem 0;
}

.cmsb-ad-group {
	display: grid;
	gap: 1rem;
}

.cmsb-ad-content {
	display: block;
}

.cmsb-ad-link {
	color: inherit;
	text-decoration: none;
}

.cmsb-product-box {
	align-items: stretch;
	border: 1px solid #d8dee4;
	border-radius: 8px;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(120px, 180px) 1fr;
	padding: 1rem;
}

.cmsb-product-box.cmsb-template-compact {
	gap: .75rem;
	grid-template-columns: 1fr;
	padding: .85rem;
}

.cmsb-product-box.cmsb-template-compact .cmsb-product-title {
	font-size: 1.05rem;
}

.cmsb-product-box.cmsb-template-compact .cmsb-product-description {
	font-size: .95rem;
}

.cmsb-product-box.cmsb-template-featured {
	border-width: 2px;
	gap: 1.1rem;
	grid-template-columns: 1fr;
	padding: 1.25rem;
}

.cmsb-product-box.cmsb-template-featured .cmsb-product-title {
	font-size: 1.45rem;
}

.cmsb-product-box.cmsb-template-featured .cmsb-product-button {
	display: block;
	text-align: center;
}

.cmsb-product-box.cmsb-template-featured .cmsb-product-media {
	background: #f6f8fa;
	border-radius: 6px;
	min-height: 140px;
}

.cmsb-product-media {
	align-items: center;
	display: flex;
	justify-content: center;
}

.cmsb-product-image {
	height: auto;
	max-width: 100%;
}

.cmsb-product-content {
	min-width: 0;
}

.cmsb-product-title {
	font-size: 1.25rem;
	line-height: 1.3;
	margin: 0 0 .5rem;
}

.cmsb-product-badge {
	background: #0f766e;
	border-radius: 999px;
	color: #fff;
	display: inline-block;
	font-size: .8rem;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 .5rem;
	padding: .35rem .55rem;
}

.cmsb-product-rating,
.cmsb-product-price {
	font-weight: 700;
	margin: .5rem 0;
}

.cmsb-product-list {
	margin: .75rem 0;
}

.cmsb-product-list ul {
	margin: .35rem 0 0 1.15rem;
	padding: 0;
}

.cmsb-product-list li {
	margin: .2rem 0;
}

.cmsb-product-button {
	background: #1f6feb;
	border-radius: 6px;
	color: #fff;
	display: inline-block;
	font-weight: 700;
	line-height: 1.2;
	margin-top: .75rem;
	padding: .7rem 1rem;
	text-decoration: none;
}

.cmsb-product-button:hover,
.cmsb-product-button:focus {
	background: #174ea6;
	color: #fff;
}

.cmsb-product-disclaimer {
	color: #646970;
	font-size: .85rem;
	line-height: 1.45;
	margin-top: .75rem;
}

.cmsb-comparison {
	box-sizing: border-box;
	margin: 1.5rem 0;
}

.cmsb-comparison-table {
	border-collapse: collapse;
	width: 100%;
}

.cmsb-comparison-table th,
.cmsb-comparison-table td {
	border: 1px solid #d8dee4;
	padding: .75rem;
	text-align: left;
	vertical-align: top;
}

.cmsb-comparison-table thead th {
	background: #f6f8fa;
}

.cmsb-is-highlighted {
	background: #ecfdf5;
}

.cmsb-comparison-cards {
	display: none;
	gap: 1rem;
}

.cmsb-comparison-card {
	border: 1px solid #d8dee4;
	border-radius: 8px;
	padding: 1rem;
}

.cmsb-comparison-card h3 {
	margin-top: 0;
}

.cmsb-plain-list {
	margin: 0 0 0 1.15rem;
	padding: 0;
}

.cmsb-bestseller-list {
	box-sizing: border-box;
	margin: 1.5rem 0;
}

.cmsb-bestseller-title {
	font-size: 1.35rem;
	line-height: 1.25;
	margin: 0 0 1rem;
}

.cmsb-bestseller-items {
	display: grid;
	gap: .75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cmsb-bestseller-item {
	align-items: center;
	border: 1px solid #d8dee4;
	border-radius: 8px;
	display: grid;
	gap: .85rem;
	grid-template-columns: 2.25rem 1fr;
	padding: .85rem;
}

.cmsb-bestseller-rank {
	align-items: center;
	background: #f6f8fa;
	border-radius: 999px;
	display: flex;
	font-weight: 700;
	height: 2.25rem;
	justify-content: center;
	width: 2.25rem;
}

.cmsb-bestseller-content h3 {
	font-size: 1.05rem;
	line-height: 1.3;
	margin: 0 0 .35rem;
}

.cmsb-bestseller-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .75rem;
	margin: 0 0 .5rem;
}

.cmsb-deals-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	margin: 1.5rem 0;
}

.cmsb-deal-card {
	border: 1px solid #d8dee4;
	border-radius: 8px;
	display: grid;
	overflow: hidden;
}

.cmsb-deal-media {
	align-items: center;
	background: #f6f8fa;
	display: flex;
	justify-content: center;
	min-height: 150px;
}

.cmsb-deal-media img,
.cmsb-deal-image {
	height: auto;
	max-width: 100%;
}

.cmsb-deal-content {
	padding: 1rem;
}

.cmsb-deal-provider {
	color: #646970;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.cmsb-deal-title {
	font-size: 1.1rem;
	line-height: 1.3;
	margin: .25rem 0 .5rem;
}

.cmsb-deal-prices {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .55rem;
	margin: .5rem 0;
}

.cmsb-deal-price {
	font-size: 1.15rem;
}

.cmsb-deal-old-price {
	color: #646970;
	text-decoration: line-through;
}

.cmsb-deal-discount {
	background: #ecfdf5;
	border-radius: 999px;
	color: #047857;
	font-size: .8rem;
	font-weight: 700;
	padding: .25rem .45rem;
}

.cmsb-amazon-textlink {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: .15em;
}

.cmsb-amazon-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	margin: 1.5rem 0;
}

.cmsb-amazon-grid .cmsb-product-box {
	height: 100%;
	margin: 0;
}

.cmsb-amazon-table-wrap {
	margin: 1.5rem 0;
	overflow-x: auto;
}

.cmsb-amazon-table {
	border-collapse: collapse;
	min-width: 640px;
	width: 100%;
}

.cmsb-amazon-table th,
.cmsb-amazon-table td {
	border: 1px solid #d8dee4;
	padding: .75rem;
	text-align: left;
	vertical-align: middle;
}

.cmsb-amazon-table thead th {
	background: #f6f8fa;
	font-weight: 700;
}

.cmsb-amazon-table .cmsb-product-badge {
	display: inline-block;
	margin-left: .4rem;
}

@media (max-width: 640px) {
	.cmsb-product-box {
		grid-template-columns: 1fr;
	}

	.cmsb-comparison-table {
		display: none;
	}

	.cmsb-comparison-cards {
		display: grid;
	}

	.cmsb-bestseller-item {
		align-items: start;
	}
}
.cmsb-amazon-catalog:not(.cmsb-amazon-template-table) {
	display: grid;
	grid-template-columns: repeat(var(--cmsb-amazon-columns, 1), minmax(0, 1fr));
	gap: 1rem;
}

.cmsb-amazon-catalog-item {
	position: relative;
}

.cmsb-product-sale-badge {
	position: absolute;
	top: .75rem;
	right: .75rem;
	z-index: 2;
	padding: .25rem .5rem;
	border-radius: .25rem;
	background: #b91c1c;
	color: #fff;
	font-size: .8rem;
	font-weight: 700;
}

.cmsb-amazon-catalog-item .cmsb-product-title a {
	color: inherit;
	text-decoration: none;
}

.cmsb-amazon-catalog-item .cmsb-product-features {
	margin: .75rem 0;
	padding-left: 1.25rem;
}

.cmsb-amazon-catalog-item .cmsb-product-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}

.cmsb-product-detail-button {
	display: inline-flex;
	padding: .65rem 1rem;
	border: 1px solid currentColor;
	border-radius: .35rem;
	text-decoration: none;
}

.cmsb-amazon-template-vertical .cmsb-amazon-catalog-item,
.cmsb-amazon-template-widget-vertical .cmsb-amazon-catalog-item {
	text-align: center;
}

.cmsb-amazon-template-list .cmsb-amazon-catalog-item,
.cmsb-amazon-template-widget-small .cmsb-amazon-catalog-item {
	display: grid;
	grid-template-columns: minmax(90px, 24%) 1fr;
	gap: 1rem;
}

.cmsb-amazon-style-light .cmsb-amazon-catalog-item {
	background: #fff;
	box-shadow: none;
}

.cmsb-amazon-style-dark .cmsb-amazon-catalog-item {
	background: #172033;
	color: #fff;
}

@media (max-width: 900px) {
	.cmsb-amazon-catalog:not(.cmsb-amazon-template-table) {
		grid-template-columns: repeat(min(var(--cmsb-amazon-columns, 1), 2), minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.cmsb-amazon-catalog:not(.cmsb-amazon-template-table),
	.cmsb-amazon-template-list .cmsb-amazon-catalog-item,
	.cmsb-amazon-template-widget-small .cmsb-amazon-catalog-item {
		grid-template-columns: 1fr;
	}
}
.cmsb-amazon-link-icon {
	display: inline-block;
	margin-right: .35em;
}

.cmsb-amazon-link-icon-amazon-logo {
	font-weight: 700;
}

.cmsb-amazon-rating-link {
	color: inherit;
	text-decoration: none;
}

.cmsb-pro-ad { position: relative; z-index: 9990; }
.cmsb-ad-close { position: absolute; z-index: 2; top: .35rem; right: .35rem; width: 2rem; height: 2rem; border: 0; border-radius: 50%; background: rgba(0,0,0,.72); color: #fff; font-size: 1.3rem; cursor: pointer; }
.cmsb-format-sticky-top,.cmsb-format-sticky-bottom { position: fixed; left: 50%; transform: translateX(-50%); max-width: min(100%,970px); width: max-content; }
.cmsb-format-sticky-top { top: 0; }
.cmsb-format-sticky-bottom { bottom: 0; }
.cmsb-format-popup,.cmsb-format-interstitial { position: fixed; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.cmsb-format-popup { right: 1rem; bottom: 1rem; max-width: min(420px,calc(100vw - 2rem)); }
.cmsb-format-interstitial { inset: 0; display: grid; place-items: center; background: rgba(0,0,0,.68); }
.cmsb-format-popup.cmsb-pro-ad-visible,.cmsb-format-interstitial.cmsb-pro-ad-visible { opacity: 1; pointer-events: auto; }
.cmsb-format-parallax { min-height: 320px; overflow: hidden; background-attachment: fixed; background-position: center; background-size: cover; }
.cmsb-format-slider .cmsb-ad-group-item { display: none; }
.cmsb-format-slider .cmsb-ad-group-item:first-child { display: block; }
.cmsb-ad-remote iframe { display: block; width: 100%; min-height: 250px; border: 0; }
.cmsb-background-ad-link { position: fixed; inset: 0; z-index: 0; }
.cmsb-background-ad-link ~ * { position: relative; z-index: 1; }
.cmsb-ad-grid { display: grid; grid-template-columns: repeat(var(--cmsb-ad-grid-columns,3),minmax(0,1fr)); gap: 1rem; }
.cmsb-fixed-widget { position: sticky; top: 2rem; }
@media (max-width: 700px) { .cmsb-ad-grid { grid-template-columns: 1fr; } }
