/* Homepage layout — hero, stats, ticker, quality section, product grid. */

.hp {
	--hp-ink: #1c1c1a;
	--hp-muted: #6b6b64;
	--hp-bg: #faf8f4;
	--hp-bg-alt: #f1efe8;
	--hp-accent: #132040;
	--hp-accent-2: #c9a24b;
	--hp-gradient: linear-gradient( 100deg, var( --hp-accent ) 0%, var( --hp-accent-2 ) 100% );
	--hp-line: #e4e1d8;
	color: var( --hp-ink );
}

.hp-container {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
}

.hp-eyebrow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var( --hp-accent );
	margin: 0 0 16px;
}

.hp-button {
	display: inline-block;
	background: var( --hp-gradient );
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 28px;
	border-radius: 999px;
	text-decoration: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.hp-button:hover {
	opacity: 0.9;
	transform: translateY( -1px );
	color: #fff;
}

.hp-button--outline {
	background: transparent;
	color: var( --hp-ink );
	border: 1px solid var( --hp-line );
	padding: 10px 20px;
	font-size: 14px;
}

.hp-button--outline:hover {
	background: var( --hp-ink );
	color: #fff;
}

/* Hero */

.hp-hero {
	background: var( --hp-bg );
}

.hp-hero__video-wrap {
	position: relative;
	height: 100vh;
	height: 100svh;
	min-height: 480px;
	overflow: hidden;
}

.hp-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hp-hero__video-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient( to top, rgba( 6, 10, 20, 0.75 ) 0%, rgba( 6, 10, 20, 0.15 ) 45%, rgba( 6, 10, 20, 0 ) 70% );
}

.hp-hero__video-content {
	position: absolute;
	inset: 0;
	padding: 0 24px 56px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

@media ( max-width: 768px ) {
	/*
	 * The video is landscape (~16:9); a 100vh box on a tall, narrow phone
	 * crops in tight with object-fit: cover, reading as "zoomed in". This
	 * splits the difference: still fills most of the screen, but crops
	 * less aggressively than a full 100vh box would.
	 */
	.hp-hero__video-wrap {
		height: 75vh;
		height: 75svh;
		min-height: 420px;
	}
}

/* Stats */

.hp-stats {
	background:
		radial-gradient( ellipse 900px 500px at 85% 100%, rgba( 201, 162, 75, 0.16 ), transparent 70% ),
		linear-gradient( 160deg, #060a14 0%, var( --hp-accent ) 60%, #060a14 100% );
}

.hp-stats__grid {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	padding: 56px 24px;
}

.hp-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
	padding: 0 16px;
	border-inline-end: 1px solid rgba( 255, 255, 255, 0.15 );
}

.hp-stat:last-child {
	border-inline-end: none;
}

.hp-stat__number {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp( 30px, 3.6vw, 44px );
	font-weight: 700;
	color: #fff;
	line-height: 1;
}

.hp-stat__label {
	font-size: 13px;
	color: rgba( 255, 255, 255, 0.55 );
}

@media ( max-width: 700px ) {
	.hp-stats__grid {
		grid-template-columns: repeat( 2, 1fr );
		row-gap: 32px;
	}

	.hp-stat:nth-child( 2 ) {
		border-inline-end: none;
	}

	.hp-stat:nth-child( 3 ),
	.hp-stat:nth-child( 4 ) {
		border-inline-end: none;
	}
}

/* SEO intro — real crawlable heading/paragraph copy above the product
   spotlight section. Background is a deliberate light break (#fafbfc, per
   request) between the dark video hero above and the dark spotlight
   section below. */

.hp-seo-intro {
	background: #fafbfc;
	padding: 56px 24px 48px;
	text-align: center;
}

.hp-seo-intro__badge {
	display: inline-block;
	padding: 6px 18px;
	border: 1px solid var( --hp-accent-2 );
	border-radius: 999px;
	color: var( --hp-accent-2 );
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin: 0 0 20px;
}

.hp-seo-intro__title {
	font-size: clamp( 24px, 3.2vw, 34px );
	line-height: 1.3;
	color: var( --hp-ink );
	max-width: 46rem;
	margin: 0 auto 18px;
}

.hp-seo-intro__desc {
	font-size: 15px;
	line-height: 1.8;
	color: var( --hp-muted );
	max-width: 56rem;
	margin: 0 auto 28px;
}

.hp-seo-intro__pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 0 0 32px;
}

