:root
{
	--accent: #d6aab0;
	--nav-bg: #faf9f5;
	--shadow: 2px 2px 2px 2px #78787842;
}

/* ---------------- Banner ---------------- */
.banner
{
	--banner-primary:#111827;
	--banner-secondary:#ffffff;
	--banner-bg:#ffffff;

	position: relative;
	float: none;
	clear: both;
	width: auto;
	max-width: none;
	z-index:0;
	left: auto;
	transform: none;
	display: block;
	overflow: hidden;
	margin-bottom: 20px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background:var(--banner-bg);
	box-shadow:0 0 0 100vmax var(--banner-bg);
	clip-path:inset(0 -100vmax);
	isolation:isolate;
}

.banner:before
{
	display:none;
}

.banner-list
{
	position:relative;
	z-index:1;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: block;
	background:var(--banner-bg);
	overflow:hidden;
	box-shadow:none;
}

.banner-slide
{
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	display: block;
	opacity: 0;
	background:var(--banner-bg);
}

.banner-slide:first-child
{
	position: relative;
	opacity: 1;
	z-index: 1;
}

.banner-frame
{
	display: block;
	width: 100%;
	background:var(--banner-bg);
	color:var(--banner-primary);
}

.banner-layout
{
	width: min(1380px, calc(100% - 160px));
	min-height: clamp(340px, 28vw, 520px);
	margin: 0 auto;
	padding: clamp(24px, 3vw, 44px) 0 clamp(92px, 5vw, 116px) 0;
	display: grid;
	grid-template-columns: minmax(280px, 430px) minmax(366px, 740px);
	align-items: center;
	gap: clamp(48px, 6vw, 110px);
	box-sizing: border-box;
}

.banner-copy
{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(14px, 1.7vw, 24px);
	color: #111827;
	color: var(--banner-primary);
}

.banner-copy h2
{
	margin: 0;
	font-family: "Garet";
	font-size: clamp(25px, 1.9vw, 38px);
	font-weight: bold;
	line-height: 1.08;
	color: var(--banner-primary);
}

.banner-copy p
{
	margin: 0;
	font-family: "Garet";
	font-size: clamp(14px, 1vw, 18px);
	line-height: 1.45;
	color: var(--banner-primary);
}

.banner-button
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 22px;
	border-radius: 4px;
	background: var(--banner-primary);
	color: var(--banner-secondary);
	font-family: "Garet";
	font-size: clamp(13px, .85vw, 15px);
	font-weight: bold;
	text-decoration: none;
	transition: background 160ms ease, transform 160ms ease;
}

