.page-builder-slideshow-category {
  position: relative;
  overflow: hidden;
  margin: 1.5rem auto;
  border-radius: .5rem;
}

/* Homepage hero rhythm: one active slide, full-width media, quiet controls. */
.page-builder-desktop-slideshow {
  position: relative;
  overflow: hidden;
  margin: 0 auto 30px;
  background: #fff;
}

@media (min-width: 992px) {
	/* The reference hero owns the quiet 27.2px rhythm before the category
	 * strip; the legacy shell used a margin that created a visible second gap. */
	.page-builder-desktop-slideshow {
		margin-bottom: 0;
		padding-bottom: 27.2px;
	}
}

.page-builder-slideshow-viewport {
  position: relative;
  overflow: hidden;
}

.page-builder-slideshow-track {
  position: relative;
  min-height: 1px;
}

.page-builder-desktop-slideshow .page-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transition: opacity .35s ease, visibility .35s ease;
}

.page-builder-desktop-slideshow .page-slide.active {
  position: relative;
  visibility: visible;
  opacity: 1;
}

.page-builder-desktop-slideshow .page-slide a,
.page-builder-desktop-slideshow .page-slide img {
  display: block;
  width: 100%;
  height: auto;
}

.page-builder-slideshow-caption {
  position: absolute;
  top: 50%;
  left: 12%;
  z-index: 1;
  max-width: min(390px, 42%);
  transform: translateY(-50%);
  color: #111;
  text-align: left;
  pointer-events: none;
}

.page-builder-slideshow-caption-kicker {
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 500;
}

.page-builder-slideshow-caption-title {
  max-width: 360px;
  font-size: clamp(24px, 3.1vw, 52px);
  font-weight: 800;
  line-height: 1.05;
}

.page-builder-slideshow-caption-button {
  display: inline-block;
  margin-top: 24px;
  padding: 8px 16px;
  border: 1px solid #222;
  background: rgba(255, 255, 255, .35);
  font-size: 12px;
  font-weight: 600;
}

/* Desktop campaign caption tuned to the reference storefront's wider,
 * editorial treatment. Keep the existing mobile caption contract untouched. */
@media (min-width: 1200px) {
	.page-builder-desktop-slideshow .page-builder-slideshow-caption {
		left: 13.1%;
		max-width: min(480px, 44%);
	}

	.page-builder-desktop-slideshow .page-builder-slideshow-caption-kicker {
		margin-bottom: 30px;
		font-size: 22px;
		font-weight: 700;
	}

	.page-builder-desktop-slideshow .page-builder-slideshow-caption-title {
		max-width: 480px;
		font-size: clamp(34px, 4.1vw, 60px);
		line-height: 1.1;
	}

	.page-builder-desktop-slideshow .page-builder-slideshow-caption-button {
		margin-top: 44px;
		padding: 12px 20px;
		font-size: 14px;
	}
}

.page-builder-mobile-slideshow .page-builder-slideshow-caption {
  left: 8%;
  max-width: 70%;
}

.page-builder-mobile-slideshow .page-builder-slideshow-caption-title {
  font-size: clamp(18px, 5vw, 30px);
}

/* The responsive storefront can still use the desktop page-builder hero when
 * the dedicated mobile theme is disabled. Keep that caption inside the image
 * at phone widths as well. */
@media (max-width: 767.98px) {
	.page-builder-desktop-slideshow .page-builder-slideshow-caption {
		left: 8%;
		width: 70%;
		max-width: 70%;
	}

	.page-builder-desktop-slideshow .page-builder-slideshow-caption-kicker {
		margin-bottom: 4px;
		font-size: clamp(10px, 3.1vw, 12px) !important;
		line-height: 1.25;
	}

	.page-builder-desktop-slideshow .page-builder-slideshow-caption-title {
		max-width: 100%;
		font-size: clamp(18px, 5.1vw, 21px) !important;
		line-height: 1.2;
	}

	.page-builder-desktop-slideshow .page-builder-slideshow-caption-button {
		margin-top: 8px;
		padding: 5px 10px;
		font-size: 10px;
		line-height: 1.3;
	}
}

.page-builder-slideshow-control {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 36px;
  height: 56px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  background: rgba(0, 0, 0, .18);
  color: #fff;
  font-size: 24px;
  line-height: 56px;
  opacity: 0;
  transition: opacity .2s ease, background-color .2s ease;
}

.page-builder-desktop-slideshow:hover .page-builder-slideshow-control,
.page-builder-desktop-slideshow:focus-within .page-builder-slideshow-control {
  opacity: 1;
}

.page-builder-slideshow-control:hover,
.page-builder-slideshow-control:focus-visible {
  background: var(--main-color, #fd9800);
}

.page-builder-slideshow-prev { left: 0; }
.page-builder-slideshow-next { right: 0; }

.page-builder-slideshow-dots {
  position: absolute;
  right: 0;
  bottom: 14px;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 7px;
}

.page-builder-slideshow-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 50%;
  background: rgba(0, 0, 0, .18);
}

.page-builder-slideshow-dots button.active,
.page-builder-slideshow-dots button:hover,
.page-builder-slideshow-dots button:focus-visible {
  background: var(--main-color, #fd9800);
}

@media (max-width: 991.98px) {
  .page-builder-slideshow-control { display: none; }
  .page-builder-desktop-slideshow { margin-bottom: 12px; }

	.page-builder-latest .widget-title > span,
	.page-builder-promotion .widget-title > span,
	.page-builder-bargain .page-builder-bargain-heading h3 {
		font-size: 25.6px;
		line-height: 30.72px;
		font-weight: 700;
	}
}

@media (prefers-reduced-motion: reduce) {
  .page-builder-desktop-slideshow .page-slide,
  .page-builder-slideshow-control { transition: none; }
}

.page-builder-module-title {
	margin: 0 0 1rem;
}

/* Promotion headings are one shared visual contract across latest, flash,
 * group-buying and bargain modules. */
.page-builder-latest .widget-title,
.page-builder-promotion .widget-title,
.page-builder-bargain .page-builder-bargain-heading {
	display: block !important;
	position: relative;
	margin-bottom: 32px;
	padding-bottom: 0 !important;
	text-align: center;
}

/* Keep the optional "More" link on the same title row as the reference
 * storefront. A floated inline link otherwise wraps below the centered title
 * and adds an extra line to the entire product rail. */
.page-builder-latest .widget-title {
	padding-right: 72px;
	padding-left: 72px;
	line-height: 30.7px;
}

.page-builder-latest .widget-title > .link {
	position: absolute;
	top: 0;
	right: 0;
	float: none !important;
	line-height: 30.7px;
}

.page-builder-latest .widget-title::after,
.page-builder-promotion .widget-title::after,
.page-builder-bargain .page-builder-bargain-heading::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #e5e5e5;
	content: '';
}

.page-builder-latest .widget-title > span,
.page-builder-promotion .widget-title > span,
.page-builder-bargain .page-builder-bargain-heading h3 {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0;
	padding-bottom: 0 !important;
	font-size: 23.52px;
	line-height: 28.224px;
	font-weight: 500;
}

.page-builder-latest .widget-title > span::after,
.page-builder-promotion .widget-title > span::after,
.page-builder-bargain .page-builder-bargain-heading h3::after {
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	height: 2px;
	background: #fd9800;
	content: '';
}

