/* ==========================================================================
   Formal Peptides — Homepage PDF corrections (v1.10.6)
   Typography, spacing, icons, products, header, footer
   ========================================================================== */

:root {
	--fp-h2-size: 1.875rem;
	--fp-body-text: 1rem;
	--fp-btn-text: 0.9375rem;
	--fp-section-pad: clamp(72px, 10vw, 96px);
}

/* --- Consistent H2 (30px) sitewide on homepage sections --- */
.home-page .section-header__title,
.home-page .qr-block__title,
.home-page .reviews-panel__heading,
.home-page h2.section-header__title {
	font-size: var(--fp-h2-size) !important;
	line-height: 1.25;
	font-weight: 700;
}

@media (min-width: 1024px) {
	.home-page .section-header__title {
		font-size: var(--fp-h2-size) !important;
	}
}

/* --- Consistent body copy (16px) --- */
.home-page .hero__desc,
.home-page .qr-block__text,
.home-page .hero__glass-item span,
.home-page .product-card__meta,
.home-page .accordion__body,
.home-page .accordion__answer p,
.home-page .faq-block .accordion__body {
	font-size: var(--fp-body-text);
	line-height: 1.65;
}

.home-page .hero__glass-item strong {
	font-size: var(--fp-body-text);
}

/* --- Consistent button text (15px) --- */
.home-page .btn,
.home-page .btn--lg,
.home-page .btn--sm,
.home-page .product-card__footer .btn,
.home-page .hero__actions .btn,
.home-page .section-header__action.btn,
.home-page .qr-block .btn {
	font-size: var(--fp-btn-text) !important;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* --- Equal section padding (top = bottom) --- */
.home-page .home-section,
.home-page .product-section,
.home-page .trust-strip,
.home-page .stats-band,
.home-page .qr-block,
.home-page .reviews-section,
.home-page .faq-block,
.home-page .categories {
	padding-block: var(--fp-section-pad);
}

.home-page .hero {
	padding-block: var(--fp-section-pad);
}

/* --- Crisp SVG icons (no blur from scale animation) --- */
.home-page .fp-icon,
.site-header .fp-icon,
.site-footer .fp-icon {
	shape-rendering: geometricPrecision;
	flex-shrink: 0;
	display: block;
}

.home-page .fp-icon--pulse {
	animation: fp-pulse-crisp 2.5s ease-in-out infinite;
}

@keyframes fp-pulse-crisp {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.85; }
}

.home-page .trust-strip__icon-wrap,
.home-page .category-card__icon-wrap {
	animation: none;
}

.home-page .trust-strip__icon-wrap .fp-icon {
	width: 32px;
	height: 32px;
	color: var(--fp-teal-500);
}

.home-page .hero__glass-icon .fp-icon {
	width: 28px;
	height: 28px;
}

.home-page .category-card__icon-wrap .fp-icon {
	width: 44px;
	height: 44px;
}

/* --- Header width alignment on mobile --- */
@media (max-width: 767px) {
	.site-header .header__container {
		width: var(--fp-content-width);
		max-width: none;
		margin-inline: var(--fp-content-gutter);
		padding-inline: 0;
		box-sizing: border-box;
	}

	.site-header .header__inner {
		padding-inline: 0;
		gap: 8px;
	}
}

/* --- Footer: transparent logo, reduced bottom padding, tablet columns --- */
.site-footer .footer__brand-logo {
	background: transparent !important;
	padding: 0;
	border-radius: 0;
}

.site-footer .fp-site-logo--footer .fp-site-logo__img {
	background: transparent !important;
}

.site-footer .footer__container {
	padding-bottom: var(--fp-space-6);
}

.site-footer .footer__container--bottom {
	padding-top: var(--fp-space-3);
	padding-bottom: 5px !important;
}

.site-footer .footer__bottom {
	padding-block: var(--fp-space-3);
}

.site-footer .footer-marquee {
	margin-bottom: 0;
}

.site-footer .footer__credit {
	margin: var(--fp-space-2) 0 0;
	font-size: var(--fp-font-size-xs);
	color: var(--fp-gray-500);
}

.site-footer .footer__credit a {
	color: var(--fp-teal-400);
	text-decoration: none;
}

.site-footer .footer__credit a:hover {
	color: var(--fp-teal-300);
	text-decoration: underline;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.site-footer .footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--fp-space-6);
	}

	.site-footer .footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer .footer__col--newsletter {
		grid-column: 1 / -1;
	}
}
