/*
 * ISC Donate Band + ISC Footer
 * LS Jordan Design. Defaults match the approved v5 design.
 * Scoped under each component so theme / Site Kit link and button styles cannot leak in.
 */

/* ======================= Donate band ======================= */
.isc-db {
	--isc-db-bg: #3d2144;
	--isc-db-title: #f9f3ec;
	--isc-db-text: #d8c9de;
	--isc-db-btn: #3C6E73;
	--isc-db-btn-hover: #2F5A5E;
	--isc-db-btn-text: #ffffff;
	--isc-db-btn2-border: #b998c2;
	--isc-db-circle-a: #4d2d56;
	--isc-db-circle-b: #3C6E73;
	--isc-db-img-opacity: .25;
	--isc-db-align: center;
	--isc-db-justify: center;
	--isc-db-mx: auto;
	box-sizing: border-box;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 88px 48px;
	background: var(--isc-db-bg);
	color: var(--isc-db-title);
	text-align: var(--isc-db-align);
	font-family: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}
.isc-db *, .isc-db *::before, .isc-db *::after { box-sizing: border-box; }
.isc-db .isc-db__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; border-radius: inherit; }
.isc-db .isc-db__img { position: absolute; inset: -2%; background-size: cover; background-position: center; opacity: var(--isc-db-img-opacity); }
.isc-db .isc-db__img.is-kenburns { animation: iscDbKB 26s ease-in-out infinite alternate; }
@keyframes iscDbKB { from { transform: scale(1); } to { transform: scale(1.12) translate3d(-1.5%, -1%, 0); } }
.isc-db .isc-db__circle { position: absolute; border-radius: 50%; }
.isc-db .isc-db__circle--a { width: 460px; height: 460px; top: -180px; right: -100px; background: var(--isc-db-circle-a); animation: iscDbDrift 30s ease-in-out infinite alternate; }
.isc-db .isc-db__circle--b { width: 420px; height: 420px; bottom: -200px; left: -120px; background: var(--isc-db-circle-b); opacity: .2; animation: iscDbDrift 36s ease-in-out infinite alternate-reverse; }
@keyframes iscDbDrift { to { transform: translate3d(-30px, 24px, 0) scale(1.05); } }
.isc-db .isc-db__inner { position: relative; max-width: 760px; margin: 0 var(--isc-db-mx); }
.isc-db .isc-db__title {
	margin: 0; padding: 0; color: var(--isc-db-title);
	font-family: "Bricolage Grotesque", "Public Sans", sans-serif; font-size: 54px; font-weight: 600;
	line-height: 1.08; letter-spacing: -.02em; text-transform: none; text-wrap: balance;
}
.isc-db .isc-db__text { margin: 16px var(--isc-db-mx) 0; max-width: 560px; font-size: 17px; line-height: 1.65; color: var(--isc-db-text); text-wrap: pretty; }
.isc-db .isc-db__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: var(--isc-db-justify); margin-top: 28px; }
.isc-db .isc-db__btn {
	display: inline-block; white-space: normal; text-transform: none; letter-spacing: normal; text-decoration: none; margin: 0;
	background: var(--isc-db-btn); color: var(--isc-db-btn-text);
	font-weight: 700; font-size: 17px; line-height: 1.2; padding: 18px 44px; border-radius: 999px; border: 0;
	transition: background-color .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}