/* The reference product rail uses a consistent 20px gutter and reserves
 * 48px below the cards for its swipe/scroll rhythm at every breakpoint. */
.page-builder-latest .page-builder-product-track {
	margin-right: 2px !important;
	margin-left: 2px !important;
	padding-bottom: 48px;
}

/* Reference product cards show the name and price, not catalog excerpts. */
.page-builder-latest .product-description {
	display: none !important;
}

.page-builder-latest .product-activity {
	display: none !important;
}

@media (min-width: 992px) {
	.page-builder-latest {
		padding-top: 27.2px;
		padding-bottom: 27.2px;
	}

	/* Latest products use the same five-card rail density as the current
	 * storefront. The pager remains available whenever the data exceeds the
	 * visible track. */
	.page-builder-latest .page-builder-product-track {
		display: flex !important;
		gap: 20px;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 48px;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.page-builder-latest .page-builder-product-track::-webkit-scrollbar {
		display: none;
	}

	.page-builder-latest .page-builder-product-slider {
		position: relative;
	}

	.page-builder-latest .page-builder-product-pager {
		position: absolute;
		top: 50%;
		right: -18px;
		left: -18px;
		z-index: 2;
		display: flex !important;
		justify-content: space-between;
		width: auto;
		height: 0;
		margin: 0;
		pointer-events: none;
		transform: translateY(-50%);
	}

	.page-builder-latest .page-builder-product-pager .page-builder-product-control {
		pointer-events: auto;
		position: absolute !important;
		top: 50% !important;
		width: 30px !important;
		height: 50px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #d1d5db !important;
		box-shadow: none !important;
		font-family: Arial, Helvetica, sans-serif !important;
		font-size: 28px !important;
		font-weight: 300 !important;
		line-height: 1 !important;
		transform: translateY(calc(-50% + 3px)) !important;
	}

	.page-builder-latest .page-builder-product-pager .page-builder-product-control:hover:not(:disabled),
	.page-builder-latest .page-builder-product-pager .page-builder-product-control:focus-visible {
		border: 0 !important;
		background: transparent !important;
		color: #9ca3af !important;
		box-shadow: none !important;
	}

	/* The legacy module pager labels are "Previous"/"Next", not the longer
	 * labels used by the shared shell. Anchor these controls to the reference
	 * rail edges so theme/module button rules cannot pull them inward. */
	.page-builder-latest .page-builder-product-pager [aria-label="Previous"] {
		left: -44px !important;
		right: auto !important;
	}

	.page-builder-latest .page-builder-product-pager [aria-label="Next"] {
		right: -44px !important;
		left: auto !important;
	}

	.page-builder-latest .page-builder-product-slide {
		width: 272.44px !important;
		max-width: 272.44px;
		min-width: 272.44px;
		padding: 0 !important;
		flex: none;
		scroll-snap-align: start;
	}

	.page-builder-latest .product-sales-badge {
		position: absolute;
		top: 8px;
		right: 8px;
		z-index: 4;
		padding: 1px 4px;
		border: 1px solid #75c96b;
		border-radius: 3px;
		background: rgba(255, 255, 255, .95);
		color: #47a83d;
		font-size: 12px;
		font-weight: 400;
		line-height: 18px;
		white-space: nowrap;
	}
}

/* At the 1024px desktop breakpoint, mirror the reference category strip's
 * 6-up gutters and let the two-line category labels set the row height. */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.page-builder-icon-text--category-strip > .container {
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-heading {
		width: min(780px, 100%) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.page-builder-icon-text--category-strip .design-customer-service > .row > .page-builder-icon-text-item {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-item a {
		min-height: 0 !important;
	}
}

/* Promotion modules use the same outer rhythm and product-thumb contract as
 * the reference storefront. The controllers still own prices, links and
 * countdown data; this layer only shapes the visual container. */
.page-builder-promotion .flash-wrapper-multi,
.page-builder-promotion .column-lr,
.page-builder-bargain .column-lr {
	padding: 20px;
	border-radius: 10px;
	background: #fff;
}

@media (min-width: 992px) {
	.page-builder-flash-sale > .container,
	.page-builder-group-buying > .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.page-builder-flash-sale .flash-wrapper-multi,
	.page-builder-group-buying .column-lr {
		padding: 0 0 20px;
	}

	.page-builder-flash-sale .promotion-layout,
	.page-builder-group-buying .promotion-layout {
		height: 403px;
		min-height: 403px;
		padding: 0;
	}

	.page-builder-flash-sale .promotion-layout .image,
	.page-builder-group-buying .promotion-layout .image {
		height: 309px;
		min-height: 309px;
	}

	.page-builder-flash-sale .promotion-layout .caption,
	.page-builder-group-buying .promotion-layout .caption {
		height: 84px;
		min-height: 84px;
		overflow: hidden;
		padding: 0 10px;
	}

	.page-builder-flash-sale .promotion-layout .product-name,
	.page-builder-group-buying .promotion-layout .product-name {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-height: 1.35;
		margin-bottom: 10px;
	}
}

.page-builder-promotion .bg-flash {
	background: #fff7eb;
}

.page-builder-promotion .bg-bargain,
.page-builder-bargain .bg-bargain {
	background: #f7f7f7;
}

.page-builder-flash-sale .page-builder-promotion-grid,
.page-builder-group-buying .page-builder-promotion-grid,
.page-builder-bargain .page-builder-promotion-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-right: 0;
	margin-left: 0;
}

/* The legacy theme adds clearfix pseudo-elements to .row. Inside these
 * page-builder grids they would become anonymous grid items and consume the
 * first product cell. Keep the correction scoped to this shared module grid. */
.page-builder-bargain .page-builder-promotion-grid::before,
.page-builder-bargain .page-builder-promotion-grid::after {
	display: none;
	content: none;
}

.page-builder-flash-sale .promotion-layout,
.page-builder-group-buying .promotion-layout,
.page-builder-bargain .page-builder-promotion-grid > .col {
	width: 100%;
	min-width: 0;
	padding-right: 0;
	padding-left: 0;
}

.page-builder-promotion-thumb {
	margin-bottom: 0;
	border: 0 !important;
	border-radius: 10px;
}

.page-builder-promotion-thumb .promotion-meta {
	line-height: 1.45;
}

.page-builder-bargain .page-builder-module-title {
	margin-bottom: 0;
}

@media (min-width: 992px) {
	.page-builder-bargain .page-builder-bargain-heading {
		margin-bottom: 32px;
		text-align: left;
	}

	.page-builder-bargain .page-builder-bargain-heading > a {
		display: none;
	}

	.page-builder-bargain .bargain-card {
		display: block;
		height: 403px;
		min-height: 403px;
	}

	.page-builder-bargain .bargain-card .image {
		height: 309px;
		min-height: 309px;
	}

	.page-builder-bargain .bargain-card .caption {
		height: 84px;
		min-height: 84px;
		overflow: hidden;
		padding: 0 10px;
	}

	.page-builder-bargain .bargain-card .product-name {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-height: 1.35;
		margin-bottom: 10px;
	}

	.page-builder-bargain .bargain-card .price {
		line-height: 1.25;
	}
}

@media (max-width: 991.98px) {
	.page-builder-flash-sale .page-builder-promotion-grid,
	.page-builder-group-buying .page-builder-promotion-grid,
	.page-builder-bargain .page-builder-promotion-grid {
		/* The reference handheld storefront keeps compact promotion cards in
		 * one horizontal rail; do not let Bootstrap's row-cols shrink them into
		 * a misleading four-column grid. */
		display: flex;
		gap: 20px;
		grid-template-columns: none;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
	}

	.page-builder-flash-sale .page-builder-promotion-grid::-webkit-scrollbar,
	.page-builder-group-buying .page-builder-promotion-grid::-webkit-scrollbar,
	.page-builder-bargain .page-builder-promotion-grid::-webkit-scrollbar {
		display: none;
	}

	.page-builder-flash-sale .page-builder-promotion-grid > .promotion-layout,
	.page-builder-group-buying .page-builder-promotion-grid > .promotion-layout,
	.page-builder-bargain .page-builder-promotion-grid > .col {
		width: 82.5px;
		min-width: 82.5px;
		max-width: 82.5px;
		flex: 0 0 82.5px;
	}

	/* Match the reference handheld bargain cards: the launch action overlays
	 * the thumbnail and secondary campaign metadata does not stretch the rail. */
	.page-builder-bargain .bargain-card {
		position: relative;
		height: 193.5px;
		min-height: 193.5px;
	}

	.page-builder-bargain .bargain-card .image {
		height: 92.5px;
		min-height: 92.5px;
		flex: 0 0 92.5px;
	}

	.page-builder-bargain .bargain-card .caption {
		height: 101px;
		min-height: 101px;
		overflow: hidden;
		padding: 0 10px 10px;
	}

	.page-builder-bargain .bargain-card .product-name {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-height: 1.35;
		margin: 0 0 4px;
	}

	.page-builder-bargain .bargain-card .caption > .small,
	.page-builder-bargain .bargain-card .bargain-countdown {
		display: none;
	}

	.page-builder-bargain .bargain-card .bargain-launch {
		position: absolute;
		top: 18px;
		left: 50%;
		width: 46px;
		min-height: 46px;
		padding: 8px 4px;
		transform: translateX(-50%);
		margin: 0 !important;
	}
}

@media (max-width: 575.98px) {
	.page-builder-latest .page-builder-product-track {
		gap: 20px;
		align-items: flex-start !important;
	}

	.page-builder-latest .page-builder-product-track > .page-builder-product-slide,
	.page-builder-latest .page-builder-product-track > .page-builder-product-slide .product-thumb {
		height: auto !important;
		min-height: 0 !important;
	}

	.page-builder-latest .page-builder-product-slide {
		width: calc((100% - 20px) / 2) !important;
		max-width: calc((100% - 20px) / 2) !important;
		min-width: calc((100% - 20px) / 2) !important;
		flex: 0 0 calc((100% - 20px) / 2) !important;
	}
}

/* Keep page-builder product tabs on the same visual contract as the reference
 * storefront: a centered, soft capsule around the tab navigation. */
.page-builder-product-tab .product-tab-nav-wrapper {
	display: flex;
	justify-content: center;
}

.page-builder-product-tab .page-builder-product-tab-heading {
	display: block !important;
	width: min(864px, 100%);
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 32px;
	padding: 0;
	text-align: center;
}

.page-builder-product-tab {
	padding-top: 27.2px;
	padding-bottom: 27.2px;
}

.page-builder-product-tab .page-builder-product-tab-title,
.page-builder-product-tab .page-builder-product-tab-heading h2 {
	display: inline-block;
	margin: 0;
	color: #252525;
	font-size: 32px;
	line-height: 38.4px;
	font-weight: 700;
}

.page-builder-product-tab .page-builder-product-tab-subtitle {
	display: block;
	margin: 16px 0 32px;
	color: #8d8d8d;
	font-size: 14px;
	line-height: 15px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.page-builder-product-tab .product-tab-nav {
	margin: 0;
	padding: 5px 0;
	border: 0;
	border-radius: 10px;
	background: #f7f7f7;
}

.page-builder-product-tab .product-tab-nav li {
	display: flex;
	margin: 0 5px;
}

.page-builder-product-tab .product-tab-nav li a {
	padding: 6px 10px;
	border: 0 !important;
	border-radius: 10px;
	color: #696c70;
	font-size: 14px;
	font-weight: 700;
}

.page-builder-product-tab .product-tab-nav li.active a,
.page-builder-product-tab .product-tab-nav li a.active {
	background: #fff;
	box-shadow: 0 2px 2px rgba(28, 36, 51, .1);
	color: #111;
}

/* The reference Cool Summer module is a four-column, two-row desktop grid.
 * The legacy stylesheet reserves space for a side image and turns the track
 * into a horizontal carousel even when image_show is false. Keep the shared
 * card renderer but restore the reference grid contract here. */
@media (min-width: 992px) {
	/* The reference homepage stacks the product heading, description and tabs
	 * above the product grid, centered as one editorial block. */
	.page-builder-product-tab .page-builder-product-tab-heading {
		display: block !important;
		width: min(864px, 100%);
		margin: 0 auto 32px;
		padding: 0 !important;
		text-align: center;
	}

	.page-builder-product-tab .page-builder-product-tab-title {
		display: inline-block;
		font-size: 28px;
		line-height: 1.25;
	}

	.page-builder-product-tab .page-builder-product-tab-subtitle {
		width: min(864px, 100%);
		margin: 20px auto 32px;
		font-size: 16px;
		line-height: 24px;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
		text-align: center;
	}

	.page-builder-product-tab .product-tab-nav-wrapper {
		justify-content: center;
		width: max-content;
		min-width: 0;
		max-width: 100%;
		margin: 0 auto;
	}

	.page-builder-product-tab .product-tab-nav {
		width: max-content;
	}

	.page-builder-product-tab .product-tab-nav li {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.page-builder-product-tab .product-tab-info .product-center-wrapper.col-12 {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	.page-builder-product-tab .page-builder-product-track {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px 0;
		margin-right: 0;
		margin-left: 0;
		overflow: visible;
	}

	.page-builder-product-tab .page-builder-product-slide {
		width: auto !important;
		max-width: none;
		min-width: 0;
		flex: none;
	}

	/* The reference swiper keeps a 12px gutter inside each 324px desktop
	 * cell, so the shared product card itself renders at 300px. */
	.page-builder-product-tab .page-builder-product-track > .page-builder-product-slide {
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	/* The legacy module stylesheet adds a 10px card inset and removes the
	 * caption rhythm. The reference storefront uses the same shared product
	 * thumb as the catalog grid: a full-bleed image followed by a 10px caption. */
	.page-builder-product-tab .page-builder-product-slide .product-thumb,
	.page-builder-latest .page-builder-product-slide .product-thumb {
		padding: 0 !important;
		margin-bottom: 0 !important;
	}

	.page-builder-product-tab .page-builder-product-slide .product-thumb .caption,
	.page-builder-latest .page-builder-product-slide .product-thumb .caption {
		padding: 0 10px 10px !important;
	}

	.page-builder-product-tab .page-builder-product-slide .product-thumb .product-name,
	.page-builder-latest .page-builder-product-slide .product-thumb .product-name {
		margin: 10px 0 !important;
	}

	.page-builder-product-tab .page-builder-product-pager {
		display: none;
	}

	.page-builder-icon-text .design-customer-service > .row {
		flex-wrap: nowrap;
	}

	.page-builder-icon-text .design-customer-service > .row > .page-builder-icon-text-item {
		flex: 0 0 16.666667%;
		width: 16.666667%;
		max-width: 16.666667%;
		padding-right: 8px;
		padding-left: 8px;
	}
}

@media (max-width: 991.98px) {
	.page-builder-product-tab .page-builder-product-track {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 0;
		overflow: visible;
	}

	.page-builder-product-tab .page-builder-product-slide {
		width: auto !important;
		max-width: none;
		min-width: 0;
		flex: none;
	}

	.page-builder-product-tab .page-builder-product-pager {
		display: none;
	}
}

/* The reference keeps the four-card desktop rhythm on tablet widths. A
 * two-column tablet grid multiplies the first-page module height by adding
 * several tall square-image rows before the promotional modules. */
@media (min-width: 576px) and (max-width: 991.98px) {
	.page-builder-product-tab .page-builder-product-track {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.page-builder-latest {
		padding: 16px 0;
	}

	.page-builder-latest .widget-title {
		height: 30.7px;
		min-height: 30.7px;
		line-height: 30.7px;
	}

	.page-builder-latest .page-builder-product-track {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 20px;
		padding-bottom: 48px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.page-builder-latest .page-builder-product-track::-webkit-scrollbar {
		display: none;
	}

	.page-builder-latest .page-builder-product-slider {
		position: relative;
	}

	.page-builder-latest .page-builder-product-pager {
		position: absolute;
		top: 50%;
		right: -18px;
		left: -18px;
		z-index: 2;
		display: flex !important;
		justify-content: space-between;
		width: auto;
		height: 0;
		margin: 0;
		pointer-events: none;
		transform: translateY(-50%);
	}

	.page-builder-latest .page-builder-product-pager .page-builder-product-control {
		pointer-events: auto;
	}

	.page-builder-latest .page-builder-product-slide {
		width: calc((100% - 60px) / 4) !important;
		max-width: calc((100% - 60px) / 4) !important;
		min-width: calc((100% - 60px) / 4) !important;
		padding: 0 !important;
		flex: 0 0 calc((100% - 60px) / 4) !important;
		scroll-snap-align: start;
	}
}

@media (min-width: 992px) {
	/* Latest cards in the reference rail leave the native 20px row rhythm
	 * below each card, unlike the tighter Cool Summer product grid. */
	.page-builder-latest .page-builder-product-slide .product-thumb {
		margin-bottom: 20px !important;
	}
}

@media (max-width: 767.98px) {
	/* Match the reference's 16px inset above the heading and below the rail.
	 * This theme's slider wrapper already reserves 14px below its 344px track,
	 * so only 2px of explicit bottom padding is needed to preserve the same
	 * overall module height without clipping the swipe area. */
	.page-builder-latest {
		padding: 16px 0 2px;
	}

	.page-builder-latest .widget-title {
		height: 30.7px;
		min-height: 30.7px;
		line-height: 30.7px;
	}

	/* Keep the mobile swipe rail uncluttered; arrow controls belong to the
	 * desktop/tablet presentation and must not leak through theme overrides. */
	.page-builder-latest .page-builder-product-pager .page-builder-product-control {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	/* The reference tablet rail is touch/trackpad scrollable and has no arrows.
	 * Hiding its pager also prevents desktop edge controls from extending the
	 * document beyond the viewport at the 768px breakpoint. */
	.page-builder-latest .page-builder-product-pager {
		display: none !important;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	/* At the narrower desktop width the reference exposes about five compact
	 * cards; the 272px large-desktop card would otherwise show only three. */
	.page-builder-latest .page-builder-product-slide {
		width: 20.4723% !important;
		max-width: 20.4723% !important;
		min-width: 20.4723% !important;
		flex: 0 0 20.4723% !important;
	}
}

@media (min-width: 1200px) {
	/* Lock the reference large-desktop card width after the shared legacy
	 * product-wrapper rules. Those rules can otherwise restore a four-column
	 * flex basis and make the cards 309px wide at a 1650px viewport. */
	.page-builder-latest .page-builder-product-track > .page-builder-product-slide {
		width: 272.44px !important;
		min-width: 272.44px !important;
		max-width: 272.44px !important;
		flex: 0 0 272.44px !important;
	}
}

.page-builder-blog-latest .module-blog-latest {
	padding: 20px;
	background: #fff;
}

.page-builder-blog-latest .module-blog-latest.grid .blog-latest-wrapper {
	transition: all .3s ease-out;
}

.page-builder-blog-latest .module-blog-latest::before,
.page-builder-blog-latest .module-blog-latest::after {
	display: none;
	content: none;
}

@media (min-width: 992px) {
	.page-builder-blog-latest .widget-title {
		height: 30.7px;
		line-height: 30.7px;
		width: calc(100% - 4px);
		position: relative;
		left: 2px;
	}

	.page-builder-blog-latest .module-blog-latest {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 20px;
		row-gap: 0;
		width: calc(100% - 4px);
		margin-right: 0;
		margin-left: 2px;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper {
		width: 100%;
		max-width: none;
		padding-right: 0;
		padding-left: 0;
		margin-bottom: 0;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper .thumb img {
		width: 100%;
		max-width: 400px;
		height: 300px;
		object-fit: cover;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper .blog-title {
		height: 35px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper p {
		display: -webkit-box !important;
		max-height: 40.32px !important;
		overflow: hidden !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 2 !important;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.page-builder-blog-latest .module-blog-latest {
		display: flex;
		flex-wrap: nowrap;
		gap: 15px;
		overflow-x: auto;
		overflow-y: hidden;
		width: calc(100% - 4px);
		margin-top: 2.56px;
		margin-right: 0;
		margin-left: 2px;
		scrollbar-width: none;
	}

	.page-builder-blog-latest .module-blog-latest::-webkit-scrollbar {
		display: none;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper {
		width: 320.5px;
		min-width: 320.5px;
		max-width: 320.5px;
		flex: 0 0 320.5px;
		padding-right: 0;
		padding-left: 0;
		margin-bottom: 0;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper .blog-title {
		height: 35px;
	}
}

@media (max-width: 767.98px) {
	.page-builder-product-tab {
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.page-builder-product-tab .page-builder-product-tab-heading {
		margin-bottom: 16px;
	}

	.page-builder-product-tab .page-builder-product-tab-title {
		font-size: 24px;
		line-height: 28px;
	}

	.page-builder-product-tab .page-builder-product-tab-subtitle {
		margin: 16px 0 32px;
		font-size: 15px;
		line-height: 22.5px;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
		text-align: center;
	}

	.page-builder-product-tab .page-builder-product-tab-heading {
		margin-bottom: 32px;
		text-align: center;
	}

	.page-builder-product-tab .page-builder-product-tab-heading h2 {
		font-size: 24px;
		line-height: 30px;
	}

	.page-builder-product-tab .product-tab-nav {
		flex-wrap: wrap;
		justify-content: flex-start;
		padding: 5px 0 5px 5px;
		white-space: normal;
	}

	.page-builder-product-tab .product-tab-nav-wrapper {
		justify-content: flex-start;
		overflow: visible;
	}

	.page-builder-product-tab .product-tab-nav li a {
		padding: 6.5px 9.5px;
	}

	.page-builder-product-tab .page-builder-product-slide .product-thumb {
		margin-bottom: 0 !important;
		padding: 0 10px !important;
	}

	.page-builder-product-tab .page-builder-product-slide .product-thumb .product-name {
		margin: 10px 0 !important;
	}

	.page-builder-product-tab .page-builder-product-slide .product-thumb .caption {
		padding-bottom: 10px !important;
	}

	.page-builder-product-tab .page-builder-product-slide .product-thumb .price {
		flex-wrap: nowrap;
		gap: 0;
	}

	.page-builder-product-tab .page-builder-product-slide .product-thumb .price .price-left {
		max-width: none;
	}

	.page-builder-blog-latest .module-blog-latest {
		display: flex;
		gap: 6px;
		width: calc(100% - 4px);
		margin-right: 0;
		margin-left: 0;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		flex-wrap: nowrap;
		position: relative;
		left: 2px;
		padding: 20px;
		scroll-snap-type: none !important;
		scroll-behavior: auto !important;
	}

	.page-builder-blog-latest .widget-title {
		height: 30.7px;
		line-height: 30.7px;
		width: calc(100% - 4px);
		position: relative;
		left: 2px;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper {
		flex: 0 0 100%;
		width: auto;
		max-width: 100%;
		padding-right: 0;
		padding-left: 0;
		margin: 0 !important;
		transform: none !important;
		scroll-snap-align: none !important;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper .thumb img {
		width: 100%;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper .info {
		padding-top: 4px;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper .blog-title {
		display: block !important;
		overflow: hidden;
		height: 35px;
		font-size: 13.44px;
		line-height: 20.16px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper p {
		display: -webkit-box !important;
		max-height: 40.32px !important;
		overflow: hidden !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 2 !important;
		margin: 0;
		font-size: 13.44px;
		line-height: 20.16px;
	}
}

@media (max-width: 399.98px) {
	.page-builder-blog-latest .module-blog-latest > .blog-latest-wrapper p {
		max-height: 54px !important;
		-webkit-line-clamp: 3 !important;
	}
}

@media (min-width: 768px) {
	.page-builder-product-tab .product-tab-nav li a {
		font-size: 16px;
	}
}

.page-builder-bargain {
  margin: 1.5rem auto;
}

/* The reference handheld homepage uses a three-column category grid, with
 * the remaining three links on the second row. */
@media (max-width: 991.98px) {
	.page-builder-image-200 .row > [class*="col-"] {
		flex: 0 0 50%;
		width: 50%;
		max-width: 50%;
	}

	.page-builder-image-200 {
		position: relative;
		padding-top: 7.8px;
		padding-bottom: 7.8px;
	}

	.page-builder-image-200-heading {
		position: absolute;
		top: 7.8px;
		right: 0;
		left: 0;
		z-index: 2;
		margin: 0;
		text-align: center;
		pointer-events: none;
	}

	.page-builder-image-200-heading h2 {
		margin: 0;
		font-size: 17px;
		font-weight: 600;
		line-height: 22px;
	}

	.page-builder-image-200-heading p {
		margin: 2px 0 0;
		color: #6c757d;
		font-size: 11px;
		line-height: 15px;
	}

	.page-builder-group-buying {
		display: block !important;
	}

	.page-builder-icon-text--category-strip {
		margin-top: 16px;
		margin-bottom: 16px;
		padding-bottom: 43.34px !important;
	}

	.page-builder-icon-text--category-strip .design-customer-service .row {
		display: flex;
		flex-wrap: wrap;
		row-gap: 0;
		margin: -16px -8px 0;
	}

	.page-builder-icon-text--category-strip .design-customer-service .page-builder-icon-text-item {
		width: 33.333333%;
		max-width: 33.333333%;
		margin-top: 16px;
		padding-right: 8px;
		padding-left: 8px;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-item {
		min-width: 0;
		text-align: center;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-item a {
		display: block;
		min-height: 0;
		padding: 0;
		color: inherit;
		text-decoration: none;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-item img {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 10px;
		object-fit: fill;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-copy {
		display: block;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-title,
	.page-builder-icon-text--category-strip .page-builder-icon-text-subtitle {
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
	}

	.page-builder-desktop-slideshow {
		margin-bottom: 0;
	}

	.page-builder-desktop-slideshow .page-slide img {
		height: calc(100vw / 2.0677);
		object-fit: cover;
	}

	.page-builder-image-200 {
		padding-top: 7.8px;
		padding-bottom: 7.8px;
	}

	.page-builder-group-buying {
		padding-bottom: 30px;
	}

	.page-builder-bargain {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* The reference bottom collection banner keeps the source 2000x714 ratio and
 * uses a small vertical inset around the image at both responsive widths. */
.page-builder-image-100 {
	padding-top: 27.2px;
	padding-bottom: 27.2px;
}

.column-item.product-tab-wrapper {
	margin-bottom: 0 !important;
}

@media (min-width: 992px) {
	.page-builder-promotion {
		padding-top: 27.2px;
		padding-bottom: 27.2px;
	}

	.page-builder-group-buying {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.page-builder-bargain {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}

@media (max-width: 991.98px) {
	.page-builder-image-100 {
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.page-builder-group-buying {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* Premium Basics reference banners: keep the existing image_200 module but
 * let page data provide the centered copy overlay used by the storefront. */
@media (min-width: 992px) {
	.page-builder-image-200 {
		padding-top: 43px;
		padding-bottom: 43px;
	}

	.page-builder-image-200-heading {
		margin: 0 auto 14px;
		text-align: center;
	}

	.page-builder-image-200-heading h2 {
		margin: 0;
		font-size: 23.52px;
		font-weight: 600;
		line-height: 28.22px;
	}

	.page-builder-image-200-heading p {
		margin: 4px 0 0;
		color: #6c757d;
		font-size: 13.44px;
		line-height: 20.16px;
	}

	.page-builder-image-200 .row > [class*="col-"] > a {
		position: relative;
		display: block;
	}

	.page-builder-image-200 .row > [class*="col-"] > a > img {
		display: block;
		width: 100%;
		height: auto;
	}

	.page-builder-image-200-caption {
		position: absolute;
		top: 50%;
		left: 30px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		transform: translateY(-50%);
		color: #212529;
	}

	.page-builder-image-200-caption-title {
		font-size: 18px;
		font-weight: 700;
		line-height: 27px;
	}

	.page-builder-image-200-caption-subtitle {
		margin-top: 10px;
		font-size: 14px;
		font-weight: 400;
		line-height: 21px;
	}

	.page-builder-image-200-caption-button {
		margin-top: 20px;
		font-size: 14px;
		font-weight: 700;
		line-height: 19px;
	}
}

/* Reference storefront category strip: six evenly spaced square image cards
 * below the hero, with the shared icon-text renderer and no legacy sidebar. */
.page-builder-icon-text--category-strip {
	margin: 0 auto;
	padding: 27.2px 0;
}

.page-builder-icon-text--category-strip .page-builder-icon-text-heading {
	width: min(864px, 100%);
	margin-right: auto;
	margin-left: auto;
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	text-align: center;
}

.page-builder-icon-text--category-strip .page-builder-icon-text-kicker {
	display: block;
	margin-bottom: 14px;
	color: #6c757d;
	font-size: 13.44px;
	line-height: 20.16px;
}

.page-builder-icon-text--category-strip .page-builder-icon-text-heading h2 {
	margin: 0;
	color: #222;
	font-size: 25.6px;
	line-height: 1.5;
	font-weight: 700;
}

@media (min-width: 992px) {
	.page-builder-icon-text--category-strip .design-customer-service {
		padding: 0;
	}

	.page-builder-icon-text--category-strip .design-customer-service .row {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
		margin: -16px -24px 0;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-item {
		width: 16.666667%;
		max-width: none;
		flex: 0 0 16.666667%;
		margin-top: 48px;
		padding: 0 24px;
		text-align: start;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-item a {
		display: block;
		min-height: 226px;
		color: inherit;
		text-decoration: none;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-item img {
		display: block;
		width: 100%;
		max-width: 176px;
		height: auto;
		margin: 0 auto 16px;
		border-radius: 0;
		background: transparent;
		object-fit: fill;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-copy {
		display: block;
		line-height: 24px;
		text-align: center;
	}

	.page-builder-icon-text--category-strip .page-builder-icon-text-title {
		display: block;
		margin-bottom: 10px;
		color: #212529;
		font-size: 16px;
		font-weight: 700;
		line-height: 24px;
	}
}

@media (max-width: 991px) {
	.page-builder-icon-text--category-strip {
		padding: 16px 0;
	}
}

.page-builder-bargain .bargain-card {
	width: 100%;
  overflow: hidden;
}

.page-builder-bargain .bargain-card img {
	display: block;
	width: 100%;
	height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.page-builder-bargain .bargain-card .image,
.page-builder-bargain .bargain-card .img-wrap {
	min-height: 0;
}

.page-builder-bargain .bargain-card .card-title {
  min-height: 2.5rem;
}

/* Desktop bargain cards follow the reference rail: a 1296px inner track,
 * 309px image/card columns, and a compact caption. Keep the campaign action
 * and countdown available while preventing their legacy vertical stack from
 * stretching the whole module. */
@media (min-width: 992px) {
	.page-builder-group-buying > .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.page-builder-group-buying .column-lr {
		padding-right: 0;
		padding-left: 0;
	}

	.page-builder-group-buying .page-builder-promotion-grid {
		--bs-gutter-y: 0;
	}

	.page-builder-group-buying .promotion-layout {
		padding-top: 0;
		padding-bottom: 0;
	}

	.page-builder-group-buying .promotion-layout .product-thumb {
		height: 403px;
		min-height: 403px;
	}

	.page-builder-group-buying .promotion-layout .product-thumb .image {
		height: 309px;
		min-height: 309px;
		flex: 0 0 309px;
	}

	.page-builder-group-buying .promotion-layout .product-thumb .caption {
		height: 94px;
		min-height: 94px;
		overflow: hidden;
	}

	.page-builder-group-buying .promotion-layout .product-name {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-height: 1.35;
		margin-bottom: 3px;
	}

	.page-builder-bargain > .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.page-builder-bargain .column-lr {
		padding: 0 0 20px;
	}

	.page-builder-bargain .page-builder-promotion-grid {
		--bs-gutter-y: 0;
		margin-top: 0 !important;
	}

	.page-builder-bargain .page-builder-promotion-grid > .col {
		padding-top: 0;
		padding-bottom: 0;
	}

	.page-builder-bargain > .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.page-builder-bargain .column-lr {
		padding: 0 0 20px;
	}

	.page-builder-bargain > .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.page-builder-bargain .page-builder-bargain-heading h3 {
		font-size: 23.52px;
		line-height: 28.224px;
	}

	.page-builder-bargain .page-builder-promotion-grid {
		--bs-gutter-y: 0;
		margin-top: 32px !important;
	}

	.page-builder-bargain .bargain-card {
		display: block;
		height: 403px;
		min-height: 403px;
		margin: 0;
	}

	.page-builder-bargain .bargain-card .image {
		height: 309px;
		min-height: 309px;
		flex: none;
	}

	.page-builder-bargain .bargain-card .caption {
		height: 84px;
		min-height: 84px;
		overflow: hidden;
		display: block;
		padding: 0 10px;
	}

	.page-builder-bargain .bargain-card .product-name {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-height: 1.35;
		margin-bottom: 10px;
	}

	.page-builder-bargain .bargain-card .price {
		line-height: 1.25;
	}
}

@media (max-width: 991.98px) {
	.page-builder-flash-sale > .container,
	.page-builder-group-buying > .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.page-builder-flash-sale > .container {
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.page-builder-flash-sale .flash-wrapper-multi,
	.page-builder-group-buying .column-lr {
		padding: 0 0 20px;
	}

	.page-builder-flash-sale .widget-title {
		margin-bottom: 30px;
	}

	.page-builder-flash-sale .page-builder-promotion-grid,
	.page-builder-group-buying .page-builder-promotion-grid {
		flex-wrap: nowrap;
		gap: 20px;
		margin: 0 !important;
		padding: 0;
	}

	.page-builder-flash-sale .promotion-layout,
	.page-builder-group-buying .promotion-layout {
		width: 82.5px;
		min-width: 82.5px;
		max-width: 82.5px;
		flex: 0 0 82.5px;
		height: 173.5px;
		min-height: 173.5px;
		padding: 0;
	}

	.page-builder-flash-sale .promotion-layout .image,
	.page-builder-group-buying .promotion-layout .image {
		height: 82.5px;
		min-height: 82.5px;
	}

	.page-builder-flash-sale .promotion-layout .caption,
	.page-builder-group-buying .promotion-layout .caption {
		display: block;
		height: 81px;
		min-height: 81px;
		overflow: hidden;
		padding: 0 10px;
	}

	.page-builder-flash-sale .promotion-layout .product-name,
	.page-builder-group-buying .promotion-layout .product-name {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-height: 1.35;
		margin-bottom: 10px;
	}

	.page-builder-flash-sale .promotion-layout .promotion-meta,
	.page-builder-flash-sale .promotion-layout .flash-sale-countdown,
	.page-builder-group-buying .promotion-layout .promotion-meta,
	.page-builder-group-buying .promotion-layout .group-buying-countdown {
		display: none;
	}

	.page-builder-bargain .page-builder-bargain-heading > a,
	.page-builder-bargain .bargain-card .small,
	.page-builder-bargain .bargain-card .bargain-countdown,
	.page-builder-bargain .bargain-card .bargain-launch {
		display: none;
	}

	.page-builder-bargain .page-builder-bargain-heading {
		margin-bottom: 30px;
		text-align: left;
	}

	.page-builder-bargain .column-lr {
		padding: 0 0 20px;
	}

	.page-builder-bargain > .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.page-builder-bargain .page-builder-bargain-heading h3 {
		font-size: 23.52px;
		line-height: 28.224px;
	}

	.page-builder-bargain .page-builder-promotion-grid {
		flex-wrap: nowrap;
		margin: 0 !important;
		padding: 0;
	}

	.page-builder-bargain .page-builder-promotion-grid > .col {
		margin-top: 0 !important;
		padding-top: 0;
		padding-bottom: 0;
	}

	.page-builder-bargain .bargain-card {
		display: block;
		height: 173.5px;
		min-height: 173.5px;
		margin: 0;
	}

	.page-builder-bargain .bargain-card .image {
		height: 82.5px;
		min-height: 82.5px;
		flex: none;
	}

	.page-builder-bargain .bargain-card .caption {
		display: block;
		height: 81px;
		min-height: 81px;
		overflow: hidden;
		padding: 0 10px;
	}

	.page-builder-bargain .bargain-card .product-name {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-height: 1.35;
		margin-bottom: 10px;
	}
}

@media (max-width: 991.98px) {
	.page-builder-latest .widget-title > span,
	.page-builder-promotion .widget-title > span,
	.page-builder-bargain .page-builder-bargain-heading h3 {
		font-size: 25.6px;
		line-height: 30.72px;
		font-weight: 700;
	}
}

.page-builder-carousel {
	margin: 1.5rem auto;
}

.page-builder-image-400 {
	margin: 1.5rem auto;
}

.page-builder-image-400-grid {
	--bs-gutter-x: 1rem;
	--bs-gutter-y: 1rem;
}

.page-builder-image-400-item {
	min-width: 0;
}

.page-builder-image-400-item a {
	display: block;
	color: inherit;
	line-height: 0;
	text-decoration: none;
}

.page-builder-image-400-item img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: .5rem;
}

.page-builder-page-with-background {
	background-color: var(--page-builder-background, transparent);
}

.page-builder-preview-note {
	max-width: 1200px;
	margin: 1rem auto;
	padding: .75rem 1rem;
	border-left: 3px solid var(--bs-info, #0dcaf0);
	background: var(--bs-info-bg-subtle, #e7f9fc);
	color: var(--bs-body-color, #212529);
}

.page-builder-carousel-viewport {
  position: relative;
  padding: 0 2.5rem;
}

.page-builder-carousel-track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scroll-snap-type: x mandatory;
}

.page-builder-carousel-track::-webkit-scrollbar {
  height: .35rem;
}

.page-builder-carousel-item {
  flex: 0 0 calc((100% - (var(--page-builder-carousel-columns) - 1) * 1.25rem) / var(--page-builder-carousel-columns));
  min-width: 0;
  scroll-snap-align: start;
  text-align: center;
}

.page-builder-carousel-item a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.page-builder-carousel-item img {
  display: inline-block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}

.page-builder-carousel-text {
  display: block;
  margin-top: .5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-builder-carousel-control {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 2rem;
  height: 2rem;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .12);
  color: #fff;
  line-height: 2rem;
}

.page-builder-carousel-control:hover,
.page-builder-carousel-control:focus-visible {
  background: rgba(0, 0, 0, .35);
}

.page-builder-carousel-prev {
  left: 0;
}

.page-builder-carousel-next {
  right: 0;
}

.page-builder-category-slideshow {
  position: relative;
  min-height: 120px;
  background: rgba(0, 0, 0, .03);
}

.page-builder-category-slides {
  position: relative;
  overflow: hidden;
}

.page-builder-category-slide {
  display: none;
  text-align: center;
}

.page-builder-category-slide.active {
  display: block;
}

.page-builder-category-slide img {
  display: inline-block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-builder-category-pager {
  position: absolute;
  right: 0;
  bottom: .75rem;
  left: 0;
  display: flex;
  justify-content: center;
  gap: .5rem;
  z-index: 2;
}

.page-builder-category-pager button {
  width: .7rem;
  height: .7rem;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, .85);
  border-radius: 50%;
  background: transparent;
}

.page-builder-category-pager button.active,
.page-builder-category-pager button:hover {
  background: #fff;
}

.page-builder-slideshow-category .category-wrapper {
  position: absolute;
  top: 1.25rem;
  left: 1rem;
  z-index: 3;
  width: 230px;
  height: calc(100% - 2.5rem);
}

.page-builder-slideshow-category .category-wrapper > ul {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
  border-radius: .5rem;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 0 2rem rgba(0, 0, 0, .12);
}

.page-builder-slideshow-category .category-item {
  position: static;
  margin: 0 1rem;
  list-style: none;
}

.page-builder-slideshow-category .category-item > a {
  position: relative;
  display: block;
  padding: .75rem .25rem;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
  color: #555;
  text-decoration: none;
}

.page-builder-slideshow-category .category-item:hover > a {
  color: var(--main-color, #0d6efd);
}

.page-builder-slideshow-category .category-item .description {
  display: block;
  overflow: hidden;
  color: #999;
  font-size: .75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-builder-slideshow-category .category-info {
  position: absolute;
  top: 0;
  left: 100%;
  display: block;
  visibility: hidden;
  width: min(700px, 65vw);
  height: 100%;
  overflow-y: auto;
  border-radius: 0 .5rem .5rem 0;
  background: #fff;
  box-shadow: 1rem 0 2rem rgba(0, 0, 0, .1);
  opacity: 0;
  transition: opacity .2s ease, visibility .2s ease;
}

.page-builder-slideshow-category .category-item:hover .category-info {
  visibility: visible;
  opacity: 1;
}

.page-builder-slideshow-category .category-title {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #eee;
  color: var(--main-color, #0d6efd);
  font-size: 1.35rem;
}

.page-builder-slideshow-category .category-title a,
.page-builder-slideshow-category .children a {
  color: inherit;
  text-decoration: none;
}

.page-builder-slideshow-category .children {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.25rem;
  margin: 0;
  padding: 1rem 1.5rem;
  list-style: none;
}

.page-builder-slideshow-category .products {
  margin: 0;
  border-top: 1px solid #eee;
}

.page-builder-slideshow-category .products > .col {
  padding: .75rem;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

@media (max-width: 1199px) {
  .page-builder-carousel-item {
    flex-basis: calc((100% - 1.25rem) / 2);
  }

  .page-builder-slideshow-category .category-wrapper {
    position: static;
    width: auto;
    height: auto;
    margin-top: 1rem;
  }

  .page-builder-slideshow-category .category-wrapper > ul {
    height: auto;
    background: transparent;
    box-shadow: none;
  }

  .page-builder-slideshow-category .category-item {
    margin: 0 0 .75rem;
    border: 1px solid #eee;
    border-radius: .5rem;
    background: #fff;
  }

  .page-builder-slideshow-category .category-info {
    position: static;
    visibility: visible;
    width: auto;
    height: auto;
    overflow: visible;
    border-radius: 0 0 .5rem .5rem;
    box-shadow: none;
    opacity: 1;
  }
}

@media (max-width: 575px) {
  .page-builder-carousel-viewport {
    padding: 0 2rem;
  }

  .page-builder-carousel-track {
    gap: .5rem;
  }

  .page-builder-carousel-item {
    flex-basis: calc((100% - .5rem) / 2);
  }
}

@media (max-width: 480px) {
	/* Fit the four reference promotion cards inside the 12px mobile page
	 * gutters. The 82.5px tablet/mobile fallback otherwise spills past the
	 * 375px content rail and adds almost 10px to each promotion module. */
	.page-builder-flash-sale .page-builder-promotion-grid > .promotion-layout,
	.page-builder-group-buying .page-builder-promotion-grid > .promotion-layout,
	.page-builder-bargain .page-builder-promotion-grid > .col {
		width: calc((100vw - 84px) / 4);
		min-width: calc((100vw - 84px) / 4);
		max-width: calc((100vw - 84px) / 4);
		flex: 0 0 calc((100vw - 84px) / 4);
	}

	.page-builder-flash-sale .promotion-layout,
	.page-builder-group-buying .promotion-layout,
	.page-builder-bargain .bargain-card {
		height: calc((100vw - 84px) / 4 + 91px);
		min-height: calc((100vw - 84px) / 4 + 91px);
	}

	.page-builder-flash-sale .promotion-layout .image,
	.page-builder-group-buying .promotion-layout .image,
	.page-builder-bargain .bargain-card .image {
		height: calc((100vw - 84px) / 4);
		min-height: calc((100vw - 84px) / 4);
	}
}

/* Tablet uses full-size swipeable cards; compact promotion cards are for phones. */
@media (min-width: 576px) and (max-width: 991.98px) {
	.page-builder-desktop-slideshow {
		margin-bottom: 0;
		padding-bottom: 16px;
	}

	.page-builder-desktop-slideshow .page-slide img {
		height: 44.5vw;
		object-fit: cover;
	}

	.page-builder-product-tab {
		padding-top: 16.82px;
		padding-bottom: 16.82px;
	}

	.page-builder-icon-text--category-strip {
		padding-bottom: 51.04px !important;
	}

	.page-builder-image-200 {
		padding-top: 18.225px;
		padding-bottom: 18.225px;
	}

	.page-builder-image-200-heading {
		top: 18.225px;
	}

	.page-builder-image-200 .row > [class*="col-"] > a {
		position: relative;
		display: block;
	}

	.page-builder-image-200-caption {
		position: absolute;
		top: 50%;
		left: 30px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		transform: translateY(-50%);
		color: #212529;
	}

	.page-builder-image-200-caption-title {
		font-size: 18px;
		font-weight: 700;
		line-height: 27px;
	}

	.page-builder-image-200-caption-subtitle {
		margin-top: 10px;
		font-size: 14px;
		line-height: 21px;
	}

	.page-builder-image-200-caption-button {
		margin-top: 20px;
		font-size: 14px;
		font-weight: 700;
		line-height: 19px;
	}

	.page-builder-image-100 img {
		 aspect-ratio: 2000 / 714;
		 height: auto;
		 object-fit: cover;
	}

	.page-builder-latest {
		padding-bottom: 15px;
	}

	.page-builder-latest .page-builder-product-slide .product-thumb .caption {
		height: 81px;
		min-height: 81px;
	}

	.page-builder-group-buying .column-lr {
		padding-bottom: 21.98px;
	}

	.page-builder-bargain .column-lr {
		padding-bottom: 15.43px;
	}

	.page-builder-flash-sale .page-builder-promotion-grid > .promotion-layout,
	.page-builder-group-buying .page-builder-promotion-grid > .promotion-layout,
	.page-builder-bargain .page-builder-promotion-grid > .col {
		width: 338px;
		min-width: 338px;
		max-width: 338px;
		flex: 0 0 338px;
	}

	.page-builder-flash-sale .promotion-layout,
	.page-builder-group-buying .promotion-layout,
	.page-builder-bargain .bargain-card {
		height: 429px;
		min-height: 429px;
	}

	.page-builder-flash-sale .promotion-layout .image,
	.page-builder-group-buying .promotion-layout .image,
	.page-builder-bargain .bargain-card .image {
		height: 338px;
		min-height: 338px;
		flex: 0 0 338px;
	}
}

/* Desktop home rhythm, measured against the 1650px reference viewport. */
@media (min-width: 992px) {
	.page-builder-icon-text--category-strip {
		padding-bottom: 25.2px;
	}

	.page-builder-product-tab {
		padding-top: 25.845px;
		padding-bottom: 25.845px;
	}

	.page-builder-image-200 {
		padding-top: 76.075px;
		padding-bottom: 76.075px;
	}

	.page-builder-image-100 img {
		width: 100%;
		aspect-ratio: 2000 / 714;
		height: auto;
		object-fit: cover;
	}
}

/* Keep the whole Cool Summer heading stack centered in the page grid after
 * the theme's late legacy widget-title declarations. */
.page-builder-product-tab > .container > .page-builder-product-tab-heading {
	float: none !important;
	width: min(864px, 100%) !important;
	max-width: 100%;
	margin: 0 auto 32px !important;
	text-align: center;
}

.page-builder-product-tab .page-builder-product-tab-subtitle {
	width: min(864px, 100%);
	margin-right: auto !important;
	margin-left: auto !important;
}

.page-builder-product-tab .product-tab-nav-wrapper {
	width: max-content !important;
	max-width: 100%;
	margin-right: auto !important;
	margin-left: auto !important;
}

.page-builder-product-tab .product-tab-nav {
	width: max-content !important;
	max-width: 100%;
}

@media (max-width: 575.98px) {
	.page-builder-product-tab .product-tab-nav-wrapper,
	.page-builder-product-tab .product-tab-nav {
		width: 100% !important;
	}

	.page-builder-product-tab .product-tab-nav {
		justify-content: center;
	}
}

@media (min-width: 992px) {
	.page-builder-product-tab {
		padding-top: 25.715px !important;
		padding-bottom: 28.35px !important;
		margin-bottom: 0 !important;
	}

	.page-builder-icon-text--category-strip {
		padding-bottom: 25.2px !important;
	}

	.page-builder-product-tab > .container > .page-builder-product-tab-heading {
		top: 1.486px;
		margin-bottom: 33.486px !important;
	}

	.page-builder-product-tab .page-builder-product-tab-title {
		line-height: 1.5 !important;
	}

	.page-builder-product-tab .page-builder-product-tab-subtitle {
		font-size: 15px !important;
		line-height: 1.5 !important;
		margin: 16px auto 32px !important;
	}
}

/* Desktop homepage module rhythm measured against the fully loaded reference
 * at 1463px: keep promotion rails on the same outer padding and normalize the
 * target's wrapped title rows before sizing their product tracks. */
@media (min-width: 992px) {
	.page-builder-latest .widget-title {
		height: 30.7px !important;
		min-height: 30.7px !important;
		line-height: 30.7px !important;
	}

	.page-builder-latest .page-builder-product-track {
		padding-bottom: 48px;
	}

	.page-builder-promotion .widget-title,
	.page-builder-bargain .page-builder-bargain-heading {
		height: 30.7px;
		min-height: 30.7px;
		line-height: 30.7px;
	}

	.page-builder-flash-sale,
	.page-builder-group-buying {
		padding-top: 27.2px;
		padding-bottom: 27.2px;
	}

	.page-builder-bargain {
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.page-builder-product-tab > .container > .page-builder-product-tab-heading {
		width: min(780px, 100%) !important;
	}
}

/* Match the reference homepage: five complete product cards in the viewport,
 * with any remaining products kept on the same accessible horizontal rail. */
@media (min-width: 992px) {
	.page-builder-latest .page-builder-product-track {
		gap: 20px;
	}

	.page-builder-latest .page-builder-product-track > .page-builder-product-slide {
		width: calc((100% - 80px) / 5) !important;
		min-width: calc((100% - 80px) / 5) !important;
		max-width: calc((100% - 80px) / 5) !important;
		flex: 0 0 calc((100% - 80px) / 5) !important;
	}
}

/* The reference keeps only a short pause between campaign banners and the
 * product rail. Remove the oversized desktop blank bands around these real
 * modules without changing the banner artwork or its aspect ratio. */
@media (min-width: 992px) {
	.page-builder-image-200 {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.page-builder-image-100 {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.page-builder-latest {
		padding-top: 20px !important;
	}
}
