/* Footer: brand, site map, resources, social (light + dark) */

#footer.ft {
	--ft-bg: #ffffff;
	--ft-bottom: #f1f5f9;
	--ft-border: rgba(15, 23, 42, 0.08);
	--ft-text: #0f172a;
	--ft-muted: #475569;
	--ft-faint: #64748b;
	--ft-accent: #0369a1;
	--ft-chip: #f1f5f9;
	background: var(--ft-bg) !important;
	border-top: 1px solid var(--ft-border) !important;
	color: var(--ft-muted);
	margin-top: 0 !important;
}
body.dark #footer.ft {
	--ft-bg: #333333;   /* same as the content area of other sections */
	--ft-bottom: #282828;
	--ft-border: rgba(255, 255, 255, 0.08);
	--ft-text: #f1f5f9;
	--ft-muted: #cbd5e1;
	--ft-faint: #94a3b8;
	--ft-accent: #64b5f6;
	--ft-chip: rgba(255, 255, 255, 0.06);
}

#footer.ft .ft-grid {
	display: grid; grid-template-columns: auto minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)); gap: 36px;
	padding: 56px 0 48px; text-align: left;
}
@media (max-width: 1199.98px) {
	#footer.ft .ft-grid { grid-template-columns: auto repeat(3, minmax(0, 1fr)); }
	#footer.ft .ft-logo { grid-row: span 2; --ft-logo: 210px; }
	#footer.ft .ft-brand { grid-column: 2 / -1; }
}
@media (max-width: 767.98px) {
	#footer.ft .ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#footer.ft .ft-logo { grid-row: auto; grid-column: 1 / -1; justify-self: center; --ft-logo: 200px; }
	#footer.ft .ft-brand { grid-column: 1 / -1; text-align: center; }
	#footer.ft .ft-grid > .ft-col:last-child { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) { #footer.ft .ft-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; padding: 40px 0 32px; } }

/* Logo: its own column, top aligned with the column titles, bottom with the last site map link */
#footer.ft .ft-logo { align-self: start; margin-top: 4px; }
#footer.ft .ft-logo__img {
	display: block; width: var(--ft-logo, 266px); height: var(--ft-logo, 266px); border-radius: 50%;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.25), 0 0 0 5px var(--ft-chip);
}
#footer.ft .ft-brand__body { min-width: 0; }
#footer.ft .ft-brand__name { margin: 0; color: var(--ft-text); font: 700 20px/1.25 'Lato', system-ui, sans-serif; }
#footer.ft .ft-brand__role { margin: 3px 0 12px; color: var(--ft-faint); font-size: 13px; line-height: 1.4; }
#footer.ft .ft-brand__text { margin: 0 0 16px; color: var(--ft-muted); font-size: 14.5px; line-height: 1.6; }
#footer.ft .ft-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
#footer.ft .ft-cta {
	display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 10px;
	border: 1px solid var(--ft-accent); color: var(--ft-accent) !important; text-decoration: none !important;
	font: 700 14px/1 'Lato', system-ui, sans-serif; transition: background .2s, color .2s;
}
#footer.ft .ft-cta:hover { background: var(--ft-accent); color: var(--ft-bg) !important; }
#footer.ft .ft-cta svg { width: 16px; height: 16px; }

/* Columns */
#footer.ft .ft-col__title {
	margin: 4px 0 16px; color: var(--ft-text) !important;
	font: 700 12px/1.2 'Lato', system-ui, sans-serif !important; letter-spacing: 0.1em !important; text-transform: uppercase;
	text-decoration: none !important; border: 0 !important;
}
#footer.ft .ft-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
#footer.ft .ft-links li { margin: 0; padding: 0; border: 0 !important; }
#footer.ft .ft-links a {
	display: inline-flex; align-items: center; gap: 6px; padding: 0 !important;
	color: var(--ft-muted) !important; font: 500 14.5px/1.4 'Lato', system-ui, sans-serif !important;
	letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important;
	transition: color .15s;
}
#footer.ft .ft-links a:hover { color: var(--ft-accent) !important; }
#footer.ft .ft-ext { display: inline-flex; width: 13px; height: 13px; opacity: 0.7; }
#footer.ft .ft-ext svg { width: 100%; height: 100%; }

/* Social: same 8 icons and style as the fixed left bar */
#footer.ft .ft-social { display: grid; grid-template-columns: repeat(4, max-content); gap: 10px; }
#footer.ft .ft-social .social-icon { float: none !important; margin: 0 !important; }

#footer.ft a:focus-visible { outline: 2px solid var(--ft-accent); outline-offset: 3px; border-radius: 6px; }

/* Bottom bar */
#footer.ft #copyrights.ft-bottom {
	background: var(--ft-bottom) !important; border-top: 1px solid var(--ft-border) !important;
	padding: 18px 0 !important; color: var(--ft-faint) !important; font-size: 13px !important; text-shadow: none !important;
}
#footer.ft .ft-bottom .container { text-align: center; }
@media (max-width: 575.98px) {
	#footer.ft .ft-grid > .ft-col:last-child { grid-column: 1 / -1; }
	#footer.ft #copyrights.ft-bottom { padding-bottom: 96px !important; } /* room for the floating buttons */
}

/* Release details stay hidden until the copyright control is activated. */
.release-info{position:relative;display:inline-block;text-align:left}
.release-toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;line-height:inherit;vertical-align:baseline;cursor:pointer;box-shadow:none;transform:none}
.release-info .release-toggle:hover:not(:disabled){background:transparent;color:inherit;box-shadow:none;transform:none}
.release-toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.release-panel{position:absolute;z-index:50;bottom:calc(100% + 10px);left:0;width:min(300px,calc(100vw - 40px));padding:14px 16px;border:1px solid #475569;border-radius:10px;background:#111827;color:#e2e8f0;box-shadow:0 8px 28px #0004;text-align:left;font:12px/1.6 system-ui,sans-serif;letter-spacing:normal;text-transform:none;text-shadow:none;white-space:normal;overflow-wrap:anywhere}
.release-panel[hidden]{display:none!important}
.release-content{display:block;white-space:pre-line}
