/* ── Palette ── 4 greens + tinted neutrals ─────────────────── */
.po-footer {
	--fh: 'Manrope', system-ui, sans-serif;
	--fb: 'Figtree', system-ui, sans-serif;

	--g1: oklch(48%   .12  162);
	--g2: oklch(62%   .08  162);
	--g3: oklch(91%   .038 162);
	--g4: oklch(96%   .012 162);

	--n0: oklch(99%   .002 162);
	--n1: oklch(96%   .005 162);
	--n2: oklch(90%   .008 162);
	--n3: oklch(22%   .015 162);
	--n4: oklch(40%   .018 162);
	--n5: oklch(62%   .010 162);

	--star: #E8A020;

	--s1: 8px; --s2: 12px; --s3: 16px; --s4: 24px;
	--s5: 32px; --s6: 48px; --s7: 64px;

	font-family: var(--fb);
	color: var(--n3);
	background: var(--n0);
	border-top: 1px solid var(--n2);
}
.po-footer *, .po-footer *::before, .po-footer *::after { box-sizing: border-box; }
.po-footer a { color: inherit; text-decoration: none; }
.po-footer a:hover { color: var(--g1); }
.po-footer .po-fw { max-width: 1100px; margin: 0 auto; padding: 0 var(--s5); }

/* Hidden SVG sprite defs */
.po-footer-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ── Main nav grid ──────────────────────────────────────────── */
.po-footer .po-fn { padding: var(--s7) 0 var(--s6); }
.po-footer .po-fn-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s6);
}
@media (min-width: 600px) {
	.po-footer .po-fn-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
	.po-footer .po-fn-grid { grid-template-columns: 220px 1fr 1fr 1fr; gap: var(--s5); }
}

/* Brand column */
.po-footer .po-fn-logo { display: block; }
.po-footer .po-fn-logo img { display: block; }
.po-footer .po-fn-tag {
	font-family: var(--fb);
	font-size: .875rem;
	line-height: 1.65;
	color: var(--n4);
	margin: var(--s3) 0;
	max-width: 26ch;
}
.po-footer .po-fn-prom {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--fh);
	font-size: .625rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--g1);
	background: var(--g3);
	padding: 5px 10px;
	border-radius: 2px;
	margin-bottom: var(--s4);
	transition: background .2s;
}
.po-footer .po-fn-prom:hover { background: oklch(88% .045 162); color: var(--g1); }
.po-footer .po-fn-prom svg { color: var(--g2); }

/* Social row */
.po-footer .po-fn-soc { display: flex; gap: var(--s1); margin-top: var(--s4); }
.po-footer .po-fn-soc-btn {
	width: 30px; height: 30px;
	display: flex; align-items: center; justify-content: center;
	background: var(--n1);
	color: var(--n5);
	border-radius: 50%;
	transition: background .2s, color .2s;
}
.po-footer .po-fn-soc-btn:hover { background: var(--g1); color: oklch(98% .003 162); }

/* Nav columns */
.po-footer .po-fn-col-h {
	font-family: var(--fh);
	font-size: .5625rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--n5);
	margin: 0 0 var(--s3);
	padding: 0;
	padding-top: var(--s2);
}

/* Accordion */
.po-footer .po-fn-details { margin: 0; }
.po-footer .po-fn-details summary.po-fn-col-h {
	list-style: none;
	cursor: default;
	display: block;
	padding: 0;
	margin: 0 0 var(--s2);
}
.po-footer .po-fn-details summary.po-fn-col-h::-webkit-details-marker { display: none; }
.po-footer .po-fn-details summary.po-fn-col-h::marker { content: ''; }
.po-footer .po-fn-toggle {
	display: none;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: var(--n5);
	transition: transform .25s cubic-bezier(.16,1,.3,1);
}
.po-footer .po-fn-details[open] .po-fn-toggle { transform: rotate(45deg); }

.po-footer .po-fn-col-h::before {
	content: '';
	display: block;
	width: 20px;
	height: 1px;
	background: var(--n2);
	margin-bottom: var(--s2);
}
.po-footer .po-fn-list + .po-fn-col-h { margin-top: var(--s4); }
.po-footer .po-fn-list { list-style: none; margin: 0 0 var(--s2); padding: 0; }
.po-footer .po-fn-list li { margin-bottom: var(--s1); }
.po-footer .po-fn-list a {
	font-family: var(--fb);
	font-size: .9375rem;
	color: var(--n4);
	line-height: 1.35;
	transition: color .15s;
}
.po-footer .po-fn-list a:hover { color: var(--n3); }

/* ── Verification strip ─────────────────────────────────────── */
.po-footer .po-fv {
	background: var(--g4);
	border-top: 1px solid var(--n2);
	border-bottom: 1px solid var(--n2);
	padding: var(--s4) 0;
}
.po-footer .po-fv-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s4);
}
.po-footer .po-fv-reviews { display: flex; align-items: center; gap: var(--s3); }
.po-footer .po-fv-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	transition: opacity .2s;
}
.po-footer .po-fv-badge:hover { opacity: .75; }
.po-footer .po-fv-badge-top {
	height: 28px;
	display: flex;
	align-items: center;
	gap: 7px;
}
.po-footer .po-fv-badge-top img { display: block; object-fit: contain; }
.po-footer .po-fv-badge-top-label {
	font-family: var(--fh);
	font-size: 1rem;
	font-weight: 600;
	color: var(--n4);
	line-height: 1;
}
.po-footer .po-fv-badge-btm { display: flex; align-items: center; gap: 5px; }
.po-footer .po-fv-score {
	font-family: var(--fh);
	font-size: .9375rem;
	font-weight: 800;
	color: var(--n3);
	line-height: 1;
}
.po-footer .po-fv-stars {
	font-size: .8125rem;
	letter-spacing: 1.5px;
	color: var(--star);
	line-height: 1;
}

