/* ChulaCasa homepage — from design deliverable */
.cc-home {
	--cc-ivory: #fffafa;
	--cc-taupe: #8b7d7b;
	--cc-mist: #b9b0b0;
	--cc-sand: #cdc0b0;
	--cc-ink: #272321;
	--cc-white: #fffdfb;
	--cc-radius: 30px;
	--cc-gap: 24px;
	--cc-muted: #665d59;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 28px 32px 0;
	background: var(--cc-ivory);
	color: var(--cc-ink);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.cc-home *,
.cc-home *::before,
.cc-home *::after {
	box-sizing: border-box;
}

.cc-home a {
	color: inherit;
	text-decoration: none;
}

.cc-home .cc-panel {
	position: relative;
	overflow: hidden;
	border-radius: var(--cc-radius);
}

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

.cc-home .cc-eyebrow {
	font-size: 16px;
	letter-spacing: 0.16em;
	font-weight: 700;
	text-transform: uppercase;
}

.cc-home .cc-button {
	display: inline-flex;
	min-width: 190px;
	height: 58px;
	padding: 0 30px;
	border-radius: 999px;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	background: var(--cc-white);
	color: var(--cc-ink);
	border: 0;
	cursor: pointer;
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.cc-home .cc-button:hover {
	transform: translateY(-2px);
	opacity: 0.92;
}

.cc-home .cc-button.dark {
	background: var(--cc-taupe);
	color: #fff;
}

.cc-home .cc-button.outline {
	background: transparent;
	border: 1.5px solid currentColor;
	color: inherit;
}

/* Hero */
.cc-home .cc-hero {
	height: min(970px, 88vh);
	min-height: 520px;
}

.cc-home .cc-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(62, 51, 46, 0.47) 0%, rgba(62, 51, 46, 0.1) 45%, transparent 72%);
	pointer-events: none;
}

.cc-home .cc-hair-category::after,
.cc-home .cc-category-small::after,
.cc-home .cc-campaign::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(37, 29, 26, 0.55), transparent 58%);
	pointer-events: none;
}

.cc-home .cc-hero-copy {
	position: absolute;
	z-index: 2;
	left: clamp(24px, 5vw, 84px);
	top: 50%;
	transform: translateY(-48%);
	color: #fff;
	width: min(610px, 88%);
}

.cc-home .cc-hero-copy,
.cc-home .cc-hero-copy .cc-eyebrow,
.cc-home .cc-hero-copy h1 {
	color: #fff !important;
}

.cc-home .cc-hero h1 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	font-size: clamp(48px, 6.5vw, 102px);
	line-height: 0.98;
	letter-spacing: -0.045em;
	margin: 30px 0 44px;
}

/* Ticker */
.cc-home .cc-ticker {
	margin: 28px 0 86px;
	min-height: 74px;
	border-block: 1px solid rgba(39, 35, 33, 0.18);
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 28px;
	padding: 18px 8px;
	font: italic 20px/1.2 Georgia, "Times New Roman", serif;
	letter-spacing: 0.04em;
}

/* Section heads */
.cc-home .cc-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin: 0 8px 34px;
	flex-wrap: wrap;
}

.cc-home .cc-section-head h2 {
	margin: 0;
	font: 400 clamp(32px, 4vw, 52px)/1 Georgia, "Times New Roman", serif;
	letter-spacing: -0.035em;
}

.cc-home .cc-section-head p {
	margin: 0;
	max-width: 560px;
	font-size: 18px;
	line-height: 1.5;
	color: var(--cc-muted);
}

/* Categories */
.cc-home .cc-hair-category {
	height: min(850px, 78vh);
	min-height: 420px;
	margin-bottom: var(--cc-gap);
}

.cc-home .cc-category-copy {
	position: absolute;
	z-index: 2;
	left: clamp(24px, 4vw, 58px);
	bottom: clamp(24px, 4vw, 58px);
	color: #fff;
}

.cc-home .cc-category-copy,
.cc-home .cc-category-copy .cc-eyebrow,
.cc-home .cc-category-copy h3 {
	color: #fff !important;
}

.cc-home .cc-category-copy h3 {
	margin: 14px 0 26px;
	font: 400 clamp(36px, 4.5vw, 64px)/1 Georgia, "Times New Roman", serif;
}

.cc-home .cc-category-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--cc-gap);
	margin-bottom: 96px;
}

.cc-home .cc-category-small {
	height: min(720px, 70vh);
	min-height: 380px;
}

