.bcpc-description {
	color: inherit;
	font: inherit;
}

.bcpc-description__excerpt > :first-child,
.bcpc-description__full > :first-child {
	margin-top: 0;
}

.bcpc-description__excerpt > :last-child,
.bcpc-description__full > :last-child {
	margin-bottom: 0;
}

.bcpc-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
	background: #ff4f40;
	color: #fff;
}

.bcpc-toggle:hover,
.bcpc-toggle:focus-visible {
	opacity: 0.75;
	background: #ff4f40;
	color: #fff;
}

.bcpc-toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
	background: #ff4f40;
	color: #fff;
}

.bcpc-toggle__icon {
	width: 8px;
	height: 8px;
	border-right: 0;
	border-bottom: 0;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}

.bcpc-toggle[aria-expanded="true"] .bcpc-toggle__icon {
	transform: translateY(2px) rotate(225deg);
}

.bcpc-reviews {
	width: 100%;
}

.bcpc-reviews__title {
	margin: 0 0 24px;
}

.bcpc-reviews .commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bcpc-reviews .commentlist > li {
	margin: 0 0 20px;
	padding: 20px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
}

.bcpc-reviews .comment_container {
	display: flow-root;
}

.bcpc-reviews .avatar {
	float: left;
	width: 48px;
	height: 48px;
	margin-right: 16px;
	border-radius: 50%;
}

.bcpc-reviews .comment-text {
	overflow: hidden;
}

.bcpc-reviews .star-rating {
	margin-bottom: 8px;
}

.bcpc-review-form {
	margin-top: 32px;
}

.bcpc-review-form__body[hidden] {
	display: none !important;
}

.bcpc-review-form__toggle {
	display: inline-block;
	padding: 12px 22px;
	border: 0;
	border-radius: 8px;
	background: #ff4f40;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.bcpc-review-form__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.bcpc-review-form__body {
	margin-top: 20px;
}

.bcpc-review-form .comment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.bcpc-review-form .comment-form > p,
.bcpc-review-form .comment-form > div {
	margin: 0;
}

.bcpc-review-form .comment-form-rating,
.bcpc-review-form .comment-form-comment,
.bcpc-review-form .comment-form-cookies-consent,
.bcpc-review-form .form-submit,
.bcpc-review-form .logged-in-as {
	grid-column: 1 / -1;
}

.bcpc-review-form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.bcpc-review-form input[type="text"],
.bcpc-review-form input[type="email"],
.bcpc-review-form select,
.bcpc-review-form textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.bcpc-review-form .comment-form-cookies-consent label {
	display: inline;
	font-weight: 400;
}

.bcpc-message,
.bcpc-no-reviews {
	padding: 12px 16px;
	border-left: 3px solid currentColor;
	background: rgba(0, 0, 0, 0.04);
}

@media (max-width: 640px) {
	.bcpc-review-form .comment-form {
		grid-template-columns: 1fr;
	}

	.bcpc-review-form .comment-form > * {
		grid-column: 1;
	}
}

/* Customer photo strip and review carousel. */
.bcpc-rating-summary { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:#666; font-size:16px; }
.bcpc-rating-summary__score { color:#222; font-size:30px; line-height:1; }
.bcpc-rating-summary__stars,.bcpc-dialog__summary strong { color:#078b57; font-size:24px; }
.bcpc-media-gallery { display:flex; gap:10px; overflow-x:auto; padding:2px 2px 12px; margin-bottom:20px; scrollbar-width:thin; }
.bcpc-media-tile { position:relative; flex:0 0 145px; height:145px; overflow:hidden; padding:0; border:0; border-radius:10px; background:#eee; cursor:pointer; }
.bcpc-media-tile img,.bcpc-media-tile video { width:100%; height:100%; object-fit:cover; display:block; }
.bcpc-media-tile__play { position:absolute; left:10px; bottom:10px; padding:7px 10px; border-radius:7px; background:rgba(255,255,255,.92); color:#222; }
.bcpc-media-tile__more { position:absolute; inset:0; display:grid; place-items:center; background:rgba(0,0,0,.55); color:#fff; font-size:24px; }
.bcpc-media-view-all { flex:0 0 145px; border:1px solid #ddd; border-radius:10px; background:#fff; color:inherit; cursor:pointer; font:inherit; }
.bcpc-reviews__list { display:flex; gap:16px; overflow-x:auto; padding:2px 2px 16px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.bcpc-review-card { box-sizing:border-box; flex:0 0 min(440px, 82vw); min-height:210px; padding:22px; border-radius:18px; background:#f4f4f4; scroll-snap-align:start; }
.bcpc-review-card__top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; color:#777; font-size:14px; }
.bcpc-review-card__rating { padding:5px 9px; border-radius:6px; background:#fff; color:#222; font-weight:700; }
.bcpc-review-card__content { margin-bottom:18px; color:#333; line-height:1.6; overflow-wrap:anywhere; }
.bcpc-review-card__content p { margin:0; }
.bcpc-review-card__author { color:#444; font-weight:600; }
.bcpc-review-card__media { display:flex; gap:8px; margin:12px 0; overflow-x:auto; }
.bcpc-review-card__media img,.bcpc-review-card__media video { width:72px; height:72px; flex:0 0 72px; border-radius:8px; object-fit:cover; }
.bcpc-view-all { display:flex; align-items:center; justify-content:center; gap:14px; width:100%; margin:16px 0 0; padding:18px; border:1px solid #d7d7d7; border-radius:14px; background:#fff; color:inherit; font:inherit; font-size:20px; font-weight:700; cursor:pointer; }
.bcpc-view-all span { font-size:30px; line-height:20px; }
.bcpc-dialog { box-sizing:border-box; width:min(920px, calc(100vw - 28px)); max-width:none; max-height:88vh; padding:0; border:0; border-radius:16px; color:#222; background:#fff; box-shadow:0 20px 80px rgba(0,0,0,.3); }
.bcpc-dialog::backdrop { background:rgba(0,0,0,.62); }
.bcpc-dialog[open] { display:block; }
.bcpc-dialog__header { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; background:#fff; border-bottom:1px solid #eee; }
.bcpc-dialog__header h2 { margin:0; font-size:24px; }
.bcpc-dialog__close { width:40px; height:40px; border:0; border-radius:50%; background:#f2f2f2; color:#222; font-size:28px; line-height:1; cursor:pointer; }
.bcpc-dialog__body { padding:20px 24px 26px; overflow:auto; }
.bcpc-dialog__summary { display:flex; align-items:center; gap:14px; margin-bottom:20px; color:#666; }
.bcpc-dialog__gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; margin-bottom:24px; }
.bcpc-dialog__media { min-width:0; color:#666; font-size:13px; }
.bcpc-dialog__media img,.bcpc-dialog__media video { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:9px; background:#eee; }
.bcpc-dialog__media span { display:block; padding-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bcpc-dialog__reviews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bcpc-dialog__reviews .bcpc-review-card { width:auto; min-height:0; }
.bcpc-upload-field small { display:block; margin-top:6px; color:#666; }
.bcpc-upload-field input[type=file] { display:block; max-width:100%; }
@media(max-width:640px) {
 .bcpc-media-tile,.bcpc-media-view-all { flex-basis:112px; height:112px; }
 .bcpc-review-card { flex-basis:86vw; padding:18px; }
 .bcpc-dialog__header,.bcpc-dialog__body { padding-left:16px; padding-right:16px; }
 .bcpc-dialog__reviews { grid-template-columns:1fr; }
 .bcpc-view-all { font-size:17px; }
}