.po-footer .po-fv-sep {
	width: 1px;
	height: 40px;
	background: var(--n2);
	flex-shrink: 0;
}

.po-footer .po-fv-compliance {
	display: flex;
	align-items: center;
	gap: var(--s3);
	flex-wrap: wrap;
	margin-left: auto;
}
.po-footer .po-fv-cert {
	display: block;
	transition: opacity .2s;
	flex-shrink: 0;
}
.po-footer .po-fv-cert:hover { opacity: .75; }
.po-footer .po-fv-cert img { display: block; height: 24px; width: auto; }
.po-footer .po-fv-cert.cert-ansvsa img { height: 48px; width: 48px; object-fit: contain; }

/* ── Editorial strip ─────────────────────────────────────────  */
.po-footer .po-fe {
	border-bottom: 1px solid var(--n2);
	padding: var(--s2) 0;
}
.po-footer .po-fe-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px var(--s3);
	align-items: center;
}
.po-footer .po-fe-nav a {
	font-family: var(--fh);
	font-size: .5625rem;
	font-weight: 600;
	letter-spacing: .08em;
	color: var(--n5);
	transition: color .15s;
}
.po-footer .po-fe-nav a:hover { color: var(--n4); }
.po-footer .po-fe-nav span { color: var(--n2); font-size: .6875rem; }

/* ── Bottom bar ─────────────────────────────────────────────── */
.po-footer .po-fb { padding: var(--s3) 0; }
.po-footer .po-fb-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s1) var(--s5);
	align-items: center;
	justify-content: space-between;
}
.po-footer .po-fb-copy {
	font-family: var(--fh);
	font-size: .5625rem;
	color: var(--n5);
	margin: 0;
	letter-spacing: .03em;
}
.po-footer .po-fb-nav { display: flex; flex-wrap: wrap; gap: 4px var(--s3); }
.po-footer .po-fb-nav a {
	font-family: var(--fh);
	font-size: .5625rem;
	font-weight: 500;
	color: var(--n5);
	letter-spacing: .04em;
	transition: color .15s;
}
.po-footer .po-fb-nav a:hover { color: var(--n4); }

/* Progressive enhancement: if JS fails, keep accordion expanded on desktop */
@media (min-width: 600px) {
	.po-footer.no-js .po-fn-details { /* rely on open attribute in HTML fallback */ }
}

/* ── Mobile ─────────────────────────────────────────────────── */
@media (max-width: 599px) {
	.po-footer .po-fn { padding: var(--s5) 0 var(--s4); }
	.po-footer .po-fn-grid { gap: 0; }

	.po-footer .po-fn-brand {
		margin-bottom: var(--s3);
		padding-bottom: var(--s3);
		border-bottom: 1px solid var(--n2);
	}
	.po-footer .po-fn-logo img { width: 110px; height: auto; }
	.po-footer .po-fn-tag { font-size: .8125rem; margin: var(--s2) 0; }

	.po-footer .po-fn-col { margin: 0; }
	.po-footer .po-fn-details { border-bottom: 1px solid var(--n2); }
	.po-footer .po-fn-details:last-child { border-bottom: 0; }
	.po-footer .po-fn-details summary.po-fn-col-h {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 0;
		margin: 0;
		cursor: pointer;
		font-size: .75rem;
		color: var(--n3);
		-webkit-tap-highlight-color: transparent;
	}
	.po-footer .po-fn-details summary.po-fn-col-h::before { display: none; }
	.po-footer .po-fn-toggle { display: block; }
	.po-footer .po-fn-details[open] summary.po-fn-col-h { padding-bottom: var(--s1); }
	.po-footer .po-fn-list { padding-bottom: 14px; }
	.po-footer .po-fn-list a { padding: 10px 0; font-size: .9375rem; }

	.po-footer .po-fv { padding: var(--s3) 0; }
	.po-footer .po-fv-row { flex-direction: column; gap: var(--s3); align-items: center; }
	.po-footer .po-fv-reviews { gap: var(--s4); justify-content: center; }
	.po-footer .po-fv-sep { display: none; }
	.po-footer .po-fv-compliance { margin-left: 0; gap: var(--s3); justify-content: center; }
	.po-footer .po-fv-cert.cert-ansvsa img { height: 40px; width: 40px; }
	.po-footer .po-fv-cert img { height: 20px; }

	.po-footer .po-fe-nav { justify-content: center; gap: 4px var(--s2); }
	.po-footer .po-fe-nav a { font-size: .5rem; }

	.po-footer .po-fb-row { flex-direction: column; align-items: center; text-align: center; gap: var(--s2); }
	.po-footer .po-fb-copy { font-size: .5rem; line-height: 1.5; }
	.po-footer .po-fb-nav { justify-content: center; }
}

