/* ============================================================
   BAYOUPEP USA — HOME
   ============================================================ */

.bp-home { display: block; width: 100%; }

/* Smooth in-page scrolling for hero/about catalog buttons -> Featured Compounds,
   with an offset so targets land below the fixed header (not hidden under it). */
html { scroll-behavior: smooth; }
#catalog, #about, #newsletter, #standard, #faq, #top { scroll-margin-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.bp-wrap { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }

.bp-section { padding-block: clamp(48px, 7vw, 60px); position: relative; z-index: 1; }

/* ---------- HERO (full-bleed banner) ---------- */
/* Height is NOT fixed — the banner fills roughly one screen on first load and
   adapts to the device viewport, while still able to grow if content needs it. */
.bp-hero { position: relative; min-height: 100svh; padding-top: clamp(24px, 4vh, 56px); padding-bottom: clamp(24px, 4vh, 56px); overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: center; }
@supports not (height: 100svh) { .bp-hero { min-height: 100vh; } }
/* Dedicated mobile banner image — hidden on desktop/tablet, shown only on phones. */
.bp-hero__banner-m { display: none; }
/* Banner fills the hero edge-to-edge: full width + full height, nothing cropped. */
.bp-hero.has-bg { background-position: center; background-size: 100% 100%; background-repeat: no-repeat; }
.bp-hero__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, rgba(5,5,16,0.92) 0%, rgba(5,5,16,0.74) 45%, rgba(5,5,16,0.38) 100%); }
.bp-hero__inner { position: relative; max-width: 720px; }
/* Split layout when a right-side foreground image is set. */
.bp-hero.has-side .bp-hero__inner {
	max-width: none;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
}
.bp-hero.has-side .bp-hero__content { max-width: 640px; }
.bp-hero__media { position: relative; display: flex; align-items: center; justify-content: center; }
.bp-hero__media-img {
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: contain;     /* original image only — never cropped */
	display: block;
	filter: drop-shadow(0 24px 60px rgba(var(--bp-primary-rgb), 0.35));
	animation: bp-hero-float 6s ease-in-out infinite;
}
@keyframes bp-hero-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@media (prefers-reduced-motion: reduce) { .bp-hero__media-img { animation: none; } }
@media (max-width: 980px) {
	.bp-hero.has-side .bp-hero__inner { grid-template-columns: 1fr; }
	.bp-hero.has-side .bp-hero__content { max-width: 720px; order: 1; }
	.bp-hero__media { order: 0; margin-bottom: 8px; }
	.bp-hero__media-img { max-height: 320px; }
}
/* ============================================================
   TABLET + PHONE HERO — show the sale image as its OWN full image
   so it is NEVER cropped or distorted, and stack the hero text cleanly
   below it. This kills the stretched CSS background, the dark overlay,
   and the side foreground image on tablet/phone. Desktop (>1024px) keeps
   the original side-by-side hero untouched.
   ============================================================ */
@media (max-width: 1024px) {
	.bp-hero,
	.bp-hero.has-bg { background-image: none !important; background: transparent !important; }
	.bp-hero__overlay { display: none !important; }
	.bp-hero__media { display: none !important; }

	/* hero must never clip its banner; padding (not a child margin) makes the
	   gap below the header so the banner can't margin-collapse under it. */
	.bp-hero { overflow: visible !important; height: auto !important; min-height: 0 !important; display: block !important; padding-top: 18px !important; padding-bottom: 30px !important; }

	.bp-hero__banner-m {
		display: block !important;
		width: 100%;
		max-width: 940px;            /* full sale image, centered, nice on tablet */
		height: auto !important;     /* whole image, natural aspect — never cropped */
		max-height: none !important;
		object-fit: contain;
		margin: 0 auto 24px;
		border-radius: 14px;
		box-shadow: 0 10px 30px rgba(0,0,0,0.30);
	}

	/* stack the text content full width with comfortable room */
	.bp-hero.has-side .bp-hero__inner { display: block; }
	.bp-hero.has-side .bp-hero__content { max-width: 100%; }
	.bp-hero__inner { margin-top: 0 !important; padding-top: 0 !important; max-width: 820px; margin-inline: auto; }
	.bp-hero__content { margin-top: 0 !important; padding-top: 0 !important; }
}