.cc-home .cc-category-small .cc-category-copy h3 {
	font-size: clamp(32px, 4vw, 58px);
}

/* Products */
.cc-home .cc-products {
	margin-bottom: 104px;
}

.cc-home .cc-product-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--cc-gap);
}

.cc-home .cc-product-card {
	border-radius: var(--cc-radius);
	overflow: hidden;
	background: #f2ece7;
	display: flex;
	flex-direction: column;
}

.cc-home .cc-product-image {
	height: 590px;
	overflow: hidden;
	background: #e5dcd3;
}

.cc-home .cc-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.cc-home .cc-product-card:hover .cc-product-image img {
	transform: scale(1.04);
}

.cc-home .cc-product-card:nth-child(1) .cc-product-image img {
	object-position: 18% center;
}

.cc-home .cc-product-card:nth-child(2) .cc-product-image img {
	object-position: 68% center;
}

.cc-home .cc-product-card:nth-child(3) .cc-product-image img {
	object-position: 70% center;
}

.cc-home .cc-product-info {
	padding: 26px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 24px;
	align-items: center;
}

.cc-home .cc-product-info h3 {
	margin: 0;
	font-size: 22px;
	font-weight: 500;
}

.cc-home .cc-price {
	font: 23px Georgia, "Times New Roman", serif;
}

.cc-home .cc-sub {
	color: #746965;
	font-size: 15px;
}

.cc-home .cc-product-info .cc-button {
	grid-column: 1 / -1;
	margin-top: 18px;
	width: 100%;
	height: 52px;
}

/* Split features */
.cc-home .cc-split {
	display: grid;
	grid-template-columns: 1.22fr 0.78fr;
	min-height: 790px;
	margin-bottom: var(--cc-gap);
	border-radius: var(--cc-radius);
	overflow: hidden;
	background: var(--cc-sand);
}

.cc-home .cc-split.reverse {
	grid-template-columns: 0.78fr 1.22fr;
}

.cc-home .cc-split-media img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	display: block;
}

