/**
 * BD Photo Reviews — .espt-block-bd-photo-reviews (.bdg37)
 * vars: --cols --gap --radius --title-size --text-size --who-size --star-size
 *       --title-color --star-color --text-color --who-color
 *       --card-bg --card-line --badge-bg --badge-color
 * classes: is-design-{cards|soft|overlay|polaroid|masonry|mosaic|strip|tiles}
 *          is-ratio-{square|portrait|tall|wide|natural} is-zoom/no-zoom
 *          is-frame/no-frame is-text-align-* is-cap-align-*
 *          is-verified-style-{icon|full|off} is-lb-theme-{dark|light}
 * Mobile-first: base ≤767px, then 768px / 1024px.
 */

.espt-block-bd-photo-reviews .bdg37 {
	color: var(--bd-ink);
	min-width: 0;
}

.espt-block-bd-photo-reviews .espt-block-note {
	background: var(--bd-soft);
	border: 1px dashed var(--bd-soft-line);
	border-radius: 10px;
	color: var(--bd-muted);
	font-size: 13px;
	margin: 0;
	padding: 12px 14px;
}

/* ------------------------------------------------------------- heading */
.espt-block-bd-photo-reviews .bdg37-head {
	margin: 0 0 14px;
	min-width: 0;
	text-align: left;
}

.espt-block-bd-photo-reviews.is-text-align-center .bdg37-head { text-align: center; }
.espt-block-bd-photo-reviews.is-text-align-right .bdg37-head { text-align: right; }

.espt-block-bd-photo-reviews .bdg37-h {
	color: var(--title-color, var(--bd-ink));
	font-size: var(--title-size, 19px);
	font-weight: 800;
	line-height: 1.28;
	margin: 0;
	overflow-wrap: anywhere;
}

.espt-block-bd-photo-reviews .bdg37-sh {
	color: var(--bd-muted);
	font-size: 13.5px;
	line-height: 1.5;
	margin: 5px 0 0;
	overflow-wrap: anywhere;
}

/* --------------------------------------------------------------- stars */
.espt-block-bd-photo-reviews .bdg37-st {
	display: inline-block;
	font-size: var(--star-size, 13px);
	letter-spacing: 1.5px;
	line-height: 1;
	position: relative;
	white-space: nowrap;
}

.espt-block-bd-photo-reviews .bdg37-st-e { color: var(--bd-line); }

.espt-block-bd-photo-reviews .bdg37-st-f {
	color: var(--star-color, var(--bd-accent));
	inset: 0 auto 0 0;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
}

.espt-block-bd-photo-reviews .bdg37-st-lg { font-size: calc(var(--star-size, 13px) * 1.4); }

/* --------------------------------------------------------- summary bar */
.espt-block-bd-photo-reviews .bdg37-sum {
	align-items: center;
	background: var(--bd-soft);
	border: 1px solid var(--bd-soft-line);
	border-radius: var(--radius, 12px);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 0 0 14px;
	min-width: 0;
	padding: 11px 13px;
}

.espt-block-bd-photo-reviews .bdg37-sum-l {
	align-items: baseline;
	display: flex;
	flex: 0 0 auto;
	gap: 3px;
}

.espt-block-bd-photo-reviews .bdg37-avg {
	color: var(--bd-ink);
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
}

.espt-block-bd-photo-reviews .bdg37-out {
	color: var(--bd-muted);
	font-size: 13px;
	font-weight: 700;
}