/* PHONE ONLY — banner goes full-bleed edge to edge, flush, smaller type. */
@media (max-width: 600px) {
	.bp-hero { padding-top: 12px !important; padding-bottom: 18px !important; }
	.bp-hero__banner-m {
		width: 100vw;               /* full bleed, edge to edge */
		max-width: 100vw;
		margin-left: calc(50% - 50vw); /* break out of the page gutter */
		margin-right: calc(50% - 50vw);
		margin-top: 0;
		margin-bottom: 14px;
		border-radius: 0;
		box-shadow: none;
	}
	.bp-hero__title { font-size: clamp(38px, 11.5vw, 58px); line-height: 1.0; }
	.bp-hero__sub { margin-top: 16px; }
	.bp-hero__desc { margin-top: 12px; }
	.bp-hero__cta { gap: 10px; margin-top: 26px; }
	.bp-hero__cta .bp-btn { flex: 1 1 auto; justify-content: center; text-align: center; }
}
.bp-hero__pill {
	display: inline-flex; align-items: center; gap: 9px; margin-bottom: 14px;
	padding: 8px 16px; border-radius: 999px;
	font-family: var(--bp-caps); font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--bp-ink); background: rgba(var(--bp-primary-rgb),0.16); border: 1px solid rgba(var(--bp-primary-rgb),0.45);
	backdrop-filter: blur(6px);
}
.bp-hero__pill-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bp-accent); box-shadow: 0 0 0 0 rgba(var(--bp-accent-rgb),0.7); animation: bp-pulse 2s infinite; }
@keyframes bp-pulse { 0% { box-shadow: 0 0 0 0 rgba(var(--bp-accent-rgb),0.6); } 70% { box-shadow: 0 0 0 8px rgba(var(--bp-accent-rgb),0); } 100% { box-shadow: 0 0 0 0 rgba(var(--bp-accent-rgb),0); } }
.bp-hero__title { font-size: clamp(40px, 4.4vw, 60px); line-height: 1.0; margin: 0; }
/* Keep the whole hero title on ONE line on desktop (e.g. "BAYOUPEP USA PEPTIDES"). */
@media (min-width: 981px) { .bp-hero__title { white-space: nowrap; } }
.bp-hero__sub { margin-top: 14px; font-size: clamp(15px, 1.5vw, 18px); line-height: 1.55; color: rgba(236,236,242,0.9); max-width: 56ch; }
.bp-hero__desc { margin-top: 10px; font-size: clamp(14px, 1.3vw, 16px); line-height: 1.55; color: var(--bp-muted); max-width: 60ch; }
.bp-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
.bp-hero__accent { display: block; background: linear-gradient(100deg, var(--bp-primary), var(--bp-accent)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
/* Brand name accent — last word of the hero heading (e.g. "USA") in brand blue, inline. */
.bp-hero__name-accent { color: var(--bp-accent); -webkit-text-fill-color: var(--bp-accent); }
.bp-hero__note { margin-top: 16px; font-family: var(--bp-caps); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--bp-muted); }

/* VIP restock pill + researcher count */
.bp-hero__vip { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
.bp-hero__vip-pill {
	display: inline-flex; align-items: center; gap: 9px;
	padding: 11px 20px; border-radius: 999px;
	font-size: 14px; font-weight: 600; color: var(--bp-ink);
	background: rgba(13, 17, 23,0.6); border: 1px solid var(--bp-line);
	backdrop-filter: blur(8px); transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.bp-hero__vip-pill:hover { border-color: var(--bp-primary); background: rgba(var(--bp-primary-rgb),0.18); transform: translateY(-2px); color: var(--bp-ink); }
.bp-hero__vip-ico { width: 17px; height: 17px; color: var(--bp-accent); }
.bp-hero__vip-note { font-family: var(--bp-mono); font-size: 12px; letter-spacing: .04em; color: var(--bp-muted); }
.bp-hero__vip-note { position: relative; }

/* ---------- SECTION HEAD ---------- */
.bp-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.bp-section__title { font-size: clamp(30px, 4vw, 52px); }
.bp-section__sub { margin-top: 10px; color: var(--bp-muted); font-size: 16px; line-height: 1.65; }

/* ---------- PRODUCT GRID ---------- */
.bp-grid {
	display: grid;
	grid-template-columns: repeat(var(--bp-cols, 4), 1fr);
	gap: 22px;
}
@media (max-width: 1024px) { .bp-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .bp-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }
@media (max-width: 440px)  { .bp-grid { grid-template-columns: 1fr; } }

/* Page body fallback (Gutenberg content) */
.bp-page-body :where(h1,h2,h3,p,li) { color: var(--bp-ink); }

/* ============================================================
   HOME BUILDER SECTIONS (ACF-driven front page)
   ============================================================ */

.bp-ico { width: 24px; height: 24px; display: block; }
.bp-prose :where(p,li) { color: var(--bp-muted); line-height: 1.7; }
.bp-prose :where(h2,h3,h4) { color: var(--bp-ink); }
.bp-prose a { color: var(--bp-primary); }

.bp-section__head--center { flex-direction: column; align-items: center; text-align: center; max-width: 720px; margin-inline: auto; }
.bp-section__head--center .bp-eyebrow { margin-bottom: 12px; }

/* ---------- HERO stats ---------- */
.bp-hero__stats { display: flex; flex-wrap: wrap; gap: clamp(22px, 4vw, 48px); margin-top: 20px; }
.bp-stat { display: flex; flex-direction: column; gap: 4px; }
.bp-stat__value { font-size: clamp(34px, 4vw, 52px); color: var(--bp-primary); }
.bp-stat__label { font-family: var(--bp-caps); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--bp-muted); }

/* ---------- MARQUEE ---------- */
.bp-marquee { overflow: hidden; border-block: 1px solid var(--bp-line); padding-block: 18px; position: relative; z-index: 1; background: rgba(10,10,20,0.4); }
.bp-marquee__track { display: inline-flex; align-items: center; gap: 22px; white-space: nowrap; animation: bp-marquee 32s linear infinite; }
.bp-marquee__item { font-family: var(--bp-display); font-size: clamp(20px, 2.4vw, 30px); letter-spacing: .04em; color: var(--bp-ink); }
.bp-marquee__dot { color: var(--bp-primary); font-size: 18px; }
@keyframes bp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .bp-marquee__track { animation: none; } }

/* ---------- BENEFITS ---------- */
.bp-benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bp-benefit { padding: 28px 24px; display: flex; flex-direction: column; gap: 12px; transition: transform .25s ease, border-color .25s ease; }
.bp-benefit:hover { transform: translateY(-5px); border-color: var(--bp-primary); }
.bp-benefit__ico { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; color: var(--bp-primary); background: rgba(var(--bp-primary-rgb),0.12); border: 1px solid var(--bp-line); }
.bp-benefit__pill { align-self: flex-start; display: inline-block; padding: 5px 13px; border-radius: 999px; font-family: var(--bp-caps); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--bp-accent); background: rgba(var(--bp-primary-rgb),0.16); border: 1px solid var(--bp-line); }
.bp-benefit__title { font-size: 19px; font-weight: 700; color: var(--bp-ink); margin: 0; }
.bp-benefit__text { color: var(--bp-muted); font-size: 15px; line-height: 1.65; margin: 0; }
@media (max-width: 1024px) { .bp-benefit-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  {
	.bp-benefit-grid { grid-template-columns: 1fr; }
	/* Phone only: place the title to the right of the icon (same row);
	   description + pill drop below, spanning the full card width. */
	.bp-benefit {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: 14px;
		row-gap: 10px;
	}
	.bp-benefit__ico   { grid-row: 1; grid-column: 1; }
	.bp-benefit__title { grid-row: 1; grid-column: 2; }
	.bp-benefit__text  { grid-column: 1 / -1; }
	.bp-benefit__pill  { grid-column: 1 / -1; justify-self: start; }
}

/* ---------- ABOUT ---------- */
.bp-about__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.bp-about__media { position: relative; padding: 14px; overflow: visible; }
.bp-about__img { width: 100%; border-radius: calc(var(--bp-radius) - 6px); display: block; object-fit: cover; }
.bp-about__badge { position: absolute; right: -18px; bottom: -18px; padding: 16px 22px; display: flex; flex-direction: column; gap: 2px; text-align: center; }
.bp-about__badge-v { font-size: 34px; color: var(--bp-primary); }
.bp-about__badge-l { font-family: var(--bp-caps); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--bp-muted); }
.bp-about__body { margin: 18px 0; }
.bp-about__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bp-about__list li { display: flex; align-items: center; gap: 10px; color: var(--bp-ink); font-size: 14px; }
.bp-about__list .bp-ico { width: 18px; height: 18px; color: var(--bp-primary); flex: none; }
@media (max-width: 880px) { .bp-about__grid { grid-template-columns: 1fr; } .bp-about__list { grid-template-columns: 1fr; } }

