/* Count-aware layouts. Loaded after frontend.css so the theme container remains authoritative. */
.rbpb-layout.site-container {
	width: var(--rb-container, min(1320px, calc(100vw - 40px)));
	max-width: 100%;
}

.rbpb-layout--1 {
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "only";
}

.rbpb-layout--2 {
	grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
	grid-template-areas: "first second";
}

.rbpb-layout--3 {
	grid-template-columns: minmax(0, .867fr) minmax(0, 1fr);
	grid-template-areas: "feature stack";
}

.rbpb-layout__item {
	min-width: 0;
	min-height: 0;
}

.rbpb-layout__item--only {
	grid-area: only;
}

.rbpb-layout__item--first {
	grid-area: first;
}

.rbpb-layout__item--second {
	grid-area: second;
}

.rbpb-layout__item .rbpb-card {
	height: 100%;
}

.rbpb-layout--1 .rbpb-card--feature .rbpb-card__content {
	top: 50%;
	right: 8.5%;
	width: 31%;
	transform: translateY(-50%) translateZ(34px);
}

.rbpb-layout--2 .rbpb-card--feature .rbpb-card__content {
	top: 50%;
	right: 5%;
	width: 52%;
	transform: translateY(-50%) translateZ(34px);
}

.rbpb-layout--2 .rbpb-card--skincare .rbpb-card__content {
	left: 5%;
	width: 30%;
}

@media (max-width: 899px) {
	.rbpb-layout.site-container {
		width: var(--rb-container, calc(100vw - 36px));
	}

	.rbpb-layout--1,
	.rbpb-layout--2,
	.rbpb-layout--3 {
		grid-template-columns: 1fr;
		aspect-ratio: auto;
	}

	.rbpb-layout--1 {
		grid-template-areas: "only";
	}

	.rbpb-layout--2 {
		grid-template-areas: "first" "second";
	}

	.rbpb-layout--3 {
		grid-template-areas: "feature" "stack";
	}

	.rbpb-layout--1 .rbpb-layout__item,
	.rbpb-layout--2 .rbpb-layout__item {
		aspect-ratio: 1.7 / 1;
	}

	.rbpb-layout--1 .rbpb-card--feature .rbpb-card__content,
	.rbpb-layout--2 .rbpb-card--feature .rbpb-card__content {
		top: 18%;
		right: 6.5%;
		width: 43%;
		transform: translateZ(34px);
	}

	.rbpb-layout--2 .rbpb-card--skincare .rbpb-card__content {
		left: 4.5%;
		width: 40%;
	}
}

@media (max-width: 620px) {
	.rbpb-layout--1 .rbpb-layout__item,
	.rbpb-layout--2 .rbpb-layout__item {
		aspect-ratio: 1.12 / 1;
	}

	.rbpb-layout--2 .rbpb-layout__item--second {
		aspect-ratio: 1.72 / 1;
	}

	.rbpb-layout--1 .rbpb-card--feature .rbpb-card__content,
	.rbpb-layout--2 .rbpb-card--feature .rbpb-card__content {
		top: 14%;
		right: 5.5%;
		width: 48%;
	}

	.rbpb-layout--2 .rbpb-card--skincare .rbpb-card__content {
		left: 5%;
		width: 46%;
	}
}

/* Mobile single-column banner stack. */
@media(max-width:899px){
	.rbpb-layout--3{grid-template-columns:1fr;grid-template-areas:none}
	.rbpb-layout--2{grid-template-columns:1fr;grid-template-areas:"first" "second"}
	.rbpb-layout--3 .rbpb-layout__feature,.rbpb-layout--3 .rbpb-layout__stack{display:contents}
	.rbpb-layout--3 .rbpb-card,.rbpb-layout--2 .rbpb-layout__item{height:auto;aspect-ratio:1.55/1}
}
@media(max-width:620px){
	.rbpb-layout--3 .rbpb-card,.rbpb-layout--2 .rbpb-layout__item{aspect-ratio:1.45/1}
}
@media(max-width:370px){
	.rbpb-layout--3,.rbpb-layout--2{gap:10px}
	.rbpb-layout--3 .rbpb-card,.rbpb-layout--2 .rbpb-layout__item{aspect-ratio:1.35/1}
}

@media (max-width: 899px) {
	.rbpb-layout--1 .rbpb-card .rbpb-card__content,
	.rbpb-layout--2 .rbpb-card .rbpb-card__content,
	.rbpb-layout--3 .rbpb-card .rbpb-card__content,
	.rbpb-card--feature .rbpb-card__content,
	.rbpb-card--skincare .rbpb-card__content,
	.rbpb-card--offers .rbpb-card__content {
		top: 14%;
		right: 6%;
		left: auto;
		width: 52%;
		text-align: right;
		transform: translateZ(34px);
	}

	.rbpb-card--feature::before,
	.rbpb-card--skincare::before,
	.rbpb-card--offers::before {
		background: linear-gradient(270deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .66) 42%, rgba(255, 255, 255, 0) 82%);
	}

	.rbpb-card--feature .rbpb-card__background,
	.rbpb-card--skincare .rbpb-card__background,
	.rbpb-card--offers .rbpb-card__background {
		background-position: center center;
	}
}

@media (max-width: 767px) {
	.rbpb-layout {
		display: flex !important;
		gap: 0;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.rbpb-layout::-webkit-scrollbar {
		display: none;
	}

	.rbpb-layout__feature,
	.rbpb-layout__stack {
		display: contents;
	}

	.rbpb-layout .rbpb-card,
	.rbpb-layout__feature .rbpb-card,
	.rbpb-layout--2 .rbpb-layout__item,
	.rbpb-layout--3 .rbpb-card {
		flex: 0 0 100%;
		width: 100%;
		height: 150px !important;
		min-height: 150px !important;
		max-height: 150px !important;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
}