.hp-seo-intro__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var( --hp-line );
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var( --hp-ink );
	background: #fff;
}

.hp-seo-intro__pill svg {
	width: 16px;
	height: 16px;
	flex: none;
	color: var( --hp-accent-2 );
}

.hp-seo-intro__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

.hp-seo-intro__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 24px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.hp-seo-intro__btn:hover {
	opacity: 0.9;
	transform: translateY( -1px );
}

.hp-seo-intro__btn svg {
	width: 17px;
	height: 17px;
	flex: none;
}

.hp-seo-intro__btn--dark {
	background: var( --hp-accent );
	color: #fff;
}

.hp-seo-intro__btn--whatsapp {
	background: #25d366;
	color: #fff;
}

.hp-seo-intro__btn--telegram {
	background: #0a0e1a;
	color: #fff;
}

@media ( max-width: 640px ) {
	.hp-seo-intro {
		padding: 40px 20px 36px;
	}

	.hp-seo-intro__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hp-seo-intro__btn {
		justify-content: center;
	}
}

/* Product spotlight */

.hp-spotlight {
	background: linear-gradient( 135deg, #060a14 0%, var( --hp-accent ) 55%, #060a14 100% );
	color: #fff;
}

.hp-spotlight__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	padding: 80px 24px;
}

.hp-spotlight__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var( --hp-accent-2 );
	margin: 0 0 16px;
}

.hp-spotlight__name {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp( 32px, 4vw, 46px );
	font-weight: 400;
	margin: 0 0 20px;
	color: #fff;
}

.hp-spotlight__desc {
	font-size: 16px;
	line-height: 1.7;
	color: rgba( 255, 255, 255, 0.7 );
	max-width: 46ch;
	margin: 0 0 28px;
}

.hp-spotlight__price {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 28px;
	color: #fff;
}

.hp-spotlight__price del {
	color: rgba( 255, 255, 255, 0.5 );
	font-weight: 400;
}

.hp-spotlight__price ins {
	color: #fff;
	text-decoration: none;
}

.hp-spotlight__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.hp-button--spotlight {
	background: var( --hp-accent-2 );
	color: #1c1c1a;
}

.hp-button--spotlight:hover {
	color: #1c1c1a;
}

.hp-button--ghost {
	background: rgba( 255, 255, 255, 0.08 );
	border: 1px solid rgba( 255, 255, 255, 0.2 );
}

.hp-spotlight__image {
	display: flex;
	align-items: center;
	justify-content: center;
}

.hp-spotlight__image img {
	max-width: 100%;
	max-height: 420px;
	object-fit: contain;
	filter: drop-shadow( 0 24px 40px rgba( 0, 0, 0, 0.4 ) );
}

.hp-trust {
	background: #fff;
	border-top: 3px solid var( --hp-accent-2 );
}

.hp-trust__grid {
	display: grid;
	grid-template-columns: repeat( 5, 1fr );
	gap: 24px;
	padding: 24px;
}

.hp-trust__item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.hp-trust__icon {
	flex: none;
	width: 22px;
	height: 22px;
	color: var( --hp-accent );
}

.hp-trust__icon svg {
	width: 100%;
	height: 100%;
}

.hp-trust__copy {
	display: flex;
	flex-direction: column;
	font-size: 13px;
	color: var( --hp-muted );
}

.hp-trust__copy strong {
	color: var( --hp-ink );
	font-size: 14px;
	font-weight: 700;
}

@media ( max-width: 900px ) {
	.hp-spotlight__inner {
		grid-template-columns: 1fr;
		padding: 56px 24px;
	}

	.hp-spotlight__image {
		order: -1;
	}

	.hp-trust__grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media ( max-width: 560px ) {
	.hp-trust__grid {
		grid-template-columns: 1fr;
	}

	.hp-trust__item {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 8px;
	}

	.hp-trust__copy {
		align-items: center;
	}
}

/* Offer banner: current discount + free bac water */

.hp-offer {
	background: var( --hp-accent );
	padding: 44px 0;
}

.hp-offer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
}

.hp-offer__text {
	flex: 1 1 300px;
}

.hp-offer__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba( 255, 255, 255, 0.75 );
	margin: 0 0 10px;
}