/* ---------- SHOP INTRO ---------- */
.bp-shop-intro { padding-bottom: 0; }
.bp-shop-intro + .bp-products { padding-top: clamp(22px, 3vw, 40px); }
.bp-products + .bp-products { padding-top: clamp(22px, 3vw, 40px); }
.bp-products .bp-section__head { margin-bottom: 26px; }

/* ---------- RESEARCH (2-col, redesigned) ---------- */
.bp-research__grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.bp-research__cards { display: flex; flex-direction: column; gap: 16px; }
.bp-research-card { display: flex; align-items: flex-start; gap: 16px; padding: 22px 24px; border-radius: var(--bp-radius); transition: transform .25s ease, border-color .25s ease; }
.bp-research-card:hover { transform: translateX(4px); border-color: var(--bp-primary); }
.bp-research-card__ico { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; color: var(--bp-primary); background: rgba(var(--bp-primary-rgb),0.14); border: 1px solid var(--bp-line); }
.bp-research-card__ico .bp-ico { width: 22px; height: 22px; }
.bp-research-card__title { font-size: 19px; font-weight: 700; color: var(--bp-ink); margin: 0 0 6px; }
.bp-research-card__text { color: var(--bp-muted); font-size: 15px; line-height: 1.65; margin: 0; }
.bp-research__copy .bp-eyebrow { display: inline-block; margin-bottom: 14px; }
.bp-research__title { font-size: clamp(36px, 5vw, 68px); line-height: 1.0; margin: 0; }
.bp-research__body { margin-top: 22px; }
.bp-research__body :where(p) { font-size: clamp(15px, 1.4vw, 17px); line-height: 1.7; }
.bp-research__notice {
	display: flex; gap: 14px; align-items: flex-start; margin-top: 28px;
	padding: 18px 20px; border-radius: var(--bp-radius);
	background: rgba(var(--bp-primary-rgb),0.08); border: 1px solid var(--bp-line); border-left: 3px solid var(--bp-primary);
}
.bp-research__notice svg { flex: none; width: 22px; height: 22px; color: var(--bp-accent); margin-top: 2px; }
.bp-research__notice span { font-size: 13px; line-height: 1.6; color: var(--bp-muted); }
@media (max-width: 880px) { .bp-research__grid { grid-template-columns: 1fr; } }