.banner-button:hover
{
	background: color-mix(in srgb, var(--banner-primary), #ffffff 12%);
}

.banner-button-disabled
{
	cursor: default;
}

.banner-button-disabled:hover
{
	background: var(--banner-primary);
}

.banner-image
{
	width: min(100%, 740px);
	aspect-ratio: 740 / 416;
	overflow: hidden;
	border-radius: 4px;
	background: rgba(255,255,255,.28);
	justify-self:end;
}

.banner-image img
{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* Banner arrows */
.banner-nav
{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 72px;
	z-index: 3;
	cursor: pointer;
	border: 0;
	border-radius: 4px;
	background: transparent;
	transition: background 160ms ease, transform 160ms ease;
}

.banner-nav:hover
{
	background: rgba(255,255,255,.22);
}

.banner-nav:focus-visible
{
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.banner-nav-left
{
	left: clamp(12px, 2vw, 34px);
}

.banner-nav-right
{
	right: clamp(12px, 2vw, 34px);
}

.banner-nav:before
{
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	border-top: 3px solid #1f2933;
	border-right: 3px solid #1f2933;
	border-color: var(--banner-primary);
	opacity: .9;
}

.banner-nav-left:before
{
	transform: rotate(-135deg);
	margin: 0;
}

.banner-nav-right:before
{
	transform: rotate(45deg);
	margin: 0;
}

/* Banner dots */
#bannerIndexHolder
{
	--dot: 12px;

	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: clamp(24px, 2vw, 34px);

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	z-index: 4;
	pointer-events: none;
}

#bannerDots
{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
}

.banner-play
{
	position:relative;
	width:28px;
	height:28px;
	border:0;
	border-radius:4px;
	padding:0;
	background:transparent;
	cursor:pointer;
	pointer-events:auto;
	transition:background 160ms ease;
}

.banner-play:hover
{
	background:rgba(255,255,255,.22);
}

.banner-play:before
{
	content:"";
	position:absolute;
	left:8px;
	top:5px;
	width:4px;
	height:18px;
	background:var(--banner-primary);
	border:0;
	box-shadow:8px 0 0 var(--banner-primary);
}

.banner-play.is-paused:before
{
	left:9px;
	top:5px;
	width:0;
	height:0;
	border-top:9px solid transparent;
	border-bottom:9px solid transparent;
	border-left:15px solid var(--banner-primary);
	border-right:0;
	background:transparent;
	box-shadow:none;
}

#bannerIndexHolder .banner-dot
{
	pointer-events: auto;
	width: var(--dot);
	height: var(--dot);
	border-radius: 50%;
	background: transparent;
	border: 2px solid var(--banner-primary);
	opacity: 1;
	transition: opacity 150ms ease, transform 150ms ease;
}

#bannerIndexHolder .banner-dot:hover
{
	transform: scale(1.12);
}

#bannerIndexHolder .banner-dot.active
{
	background: var(--banner-primary);
	opacity: 1;
	transform: scale(1.05);
}

@media only screen and (max-width: 900px)
{
	.banner-layout
	{
		width: 100%;
		min-height: 0;
		padding: 0 0 92px 0;
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.banner-image
	{
		order: 1;
		width: 100%;
		aspect-ratio: 366 / 206;
		margin:0;
		border-radius: 0;
	}

	.banner-copy
	{
		order: 2;
		align-items: center;
		width: 100%;
		max-width: 720px;
		padding: clamp(28px, 7vw, 46px) 24px 0 24px;
		box-sizing: border-box;
		text-align: center;
	}

	.banner-copy h2
	{
		font-size: clamp(28px, 8vw, 46px);
	}

	.banner-copy p
	{
		font-size: clamp(16px, 4.8vw, 24px);
	}

	.banner-button
	{
		width: min(100%, 360px);
		min-height: 54px;
	}

	.banner-nav
	{
		top: auto;
		bottom: clamp(118px, 24vw, 160px);
		transform: none;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 64px;
		background: transparent;
	}

	#bannerIndexHolder
	{
		bottom:28px;
	}
}

/* ---------------- Sections ---------------- */
.sec
{
	margin-top: 60px;
	margin-bottom: 30px;
}

.sec-head
{
	text-align: center;
}

.sec-title
{
	font-size:var(--decoz-section-title-size, 36px);
	max-width:860px;
	margin:32px auto 5px auto;
	font-weight:500;
	color:#000000;
}

.sec-h1
{
	color: black;
	font-weight: normal;
}

.sec-sub
{
	color: black;
	font-family:"Garet";
	font-size:var(--decoz-section-subtitle-size, 16px);
}

.sec-rule
{
	border: 0;
	border-top: 1px solid rgba(0,0,0,0.15);
	margin-top: 20px;
}

.home-round-section
{
	width:100%;
	max-width:none;
	margin:0 auto;
	padding:0 10px;
	box-sizing:border-box;
}

.index-section-head
{
	width:100%;
	max-width:none;
	padding-left:10px;
	padding-right:10px;
	box-sizing:border-box;
}

.home-round-sec
{
	margin-top:56px;
	margin-bottom:30px;
}

.home-round-section-featured .home-round-sec
{
	margin-top:34px;
}

.home-round-section-featured
{
	margin-top:42px;
	margin-bottom:clamp(38px, 4vw, 64px);
}

.home-round-section-searches .home-round-sec
{
	margin-top:56px;
}

.home-round-section-featured .home-round-grid,
.home-round-section-searches .home-round-grid
{
	grid-template-columns:repeat(6, minmax(0, 1fr));
	gap:34px;
}

.home-round-section-featured .home-round-card,
.home-round-section-searches .home-round-card
{
	align-items:stretch;
	font-size:var(--decoz-content-size, 16px);
	transition:color 160ms ease;
}

.home-round-section-featured .home-round-image,
.home-round-section-searches .home-round-image
{
	width:100%;
	aspect-ratio:4 / 6;
	margin-bottom:14px;
	border-radius:0;
	background:#ffffff;
	box-shadow:0 0 0 1px transparent;
}

.home-round-section-featured .home-round-card:hover .home-round-image,
.home-round-section-searches .home-round-card:hover .home-round-image
{
	box-shadow:0 0 0 2px var(--decoz-pink, #d6aab0);
	transform:translateY(-3px);
}

.home-round-section-featured .home-round-card:hover > span:last-child,
.home-round-section-searches .home-round-card:hover > span:last-child
{
	color:var(--decoz-pink-dark, #b97f89);
}

.home-round-section-featured .home-round-card > span:last-child,
.home-round-section-searches .home-round-card > span:last-child
{
	display:block;
	text-align:center;
}

.home-round-grid
{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(135px, 1fr));
	gap:24px;
	align-items:start;
}

.home-round-card
{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	color:#111827;
	font-family:"Garet";
	font-size:var(--decoz-content-size, 16px);
	line-height:1.35;
	text-decoration:none;
}

.home-round-card:hover
{
	color:#000;
}

.home-round-image
{
	width:clamp(118px, 9vw, 170px);
	aspect-ratio:1 / 1;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:16px;
	border-radius:50%;
	background:#f0f0f0;
	overflow:hidden;
	transition:transform 160ms ease, box-shadow 160ms ease;
}

.home-round-card:hover .home-round-image
{
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(0,0,0,0.12);
}

.home-round-image img
{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.home-round-image img[src$="find.png"]
{
	width:44%;
	height:44%;
	object-fit:contain;
}

@media only screen and (max-width:1000px)
{
	.home-round-grid
	{
		grid-template-columns:repeat(3, minmax(0, 1fr));
		gap:30px 18px;
	}
}

@media only screen and (max-width:560px)
{
	.home-round-section
	{
		width:100%;
		padding-left:10px;
		padding-right:10px;
		margin-top:42px;
	}

	.home-round-head h2
	{
		font-size:var(--decoz-section-title-size, 28px);
	}

	.home-round-grid
	{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.home-round-card
	{
		font-size:var(--decoz-content-size, 14px);
	}
}

@media only screen and (max-width:1000px)
{
	.home-round-section-featured .home-round-grid,
	.home-round-section-searches .home-round-grid
	{
		grid-template-columns:repeat(3, minmax(0, 1fr));
	}

	.home-round-section-featured .home-round-card:nth-child(n+4),
	.home-round-section-searches .home-round-card:nth-child(n+4)
	{
		display:none;
	}
}

@media only screen and (max-width:560px)
{
	.home-round-section-featured .home-round-grid,
	.home-round-section-searches .home-round-grid
	{
		grid-template-columns:repeat(3, minmax(0, 1fr));
		gap:18px 12px;
	}

	.home-round-section-featured .home-round-card:nth-child(n+4),
	.home-round-section-searches .home-round-card:nth-child(n+4)
	{
		display:none;
	}

	.sec-title
	{
		margin-top:24px;
	}
}

/* ---------------- Layout helpers ---------------- */
.full
{
	width: 100%;
}

.index-product-grid.rgrid
{
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media only screen and (max-width: 1400px)
{
	.index-product-grid.rgrid
	{
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.index-product-grid.rgrid > .product:nth-child(n+5)
	{
		display:none;
	}
}

@media only screen and (max-width: 1100px)
{
	.index-product-grid.rgrid
	{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.index-product-grid.rgrid > .product:nth-child(n+4)
	{
		display:none;
	}
}

@media only screen and (max-width: 760px)
{
	.index-product-grid.rgrid
	{
		grid-template-columns: 1fr;
	}

	.index-product-grid.rgrid > .product:nth-child(n+3)
	{
		display:none;
	}

	.index-popular-grid.rgrid > .product:nth-child(n+3)
	{
		display:flex;
	}

	.index-popular-grid.rgrid > .product:nth-child(n+6)
	{
		display:none;
	}
}

@media only screen and (max-width: 560px)
{
	.index-product-grid.rgrid
	{
		grid-template-columns: 1fr;
		padding-left:10px;
		padding-right:10px;
	}
}

.index-popular-grid.index-popular-expanded.rgrid > .product
{
	display:flex !important;
}

.index-popular-actions
{
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:12px;
	margin:26px 0 10px 0;
}

.index-popular-more
{
	min-width:170px;
	min-height:48px;
	border:1px solid var(--decoz-border, #e5e5e5);
	background:#ffffff;
	color:#111827;
	font-family:"Garet";
	font-size:17px;
	font-weight:700;
	cursor:pointer;
	box-shadow:var(--shadow);
	transition:background-color .18s ease, border-color .18s ease, color .18s ease;
}

.index-popular-more:hover,
.index-popular-more:focus
{
	background:var(--decoz-pink-light, #f8e9ec);
	border-color:var(--decoz-pink, #d6aab0);
	color:#000000;
}

.index-popular-more:disabled
{
	cursor:wait;
	opacity:.72;
}

.index-popular-status
{
	min-height:20px;
	color:#6b7280;
	font-family:"Garet";
	font-size:14px;
}

.index-review-section
{
	width: 100%;
	position: relative;
	left: auto;
	margin-left: 0;
	margin-top: 60px;
	padding: 44px 0 66px 0;
	background: var(--decoz-white-shade, #f3f3f3);
	border-top: 1px solid var(--decoz-border, #e5e5e5);
	border-bottom: 1px solid var(--decoz-border, #e5e5e5);
	box-sizing: border-box;
	box-shadow: 0 0 0 100vmax var(--decoz-white-shade, #f3f3f3);
	clip-path: inset(0 -100vmax);
}

.index-review-section .sec
{
	margin-top: 0;
}

.index-review-section .index-section-head
{
	width: 100%;
	max-width: none;
	padding-left: 10px;
	padding-right: 10px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.index-review-section .review-grid
{
	width: 100%;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
}

.index-review-section .rgrid.review-grid
{
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.index-review-section .review
{
	color:inherit;
	text-decoration:none;
	display:block;
}

@media only screen and (max-width: 1100px)
{
	.index-review-section .rgrid.review-grid
	{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.index-review-section .review:nth-child(n+4)
	{
		display:none;
	}
}

@media only screen and (max-width: 760px)
{
	.index-review-section .rgrid.review-grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.index-review-section .review:nth-child(n+3)
	{
		display:none;
	}
}

@media only screen and (max-width: 560px)
{
	.index-review-section .rgrid.review-grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-left:10px;
		padding-right:10px;
	}
}

.rev-card
{
	width: 100%;
	background-color: #fff;
	border-radius: 5px;
	box-shadow: var(--shadow);
	overflow: hidden;
}

.rev-top
{
	position: relative;
}

.rev-img img
{
	width: 100%;
	display: block;
	border-radius: 5px 5px 0 0;
}

.rev-stars
{
	width: 200px;
	height: 40px;
	position: absolute;
	left: 50%;
	bottom: -20px;
	transform: translateX(-50%);
	background-color: #fff;
	border-radius: 5px;
	box-shadow: var(--shadow);
}

.reviewrating img
{
	float: left;
	width: 40px;
	height: 40px;
	object-fit: cover;
	object-position: -8px;
}

.reviewrating img.on
{
	object-position: -58px;
}

.rev-body
{
	padding: 35px 10px 12px 10px;
	line-height: 30px;
}

.rev-name
{
	color: black;
	font-family: "Quicksand";
	font-style: italic;
	font-size: 20px;
	margin-bottom: 10px;
}

.rev-text
{
	color: black;
	font-family: "Garet";
	font-size: 16px;
}

.index-review-section .rev-card
{
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.index-review-section .rev-img
{
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 0;
	background: #f3f3f3;
}

.index-review-section .rev-img span,
.index-review-section .rev-img img
{
	width: 100%;
	height: 100%;
	display: block;
}

.index-review-section .rev-img img
{
	border-radius: 0;
	object-fit: cover;
}

.index-review-section .rev-stars
{
	width: auto;
	height: auto;
	position: static;
	left: auto;
	bottom: auto;
	transform: none;
	display: flex;
	align-items:center;
	margin-top: 10px;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.index-review-section .rev-star
{
	display: inline-flex;
	align-items:center;
	justify-content:center;
	width:calc(var(--decoz-product-rating-size, 30px) + 4px);
	height:calc(var(--decoz-product-rating-size, 30px) + 6px);
	color: var(--decoz-white-shade, #f3f3f3);
	font-family: Arial, sans-serif;
	font-size:calc(var(--decoz-product-rating-size, 30px) + 3px);
	line-height: 1;
	margin-right: 0;
	text-rendering:geometricPrecision;
}

.index-review-section .rev-star.on
{
	color: var(--decoz-pink, #d6aab0);
}

.index-review-section .rev-body
{
	padding: 8px 0 0 0;
	line-height: 1.55;
}

.index-review-section .rev-name
{
	margin-bottom: 8px;
}

/* ---------------- About ---------------- */
.about
{
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 60px;
}

.about-text p
{
	margin: 0 0 16px 0;
}

.about-text p:last-child
{
	margin-bottom: 0;
}

/* Extracted fixed styles from public PHP templates. */

.index-auto-e43a84d5
{
	gap:50px;
}
