/* Luzrosa — homepage sections. Colour tokens (--lzt-*) come from luzrosa-tienda.css. */

.lzh-home .entry-content > *:not(.alignnormal){max-width:1200px;margin-left:auto;margin-right:auto}
.lzh-home .entry-content > p:empty{display:none}

/* ---------- shared ---------- */

.lzh-btn{
	display:inline-block;
	padding:.8em 1.6em;
	border:2px solid var(--lzt-accent);
	border-radius:999px;
	background:var(--lzt-accent);
	color:#fff !important;
	font-weight:600;
	line-height:1.2;
	text-decoration:none !important;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
.lzh-btn:hover,
.lzh-btn:focus-visible{background:var(--lzt-accent-deep);border-color:var(--lzt-accent-deep)}
.lzh-btn--ghost{background:#fff;color:var(--lzt-accent-deep) !important}
.lzh-btn--ghost:hover,
.lzh-btn--ghost:focus-visible{background:var(--lzt-surface);color:var(--lzt-accent-deep) !important}

.lzh-head{margin:0 auto 22px;padding:0 16px;text-align:center}
.lzh-home .lzh-head__title{
	margin:0 0 6px;
	color:var(--lzt-ink);
	font-size:clamp(1.5rem,3vw,2rem);
	font-weight:700;
	line-height:1.2;
}
.lzh-head__subtitle{max-width:52ch;margin:0 auto;color:var(--lzt-ink-2);font-size:1rem;line-height:1.5}

.lzh-home section{margin-top:56px;margin-bottom:0}

/* ---------- intro ---------- */

.lzh-home .lzh-intro{
	margin-top:0;
	padding:40px 20px 8px;
	text-align:center;
}
.lzh-intro__eyebrow{
	margin:0 0 8px;
	color:var(--lzt-accent-deep);
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.lzh-home .lzh-intro__title{
	margin:0 auto 12px;
	color:var(--lzt-ink);
	font-size:clamp(1.8rem,4.5vw,2.8rem);
	font-weight:700;
	line-height:1.12;
}
.lzh-intro__subtitle{max-width:50ch;margin:0 auto 22px;color:var(--lzt-ink-2);font-size:1.08rem;line-height:1.55}
.lzh-intro__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

/* ---------- momentos ---------- */

.lzh-momentos__grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:16px;
	padding:0 16px;
}
.lzh-momento{
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border:1px solid var(--lzt-border);
	border-radius:18px;
	background:#fff;
	color:var(--lzt-ink) !important;
	text-decoration:none !important;
	transition:box-shadow .25s ease,transform .25s ease;
}
.lzh-momento:hover,
.lzh-momento:focus-visible{box-shadow:0 14px 32px rgba(59,36,48,.12);transform:translateY(-3px)}
.lzh-momento__media{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--lzt-surface-alt)}
.lzh-momento__media img{width:100%;height:100%;object-fit:cover;margin:0;transition:transform .5s ease}
.lzh-momento:hover .lzh-momento__media img{transform:scale(1.05)}
.lzh-momento__body{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px}
.lzh-momento__label{font-size:1.05rem;font-weight:700}
.lzh-momento__line{color:var(--lzt-ink-2);font-size:.88rem;line-height:1.35}
.lzh-momento__count{margin-top:4px;color:var(--lzt-accent-deep);font-size:.8rem;font-weight:600}

@media (max-width:1023px){
	.lzh-momentos__grid{
		display:flex;
		gap:12px;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		scroll-padding-inline:16px;
		scrollbar-width:none;
		padding-bottom:6px;
	}
	.lzh-momentos__grid::-webkit-scrollbar{display:none}
	.lzh-momento{flex:0 0 42%;scroll-snap-align:start}
}
@media (max-width:600px){
	.lzh-momento{flex-basis:62%}
}

/* ---------- favourites carousel ---------- */

.lzh-home .custom-product-carousel{padding:0 8px 36px}
.lzh-home .custom-product-carousel .swiper-slide{padding:8px !important;text-align:left !important}
.lzh-home .custom-product-carousel .product-link{
	display:block;
	overflow:hidden;
	border:1px solid var(--lzt-border);
	border-radius:16px;
	background:#fff;
	color:var(--lzt-ink);
	text-decoration:none;
	transition:box-shadow .25s ease;
}
.lzh-home .custom-product-carousel .product-link:hover{box-shadow:0 14px 32px rgba(59,36,48,.12)}
.lzh-home .custom-product-carousel .product-image-wrapper{aspect-ratio:1/1;background:var(--lzt-surface-alt)}
.lzh-home .custom-product-carousel .product-image-wrapper img{height:100%;object-fit:cover;margin:0}
.lzh-home .custom-product-carousel .product-title{
	margin:12px 14px 4px !important;
	color:var(--lzt-ink);
	font-size:1rem !important;
	font-weight:600;
	line-height:1.3;
}
.lzh-home .custom-product-carousel .product-price{margin:0 14px 14px !important;color:var(--lzt-ink);font-size:1rem !important;font-weight:700}
.lzh-home .custom-product-carousel .swiper-pagination-bullet-active{background:var(--lzt-accent)}
.lzh-home .custom-product-carousel .swiper-button-next,
.lzh-home .custom-product-carousel .swiper-button-prev{color:var(--lzt-accent)}

.lzh-more{margin-top:8px;text-align:center}

/* ---------- steps ---------- */

.lzh-steps__list{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:16px;
	margin:0;
	padding:0 16px;
	list-style:none;
	counter-reset:none;
}
.lzh-step{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	margin:0;
	padding:26px 20px;
	border-radius:18px;
	background:var(--lzt-surface);
	text-align:center;
}
.lzh-step__num{
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	margin-bottom:6px;
	border-radius:50%;
	background:var(--lzt-accent);
	color:#fff;
	font-size:1.15rem;
	font-weight:700;
}
.lzh-step__title{color:var(--lzt-ink);font-size:1.08rem;font-weight:700}
.lzh-step__text{color:var(--lzt-ink-2);font-size:.95rem;line-height:1.45}

/* ---------- reviews ---------- */

.lzh-reviews__grid{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:16px;
	padding:0 16px;
}
.lzh-review{
	flex:1 1 280px;
	max-width:380px;
	margin:0;
	padding:22px;
	border:1px solid var(--lzt-border);
	border-radius:18px;
	background:#fff;
}
.lzh-review__stars{color:var(--lzt-accent);font-size:1.05rem;letter-spacing:.1em}
.lzh-home .lzh-review__text{
	margin:10px 0 14px;
	padding:0;
	border:0;
	color:var(--lzt-ink);
	font-size:1.02rem;
	font-style:normal;
	line-height:1.5;
}
.lzh-home .lzh-review__text::before{display:none}
.lzh-review__who{display:flex;flex-direction:column;gap:2px;font-size:.88rem}
.lzh-review__who strong{color:var(--lzt-ink)}
.lzh-review__who a{color:var(--lzt-ink-2) !important;text-decoration:underline}

@media (min-width:768px) and (max-width:1023px){
	.lzh-steps__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- faq ---------- */

.lzh-faq__list{max-width:820px;margin:0 auto;padding:0 16px}
.lzh-faq__item{
	margin:0 0 10px;
	border:1px solid var(--lzt-border);
	border-radius:14px;
	background:#fff;
	overflow:hidden;
}
.lzh-faq__item[open]{border-color:var(--lzt-accent)}
.lzh-faq__q{
	position:relative;
	padding:16px 52px 16px 18px;
	color:var(--lzt-ink);
	font-size:1rem;
	font-weight:600;
	line-height:1.35;
	list-style:none;
	cursor:pointer;
}
.lzh-faq__q::-webkit-details-marker{display:none}
.lzh-faq__q::after{
	content:"+";
	position:absolute;
	top:50%;
	right:18px;
	display:grid;
	place-items:center;
	width:26px;
	height:26px;
	margin-top:-13px;
	border-radius:50%;
	background:var(--lzt-surface-alt);
	color:var(--lzt-accent-deep);
	font-size:1.1rem;
	font-weight:700;
	line-height:1;
}
.lzh-faq__item[open] .lzh-faq__q::after{content:"\2212";background:var(--lzt-accent);color:#fff}
.lzh-faq__q:focus-visible{outline:2px solid var(--lzt-accent);outline-offset:-2px}
.lzh-faq__a{padding:0 18px 16px}
.lzh-faq__a p{margin:0;color:var(--lzt-ink-2);font-size:.97rem;line-height:1.6}
.lzh-faq__a a,
.lzh-faq__more a{color:var(--lzt-accent-deep) !important;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.lzh-faq__more{margin:16px 0 0;color:var(--lzt-ink-2);text-align:center}
.lzh-home .lzh-faq{margin-bottom:56px}

/* ---------- about ---------- */

.lzh-about{max-width:1000px !important;padding:0 20px;text-align:center}
.lzh-home .lzh-about__title{max-width:760px;margin:0 auto 10px;color:var(--lzt-ink);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;line-height:1.15}
.lzh-about__lead{max-width:620px;margin:0 auto 32px;color:var(--lzt-ink-2);font-size:1.1rem;line-height:1.55}
.lzh-home .lzh-about__points{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:32px;
	margin:0 0 28px;
	padding:0;
	list-style:none;
}
.lzh-about__point{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0}
.lzh-about__icon{
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	border-radius:50%;
	background:var(--lzt-surface-alt);
	color:var(--lzt-accent);
}
.lzh-about__point-body{display:flex;flex-direction:column;gap:6px;max-width:290px}
.lzh-about__point-title{color:var(--lzt-ink);font-size:1.1rem;font-weight:700}
.lzh-about__point-text{color:var(--lzt-ink-2);font-size:.95rem;line-height:1.5}
.lzh-about__products{margin:0;padding-top:22px;border-top:1px solid var(--lzt-border);color:var(--lzt-ink-2);font-size:1rem;line-height:1.7}
.lzh-about a{color:var(--lzt-accent-deep) !important;font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ---------- instagram ---------- */

.lzh-home .lzh-insta{
	/* centred like the other sections, keeping a side gutter on smaller screens */
	max-width:min(1200px,calc(100% - 32px)) !important;
	margin:56px auto 48px !important;
	padding:40px 24px;
	border-radius:24px;
	background:
		radial-gradient(circle at 15% 20%,rgba(209,86,126,.16),transparent 45%),
		radial-gradient(circle at 85% 85%,rgba(209,86,126,.12),transparent 40%),
		var(--lzt-surface);
	text-align:center;
}
.lzh-insta__eyebrow{margin:0 0 6px;color:var(--lzt-accent-deep);font-weight:700}
.lzh-home .lzh-insta__title{margin:0 0 8px;color:var(--lzt-ink);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700}
.lzh-insta__text{max-width:50ch;margin:0 auto 20px;color:var(--lzt-ink-2);line-height:1.5}

/* latest posts (Smash Balloon Instagram Feed) */
.lzh-insta__feed{max-width:960px;margin:0 auto 22px}
.lzh-insta__feed #sb_instagram{padding:0 !important}
.lzh-insta__feed #sb_instagram .sbi_photo_wrap,
.lzh-insta__feed #sb_instagram .sbi_photo{border-radius:12px;overflow:hidden}
.lzh-insta__feed #sb_instagram .sbi_item{transition:transform .25s ease}
.lzh-insta__feed #sb_instagram .sbi_item:hover{transform:translateY(-3px)}

/* ---------- phones ---------- */

@media (max-width:767px){
	.lzh-home section{margin-top:40px}
	.lzh-home .lzh-intro{padding:28px 16px 0}
	.lzh-intro__subtitle{font-size:.98rem}
	.lzh-intro__actions .lzh-btn{flex:1 1 140px;text-align:center}
	.lzh-steps__list{grid-template-columns:1fr;gap:10px}
	.lzh-step{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:16px;text-align:left;column-gap:14px}
	.lzh-step__num{margin:0;flex:none}
	.lzh-step__title{flex:1}
	.lzh-step__text{flex-basis:100%;padding-left:58px;margin-top:-10px}
	/* Simple CSS shrinks these to .6em !important on phones */
	.lzh-home .custom-product-carousel .product-title{font-size:.9rem !important;margin:10px 10px 4px !important}
	.lzh-home .custom-product-carousel .product-price{font-size:.92rem !important;margin:0 10px 12px !important}
	/* about: the three points become stacked cards */
	.lzh-about__lead{margin-bottom:22px;font-size:1rem}
	.lzh-home .lzh-about__points{grid-template-columns:1fr;gap:12px;margin-bottom:22px;text-align:left}
	.lzh-about__point{flex-direction:row;align-items:flex-start;gap:14px;padding:16px;border-radius:16px;background:var(--lzt-surface)}
	.lzh-about__icon{flex:none;width:44px;height:44px}
	.lzh-about__point-body{gap:2px;max-width:none}
	.lzh-about__products{font-size:.95rem}
	.lzh-home .lzh-insta{max-width:calc(100% - 24px) !important;margin:40px auto 32px !important;padding:30px 18px}
}