/* ---------- ABOUT button ---------- */
.bp-about__btn { margin-top: 28px; }

/* ---------- TRUST / CTA ---------- */
.bp-trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: clamp(28px, 4vw, 48px); }
.bp-trust-card { position: relative; padding: 36px 30px; display: flex; flex-direction: column; gap: 14px; overflow: hidden; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.bp-trust-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(90deg, var(--bp-primary), var(--bp-accent)); opacity: 0; transition: opacity .25s ease; }
.bp-trust-card:hover { transform: translateY(-6px); border-color: var(--bp-primary); box-shadow: 0 26px 60px -28px rgba(var(--bp-primary-rgb),0.7); }
.bp-trust-card:hover::before { opacity: 1; }
.bp-trust-card__ico { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; color: var(--bp-primary); background: rgba(var(--bp-primary-rgb),0.14); border: 1px solid var(--bp-line); }
.bp-trust-card__ico .bp-ico { width: 26px; height: 26px; }
.bp-trust-card__title { font-size: 20px; font-weight: 700; color: var(--bp-ink); margin: 0; }
.bp-trust-card__text { color: var(--bp-muted); font-size: 15px; line-height: 1.7; margin: 0; }
@media (max-width: 880px) { .bp-trust-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
	/* Phone only: title sits to the right of the icon (same row);
	   description drops below, spanning the full card width. */
	.bp-trust-card {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: 14px;
		row-gap: 12px;
	}
	.bp-trust-card__ico   { grid-row: 1; grid-column: 1; }
	.bp-trust-card__title { grid-row: 1; grid-column: 2; }
	.bp-trust-card__text  { grid-column: 1 / -1; }
}