.hp-offer__title {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp( 24px, 3vw, 32px );
	font-weight: 400;
	color: #fff;
	margin: 0 0 10px;
	line-height: 1.2;
}

.hp-offer__subtitle {
	font-size: 14.5px;
	color: rgba( 255, 255, 255, 0.85 );
	max-width: 46ch;
	margin: 0;
	line-height: 1.6;
}

.hp-offer__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.hp-offer__badge {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba( 255, 255, 255, 0.12 );
	border: 1px solid rgba( 255, 255, 255, 0.3 );
	border-radius: 999px;
	padding: 10px 18px;
}

.hp-offer__badge-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba( 255, 255, 255, 0.18 );
	color: #fff;
}

.hp-offer__badge-icon svg {
	width: 15px;
	height: 15px;
}

.hp-offer__badge-text {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.hp-offer__badge-text strong {
	font-size: 13px;
	font-weight: 700;
	color: #fff;
}

.hp-offer__badge-text span {
	font-size: 11.5px;
	color: rgba( 255, 255, 255, 0.7 );
}

.hp-offer .hp-button {
	flex: none;
	background: #fff;
	color: var( --hp-accent );
}

.hp-offer .hp-button:hover {
	background: rgba( 255, 255, 255, 0.88 );
}

@media ( max-width: 720px ) {
	.hp-offer__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.hp-offer .hp-button {
		width: 100%;
		text-align: center;
	}
}

/* Quality / trust section */

.hp-quality {
	padding: 72px 0;
}

.hp-quality__title {
	font-size: clamp( 28px, 3.6vw, 38px );
	line-height: 1.15;
	font-weight: 700;
	margin: 0 0 16px;
	max-width: 20ch;
}

.hp-quality__subtitle {
	font-size: 16px;
	color: var( --hp-muted );
	max-width: 60ch;
	margin: 0 0 40px;
}

.hp-quality__grid {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 24px;
}

.hp-feature {
	background: var( --hp-bg-alt );
	border: 1px solid var( --hp-line );
	border-radius: 12px;
	padding: 24px;
}

.hp-feature__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var( --hp-accent );
	margin-bottom: 16px;
}

.hp-feature__icon svg {
	width: 19px;
	height: 19px;
}

.hp-feature__title {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 8px;
}

.hp-feature__text {
	font-size: 14px;
	color: var( --hp-muted );
	line-height: 1.5;
	margin: 0;
}

/* "Beyond purity" — what a purity % alone doesn't catch */

.hp-purity {
	background:
		radial-gradient( ellipse 900px 500px at 15% 0%, rgba( 201, 162, 75, 0.14 ), transparent 70% ),
		linear-gradient( 160deg, #060a14 0%, var( --hp-accent ) 55%, #060a14 100% );
	padding: 72px 0;
}

.hp-purity__header {
	max-width: 680px;
	margin: 0 auto 44px;
	text-align: center;
}

.hp-purity__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var( --hp-accent-2 );
	margin: 0 0 14px;
}

.hp-purity__title {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp( 26px, 3.6vw, 38px );
	font-weight: 400;
	color: #fff;
	margin: 0 0 16px;
	line-height: 1.25;
}

.hp-purity__subtitle {
	font-size: 15px;
	color: rgba( 255, 255, 255, 0.65 );
	margin: 0;
	line-height: 1.7;
}

.hp-purity__grid {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 18px;
}

.hp-purity__card {
	background: rgba( 201, 162, 75, 0.06 );
	border: 1px solid rgba( 201, 162, 75, 0.2 );
	border-radius: 14px;
	padding: 24px 22px;
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.hp-purity__card:hover {
	background: rgba( 201, 162, 75, 0.1 );
	border-color: rgba( 201, 162, 75, 0.45 );
	transform: translateY( -2px );
}

.hp-purity__card-number {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 26px;
	color: var( --hp-accent-2 );
	opacity: 0.65;
	margin: 0 0 12px;
}

.hp-purity__card-title {
	font-size: 13.5px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 10px;
	line-height: 1.3;
}

.hp-purity__card-text {
	font-size: 12.5px;
	color: rgba( 255, 255, 255, 0.6 );
	line-height: 1.6;
	margin: 0;
}

@media ( max-width: 900px ) {
	.hp-purity__grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media ( max-width: 560px ) {
	.hp-purity__grid {
		grid-template-columns: 1fr;
	}
}

/* Product grid */

.hp-products {
	padding: 80px 0;
}

.hp-products__title {
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 32px;
}

.hp-products__grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 260px, 340px ) );
	justify-content: center;
	gap: 28px;
}

