/* Lupsi storefront styles: matches the original Shopify theme (Nunito headings, Inter body, Lupsi greens). */
:root {
	--lupsi-green: #54b435;
	--lupsi-dark: #1f4d2b;
	--lupsi-button: #2e7d32;
	--lupsi-light: #cfeac3;
	--lupsi-pale: #edfae1;
	--lupsi-mint: #61ce70;
	--lupsi-offwhite: #f6fbf3;
	--lupsi-heading: "Nunito", sans-serif;
	--lupsi-body: "Inter", sans-serif;
}

body { font-family: var(--lupsi-body); color: var(--lupsi-dark); }
h1, h2, h3, h4, h5, h6, .wp-block-heading { font-family: var(--lupsi-heading); font-weight: 400; }

/* Full-width sections sit flush against each other. */
.wp-block-post-content > .alignfull + .alignfull,
.wp-block-post-content > .alignfull + .lupsi-marquee { margin-block-start: 0; }

/* Header */
.hostinger-ai-site-navigation, .hostinger-ai-site-navigation a { font-family: var(--lupsi-body); color: var(--lupsi-dark) !important; }
.hostinger-ai-site-navigation a:hover { color: var(--lupsi-button) !important; }

/* Shared */
.lupsi-sec { padding: 72px 24px; background: #fff; }
.lupsi-h-xl { font-size: clamp(32px, 4vw, 48px); color: var(--lupsi-dark); line-height: 1.15; }
.lupsi-h-l { font-size: clamp(26px, 3vw, 32px); line-height: 1.2; }
.lupsi-h-xl a { color: inherit; text-decoration: none; }

/* Hero */
.lupsi-hero .wp-block-cover__inner-container { max-width: 1000px; text-align: center; }
.lupsi-hero-kicker { font-family: var(--lupsi-body); font-size: 20px; color: var(--lupsi-offwhite); margin: 0; }
.lupsi-hero .wp-block-cover__inner-container > .lupsi-hero-title { max-width: none; }
@media (min-width: 782px) { .lupsi-hero-title { white-space: nowrap; } }
.lupsi-hero-title { font-size: clamp(44px, 6vw, 72px); color: #fff; line-height: 1.1; margin: 4px 0 0;
	padding-bottom: 14px; border-bottom: 4px solid var(--lupsi-green); display: inline-block; }
.lupsi-hero-sub { font-size: clamp(16px, 1.6vw, 20px); color: var(--lupsi-offwhite); margin-top: 18px; }

/* Featured product */
.lupsi-featured-info { text-align: center; color: var(--lupsi-dark); }
.lupsi-feature { margin: 28px auto 0; max-width: 420px; }
.lupsi-feature svg, .lupsi-step svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.lupsi-feature h3 { font-size: clamp(22px, 2.4vw, 30px); margin: 4px 0 4px; color: var(--lupsi-dark); }
.lupsi-feature p { font-size: 14px; margin: 0; }
.lupsi-featured .add_to_cart_inline { border: 0 !important; padding: 0 !important; margin-top: 32px;
	display: flex; flex-direction: column; align-items: center; gap: 14px; font-size: 26px; color: var(--lupsi-dark); }
.lupsi-featured .add_to_cart_inline .button { width: 100%; max-width: 440px; border-radius: 999px; padding: 14px 24px;
	background: var(--lupsi-button); color: #fff; font-family: var(--lupsi-body); font-size: 15px; border: 0; }
.lupsi-featured .add_to_cart_inline .button:hover { background: var(--lupsi-dark); }

/* BPI band */
.lupsi-bpi { padding-top: 56px; padding-bottom: 64px; }
.lupsi-bpi .lupsi-h-xl { max-width: 900px; margin-inline: auto; }

/* Product grid */
.lupsi-products { padding-top: 24px; }
.lupsi-products ul.products li.product { text-align: left; }
.lupsi-products ul.products li.product .woocommerce-loop-product__title { font-family: var(--lupsi-body); font-size: 14px; color: var(--lupsi-dark); font-weight: 400; }
.lupsi-products ul.products li.product .price { color: var(--lupsi-button); font-size: 14px; }
.lupsi-products ul.products li.product .button { border-radius: 999px; background: var(--lupsi-button); color: #fff; font-size: 13px; }

/* Story */
.lupsi-story .wp-block-cover__inner-container { color: var(--lupsi-offwhite); }
.lupsi-story-lead { font-family: var(--lupsi-heading); font-size: clamp(20px, 2.2vw, 28px); line-height: 1.35; margin: 0 0 18px; }
.lupsi-story-punch { font-family: var(--lupsi-heading); font-size: clamp(22px, 2.4vw, 30px); margin: 28px 0 0; }
.lupsi-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 72px; text-align: center; }
.lupsi-step h3 { font-size: clamp(22px, 2.4vw, 30px); color: var(--lupsi-offwhite); margin: 6px 0 6px; }
.lupsi-step p { font-size: 14px; margin: 0; }

/* Impact */
.lupsi-impact { text-align: center; }
.lupsi-impact > p { font-size: 14px; max-width: 340px; margin-inline: auto; }
.lupsi-pills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 56px; margin-top: 64px; }
.lupsi-pill { background: var(--lupsi-green); color: var(--lupsi-offwhite); border-radius: 999px; padding: 16px 40px;
	display: flex; flex-direction: column; justify-content: center; min-height: 104px; }
.lupsi-pill strong { font-size: 22px; font-weight: 500; }
.lupsi-pill span { font-size: 13px; margin-top: 4px; }

/* Nature-friendly disposal */
.lupsi-disposal { background: var(--lupsi-dark); color: var(--lupsi-offwhite); min-height: 560px; }
.lupsi-disposal .wp-block-media-text__content { padding: 48px 8%; }
.lupsi-disposal h2 { color: var(--lupsi-offwhite); }
.lupsi-disposal p { font-size: 14px; }
.lupsi-btn-light .wp-block-button__link { background: var(--lupsi-mint); color: var(--lupsi-dark); border-radius: 999px; padding: 12px 28px; font-size: 14px; }

/* Marquee */
.lupsi-marquee { background: var(--lupsi-pale); color: var(--lupsi-button); overflow: hidden; white-space: nowrap; padding: 20px 0; font-size: 15px; }
.lupsi-marquee-track { display: inline-flex; gap: 48px; animation: lupsi-marquee 40s linear infinite; }
@keyframes lupsi-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .lupsi-marquee-track { animation: none; } }

/* Footer */
.lupsi-footer { background: var(--lupsi-light); color: var(--lupsi-dark); font-size: 14px; }
.lupsi-footer h3 { font-size: 18px; color: var(--lupsi-dark); margin-bottom: 8px; }
.lupsi-footer a { color: var(--lupsi-dark); }
.lupsi-footer-copy { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(31, 77, 43, .2); font-size: 12px; }

@media (max-width: 781px) {
	.lupsi-sec { padding: 48px 20px; }
	.lupsi-hero { padding-bottom: 80px !important; }
	.lupsi-steps, .lupsi-pills { grid-template-columns: 1fr; gap: 24px; }
	.lupsi-pills { margin-top: 32px; }
	.lupsi-story { min-height: 0 !important; }
	.lupsi-disposal { min-height: 0; }
	.lupsi-disposal .wp-block-media-text__media { min-height: 280px; }
}