/* ---------- NEWSLETTER ---------- */
.bp-newsletter__inner {
	position: relative;
	display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center;
	padding: clamp(32px, 4vw, 60px);
	border: 1px solid rgba(var(--bp-primary-rgb),.28);
	background:
		radial-gradient(120% 140% at 12% 0%, rgba(var(--bp-primary-rgb),.18), transparent 55%),
		var(--bp-glass);
	overflow: hidden;
}
.bp-newsletter__inner::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--bp-primary), var(--bp-accent)); }
/* Copy column: bolt icon + text (matches the Restock Alerts reference). */
.bp-newsletter__copy { display: flex; align-items: flex-start; gap: 16px; }
.bp-newsletter__ico {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 14px;
	background: rgba(var(--bp-primary-rgb),.16); border: 1px solid var(--bp-line); color: var(--bp-accent);
}
.bp-newsletter__ico svg { width: 24px; height: 24px; }
.bp-newsletter__copytxt { min-width: 0; }
.bp-newsletter__title { font-size: clamp(30px, 4vw, 48px); margin: 10px 0 0; }
.bp-newsletter__sub { color: var(--bp-muted); margin-top: 14px; line-height: 1.65; max-width: 420px; }
.bp-newsletter__form { display: flex; flex-direction: column; gap: 0; }
@media (max-width: 880px) { .bp-newsletter__inner { grid-template-columns: 1fr; } }