.hp-product {
	background: #fff;
	border: 1px solid var( --hp-line );
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.03 );
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.hp-product:hover {
	transform: translateY( -4px );
	border-color: transparent;
	box-shadow: 0 16px 32px rgba( 28, 28, 26, 0.1 );
}

.hp-product__image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	background: linear-gradient( 165deg, var( --hp-bg-alt ), #fff );
	padding: 20px;
}

.hp-product__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.hp-product:hover .hp-product__image img {
	transform: scale( 1.05 );
}

.hp-product__badge {
	position: absolute;
	top: 14px;
	inset-inline-start: 14px;
	background: var( --hp-accent );
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	border-radius: 999px;
	padding: 5px 12px;
	z-index: 1;
}

.hp-product__body {
	padding: 20px 20px 24px;
	border-top: 1px solid var( --hp-line );
}

.hp-product__name {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 6px;
	line-height: 1.3;
}

.hp-product__name a {
	color: inherit;
	text-decoration: none;
}

.hp-product__price {
	font-size: 17px;
	font-weight: 700;
	color: var( --hp-accent );
	margin: 0 0 18px;
}

.hp-product__price del {
	color: var( --hp-muted );
	font-weight: 400;
	opacity: 0.7;
	margin-inline-end: 8px;
}

.hp-product .button {
	display: block;
	width: 100%;
	text-align: center;
	background: var( --hp-ink );
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	padding: 12px 20px;
	border-radius: 999px;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: opacity 0.15s ease;
}

.hp-product .button:hover {
	opacity: 0.85;
	color: #fff;
}

.hp-product .added_to_cart {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 13px;
	font-weight: 600;
	color: var( --hp-accent );
	text-decoration: none;
}

.hp-products__empty {
	color: var( --hp-muted );
	text-align: center;
	padding: 40px 0;
}

/* Responsive */

@media ( max-width: 900px ) {
	.hp-stats__grid,
	.hp-quality__grid {
		grid-template-columns: repeat( 2, 1fr );
	}

	.hp-products__grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media ( max-width: 560px ) {
	.hp-hero__inner {
		padding: 64px 20px 40px;
	}

	.hp-stats__grid,
	.hp-quality__grid {
		grid-template-columns: 1fr;
	}
}

/* FAQ accordion */

.hp-faq {
	padding: 88px 0;
	scroll-margin-top: 110px;
}

.hp-faq__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.hp-faq__header {
	max-width: 560px;
	margin: 0 auto 32px;
	text-align: center;
}

.hp-faq__title {
	font-size: 26px;
	font-weight: 700;
	color: var( --hp-ink );
	margin: 0;
}

.hp-faq__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.hp-faq__item {
	background: #fff;
	border: 1px solid var( --hp-line );
	border-radius: 12px;
	padding: 0 20px;
}

.hp-faq__item + .hp-faq__item {
	margin-top: 0;
}

.hp-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 16px;
	padding: 16px 0;
	background: none;
	border: 0;
	font-size: 15px;
	font-family: inherit;
	font-weight: 700;
	color: var( --hp-ink );
	text-align: inherit;
	cursor: pointer;
}

.hp-faq__icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: var( --hp-accent );
	transition: transform 0.3s ease;
}

.hp-faq__icon svg {
	width: 14px;
	height: 14px;
}

.hp-faq__item.is-open .hp-faq__icon {
	transform: rotate( 180deg );
}

.hp-faq__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}

.hp-faq__item.is-open .hp-faq__panel {
	grid-template-rows: 1fr;
}

.hp-faq__panel > .hp-faq__answer {
	overflow: hidden;
	min-height: 0;
}

.hp-faq__answer p {
	margin: 0;
	padding: 0 0 18px;
	font-size: 14px;
	line-height: 1.7;
	color: var( --hp-muted );
}

@media ( prefers-reduced-motion: reduce ) {
	.hp-faq__panel,
	.hp-faq__icon {
		transition: none;
	}
}