.isc-db .isc-db__btn:is(:hover, :focus-visible) { background: var(--isc-db-btn-hover); color: var(--isc-db-btn-text); transform: translateY(-2px); }
.isc-db .isc-db__btn:focus { color: var(--isc-db-btn-text); }
.isc-db .isc-db__btn:focus-visible { outline: 3px solid #b998c2; outline-offset: 3px; }
.isc-db .isc-db__btn--ghost { background: transparent; border: 1.5px solid var(--isc-db-btn2-border); color: var(--isc-db-title); font-weight: 600; padding: 16.5px 34px; }
.isc-db .isc-db__btn--ghost:is(:hover, :focus-visible) { background: transparent; border-color: var(--isc-db-title); color: var(--isc-db-title); }
.isc-db .isc-db__btn.has-pulse { animation: iscDbPulse 2.6s ease-out 2s infinite; }
@keyframes iscDbPulse {
	0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--isc-db-btn) 45%, transparent); }
	70% { box-shadow: 0 0 0 16px transparent; }
	100% { box-shadow: 0 0 0 0 transparent; }
}
@media (max-width: 1024px) {
	.isc-db { padding: 72px 32px; }
	.isc-db .isc-db__title { font-size: 44px; }
	.isc-db .isc-db__circle--a { width: 340px; height: 340px; top: -150px; }
}
@media (max-width: 767px) {
	.isc-db { padding: 56px 20px; }
	.isc-db .isc-db__title { font-size: 36px; }
	.isc-db .isc-db__text { font-size: 16px; }
	.isc-db .isc-db__btn { padding: 17px 36px; }
	.isc-db .isc-db__circle--a { width: 240px; height: 240px; top: -110px; right: -90px; }
	.isc-db .isc-db__circle--b { width: 260px; height: 260px; bottom: -150px; left: -110px; }
}

/* ======================= Footer ======================= */
.isc-ft {
	--isc-ft-bg: #2a1530;
	--isc-ft-text: #f9f3ec;
	--isc-ft-hover: #B4C8C8;
	--isc-ft-muted: #b998c2;
	--isc-ft-badge: #5d3f66;
	--isc-ft-btn: #3C6E73;
	--isc-ft-btn-hover: #2F5A5E;
	box-sizing: border-box;
	display: block;
	padding: 44px 40px 36px;
	background: var(--isc-ft-bg);
	color: var(--isc-ft-text);
	font-family: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 14px;
	line-height: 2;
	-webkit-font-smoothing: antialiased;
}
.isc-ft *, .isc-ft *::before, .isc-ft *::after { box-sizing: border-box; }
.isc-ft .isc-ft__grid {
	display: grid;
	grid-template-columns: var(--isc-ft-tpl, minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr));
	column-gap: 28px; row-gap: 28px;
	margin: 0 auto;
}
.isc-ft .isc-ft__col { min-width: 0; }
.isc-ft p { margin: 0; padding: 0; }
.isc-ft :is(a, a:visited) {
	color: var(--isc-ft-text); text-decoration: none; text-transform: none; letter-spacing: normal;
	white-space: normal; overflow-wrap: break-word; transition: color .2s ease;
}
.isc-ft a:is(:hover, :focus-visible) { color: var(--isc-ft-hover); }
.isc-ft a:focus-visible { outline: 2px solid var(--isc-ft-hover); outline-offset: 2px; border-radius: 3px; }

.isc-ft .isc-ft__col--hot b { font-weight: 700; }
.isc-ft .isc-ft__col--hot a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; white-space: nowrap; }
.isc-ft .isc-ft__muted, .isc-ft .isc-ft__muted a { color: var(--isc-ft-muted); }

.isc-ft .isc-ft__heading { font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--isc-ft-muted); line-height: 1.6; margin-bottom: 6px; }
.isc-ft .isc-ft__col--links ul { list-style: none; margin: 0; padding: 0; }
.isc-ft .isc-ft__col--links li { margin: 0; padding: 0; }

.isc-ft .isc-ft__legal { color: var(--isc-ft-muted); font-size: 13px; line-height: 1.9; }
.isc-ft .isc-ft__legal a { color: var(--isc-ft-muted); }
.isc-ft .isc-ft__legal a:is(:hover, :focus-visible) { color: var(--isc-ft-text); }
.isc-ft .isc-ft__dot { opacity: .8; }
.isc-ft .isc-ft__seal { margin: 4px 0; }
.isc-ft .isc-ft__badge { display: inline-block; border: 1px solid var(--isc-ft-badge); border-radius: 8px; padding: 3px 10px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.6; }
.isc-ft .isc-ft__seal-img { display: block; width: 88px; height: auto; }
.isc-ft .isc-ft__tagline { font-style: italic; }