.espt-block-bd-photo-reviews .bdg37-sum-m {
	display: flex;
	flex: 1 1 150px;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.espt-block-bd-photo-reviews .bdg37-sum-t {
	color: var(--bd-body);
	font-size: 13px;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.espt-block-bd-photo-reviews .bdg37-sum-n {
	color: var(--bd-muted);
	font-size: 11.5px;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.espt-block-bd-photo-reviews .bdg37-sum-b {
	align-items: center;
	background: var(--bd-box-bg);
	border: 1px solid var(--bd-soft-line);
	border-radius: 999px;
	color: var(--bd-primary);
	display: inline-flex;
	flex: 0 1 auto;
	font-size: 11.5px;
	font-weight: 800;
	gap: 5px;
	line-height: 1.4;
	max-width: 100%;
	overflow-wrap: anywhere;
	padding: 5px 11px;
}

/* ---------------------------------------------------------------- grid */
.espt-block-bd-photo-reviews .bdg37-gw {
	min-width: 0;
	position: relative;
}

.espt-block-bd-photo-reviews .bdg37-g {
	display: grid;
	gap: var(--gap, 11px);
	grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr));
	min-width: 0;
}

.espt-block-bd-photo-reviews .bdg37-c {
	background: var(--card-bg, var(--bd-box-bg));
	border: 1px solid var(--card-line, var(--bd-box-line));
	border-radius: var(--radius, 12px);
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
	overflow: hidden;
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.espt-block-bd-photo-reviews .bdg37-f {
	appearance: none;
	background: none;
	border: 0;
	border-radius: 0;
	color: inherit;
	display: block;
	font: inherit; /* the badge inside must not fall back to the UA button font */
	line-height: 0;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}

.espt-block-bd-photo-reviews button.bdg37-f { cursor: zoom-in; }

.espt-block-bd-photo-reviews button.bdg37-f:focus-visible {
	outline: 3px solid var(--bd-primary);
	outline-offset: -3px;
}

.espt-block-bd-photo-reviews .bdg37-img {
	aspect-ratio: 1 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.45s ease;
	width: 100%;
}

/* drawn placeholder: an <svg> is not a replaced box, so object-fit does not
   apply — it covers its frame through preserveAspectRatio="slice" instead. */
.espt-block-bd-photo-reviews .bdg37-ph {
	background: var(--bd-soft);
	max-width: 100%;
}

.espt-block-bd-photo-reviews.is-ratio-portrait .bdg37-img { aspect-ratio: 4 / 5; }
.espt-block-bd-photo-reviews.is-ratio-tall .bdg37-img { aspect-ratio: 3 / 4; }
.espt-block-bd-photo-reviews.is-ratio-wide .bdg37-img { aspect-ratio: 16 / 9; }
.espt-block-bd-photo-reviews.is-ratio-natural .bdg37-img { aspect-ratio: auto; }

.espt-block-bd-photo-reviews.is-zoom .bdg37-f:hover .bdg37-img,
.espt-block-bd-photo-reviews.is-zoom .bdg37-f:focus-visible .bdg37-img { transform: scale(1.07); }

/* badge + magnifier */
.espt-block-bd-photo-reviews .bdg37-badge {
	background: var(--badge-bg, var(--bd-accent));
	border-radius: 999px;
	color: var(--badge-color, var(--bd-accent-ink));
	font-size: 10.5px;
	font-weight: 800;
	left: 8px;
	line-height: 1.45;
	max-width: calc(100% - 16px);
	overflow-wrap: anywhere;
	padding: 3px 9px;
	position: absolute;
	top: 8px;
}

.espt-block-bd-photo-reviews .bdg37-zi {
	align-items: center;
	background: rgba(2, 6, 23, 0.55);
	border-radius: 50%;
	bottom: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	height: 30px;
	justify-content: center;
	line-height: 0;
	opacity: 0;
	position: absolute;
	right: 8px;
	transform: translateY(5px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	width: 30px;
}

.espt-block-bd-photo-reviews .bdg37-f:hover .bdg37-zi,
.espt-block-bd-photo-reviews .bdg37-f:focus-visible .bdg37-zi { opacity: 1; transform: none; }

@media (hover: none) {
	.espt-block-bd-photo-reviews .bdg37-zi { opacity: 0.85; transform: none; }
}

/* ------------------------------------------------------------- caption */
.espt-block-bd-photo-reviews .bdg37-b {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	padding: 9px 11px 11px;
	text-align: left;
}

.espt-block-bd-photo-reviews.is-cap-align-center .bdg37-b { align-items: center; text-align: center; }
.espt-block-bd-photo-reviews.is-cap-align-center .bdg37-w { justify-content: center; }
.espt-block-bd-photo-reviews.is-cap-align-right .bdg37-b { align-items: flex-end; text-align: right; }
.espt-block-bd-photo-reviews.is-cap-align-right .bdg37-w { justify-content: flex-end; }

.espt-block-bd-photo-reviews .bdg37-p {
	color: var(--text-color, var(--bd-body));
	font-size: var(--text-size, 13px);
	line-height: 1.55;
	margin: 2px 0 3px;
	overflow-wrap: anywhere;
}

.espt-block-bd-photo-reviews .bdg37-w {
	align-items: center;
	color: var(--who-color, var(--bd-muted));
	display: flex;
	flex-wrap: wrap;
	font-size: var(--who-size, 12px);
	font-weight: 700;
	gap: 3px 7px;
	line-height: 1.4;
	min-width: 0;
}

.espt-block-bd-photo-reviews .bdg37-who { overflow-wrap: anywhere; }

.espt-block-bd-photo-reviews .bdg37-v {
	align-items: center;
	color: var(--bd-primary);
	display: inline-flex;
	gap: 3px;
	font-weight: 700;
}

.espt-block-bd-photo-reviews .bdg37-vi { font-size: 1.1em; }
.espt-block-bd-photo-reviews .bdg37-vt { font-size: 0.92em; overflow-wrap: anywhere; }

.espt-block-bd-photo-reviews .bdg37-d {
	font-weight: 500;
	opacity: 0.85;
}

.espt-block-bd-photo-reviews .bdg37-d:not(:first-child)::before {
	content: "\00b7";
	margin-right: 6px;
}

/* --------------------------------------------------- shadow / hover BD */
.bd-shadow-soft.espt-block-bd-photo-reviews .bdg37-c { box-shadow: 0 6px 20px -12px rgba(15, 23, 42, 0.22); }
.bd-shadow-strong.espt-block-bd-photo-reviews .bdg37-c { box-shadow: 0 16px 34px -18px rgba(15, 23, 42, 0.4); }
.bd-hover-lift.espt-block-bd-photo-reviews .bdg37-c:hover { transform: translateY(-4px); }
.bd-hover-scale.espt-block-bd-photo-reviews .bdg37-c:hover { transform: scale(1.02); }
.bd-hover-glow.espt-block-bd-photo-reviews .bdg37-c:hover { box-shadow: 0 0 0 3px color-mix(in srgb, var(--bd-primary) 28%, transparent); }

/* one outer box: the cards stay flat inside it — the whole box already takes
   the BD shadow/lift, a second lift per card on top of it reads as a glitch */
.espt-block-bd-photo-reviews.is-frame .bdg37-c { box-shadow: none; }
.espt-block-bd-photo-reviews.is-frame .bdg37-c:hover { box-shadow: none; transform: none; }

/* ------------------------------------------------------------- designs */

/* soft tinted cards */
.espt-block-bd-photo-reviews.is-design-soft .bdg37-c {
	background: var(--card-bg, var(--bd-soft));
	border-color: var(--card-line, var(--bd-soft-line));
}

/* caption over the photo */
.espt-block-bd-photo-reviews.is-design-overlay .bdg37-c {
	background: var(--card-bg, #0b1220);
	border: 0;
	position: relative;
}

.espt-block-bd-photo-reviews.is-design-overlay .bdg37-b {
	background: linear-gradient(to top, rgba(2, 6, 23, 0.9) 12%, rgba(2, 6, 23, 0.55) 58%, rgba(2, 6, 23, 0));
	bottom: 0;
	left: 0;
	padding: 30px 11px 11px;
	position: absolute;
	right: 0;
}

.espt-block-bd-photo-reviews.is-design-overlay .bdg37-p {
	-webkit-box-orient: vertical;
	color: #fff;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden; /* a long review must not be cut off mid-line by the card */
}
.espt-block-bd-photo-reviews.is-design-overlay .bdg37-w { color: rgba(255, 255, 255, 0.82); }
.espt-block-bd-photo-reviews.is-design-overlay .bdg37-v { color: #86efac; }
.espt-block-bd-photo-reviews.is-design-overlay .bdg37-st-e { color: rgba(255, 255, 255, 0.32); }

/* polaroid frames */
.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-c {
	background: var(--card-bg, #fff);
	border: 0;
	border-radius: calc(var(--radius, 12px) * 0.5);
	box-shadow: 0 10px 24px -14px rgba(15, 23, 42, 0.45);
	overflow: visible;
	padding: 9px 9px 0;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-f { border-radius: 4px; }
.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-b { align-items: center; padding: 9px 2px 11px; text-align: center; }
.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-w { justify-content: center; }
.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-c:nth-child(odd) { transform: rotate(-1.2deg); }
.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-c:nth-child(even) { transform: rotate(1.2deg); }
.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-c:hover { transform: rotate(0deg) translateY(-4px); }

/* masonry — natural heights in CSS columns */
.espt-block-bd-photo-reviews.is-design-masonry .bdg37-g {
	column-gap: var(--gap, 11px);
	columns: var(--cols, 2);
	display: block;
}

.espt-block-bd-photo-reviews.is-design-masonry .bdg37-c {
	break-inside: avoid;
	display: block;
	margin-bottom: var(--gap, 11px);
	width: 100%;
}

.espt-block-bd-photo-reviews.is-design-masonry .bdg37-img { aspect-ratio: auto; }

/* mosaic — first photo big, captions only on it */
/* the hero spans two tracks: if the user asks for a single column the extra
   track is implicit, so pin implicit tracks to 1fr and nothing can overflow. */
.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-g { grid-auto-columns: minmax(0, 1fr); }

.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-c {
	aspect-ratio: 1 / 1;
	position: relative;
}

.espt-block-bd-photo-reviews.is-design-mosaic.is-ratio-portrait .bdg37-c { aspect-ratio: 4 / 5; }
.espt-block-bd-photo-reviews.is-design-mosaic.is-ratio-tall .bdg37-c { aspect-ratio: 3 / 4; }
.espt-block-bd-photo-reviews.is-design-mosaic.is-ratio-wide .bdg37-c { aspect-ratio: 16 / 9; }
.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-f { height: 100%; }
.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-img { aspect-ratio: auto; height: 100%; }
.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-b { display: none; }

.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-c:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-c:first-child .bdg37-b {
	background: linear-gradient(to top, rgba(2, 6, 23, 0.9) 12%, rgba(2, 6, 23, 0.5) 62%, rgba(2, 6, 23, 0));
	bottom: 0;
	display: flex;
	left: 0;
	padding: 34px 13px 13px;
	position: absolute;
	right: 0;
}

.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-c:first-child .bdg37-p {
	-webkit-box-orient: vertical;
	color: #fff;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}
.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-c:first-child .bdg37-w { color: rgba(255, 255, 255, 0.85); }
.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-c:first-child .bdg37-v { color: #86efac; }
.espt-block-bd-photo-reviews.is-design-mosaic .bdg37-c:first-child .bdg37-st-e { color: rgba(255, 255, 255, 0.32); }

/* swipe strip */
.espt-block-bd-photo-reviews.is-design-strip .bdg37-g {
	-webkit-overflow-scrolling: touch;
	display: flex;
	overflow-x: auto;
	padding-bottom: 4px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.espt-block-bd-photo-reviews.is-design-strip .bdg37-c {
	flex: 0 0 calc((100% - (var(--cols, 2) - 1) * var(--gap, 11px)) / var(--cols, 2));
	min-width: 130px;
	scroll-snap-align: start;
}

.espt-block-bd-photo-reviews .bdg37-nav { display: none; }

.espt-block-bd-photo-reviews.is-design-strip .bdg37-nav {
	align-items: center;
	background: var(--bd-box-bg);
	border: 1px solid var(--bd-box-line);
	border-radius: 50%;
	box-shadow: 0 8px 20px -10px rgba(15, 23, 42, 0.4);
	color: var(--bd-ink);
	cursor: pointer;
	display: inline-flex;
	font-size: 15px;
	height: 34px;
	justify-content: center;
	line-height: 0;
	padding: 0;
	position: absolute;
	top: calc(50% - 17px);
	transition: transform 0.2s ease, opacity 0.2s ease;
	width: 34px;
	z-index: 2;
}

.espt-block-bd-photo-reviews.is-design-strip .bdg37-nav:hover { transform: scale(1.08); }
.espt-block-bd-photo-reviews.is-design-strip .bdg37-nav[disabled] { opacity: 0.35; pointer-events: none; }
/* the strip rule above sets display, so [hidden] needs to win it back when
   the JS finds there is nothing to scroll */
.espt-block-bd-photo-reviews .bdg37-nav[hidden] { display: none; }
.espt-block-bd-photo-reviews.is-design-strip .bdg37-nav-prev { left: 4px; }
.espt-block-bd-photo-reviews.is-design-strip .bdg37-nav-next { right: 4px; }

/* bare tiles */
.espt-block-bd-photo-reviews.is-design-tiles .bdg37-c {
	background: transparent;
	border: 0;
}

/* --------------------------------------------------------- lightbox */
/* The overlay is moved to <body> in a portal that copies this block's
   classes + CSS variables, so no ancestor transform can trap it. */
.espt-block-bd-photo-reviews.bdg37-portal {
	bottom: 0;
	left: 0;
	margin: 0;
	max-width: none;
	position: fixed;
	right: 0;
	top: 0;
	width: auto;
	z-index: 99999;
}

html.espt-bdg37-locked { overflow: hidden; }

.espt-block-bd-photo-reviews .bdg37-lb {
	align-items: center;
	background: rgba(2, 6, 23, 0.93);
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	left: 0;
	padding: 14px 10px 18px;
	position: absolute;
	right: 0;
	top: 0;
}

.espt-block-bd-photo-reviews .bdg37-lb[hidden] { display: none; }
.espt-block-bd-photo-reviews.is-lb-theme-light .bdg37-lb { background: rgba(248, 250, 252, 0.97); }

/* with prev/next the arrows sit in a bottom row on phones — keep the caption
   clear of them (the class is added by the JS only when there are 2+ photos) */
.espt-block-bd-photo-reviews .bdg37-lb.is-multi { padding-bottom: 68px; }

.espt-block-bd-photo-reviews .bdg37-lb-in {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-height: 100%;
	max-width: min(100%, 880px);
	min-height: 0; /* short screens: let the column shrink instead of spilling */
	min-width: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	width: 100%;
}

.espt-block-bd-photo-reviews .bdg37-lb-img {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 12px;
	display: block;
	flex: 0 1 auto;
	max-height: 62vh;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.espt-block-bd-photo-reviews .bdg37-lb-cap {
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 5px;
	max-height: 26vh; /* a long review scrolls instead of pushing the photo out */
	max-width: 560px;
	min-width: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	text-align: center;
	width: 100%;
}

.espt-block-bd-photo-reviews.is-lb-theme-light .bdg37-lb-cap { color: var(--bd-ink); }

.espt-block-bd-photo-reviews .bdg37-lb-cap .bdg37-st { align-self: center; }
.espt-block-bd-photo-reviews .bdg37-lb-cap .bdg37-st-e { color: rgba(255, 255, 255, 0.3); }
.espt-block-bd-photo-reviews.is-lb-theme-light .bdg37-lb-cap .bdg37-st-e { color: var(--bd-line); }
.espt-block-bd-photo-reviews .bdg37-lb-cap .bdg37-v { color: #86efac; }
.espt-block-bd-photo-reviews.is-lb-theme-light .bdg37-lb-cap .bdg37-v { color: var(--bd-primary); }

.espt-block-bd-photo-reviews .bdg37-lb-txt {
	font-size: calc(var(--text-size, 13px) + 1px);
	line-height: 1.6;
	margin: 0;
	overflow-wrap: anywhere;
}

.espt-block-bd-photo-reviews .bdg37-lb-who {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: var(--who-size, 12px);
	font-weight: 700;
	gap: 4px 8px;
	justify-content: center;
	opacity: 0.85;
	overflow-wrap: anywhere;
}

.espt-block-bd-photo-reviews .bdg37-lb-btn {
	align-items: center;
	background: rgba(255, 255, 255, 0.14);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 22px;
	height: 40px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: absolute;
	transition: background 0.2s ease, transform 0.2s ease;
	width: 40px;
	z-index: 2;
}

.espt-block-bd-photo-reviews.is-lb-theme-light .bdg37-lb-btn { background: rgba(15, 23, 42, 0.1); color: var(--bd-ink); }
.espt-block-bd-photo-reviews .bdg37-lb-btn:hover { background: rgba(255, 255, 255, 0.28); transform: scale(1.06); }
.espt-block-bd-photo-reviews.is-lb-theme-light .bdg37-lb-btn:hover { background: rgba(15, 23, 42, 0.18); }
.espt-block-bd-photo-reviews .bdg37-lb-btn:focus-visible { outline: 3px solid var(--bd-accent); outline-offset: 2px; }

.espt-block-bd-photo-reviews .bdg37-lb-x { right: 10px; top: 10px; }
.espt-block-bd-photo-reviews .bdg37-lb-prev { bottom: 14px; left: calc(50% - 52px); }
.espt-block-bd-photo-reviews .bdg37-lb-next { bottom: 14px; right: calc(50% - 52px); }

/* phones: counter top-left, opposite the close button — the bottom strip
   belongs to the prev/next buttons. From 768px it moves under the photo. */
.espt-block-bd-photo-reviews .bdg37-lb-n {
	bottom: auto;
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	left: 16px;
	opacity: 0.75;
	position: absolute;
	top: 22px;
	transform: none;
}

.espt-block-bd-photo-reviews.is-lb-theme-light .bdg37-lb-n { color: var(--bd-ink); }

.espt-block-bd-photo-reviews .bdg37-lb-img { animation: bdg37-pop 0.25s ease; }

@keyframes bdg37-pop {
	from { opacity: 0; transform: scale(0.96); }
	to { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------- ≥ 480px */
@media (min-width: 480px) {
	.espt-block-bd-photo-reviews .bdg37-b { padding: 10px 12px 12px; }
}

/* ---------------------------------------------------------- ≥ 768px */
@media (min-width: 768px) {
	.espt-block-bd-photo-reviews .bdg37-head { margin-bottom: 18px; }
	.espt-block-bd-photo-reviews .bdg37-sum { gap: 10px 18px; padding: 13px 16px; }
	.espt-block-bd-photo-reviews .bdg37-avg { font-size: 32px; }
	.espt-block-bd-photo-reviews .bdg37-lb { padding: 24px 64px 30px; }
	.espt-block-bd-photo-reviews .bdg37-lb-img { max-height: 70vh; }
	/* from here the counter sits bottom-centre — keep the caption off it */
	.espt-block-bd-photo-reviews .bdg37-lb.is-multi { padding-bottom: 44px; }
	.espt-block-bd-photo-reviews .bdg37-lb-prev { bottom: auto; left: 14px; top: calc(50% - 20px); }
	.espt-block-bd-photo-reviews .bdg37-lb-next { bottom: auto; right: 14px; top: calc(50% - 20px); }
	.espt-block-bd-photo-reviews .bdg37-lb-n { bottom: 14px; left: 50%; top: auto; transform: translateX(-50%); }
	.espt-block-bd-photo-reviews.is-design-strip .bdg37-nav { height: 38px; top: calc(50% - 19px); width: 38px; }
}

/* --------------------------------------------------------- ≥ 1024px */
@media (min-width: 1024px) {
	.espt-block-bd-photo-reviews .bdg37-lb-img { max-height: 74vh; }
}

/* ------------------------------------------------- reduced motion */
@media (prefers-reduced-motion: reduce) {
	.espt-block-bd-photo-reviews .bdg37-c,
	.espt-block-bd-photo-reviews .bdg37-img,
	.espt-block-bd-photo-reviews .bdg37-zi,
	.espt-block-bd-photo-reviews .bdg37-nav,
	.espt-block-bd-photo-reviews .bdg37-lb-btn { transition: none; }
	.espt-block-bd-photo-reviews.is-zoom .bdg37-f:hover .bdg37-img { transform: none; }
	.espt-block-bd-photo-reviews .bdg37-lb-img { animation: none; }
	.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-c:nth-child(odd),
	.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-c:nth-child(even),
	.espt-block-bd-photo-reviews.is-design-polaroid .bdg37-c:hover { transform: none; }
}

/* verified tick: compact (icon only) or icon + label */
.espt-block-bd-photo-reviews.is-verified-style-icon .bdg37-vt { display: none; }
