/* Footer variants 2-10 (variant 1 + shared base live in main.css). Tokens only. */

/* ---------- Shared: dark / band surfaces ---------- */
.pv-footer--2, .pv-footer--8 { color: var(--pv-on-band-muted); border-top: 0; }
.pv-footer--2 { background: var(--pv-band); }
.pv-footer--8 { background: var(--pv-band); background: linear-gradient(135deg, var(--pv-band) 0%, color-mix(in srgb, var(--pv-accent) 52%, var(--pv-band)) 100%); --pv-on-band-muted: rgba(255, 255, 255, .9); }
.pv-on-dark { color: var(--pv-on-band-muted); }
.pv-on-dark .pv-widget__title, .pv-on-dark .widget-title, .pv-on-dark h2, .pv-on-dark h3, .pv-on-dark h4,
.pv-on-dark .wp-block-heading { color: #fff; }
.pv-on-dark a, .pv-on-dark .pv-footer__links a, .pv-on-dark ul.menu a { color: var(--pv-on-band-muted); }
.pv-on-dark a:hover, .pv-on-dark a:focus-visible { color: #fff; text-decoration: underline; }
.pv-on-dark .pv-logo .pv-logo__light { display: none; }
.pv-on-dark .pv-logo .pv-logo__dark { display: block; }
.pv-on-dark .pv-social a { border-color: rgba(255, 255, 255, .3); color: #fff; }
.pv-on-dark .pv-social a:hover { background: rgba(255, 255, 255, .18); border-color: #fff; color: #fff; text-decoration: none; }
.pv-on-dark .pv-footer-cta .pv-btn--primary { background: #fff; color: var(--pv-band); border-color: #fff; }
.pv-on-dark .pv-footer-cta .pv-btn--primary:hover { background: rgba(255, 255, 255, .88); color: var(--pv-band); text-decoration: none; }
.pv-on-dark .pv-footer-cta__title { color: #fff; }
.pv-footer--2 .pv-footer__bottom, .pv-footer--8 .pv-footer__bottom { border-top-color: rgba(255, 255, 255, .12); color: var(--pv-on-band-muted); }
.pv-footer--2 .pv-footer__cols, .pv-footer--8 .pv-footer__cols { border: 0; }
.pv-footer--2 .pv-footer__col + .pv-footer__col { }
.pv-footer--2 .pv-footer__legal a, .pv-footer--8 .pv-footer__legal a { color: var(--pv-on-band-muted); }
.pv-footer--2 .pv-footer__legal a:hover, .pv-footer--8 .pv-footer__legal a:hover { color: #fff; }

/* Mobile: keep the copyright line clear of the floating buttons */
@media (max-width: 760px) {
	.pv-footer__bottom-inner { padding-bottom: 96px; }
}

/* Tablet: floating buttons sit bottom-right; keep legal links clear of them */
@media (min-width: 761px) and (max-width: 1100px) {
	.pv-footer__bottom-inner { padding-right: 72px; padding-left: 72px; }
}

/* ---------- 3 Centered Minimal ---------- */
.pv-footer__center { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 64px; padding-bottom: 36px; gap: 0; }
.pv-footer__center .pv-footer-brand__text { margin: 18px auto 0; max-width: 520px; }
.pv-footer__inline { margin-top: 26px; }
.pv-footer__inline .pv-footer__links, .pv-footer__inline ul.menu { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 4px 28px; }
.pv-footer__inline a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pv-heading); font-weight: 600; }
.pv-footer__inline a:hover { color: var(--pv-accent); }
.pv-footer__center .pv-social { justify-content: center; margin-top: 12px; }
.pv-footer__bottom--center .pv-footer__bottom-inner { flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.pv-footer__bottom--center .pv-footer__legal .pv-footer__links, .pv-footer__bottom--center .pv-footer__legal ul.menu { justify-content: center; }

/* ---------- 4 CTA + Columns ---------- */
.pv-footer--4 { background: var(--pv-bg); border-top: 0; padding-top: 64px; }
.pv-footer__cta-card { background: var(--pv-band); border-radius: var(--pv-r-lg); padding: clamp(28px, 5vw, 56px); box-shadow: var(--pv-shadow); }
.pv-footer--4 .pv-footer__cols { padding-top: 56px; }
.pv-footer--4 .pv-footer__bottom { border-top-color: var(--pv-border); }

/* ---------- 5 Brand Left ---------- */
.pv-footer__split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr); gap: 40px 72px; padding-top: 64px; padding-bottom: 40px; }
.pv-footer__cols--inner { padding: 0; }
.pv-footer__brandcol .pv-footer-brand__text { max-width: 400px; }
.pv-footer__iconlist { margin-top: 24px; }
.pv-footer__iconlist li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.55; overflow-wrap: anywhere; }
.pv-footer__ico { flex: none; color: var(--pv-accent); display: inline-flex; margin-top: 2px; }
@media (max-width: 1100px) { .pv-footer__split { grid-template-columns: 1fr; } .pv-footer__brandcol .pv-footer-brand__text { max-width: 520px; } }
@media (max-width: 640px) { .pv-footer__split { padding-top: 48px; } .pv-footer__cols--inner.pv-footer__cols--3 { grid-template-columns: 1fr; } }

/* ---------- 6 Contact Strip ---------- */
.pv-footer__strip { list-style: none; margin: 0; padding: 56px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pv-footer__strip li { min-width: 0; }
.pv-footer__card { display: flex; align-items: center; gap: 16px; height: 100%; min-height: 44px; padding: 20px 22px; background: var(--pv-surface-2); border: 1px solid var(--pv-border); border-radius: var(--pv-r-md); color: var(--pv-text); transition: border-color .2s, transform .2s; }
a.pv-footer__card:hover { border-color: var(--pv-accent); color: var(--pv-text); transform: translateY(-2px); }
.pv-footer__tile { flex: none; width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: var(--pv-accent-soft); color: var(--pv-accent); }
.pv-footer__card-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; line-height: 1.4; }
.pv-footer__card-text small { font-size: 12.5px; color: var(--pv-muted); }
.pv-footer__card-text strong { color: var(--pv-heading); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.pv-footer--6 .pv-footer__cols--no4 { grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)); }
@media (max-width: 960px) {
	.pv-footer__strip { grid-template-columns: 1fr; }
	.pv-footer--6 .pv-footer__cols--no4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) { .pv-footer--6 .pv-footer__cols--no4 { grid-template-columns: 1fr; } .pv-footer__strip { padding-top: 48px; } }

/* ---------- 7 Simple Line ---------- */
.pv-footer__line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; padding-top: 24px; padding-bottom: 12px; }
.pv-footer--7 .pv-logo__img { height: 36px; }
.pv-footer--7 .pv-footer__inline { margin: 0; flex: 1 1 auto; }
.pv-footer--7 .pv-footer__inline .pv-footer__links, .pv-footer--7 .pv-footer__inline ul.menu { justify-content: center; }
.pv-footer--7 .pv-social { margin: 0; gap: 8px; }
.pv-footer--7 .pv-social a { width: 44px; height: 44px; }
.pv-footer--7 .pv-footer__bottom { border-top: 0; }
.pv-footer--7 .pv-footer__bottom-inner { padding-top: 0; padding-bottom: 20px; }
@media (max-width: 760px) {
	.pv-footer__line { flex-direction: column; align-items: flex-start; padding-top: 32px; }
	.pv-footer--7 .pv-footer__inline .pv-footer__links, .pv-footer--7 .pv-footer__inline ul.menu { justify-content: flex-start; }
	.pv-footer--7 .pv-footer__bottom-inner { padding-bottom: 96px; }
}

/* ---------- 8 Accent Gradient ---------- */
.pv-footer__top { padding-top: 64px; padding-bottom: 8px; }
.pv-footer--8 .pv-footer__cols { padding-top: 48px; }
.pv-footer--8 .pv-footer-brand__text, .pv-footer--8 .pv-footer__col { color: rgba(255, 255, 255, .86); }
@media (max-width: 560px) { .pv-footer__top { padding-top: 48px; } }

/* ---------- 9 Big Wordmark ---------- */
.pv-footer__wordmark-wrap { padding-top: 8px; padding-bottom: 0; }
.pv-footer__wordmark { container-type: inline-size; width: 100%; overflow: hidden; white-space: nowrap; line-height: .9; text-align: center; user-select: none; }
.pv-footer__wordmark span {
	display: block;
	font-family: var(--pv-font-heading);
	font-weight: var(--pv-heading-weight);
	font-size: min(220px, calc(100cqw / (var(--pv-wm-n, 8) * .72)));
	letter-spacing: -.02em;
	padding: .04em 0 .1em;
	background: linear-gradient(180deg, var(--pv-border-strong), transparent 95%);
	-webkit-background-clip: text; background-clip: text;
	color: var(--pv-border-strong);
	-webkit-text-fill-color: transparent;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) { .pv-footer__wordmark span { -webkit-text-fill-color: currentColor; } }

/* ---------- 10 Split Panel ---------- */
.pv-footer--10 { background: var(--pv-surface); }
.pv-footer__panels { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.pv-footer__panel--dark { background: var(--pv-band); }
.pv-footer__panel-in { width: 100%; box-sizing: border-box; padding: 64px 48px 56px calc(max(0px, (100vw - var(--pv-container, 1240px)) / 2) + 24px); }
.pv-footer__panel-in .pv-footer-brand__text { max-width: 380px; }
.pv-footer__panel-in .pv-footer-cta { margin-top: 28px; }
.pv-footer-cta--stack { flex-direction: column; align-items: flex-start; }
.pv-footer-cta--stack .pv-footer-cta__title { flex: none; font-size: clamp(22px, 2.4vw, 28px); }
.pv-footer__panel--light { padding: 64px calc(max(0px, (100vw - var(--pv-container, 1240px)) / 2) + 24px) 56px 56px; min-width: 0; box-sizing: border-box; }
.pv-footer__panel--light .pv-footer__cols--3 { gap: 36px 40px; }
@media (max-width: 1100px) {
	.pv-footer__panels { grid-template-columns: 1fr; }
	.pv-footer__panel-in { padding: 48px 24px; }
	.pv-footer__panel--light { max-width: none; padding: 48px 24px; }
}
@media (max-width: 640px) { .pv-footer__panel--light .pv-footer__cols--3 { grid-template-columns: 1fr; } }