.isc-ft .isc-ft__bottom { margin: 28px auto 0; padding-top: 18px; border-top: 1px solid color-mix(in srgb, var(--isc-ft-muted) 30%, transparent); font-size: 12.5px; line-height: 1.6; color: var(--isc-ft-muted); }

/* Stay connected row: email signup + social */
.isc-ft .isc-ft__connect {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 24px 40px; margin: 0 auto 36px; padding-bottom: 32px;
	border-bottom: 1px solid var(--isc-ft-badge);
}
.isc-ft .isc-ft__signup { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 24px; min-width: 0; }
.isc-ft .isc-ft__signup-title { flex-basis: 100%; font-family: "Bricolage Grotesque", "Public Sans", sans-serif; font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -.01em; color: var(--isc-ft-text); }
.isc-ft .isc-ft__signup-text { color: var(--isc-ft-muted); line-height: 1.6; max-width: 44ch; }
.isc-ft .isc-ft__signup .isc-ft__signup-btn,
.isc-ft .isc-ft__signup .isc-ft__signup-btn:visited {
	display: inline-block; background: var(--isc-ft-btn); color: #ffffff; font-weight: 700; font-size: 15px; line-height: 1.2;
	padding: 13px 30px; border-radius: 999px; border: 0; text-decoration: none; white-space: nowrap; margin-top: 4px;
	transition: background-color .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}
.isc-ft .isc-ft__signup .isc-ft__signup-btn:is(:hover, :focus-visible) { background: var(--isc-ft-btn-hover); color: #ffffff; transform: translateY(-2px); }
.isc-ft .isc-ft__social { display: flex; flex-direction: column; gap: 8px; }
.isc-ft .isc-ft__social .isc-ft__heading { margin-bottom: 0; }
.isc-ft .isc-ft__social-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.isc-ft .isc-ft__social-list li { margin: 0; padding: 0; }
.isc-ft .isc-ft__social .isc-ft__social-link,
.isc-ft .isc-ft__social .isc-ft__social-link:visited {
	display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%;
	border: 1.5px solid var(--isc-ft-muted); color: var(--isc-ft-text); line-height: 1;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.isc-ft .isc-ft__social .isc-ft__social-link:is(:hover, :focus-visible) { background: var(--isc-ft-text); border-color: var(--isc-ft-text); color: var(--isc-ft-bg); }
.isc-ft .isc-ft__icon { width: 20px; height: 20px; display: block; }

@media (max-width: 1024px) {
	.isc-ft { padding: 40px 28px 32px; }
	.isc-ft .isc-ft__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
	.isc-ft .isc-ft__col--hot, .isc-ft .isc-ft__legal { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.isc-ft { padding: 36px 20px 30px; font-size: 15px; }
	.isc-ft .isc-ft__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
	.isc-ft .isc-ft__col--links li a { display: inline-block; padding: 4px 0; line-height: 1.6; }
	.isc-ft .isc-ft__legal-links .isc-ft__dot { display: none; }
	.isc-ft .isc-ft__legal-links a { display: block; }
	.isc-ft .isc-ft__connect { flex-direction: column; align-items: flex-start; margin-bottom: 30px; padding-bottom: 28px; }
	.isc-ft .isc-ft__signup-title { font-size: 22px; }
}
@media (max-width: 360px) {
	.isc-ft .isc-ft__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.isc-db *, .isc-db .isc-db__btn { animation: none !important; transition: none !important; }
	.isc-ft .isc-ft__signup-btn, .isc-ft .isc-ft__social-link { transition: none !important; transform: none !important; }
}