.cc-home .cc-split-content {
	padding: clamp(40px, 5vw, 80px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.cc-home .cc-split-content h2 {
	margin: 20px 0 26px;
	font: 400 clamp(40px, 5vw, 72px)/0.98 Georgia, "Times New Roman", serif;
	letter-spacing: -0.04em;
}

.cc-home .cc-split-content p {
	margin: 0 0 38px;
	font-size: clamp(18px, 1.4vw, 22px);
	line-height: 1.5;
	max-width: 520px;
}

.cc-home .cc-split-content ul {
	list-style: none;
	padding: 0;
	margin: 0 0 42px;
	width: 100%;
}

.cc-home .cc-split-content li {
	padding: 17px 0;
	border-bottom: 1px solid rgba(39, 35, 33, 0.18);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

/* Collection */
.cc-home .cc-collection {
	margin: 96px 0;
	display: grid;
	grid-template-columns: 0.7fr 1.3fr;
	background: #d8cbbc;
	border-radius: var(--cc-radius);
	overflow: hidden;
	min-height: 760px;
}

.cc-home .cc-collection-copy {
	padding: clamp(40px, 5vw, 86px) clamp(28px, 4vw, 72px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.cc-home .cc-collection-copy h2 {
	margin: 18px 0 24px;
	font: 400 clamp(40px, 4.8vw, 70px)/0.98 Georgia, "Times New Roman", serif;
	letter-spacing: -0.04em;
}

.cc-home .cc-collection-copy p {
	font-size: 20px;
	line-height: 1.5;
	margin: 0 0 34px;
	max-width: 520px;
}

.cc-home .cc-collection-media img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	display: block;
}

.cc-home .cc-selector {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid rgba(39, 35, 33, 0.28);
	padding: 15px 0;
	margin-bottom: 10px;
	font-size: 16px;
}

/* Story */
.cc-home .cc-story {
	min-height: 790px;
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	background: #eee8e3;
	border-radius: var(--cc-radius);
	overflow: hidden;
	margin-bottom: 96px;
}

.cc-home .cc-story img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	object-position: left center;
}

.cc-home .cc-story-copy {
	padding: clamp(40px, 5vw, 74px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cc-home .cc-story-copy h2 {
	margin: 20px 0 28px;
	font: 400 clamp(36px, 4.5vw, 68px)/1 Georgia, "Times New Roman", serif;
	letter-spacing: -0.04em;
}

.cc-home .cc-story-copy p {
	margin: 0 0 38px;
	font-size: clamp(18px, 1.4vw, 21px);
	line-height: 1.55;
}

/* Review */
.cc-home .cc-review {
	background: var(--cc-white);
	border: 1px solid rgba(39, 35, 33, 0.12);
	border-radius: var(--cc-radius);
	padding: clamp(48px, 7vw, 110px) clamp(28px, 5vw, 90px);
	text-align: center;
	margin-bottom: 96px;
}

.cc-home .cc-stars {
	color: var(--cc-taupe);
	font-size: 29px;
	letter-spacing: 0.22em;
}

.cc-home .cc-review blockquote {
	max-width: 1350px;
	margin: 30px auto;
	font: 400 clamp(28px, 4vw, 64px)/1.16 Georgia, "Times New Roman", serif;
	letter-spacing: -0.025em;
}

.cc-home .cc-review p {
	margin: 0;
	font-size: 17px;
	color: #6b625f;
}

/* Community mosaic */
.cc-home .cc-community {
	margin-bottom: 92px;
}

.cc-home .cc-mosaic {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--cc-gap);
}

.cc-home .cc-tile {
	height: min(560px, 48vw);
	min-height: 220px;
	border-radius: var(--cc-radius);
	overflow: hidden;
}

.cc-home .cc-tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.cc-home .cc-tile:hover img {
	transform: scale(1.05);
}

.cc-home .cc-tile:nth-child(1) img {
	object-position: 70% center;
}

.cc-home .cc-tile:nth-child(2) img {
	object-position: 68% center;
}

.cc-home .cc-tile:nth-child(3) img {
	object-position: 75% center;
}

.cc-home .cc-tile:nth-child(4) img {
	object-position: 28% center;
}

/* Benefits */
.cc-home .cc-benefits {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(39, 35, 33, 0.16);
	border-radius: var(--cc-radius);
	overflow: hidden;
	margin-bottom: 28px;
}

.cc-home .cc-benefit {
	min-height: 150px;
	background: #f3eeea;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.07em;
	padding: 20px;
	text-align: center;
}

.cc-home .cc-benefit svg {
	width: 34px;
	height: 34px;
	stroke: var(--cc-taupe);
	fill: none;
	stroke-width: 1.8;
	flex-shrink: 0;
}

/* Front-page shell overrides so WoodMart layout does not constrain the design */
.home .wd-content-layout,
.home .content-layout-wrapper,
.home .wd-content-area,
.home .site-content {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
}

.home .wd-page-content,
.home .main-page-wrapper {
	background: var(--cc-ivory, #fffafa);
}

.home .wd-page-title,
.home .page-title {
	display: none !important;
}

@media (max-width: 1100px) {
	.cc-home .cc-product-grid,
	.cc-home .cc-mosaic,
	.cc-home .cc-benefits {
		grid-template-columns: 1fr 1fr;
	}

	.cc-home .cc-split,
	.cc-home .cc-split.reverse,
	.cc-home .cc-collection,
	.cc-home .cc-story {
		grid-template-columns: 1fr;
	}

	.cc-home .cc-product-image {
		height: 420px;
	}
}

@media (max-width: 768px) {
	.cc-home {
		padding: 16px 14px 0;
		--cc-radius: 20px;
		--cc-gap: 14px;
	}

	.cc-home .cc-ticker {
		margin-bottom: 48px;
		font-size: 16px;
	}

	.cc-home .cc-category-grid,
	.cc-home .cc-product-grid,
	.cc-home .cc-mosaic,
	.cc-home .cc-benefits {
		grid-template-columns: 1fr;
	}

	.cc-home .cc-hair-category,
	.cc-home .cc-category-small {
		height: 420px;
		min-height: 360px;
	}

	.cc-home .cc-product-image {
		height: 360px;
	}

	.cc-home .cc-split,
	.cc-home .cc-collection,
	.cc-home .cc-story {
		min-height: 0;
	}

	.cc-home .cc-split-media img,
	.cc-home .cc-collection-media img,
	.cc-home .cc-story img {
		min-height: 280px;
		max-height: 360px;
	}

	.cc-home .cc-section-head {
		margin-bottom: 22px;
	}

	.cc-home .cc-products,
	.cc-home .cc-community,
	.cc-home .cc-review,
	.cc-home .cc-story {
		margin-bottom: 56px;
	}

	.cc-home .cc-collection {
		margin: 56px 0;
	}

	.cc-home .cc-benefit {
		min-height: 110px;
		font-size: 14px;
		letter-spacing: 0.04em;
	}
}