/* ---------- NEWSLETTER FORM (shared with popup) ---------- */
/* Vertical stack: email, phone, consent, button. */
.bp-nl-form { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.bp-nl-form__input {
	width: 100%; box-sizing: border-box;
	background: var(--bp-bg-2); color: var(--bp-ink);
	border: 1px solid var(--bp-line); border-radius: var(--bp-radius-sm);
	padding: 14px 16px; font-family: var(--bp-font); font-size: 15px;
}
.bp-nl-form__input:focus { outline: none; border-color: var(--bp-primary); box-shadow: 0 0 0 3px rgba(var(--bp-primary-rgb),0.18); }
.bp-nl-form__consent { margin: 2px 0 4px; color: var(--bp-muted); font-size: 12px; line-height: 1.6; }
.bp-nl-form__consent a { color: var(--bp-accent); }
.bp-nl-form__btn { width: 100%; justify-content: center; padding-block: 15px; }
.bp-nl-form__status { font-size: 13px; color: var(--bp-muted); min-height: 18px; }
.bp-nl-form__status.is-ok { color: #4ade80; }
.bp-nl-form__status.is-err { color: #f87171; }
.bp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- FAQ ---------- */
.bp-faq__head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.bp-faq__list { max-width: 820px; margin-inline: auto; display: flex; flex-direction: column; gap: 14px; }
.bp-faq__item { padding: 0; overflow: hidden; }
.bp-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px; cursor: pointer; list-style: none; font-size: 17px; font-weight: 600; color: var(--bp-ink); transition: color .2s ease; }
.bp-faq__q::-webkit-details-marker { display: none; }
.bp-faq__q:hover { color: var(--bp-primary); }
.bp-faq__ico { position: relative; flex: none; width: 18px; height: 18px; }
.bp-faq__ico::before, .bp-faq__ico::after { content: ""; position: absolute; background: var(--bp-primary); border-radius: 2px; transition: transform .25s ease, opacity .25s ease; }
.bp-faq__ico::before { top: 8px; left: 0; width: 18px; height: 2px; }
.bp-faq__ico::after  { top: 0; left: 8px; width: 2px; height: 18px; }
.bp-faq__item[open] .bp-faq__ico::after { transform: scaleY(0); opacity: 0; }
.bp-faq__a { padding: 0 24px 22px; color: var(--bp-muted); font-size: 15px; line-height: 1.7; }
.bp-faq__a p:first-child { margin-top: 0; }

/* ---------- VIP RESTOCK BAR ---------- */
.bp-vip { padding-block: clamp(40px, 5vw, 64px); position: relative; z-index: 1; }
.bp-vip__inner { display: flex; align-items: center; justify-content: space-between; gap: clamp(24px, 4vw, 48px); flex-wrap: wrap; padding: clamp(28px, 4vw, 48px); border-radius: var(--bp-radius); background: linear-gradient(120deg, rgba(var(--bp-primary-rgb),0.16), rgba(var(--bp-accent-rgb),0.06)); border: 1px solid var(--bp-line); }
.bp-vip__copy { display: flex; align-items: center; gap: 20px; }
.bp-vip__ico { width: 56px; height: 56px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; color: var(--bp-primary); background: rgba(var(--bp-primary-rgb),0.14); border: 1px solid var(--bp-line); }
.bp-vip__ico .bp-ico { width: 28px; height: 28px; }
.bp-vip__eyebrow { display: block; font-family: var(--bp-caps); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--bp-primary); }
.bp-vip__title { font-size: clamp(24px, 3vw, 36px); margin: 4px 0 6px; }
.bp-vip__text { color: var(--bp-muted); font-size: 15px; line-height: 1.6; margin: 0; max-width: 52ch; }
.bp-vip__btn { flex: none; }
@media (max-width: 700px) {
	.bp-vip__inner { flex-direction: column; align-items: flex-start; }
	/* Mobile: keep the icon on the left with the title block beside it. */
	.bp-vip__copy { flex-direction: row; align-items: center; gap: 16px; }
}

/* ---- Hero sale countdown ---------------------------------------------- */
.bp-hero__sale {
	/* Matches the live Petratide Science countdown (red). Override the solid
	   colour from ACF via --bp-sale-accent; the glow uses --sale-rgb. */
	--sale: var(--bp-sale-accent, #ff8888);
	--sale-rgb: var(--bp-sale-rgb, 255, 90, 90);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 26px;
}
.bp-sale__badge {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	font-family: var(--bp-caps);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--sale);
	background: rgba(var(--sale-rgb), 0.10);
	border: 1.5px solid rgba(var(--sale-rgb), 0.45);
	border-radius: 8px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	animation: bp-sale-emit 1.8s ease-in-out infinite;
}
.bp-sale__bolt {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	animation: bp-sale-bolt 1.4s ease-in-out infinite;
}
.bp-sale__label {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--bp-caps);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sale);
	animation: bp-sale-fade 2.6s ease-in-out infinite;
}
.bp-sale__timer {
	display: flex;
	align-items: center;
	gap: 10px;
}
.bp-sale__unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	min-width: 66px;
	padding: 12px 10px;
	background: rgba(8, 12, 30, 0.6);
	border: 1px solid rgba(var(--sale-rgb), 0.45);
	border-radius: 12px;
	animation: bp-sale-emit 1.8s ease-in-out infinite;
}
.bp-sale__num {
	font-family: var(--bp-display);
	font-size: 34px;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #fff;
	font-variant-numeric: tabular-nums;
}
.bp-sale__num.is-pop { animation: bp-sale-pop 0.9s ease-out; }
.bp-sale__cap {
	font-family: var(--bp-caps);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bp-muted);
}
.bp-sale__sep {
	font-family: var(--bp-display);
	font-size: 28px;
	font-weight: 700;
	color: var(--sale);
	transform: translateY(-8px);
	animation: bp-sale-fade 1s steps(2, jump-none) infinite;
}

