/* ==========================================================================
   Real Peptide Labs — design tokens
   ========================================================================== */
:root{
	--rpl-bg:#eaeaee;
	--rpl-text:#14171a;
	--rpl-text-muted:#6b7280;
	--rpl-border:#e6e8eb;
	--rpl-black:#111315;
	--rpl-blue:#8eb6dc;
	--rpl-blue-deep:#4f7fac;
	--rpl-maroon:#111315;
	--rpl-green:#189652;
	--rpl-gold-bg:#fdf3d0;
	--rpl-gold-text:#7a5b00;
	--radius-lg:20px;
	--radius-md:12px;
	--radius-full:999px;
	--container:1280px;
	--font:'PT Serif',Georgia,'Times New Roman',serif;
	--rpl-navy:#1b2340;
	--font-display:'Marcellus',Georgia,'Times New Roman',serif;
}

*,*::before,*::after{box-sizing:border-box;}
body{
	margin:0;
	font-family:var(--font);
	color:var(--rpl-text);
	background:var(--rpl-bg);
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{list-style:none;margin:0;padding:0;}

/* ==========================================================================
   Header
   ========================================================================== */
.rpl-header{
	position:sticky;top:0;z-index:50;
	background:var(--rpl-footer-bg);
	border-top:3px solid var(--rpl-maroon);
	border-bottom:3px solid var(--rpl-maroon);
}
.rpl-header .rpl-logo__top{color:#fff;}
.rpl-header .rpl-logo__accent{color:#fff;}
.rpl-header .rpl-logo__sub{color:#fff;}
.rpl-header .rpl-nav__list a{color:#fff;}
.rpl-header .rpl-icon-btn{color:#fff;}
.rpl-header .rpl-icon-btn:hover{background:rgba(255,255,255,.1);}

.rpl-marquee{
	overflow:hidden;
	background:var(--rpl-blue);
	border-bottom:1px solid rgba(19,41,63,.18);
	position:relative;
	z-index:40;
}
.rpl-marquee__track{
	display:flex;
	width:max-content;
	animation:rpl-marquee-scroll 26s linear infinite;
}
.rpl-marquee__group{display:flex;align-items:center;flex-shrink:0;}
.rpl-marquee__item{
	display:inline-flex;
	align-items:center;
	white-space:nowrap;
	padding:8px 28px;
	font-family:var(--font-display);
	font-size:12px;
	font-weight:700;
	letter-spacing:.06em;
	color:var(--rpl-footer-bg);
}
.rpl-marquee__item + .rpl-marquee__item{border-left:1px solid rgba(19,41,63,.28);}
@keyframes rpl-marquee-scroll{
	from{transform:translateX(0);}
	to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
	.rpl-marquee__track{animation:none;}
	.rpl-marquee__group[aria-hidden="true"]{display:none;}
	.rpl-marquee{overflow-x:auto;}
}

.rpl-header__inner{
	max-width:var(--container);
	margin:0 auto;
	padding:14px 24px;
	display:flex;
	align-items:center;
	gap:28px;
}
.rpl-logo{
	display:flex;
	flex-direction:column;
	line-height:1;
	white-space:nowrap;
	font-family:var(--font-display);
}
.rpl-logo__top{
	font-weight:400;
	font-size:24px;
	letter-spacing:0.01em;
	color:var(--rpl-navy);
}
.rpl-logo__accent{color:var(--rpl-blue-deep);}
.rpl-logo__sub{
	align-self:flex-start;
	font-weight:600;
	font-size:12px;
	letter-spacing:0.02em;
	color:var(--rpl-text-muted);
	margin-top:-1px;
}

.rpl-nav{flex:1;min-width:0;}
.rpl-nav__list{
	display:flex;
	align-items:center;
	justify-content:space-evenly;
	gap:10px;
	flex-wrap:wrap;
	font-size:15px;
	font-weight:500;
}
.rpl-nav__list a{
	display:inline-flex;
	align-items:center;
	gap:6px;
	color:var(--rpl-navy);
	opacity:0.88;
}
.rpl-nav__list a:hover{opacity:1;}
.rpl-badge-new{
	font-size:9.5px;
	font-weight:700;
	color:var(--rpl-green);
	background:#e5f6ec;
	padding:2px 6px;
	border-radius:6px;
	letter-spacing:0.02em;
}

.rpl-header__actions{display:flex;align-items:center;gap:10px;}
.rpl-icon-btn{
	position:relative;
	display:flex;align-items:center;justify-content:center;
	width:38px;height:38px;
	border-radius:var(--radius-full);
	color:var(--rpl-navy);
}
.rpl-icon-btn:hover{background:#f3f4f6;}
.rpl-cart-btn .rpl-cart-count{
	position:absolute;top:-2px;right:-2px;
	background:var(--rpl-black);
	color:#fff;
	font-size:10px;
	font-weight:700;
	min-width:16px;height:16px;
	border-radius:var(--radius-full);
	display:flex;align-items:center;justify-content:center;
	padding:0 3px;
}

/* ==========================================================================
   Homepage hero
   ========================================================================== */
.rpl-hero{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(ellipse 700px 500px at 12% 8%, rgba(142,182,220,.22), transparent 60%),
		radial-gradient(ellipse 800px 600px at 90% 95%, rgba(79,127,172,.28), transparent 60%),
		var(--rpl-footer-bg);
	background-image:
		radial-gradient(ellipse 700px 500px at 12% 8%, rgba(142,182,220,.22), transparent 60%),
		radial-gradient(ellipse 800px 600px at 90% 95%, rgba(79,127,172,.28), transparent 60%),
		radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		var(--rpl-footer-bg);
	background-size:auto,auto,22px 22px,auto;
}
.rpl-hero__inner{
	position:relative;
	max-width:var(--container);
	margin:0 auto;
	padding:88px 24px;
	display:grid;
	grid-template-columns:0.85fr 1fr;
	gap:56px;
	align-items:center;
}
.rpl-hero__media{position:relative;display:flex;align-items:center;justify-content:center;min-height:360px;}
.rpl-hero__image{position:relative;z-index:1;width:38%;max-width:200px;height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.45));animation:rpl-float 4.5s ease-in-out infinite;}
.rpl-hero__glow{
	position:absolute;left:50%;bottom:6%;transform:translateX(-50%);
	width:60%;height:36px;
	background:radial-gradient(ellipse, rgba(142,182,220,.45), transparent 70%);
	filter:blur(6px);
}
.rpl-hero__eyebrow{
	color:var(--rpl-blue);
	font-weight:700;
	font-size:13px;
	letter-spacing:.12em;
	text-transform:uppercase;
	margin-bottom:14px;
}
.rpl-hero__title{
	font-family:var(--font-display);
	font-weight:400;
	font-size:60px;
	line-height:1.05;
	color:#fff;
	margin:0 0 22px;
}
.rpl-hero__desc{
	color:var(--rpl-footer-text);
	font-size:16px;
	line-height:1.7;
	max-width:560px;
	margin:0 0 28px;
}
.rpl-hero__price{
	font-family:var(--font-display);
	font-weight:400;
	font-size:26px;
	color:#fff;
	margin:0 0 30px;
}
.rpl-hero__actions{display:flex;gap:14px;flex-wrap:wrap;}
.rpl-btn--hero-solid{background:var(--rpl-blue);color:#fff;}
.rpl-btn--hero-solid:hover{background:var(--rpl-blue-deep);}
.rpl-btn--hero-outline{
	background:rgba(255,255,255,.06);
	color:#fff;
	border-color:rgba(255,255,255,.28);
}
.rpl-btn--hero-outline:hover{background:rgba(255,255,255,.12);}

/* ==========================================================================
   Shop grid
   ========================================================================== */
.rpl-shop{max-width:var(--container);margin:0 auto;padding:28px 24px 64px;}
.rpl-shop--home{padding-top:48px;}
.rpl-shop__heading{font-family:var(--font-display);font-size:26px;font-weight:400;margin:0 0 20px;}
.rpl-shop__heading--section{margin-top:56px;}
.rpl-shop__grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}
.rpl-shop--home .rpl-shop__grid{grid-template-columns:repeat(5,1fr);}
.rpl-shop__pagination{margin-top:32px;text-align:center;}
.rpl-shop__pagination .page-numbers{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:36px;height:36px;margin:0 4px;
	border:1px solid var(--rpl-border);border-radius:var(--radius-md);
}
.rpl-shop__pagination .page-numbers.current{background:var(--rpl-black);color:#fff;border-color:var(--rpl-black);}

.rpl-card{
	border:1px solid var(--rpl-border);
	border-radius:var(--radius-lg);
	overflow:hidden;
	background:#fff;
	display:flex;
	flex-direction:column;
	transition:box-shadow .15s ease, transform .15s ease;
}
.rpl-card:hover{box-shadow:0 12px 28px rgba(20,23,26,.08);transform:translateY(-2px);}

.rpl-card__panel{
	position:relative;
	padding:22px 18px 46px;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:230px;
}
.rpl-card__image-link{display:block;width:70%;}
.rpl-card__image{width:100%;height:auto;filter:drop-shadow(0 14px 18px rgba(0,0,0,.12));}

.rpl-badge-discount{
	position:absolute;top:14px;right:14px;
	background:var(--rpl-maroon);
	color:#fff;
	font-size:12px;font-weight:700;
	padding:5px 10px;
	border-radius:var(--radius-full);
}

.rpl-card__panel-footer{
	position:absolute;left:12px;right:12px;bottom:12px;
	display:flex;align-items:center;justify-content:space-between;
	gap:8px;flex-wrap:wrap;
}
.rpl-pill{
	display:inline-flex;align-items:center;gap:5px;
	background:#fff;
	border-radius:var(--radius-full);
	padding:6px 10px;
	font-size:12px;font-weight:600;
	box-shadow:0 1px 2px rgba(0,0,0,.08);
	white-space:nowrap;
}
.rpl-pill--coa{color:var(--rpl-green);}
.rpl-pill--coa svg{flex:none;}
.rpl-pill__link{color:var(--rpl-text-muted);font-weight:500;text-decoration:underline;}
.rpl-pill--bestseller{background:var(--rpl-gold-bg);color:var(--rpl-gold-text);}
.rpl-pill--outline{background:#fff;border:1px solid var(--rpl-border);color:var(--rpl-text-muted);font-weight:600;}

.rpl-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.rpl-card__title{font-family:var(--font-display);font-size:18px;font-weight:400;margin:0;}
.rpl-card__subtitle{font-size:13px;color:var(--rpl-text-muted);margin:0 0 6px;}
.rpl-card__price{display:flex;align-items:baseline;gap:8px;margin-bottom:12px;}
.rpl-price-was{color:var(--rpl-text-muted);text-decoration:line-through;font-size:13.5px;}
.rpl-price-now{color:var(--rpl-blue-deep);font-weight:800;font-size:20px;}
.rpl-price-from{color:var(--rpl-text-muted);font-size:12.5px;}
.rpl-card__actions{display:flex;gap:8px;margin-top:auto;}
.rpl-card__actions .rpl-btn{flex:1;justify-content:center;padding:10px 12px;font-size:13.5px;}

/* ==========================================================================
   Buttons
   ========================================================================== */
.rpl-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	border-radius:var(--radius-full);
	padding:13px 20px;
	font-weight:700;
	font-size:14.5px;
	border:1px solid transparent;
	white-space:nowrap;
}
.rpl-btn--solid{background:var(--rpl-blue);color:#fff;}
.rpl-btn--solid:hover{background:var(--rpl-blue-deep);}
.rpl-btn--ghost{background:#fff;color:var(--rpl-text);border-color:var(--rpl-border);}
.rpl-btn--ghost:hover{background:#f7f7f8;}
.rpl-btn--outline{background:#fff;color:var(--rpl-text);border-color:var(--rpl-border);}
.rpl-btn--full{width:100%;margin-top:10px;}

/* ==========================================================================
   Single product
   ========================================================================== */
.rpl-product{max-width:var(--container);margin:0 auto;padding:36px 24px 72px;}
.rpl-product__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:56px;
	align-items:start;
}
.rpl-product__media{
	position:sticky;top:96px;
	background:#f6f7f8;
	border-radius:var(--radius-lg);
	padding:48px;
	display:flex;flex-direction:column;align-items:center;gap:24px;
}
.rpl-product__image{width:42%;max-width:210px;height:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.12));animation:rpl-float 4.5s ease-in-out infinite;}

@keyframes rpl-float{
	0%,100%{transform:translateY(0);}
	50%{transform:translateY(-14px);}
}
@media (prefers-reduced-motion:reduce){
	.rpl-hero__image,.rpl-product__image{animation:none;}
}
.rpl-trust-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.rpl-trust-chip{
	display:inline-flex;align-items:center;gap:6px;
	background:#fff;border:1px solid var(--rpl-border);
	border-radius:var(--radius-full);
	padding:6px 12px;font-size:12px;font-weight:600;color:var(--rpl-text-muted);
}
.rpl-dot{width:7px;height:7px;border-radius:50%;background:var(--rpl-green);display:inline-block;}

.rpl-product__eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--rpl-text-muted);margin-bottom:6px;}
.rpl-product__title{font-family:var(--font-display);font-size:44px;font-weight:400;letter-spacing:0;margin:0 0 14px;line-height:1.08;}
.rpl-alt-codes{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.rpl-product__desc{color:#3d4148;font-size:15.5px;line-height:1.6;margin:0 0 26px;}

.rpl-row-split{
	display:flex;align-items:flex-end;justify-content:space-between;
	padding-top:18px;border-top:1px solid var(--rpl-border);
	margin-bottom:14px;gap:16px;flex-wrap:wrap;
}
.rpl-field-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--rpl-text-muted);margin-bottom:8px;}
.rpl-mass-options{display:flex;gap:8px;flex-wrap:wrap;}
.rpl-mass-pill{
	background:#fff;border:1.5px solid var(--rpl-border);
	border-radius:var(--radius-md);
	padding:9px 16px;font-weight:700;font-size:14px;color:var(--rpl-text);
}
.rpl-mass-pill.is-active{background:var(--rpl-blue-deep);border-color:var(--rpl-blue-deep);color:#fff;}

.rpl-price-block{text-align:right;}
.rpl-price-block .rpl-price-was{display:block;font-size:15px;}
.rpl-price-block .rpl-price-now{font-size:30px;}

.rpl-save-note{font-size:13.5px;color:var(--rpl-text-muted);margin:0 0 22px;}
.rpl-save-note strong{color:var(--rpl-text);}
.rpl-apply-code{text-decoration:underline;color:var(--rpl-text);}

.rpl-quantity-block{margin-bottom:22px;}
.rpl-qty-stepper{
	display:inline-flex;align-items:center;gap:18px;
	border:1.5px solid var(--rpl-border);border-radius:var(--radius-md);
	padding:8px 18px;font-weight:700;font-size:15px;
}
.rpl-qty-btn{
	background:none;border:none;font-size:18px;line-height:1;
	width:20px;height:20px;display:flex;align-items:center;justify-content:center;
	color:var(--rpl-text);
}

.rpl-bundle-tiers{
	display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;
}
.rpl-tier{
	position:relative;
	background:#fff;border:1.5px solid var(--rpl-border);border-radius:var(--radius-md);
	padding:14px 8px 12px;text-align:center;
	display:flex;flex-direction:column;align-items:center;gap:4px;
}
.rpl-tier.is-active{border-color:var(--rpl-blue-deep);box-shadow:0 0 0 1.5px var(--rpl-blue-deep) inset;}
.rpl-tier__tag{
	position:absolute;top:-10px;left:50%;transform:translateX(-50%);
	font-size:9px;font-weight:800;letter-spacing:.03em;
	padding:3px 7px;border-radius:var(--radius-full);
	background:var(--rpl-border);color:var(--rpl-text-muted);
	white-space:nowrap;
}
.rpl-tier__tag--most-popular{background:#0f172a;color:#fff;}
.rpl-tier__tag--best-value{background:#f59e0b;color:#fff;}
.rpl-tier__tag--bulk{background:var(--rpl-black);color:#fff;}
.rpl-tier__label{font-weight:700;font-size:13.5px;margin-top:6px;}
.rpl-tier__pct{font-size:12px;color:var(--rpl-green);font-weight:700;}

.rpl-info-rows{
	margin-top:22px;border:1px solid var(--rpl-border);border-radius:var(--radius-md);overflow:hidden;
}
.rpl-info-row{
	display:flex;gap:12px;align-items:flex-start;
	padding:14px 16px;font-size:13.5px;
	border-bottom:1px solid var(--rpl-border);
}
.rpl-info-row:first-child{background:#f0f9f3;}
.rpl-info-row:last-child{border-bottom:none;}
.rpl-info-icon{font-size:16px;line-height:1.4;}
.rpl-info-sub{color:var(--rpl-text-muted);font-size:12.5px;}

.rpl-secure-row{
	display:flex;align-items:center;justify-content:space-between;
	margin-top:18px;font-size:12px;color:var(--rpl-text-muted);flex-wrap:wrap;gap:8px;
}
.rpl-secure-row a{text-decoration:underline;}
.rpl-secure-badge{font-weight:700;letter-spacing:.02em;}

/* ==========================================================================
   Generic pages
   ========================================================================== */
.rpl-page{max-width:var(--container);margin:0 auto;padding:48px 24px 72px;}
.rpl-page__inner--narrow{max-width:760px;}
.rpl-page__title{font-family:var(--font-display);font-size:36px;font-weight:400;margin-bottom:18px;}
.rpl-page__content{font-size:16px;line-height:1.7;color:#3d4148;}
.rpl-page__inner--auth{max-width:960px;width:100%;}
.rpl-page--auth{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:calc(100vh - 72px);
	padding-top:32px;
	padding-bottom:32px;
}

/* ==========================================================================
   Login / Sign up — split panel
   ========================================================================== */
.rpl-auth{
	display:grid;
	grid-template-columns:1fr 1.3fr;
	min-height:560px;
	border-radius:20px;
	overflow:hidden;
	box-shadow:0 20px 50px rgba(20,23,26,.14);
}
.rpl-auth__panel{
	position:relative;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:48px;
	text-align:center;
	color:#fff;
	background:
		radial-gradient(ellipse 500px 400px at 15% 10%, rgba(142,182,220,.28), transparent 60%),
		radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
		var(--rpl-footer-bg);
	background-size:auto,18px 18px,auto;
}
.rpl-auth__panel-content{position:relative;z-index:1;max-width:280px;}
.rpl-auth__hello{font-family:var(--font-display);font-size:38px;margin:0 0 14px;}
.rpl-auth__panel-text{color:var(--rpl-footer-text);font-size:14px;line-height:1.65;margin:0 0 30px;}
.rpl-auth__toggle-btn{
	background:#fff;
	color:var(--rpl-navy);
	border:none;
	border-radius:var(--radius-full);
	padding:13px 34px;
	font-weight:700;
	font-size:14.5px;
	cursor:pointer;
}
.rpl-auth__toggle-btn:hover{background:#eef2f6;}
#rpl-auth-show-login{display:none;}
.rpl-auth.is-register #rpl-auth-show-register{display:none;}
.rpl-auth.is-register #rpl-auth-show-login{display:inline-block;}

.rpl-auth__forms{background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 40px;}
.rpl-auth__form-wrap{width:100%;max-width:340px;}
.rpl-auth__form-wrap h1{font-family:var(--font-display);font-size:28px;font-weight:400;margin:0 0 26px;text-align:center;}
.rpl-auth__form-register{display:none;}
.rpl-auth.is-register .rpl-auth__form-login{display:none;}
.rpl-auth.is-register .rpl-auth__form-register{display:block;}

.rpl-auth .woocommerce-form-row{margin-bottom:16px;}
.rpl-auth label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.02em;margin-bottom:6px;color:var(--rpl-text-muted);text-transform:uppercase;}
.rpl-auth .input-text{
	width:100%;
	padding:13px 16px;
	border:1.5px solid var(--rpl-border);
	border-radius:var(--radius-md);
	font-size:14.5px;
	font-family:inherit;
}
.rpl-auth .input-text:focus{outline:none;border-color:var(--rpl-blue);}
.rpl-auth .form-row{margin-bottom:0;}
.rpl-auth .woocommerce-form-login__rememberme{
	display:flex;align-items:center;gap:8px;
	font-size:13.5px;color:var(--rpl-text-muted);font-weight:500;
	text-transform:none;margin-bottom:18px;cursor:pointer;
}
.rpl-auth .woocommerce-form-login__rememberme input{margin:0;}
.rpl-auth button[type="submit"]{
	width:100%;
	background:var(--rpl-blue);
	color:#fff;
	border:none;
	border-radius:var(--radius-full);
	padding:14px;
	font-weight:700;
	font-size:15px;
	cursor:pointer;
}
.rpl-auth button[type="submit"]:hover{background:var(--rpl-blue-deep);}
.rpl-auth .woocommerce-LostPassword{text-align:center;margin-top:18px;font-size:13.5px;}
.rpl-auth .woocommerce-LostPassword a{text-decoration:underline;color:var(--rpl-text-muted);}
.rpl-auth p{font-size:13.5px;color:var(--rpl-text-muted);}

/* ==========================================================================
   Footer
   ========================================================================== */
:root{
	--rpl-footer-bg:#13293f;
	--rpl-footer-text:#c7d0db;
	--rpl-footer-text-muted:#8996a6;
	--rpl-footer-border:rgba(255,255,255,.09);
	--rpl-footer-card:rgba(255,255,255,.04);
	--rpl-gold:#f2c14e;
}
.rpl-footer{margin-top:56px;background:var(--rpl-footer-bg);color:var(--rpl-footer-text);}
.rpl-footer a{color:inherit;}
.rpl-footer__inner{
	width:100%;margin:0;padding:0 24px;
}
.rpl-footer__top{padding:56px 0 28px;}
.rpl-footer__top > .rpl-footer__inner:first-child{
	display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px;
	padding-top:0;padding-bottom:44px;
}
.rpl-logo--dark{color:#fff;}
.rpl-logo--dark .rpl-logo__top{color:#fff;}
.rpl-logo--dark .rpl-logo__accent{color:#fff;}
.rpl-logo--dark .rpl-logo__sub{color:#fff;}
.rpl-footer__brand p{color:var(--rpl-footer-text-muted);font-size:13.5px;line-height:1.6;margin:14px 0 20px;max-width:320px;}
.rpl-social-row{display:flex;gap:10px;}
.rpl-social-btn{
	display:flex;align-items:center;justify-content:center;
	width:36px;height:36px;border-radius:50%;
	background:var(--rpl-footer-card);color:var(--rpl-footer-text);
}
.rpl-social-btn:hover{background:rgba(255,255,255,.1);color:#fff;}

.rpl-footer__col h4{
	font-size:12px;letter-spacing:.06em;font-weight:700;
	color:var(--rpl-footer-text-muted);margin:0 0 16px;text-transform:uppercase;
}
.rpl-footer__col ul{display:flex;flex-direction:column;gap:12px;}
.rpl-footer__col a{
	display:inline-flex;align-items:center;gap:6px;
	font-size:14.5px;color:var(--rpl-footer-text);
}
.rpl-footer__col a:hover{color:#fff;}

.rpl-footer__inner--disclaimer{margin-bottom:28px;}
.rpl-disclaimer{
	display:flex;gap:14px;align-items:flex-start;
	background:var(--rpl-footer-card);
	border:1px solid var(--rpl-footer-border);
	border-left:3px solid var(--rpl-gold);
	border-radius:var(--radius-md);
	padding:20px 22px;
}
.rpl-disclaimer__icon{color:var(--rpl-gold);flex:none;margin-top:2px;}
.rpl-disclaimer__title{
	font-size:12px;font-weight:800;letter-spacing:.06em;
	color:var(--rpl-gold);margin-bottom:8px;
}
.rpl-disclaimer p{margin:0;font-size:13px;line-height:1.7;color:var(--rpl-footer-text-muted);max-width:1200px;}
.rpl-disclaimer p strong{color:var(--rpl-footer-text);}
.rpl-disclaimer p a{color:var(--rpl-gold);font-weight:600;text-decoration:underline;}

.rpl-footer__inner--payments{
	display:flex;align-items:center;gap:14px;flex-wrap:wrap;
	padding-top:22px;border-top:1px solid var(--rpl-footer-border);
}
.rpl-payments__label{font-size:12.5px;color:var(--rpl-footer-text-muted);}
.rpl-pay-badge{
	display:inline-flex;align-items:center;justify-content:center;
	height:30px;padding:0 9px;border-radius:6px;
	background:#fff;
	border:1px solid rgba(0,0,0,.10);
	box-shadow:0 1px 2px rgba(0,0,0,.18);
	line-height:0;flex:none;
}
.rpl-pay-badge svg{display:block;height:auto;}
/* Amex is the full blue box mark, so it sits flush inside the chip. */
.rpl-pay-badge--amex{padding:0 8px;}
.rpl-pay-badge--visa{padding:0 10px;}
.rpl-pay-badge--applepay{padding:0 8px;}
.rpl-pay-badge--gpay{padding:0 8px;}

.rpl-footer__bottom{border-top:1px solid var(--rpl-footer-border);}
.rpl-footer__inner--bottom{
	display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
	padding:20px 24px;font-size:12.5px;color:var(--rpl-footer-text-muted);
}
.rpl-trust-badges{display:flex;gap:20px;flex-wrap:wrap;}
.rpl-trust-badges span{display:inline-flex;align-items:center;gap:6px;}

/* ==========================================================================
   Default WooCommerce pages (cart, checkout, my account) — brand the
   stock templates without fully re-templating them this pass.
   ========================================================================== */
body .woocommerce{max-width:var(--container);margin:0 auto;padding:40px 24px 72px;}
.woocommerce h1.entry-title,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-account h1{font-size:30px;font-weight:800;margin-bottom:20px;}
.woocommerce table.shop_table{border-color:var(--rpl-border);border-radius:var(--radius-md);}
.woocommerce table.shop_table th{color:var(--rpl-text-muted);font-weight:700;font-size:13px;}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button {
	background:var(--rpl-blue) !important;
	color:#fff !important;
	border-radius:var(--radius-full) !important;
	border:none !important;
	font-weight:700 !important;
	padding:12px 22px !important;
	box-shadow:none !important;
	text-transform:none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--rpl-blue-deep) !important;opacity:1;}
.woocommerce a.remove{color:var(--rpl-blue-deep) !important;}
.woocommerce .woocommerce-message,
.woocommerce-info{
	border-top-color:var(--rpl-black) !important;
	border-radius:var(--radius-md);
}
.woocommerce .woocommerce-message::before{color:var(--rpl-black) !important;}
.woocommerce-checkout #payment div.payment_box{background:#f6f7f8;}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;padding:0;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
	.rpl-shop__grid,
	.rpl-shop--home .rpl-shop__grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
	.rpl-hero__inner{grid-template-columns:1fr;text-align:center;padding:56px 24px;}
	.rpl-hero__media{order:-1;min-height:280px;}
	.rpl-hero__desc{margin-left:auto;margin-right:auto;}
	.rpl-hero__actions{justify-content:center;}
	.rpl-hero__title{font-size:42px;}
	.rpl-product__grid{grid-template-columns:1fr;}
	.rpl-product__media{position:static;}
	.rpl-auth{grid-template-columns:1fr;min-height:0;}
	.rpl-auth__panel{padding:40px 24px;}
	.rpl-auth__forms{padding:40px 24px;}
	.rpl-header__inner{flex-wrap:wrap;}
	.rpl-nav{order:3;flex-basis:100%;}
	.rpl-nav__list{flex-wrap:nowrap;overflow-x:auto;gap:18px;padding-bottom:4px;}
	.rpl-nav__list li{flex:none;}
	.rpl-nav__list a{white-space:nowrap;}
	.rpl-footer__top > .rpl-footer__inner:first-child{grid-template-columns:1fr 1fr;row-gap:36px;}
	.rpl-footer__brand{grid-column:1 / -1;}
}
@media (max-width:560px){
	.rpl-footer__inner{padding:0 20px;}
	.rpl-footer__top > .rpl-footer__inner:first-child{grid-template-columns:1fr;}
	.rpl-footer__inner--bottom{flex-direction:column;align-items:flex-start;}
}
@media (max-width:640px){
	.rpl-shop__grid,
	.rpl-shop--home .rpl-shop__grid{grid-template-columns:repeat(2,1fr);gap:12px;}
	.rpl-card__panel{padding:16px 10px 40px;}
	.rpl-card__panel-footer{left:8px;right:8px;bottom:8px;gap:6px;}
	.rpl-pill{white-space:normal;font-size:10.5px;padding:5px 7px;line-height:1.3;}
	.rpl-pill--coa{flex-wrap:wrap;}
	.rpl-card__body{padding:12px 12px 14px;}
	.rpl-card__title{font-size:14.5px;}
	.rpl-price-now{font-size:17px;}
	.rpl-card__actions{flex-direction:column;}
	.rpl-bundle-tiers{grid-template-columns:repeat(2,1fr);}
	.rpl-product__title{font-size:30px;}
}