@keyframes bp-sale-emit {
	0%, 100% { box-shadow: 0 0 0 0 rgba(var(--sale-rgb), 0.45); }
	50%      { box-shadow: 0 0 0 7px rgba(var(--sale-rgb), 0); }
}
@keyframes bp-sale-bolt {
	0%, 100% { transform: scale(1); opacity: 1; }
	50%      { transform: scale(1.18); opacity: 0.7; }
}
@keyframes bp-sale-fade {
	0%, 100% { opacity: 1; }
	50%      { opacity: 0.55; }
}
@keyframes bp-sale-pop {
	0%   { transform: scale(1.25); color: var(--sale); }
	100% { transform: scale(1); color: #fff; }
}

@media (max-width: 600px) {
	.bp-hero__sale { gap: 10px; margin-bottom: 22px; }
	.bp-sale__unit { min-width: 56px; padding: 10px 8px; }
	.bp-sale__num { font-size: 28px; }
	.bp-sale__sep { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.bp-sale__badge,
	.bp-sale__bolt,
	.bp-sale__label,
	.bp-sale__unit,
	.bp-sale__sep,
	.bp-sale__num { animation: none !important; }
}

/* ============================================================
   BAYOUPEP USA — APPROVED HOMEPAGE OVERRIDES
   Clean custom layer added after the developer's original CSS.
   ============================================================ */

/* ---------- TEXT GLOW: HEADINGS + MARQUEE ONLY ---------- */
.home .bp-section__title,
.home .bp-research__title,
.home .bp-newsletter__title,
.home .bp-vip__title,
.home .bp-marquee__item {
    text-shadow: 0 0 18px rgba(27, 81, 235, 0.55);
}

/* Keep body/paragraph text clear with no glow. */
.home .bp-section__sub,
.home .bp-benefit__text,
.home .bp-research-card__text,
.home .bp-trust-card__text,
.home .bp-newsletter__sub,
.home .bp-vip__text,
.home .bp-faq__a {
    text-shadow: none;
}

/* ---------- MARQUEE: CLEAR BACKGROUND ---------- */
.home .bp-marquee {
    background: transparent !important;
    border-block: 0 !important;
    box-shadow: none !important;
}

.home .bp-marquee__track {
    animation: bp-marquee 32s linear infinite !important;
    will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
    .home .bp-marquee__track { animation: none !important; }
}

/* ---------- BENEFITS: PREMIUM GLASS CARDS ---------- */
.home .bp-benefit {
    background: linear-gradient(
        145deg,
        rgba(255,255,255,0.055),
        rgba(8,18,45,0.16)
    );
    -webkit-backdrop-filter: blur(12px) saturate(135%);
    backdrop-filter: blur(12px) saturate(135%);
    border: 1px solid rgba(27,81,235,0.42);
    border-radius: 20px;
    box-shadow:
        0 10px 28px rgba(0,0,0,0.22),
        0 0 18px rgba(27,81,235,0.18),
        inset 0 1px 0 rgba(255,255,255,0.14);
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease,
        background .28s ease;
}

.home .bp-benefit:hover {
    transform: translateY(-5px);
    border-color: rgba(27,81,235,0.70);
    background: linear-gradient(
        145deg,
        rgba(255,255,255,0.075),
        rgba(8,18,45,0.20)
    );
    box-shadow:
        0 18px 42px rgba(0,0,0,0.30),
        0 0 26px rgba(27,81,235,0.30),
        inset 0 1px 0 rgba(255,255,255,0.18);
}

/* Keep the existing blue icon frames/glow. */
.home .bp-benefit__ico {
    background: rgba(27,81,235,0.10);
    border-color: rgba(27,81,235,0.45);
    box-shadow:
        0 0 22px rgba(27,81,235,0.32),
        inset 0 0 12px rgba(27,81,235,0.14);
}

/* ---------- ABOUT: FLOATING ALLIGATOR ARTWORK ---------- */
.home #about,
.home #about .bp-wrap,
.home #about .bp-about__grid,
.home #about .bp-about__media,
.home #about .bp-about__media.bp-glass,
.home #about .bp-about__img {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

.home #about .bp-about__media,
.home #about .bp-about__media.bp-glass {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.home #about .bp-about__media::before,
.home #about .bp-about__media::after,
.home #about::before,
.home #about::after,
.home #about .bp-wrap::before,
.home #about .bp-wrap::after,
.home #about .bp-about__grid::before,
.home #about .bp-about__grid::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* ---------- GLOBAL HOMEPAGE BACKGROUND VISIBILITY ---------- */
.home .bp-main,
.home main,
.home .bp-content,
.home .bp-section,
.home .bp-wrap,
.home .bp-about,
.home .bp-benefits,
.home .bp-research,
.home .bp-trust,
.home .bp-faq,
.home .bp-vip,
.home .bp-newsletter {
    background-color: transparent;
}

/* ---------- HERO BUTTON CLEANUP ---------- */
.home .bp-hero .bp-btn--ghost[href="#about"],
.home .bp-hero__cta .bp-btn--ghost,
.home a.bp-btn.bp-btn--ghost[href="#about"] {
    display: none !important;
}

.home .bp-hero__cta {
    justify-content: flex-start;
    gap: 0;
}

.home .bp-hero__cta .bp-btn:first-child {
    min-width: 260px;
    padding: 16px 34px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    border-radius: 14px;
    box-shadow:
        0 0 24px rgba(27,81,235,0.45),
        inset 0 0 12px rgba(255,255,255,0.08);
}
