/* --- NIHFCU FAIL-SAFE PAGE - FULL RECONSTRUCTION --- */

/* 1. Brand Colors */
:root {
		--g-ff-primary: "Poppins", sans-serif;
		--g-ff-accent-second: "Arvo", sans-serif;
		--g-text-color: #44525a;
		--g-heading-color: #44525a;
		--g-btn-bg-color: #514284;
		--nih-green: #a1d785;
		--nih-yellow: #fac525;
		--nih-purple: #514284;
		--nih-cyan: #1cadd0;
		--ps-gutter-x: 1.5em;
		--ps-gutter-y: 1.5em;
}

/* 2. Base Reset */
*, :after, :before { box-sizing: border-box; }
* { border: 0; font: inherit; margin: 0; padding: 0; }

body.page-template-tpl-failSafePage {
		background-color: #f4f4f4;
		color: var(--g-text-color);
		font-family: var(--g-ff-primary);
		line-height: 1.4;
		overflow-x: hidden;
}

.co-row {
		margin-left: auto;
		margin-right: auto;
		max-width: 1740px;
		padding-left: 30px;
		padding-right: 30px;
		width: 100%;
}

.prow {
		display: flex;
		flex-wrap: wrap;
		margin-left: calc(var(--ps-gutter-x) * -1);
}

.prow > * {
		flex-basis: 100%;
		margin-bottom: var(--ps-gutter-y);
		margin-left: var(--ps-gutter-x);
}

.items-center { align-items: center; }

/* Utility Gaps */
.gap-5 { --ps-gutter-x: 3rem; --ps-gutter-y: 3rem; }
.gap-md-0 { --ps-gutter-x: 0; --ps-gutter-y: 0; }

@media (min-width: 768px) {
		.pcol-md-6 { flex: 0 0 calc(50% - var(--ps-gutter-x)); max-width: 50%; }
}

@media (min-width: 1280px) {
		.pcol-xl-4 { flex: 0 0 calc(33.33% - var(--ps-gutter-x)); max-width: 33.33%; }
		.pcol-xl-7 { flex: 0 0 calc(58.33% - var(--ps-gutter-x)); max-width: 58.33%; }
}

/* 3. .site_header */
.site_header { background-color: #fff; padding: 10px 0;border-bottom: 6px solid #FFDF6B;}
@media(max-width: 767.98px) {
	.site_header { padding: 0; }
		.site_header--top_row {
			display: flex;
			flex-direction: column;
				-moz-column-gap:0;
				column-gap: 0;
				padding-left: 0;
				padding-right: 0;
				padding-top: 15px
		}
}
@media(min-width: 960px) {
		.site_header--top_row {
				display: grid;
				grid-template-areas: "logo utility" "logo menu";
				grid-template-columns: 328px 1fr;
				grid-template-rows: auto;
				column-gap: 15px;
		}
		.page-template-tpl-failSafePage .site_header--top_row { grid-template-rows: 27px; }
}

.site_header--logo_link { display: block; text-align: center; margin: 15px 0; }
@media(min-width: 960px) {
		.site_header--logo_link { grid-area: logo; margin-top: 15px; text-align: left; }
}

.site_header--mobile_top { display: block; width: 100%; }
@media(max-width: 767.98px) {
		.site_header--mobile_top {
				background-color: var(--nih-green);
				display: flex;
				justify-content: space-between;
				padding: 5px 30px;
				align-items: center;
				order: 1;
				position: relative;
		}
}
@media(min-width: 768px) { .page-template-tpl-failSafePage .site_header--mobile_top { margin-top: 35px; } }
@media(min-width: 1280px) { .page-template-tpl-failSafePage .site_header--mobile_top { grid-area: menu; margin-top: 0; } }

/* 4. .header_utility */
.header_utility__top { display: flex; gap: 15px; align-items: center; justify-content: flex-end; width: 100%; }
@media(max-width: 767.98px) { .header_utility__top { width: auto; } }

.header_utility .menu-item {
		color: var(--nih-purple);
		font-weight: 500;
		font-size: 16px;
		text-decoration: none;
		padding: 0 10px;
}
@media(max-width: 767.98px) { .header_utility__top .menu-item { display: none; } }

.header_login--toggle {
		background-color: #514284;
		color: #fff !important;
		padding: 9px 18px;
		border-radius: 5px;
		font-size: 20px;
		text-decoration: none;
}
.header_login--toggle:active:link,.header_login--toggle:active:visited,.header_login--toggle:focus:link,.header_login--toggle:focus:visited,.header_login--toggle:hover:link,.header_login--toggle:hover:visited {
		background-color: rgba(81,66,132,.7);
		color: var(--g-bg-body);
		text-decoration: none
}
.page-template-tpl-failSafePage .header_login--toggle:after { content: none; display: none; }
/* 5. .co-page_hero */
.co-flex_row__page-hero {
		background-color: var(--g-heading-color);
		position: relative;
		padding-bottom: 75px;
		z-index: 1;
}

.co-page_hero { padding-bottom: 30px; padding-top: 30px; position: relative; }
.co-page_hero--inner { position: relative; z-index: 1; }

/* Fondos y Moléculas */
@media(min-width: 768px) {
		.co-page_hero:after {
				background-image: url(https://nihfcu-failsafe.pixelspoke.coop/images/hero-molecules-4.png);
				background-repeat: no-repeat;
				background-size: cover;
				bottom: 0; content: "";
				min-width: 1100px; position: absolute; right: -100px; top: 0;
				opacity: 0.3;
		}
}
.co-page_hero.opt_3:after { background-image: url(https://nihfcu-failsafe.pixelspoke.coop/images/hero-trapezoids.png); right: 0; }

.co-page_hero--title { color: #fff; font-family: var(--g-ff-accent-second); font-size: clamp(20px, 4vw, 26px); margin-bottom: 15px; }
.co-page_hero--tagline { color: var(--nih-green); font-size: clamp(34px, 5vw, 45px); font-weight: 700; line-height: 1.2; }
.co-page_hero--tagline__small { color: var(--nih-yellow); font-size: 20px; font-weight: 600; margin-top: 15px; }
.page-template-tpl-failSafePage .co-page_hero .text-wrapper { text-align: center; }
.co-page_hero--form_wrap {background-color: #f4f4f4;padding: 15px;border-radius: 5px;overflow: hidden;order: 2;}

@media (min-width: 768px) {
		.co-page_hero--inner .prow { flex-direction: row-reverse; } /* Invierte columnas para texto a la izq */
		.co-page_hero--text { text-align: left; padding-right: 60px; order: 2; }
		.co-page_hero--form_wrap { order: 1; }
}

/* 6. .co-login_form */
.co-login_form_wrap { background-color: #f4f4f4; padding: 30px; border-radius: 5px; }
.co-login_form_wrap--title { color: #44525a; font-family: var(--g-ff-accent-second); font-size: 22px; margin-bottom: 6px; text-align: left; }

/* Visibility Control */
.co-login_form { display: none; }
@media(min-width: 768px) { .co-login_form__desktop { display: block; } }
@media(max-width: 767.98px) { .co-login_form__mobile { display: block; } }

.co-login_form input[type=password], .co-login_form input[type=text] {
		border: 1px solid #44525a;
		border-radius: 10px !important;
		margin-bottom: 12px;
		padding: 8px 12px;
		width: 100%;
}

.loginButton {
		background-color: #514284;
		color: #fff;
		border-radius: 20px;
		padding: 9px 18px;
		font-weight: 500;
		cursor: pointer;
		float: left;
}

/* Links del Formulario */
.co-login_form--links { float: right; list-style-type: none; margin-bottom: 10px; margin-left: 0; }
.co-login_form--link:link, .co-login_form--link:visited {
		color: var(--nih-purple);
		font-family: var(--g-ff-primary);
		font-size: 12px;
		font-weight: 600;
}
.co-login_form--link.bottom { clear: both; display: block; margin-top: 15px; text-align: left; }

/* 7. .co-fail_safe_page_footer */
.co-fail_safe_page_footer {
		background-color: #fff;
		border-radius: 5px;
		border-top: 15px solid var(--nih-yellow);
		margin-bottom: 15px;
		position: relative;
		padding: 20px 0;
}

.co-fail_safe_page_footer:after {
		content: "";
		position: absolute;
		bottom: 0; left: 0;
		width: 100%;
		height: 15px;
		background: linear-gradient(90deg, #fac525 0%, #fac525 25%, #1cadd0 25%, #1cadd0 50%, #514284 50%, #514284 75%, #6db745 75%, #6db745 100%);
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
}

.co-fail_safe_page_footer--inner { padding-bottom: 15px; }
.co-fail_safe_page_footer--col { align-items: center; display: flex; padding: 0 30px; }
.co-fail_safe_page_footer--content { font-weight: bold; font-size: 18px; }

.site_footer--legal_logos { display: flex; justify-content: flex-end; align-items: center; gap: 20px; list-style: none; }
.site_footer--legal_logo_text { font-size: 14px; color: #666; }

/* Apps Section */
.co-page_hero--apps { background-color: var(--nih-green); border-radius: 5px; padding: 20px; text-align: center; margin-top: 20px; }
.co-page_hero--apps-title { color: #44525a; font-family: var(--g-ff-accent-second); font-size: 22px; margin-bottom: 6px; }
.co-page_hero--apps-links { display: flex; gap: 10px; justify-content: center; margin-top: 15px; }

@media(min-width: 1280px) {
		.page-template-tpl-failSafePage .site_header--top_row {
				grid-template-rows:27px
		}
}

.page-template-tpl-failSafePage .site_header--logo_link {
		margin: 15px 0
}

@media(min-width: 768px) {
		.page-template-tpl-failSafePage .site_header--mobile_top {
				margin-top:35px
		}
}

@media(min-width: 1280px) {
		.page-template-tpl-failSafePage .site_header--mobile_top {
				grid-area:menu;
				margin-top: 0
		}
}

@media(max-width: 767.98px) {
		.page-template-tpl-failSafePage .header_utility__top {
				width:100%
		}
}

.page-template-tpl-failSafePage .header_utility__top {
		gap: 15px
}

@media(max-width: 767.98px) {
		.page-template-tpl-failSafePage .header_utility__top .menu-item {
				display:block
		}
}

.page-template-tpl-failSafePage .header_login--toggle {
		padding-right: 18px
}

.page-template-tpl-failSafePage .header_login--toggle:after {
		content: none;
		display: none
}

.page-template-tpl-failSafePage .co-flex_row__page-hero {
		padding-bottom: 15px;
}

.page-template-tpl-failSafePage .co-page_hero--tagline__small {
		color: #fac525;
		font-size: 20px;
		font-weight: 600;
		margin-top: 15px
}

.page-template-tpl-failSafePage .co-page_hero--buttons {
		align-items: center;margin-top: 20px;
}

.co-page_hero--button {
		background-color: #514284;
		border: 0 solid;
		border-color: var(--g-link-color);
		border-radius: 0;
		border-radius: 20px;
		box-shadow: none;
		color: var(--g-btn-color);
		cursor: pointer;
		display: inline-block;
		font-size: 16px;
		font-weight: 500;
		padding: 9px 18px;
		text-align: center;
		text-transform: inherit;
		transition: background-color .2s ease
}

.co-page_hero--button:active,.co-page_hero--button:focus,.co-page_hero--button:hover {
		background-color: rgba(81,66,132,.7);
		border: 0 solid;
		box-shadow: none;
		color: var(--g-bg-body)
}

.co-page_hero--button:active:link,.co-page_hero--button:active:visited,.co-page_hero--button:focus:link,.co-page_hero--button:focus:visited,.co-page_hero--button:hover:link,.co-page_hero--button:hover:visited {
		background-color: rgba(81,66,132,.7);
		color: var(--g-bg-body);
		text-decoration: none
}

.co-page_hero--button:active:active,.co-page_hero--button:focus:active,.co-page_hero--button:hover:active {
		background-color: rgba(58,89,153,.7)
}

.co-page_hero--button:link,.co-page_hero--button:visited {
		color: var(--g-btn-color);
		text-decoration: none
}

.co-page_hero--button:focus {
		box-shadow: var(--g-btn-color) 0 0 .5em;
		outline: none
}

.co-page_hero--button {
		background-color: var(--g-btn-color);
		color: #514284
}

.co-page_hero--button:active,.co-page_hero--button:focus,.co-page_hero--button:hover {
		background-color: #fac525
}

.co-page_hero--button:active:link,.co-page_hero--button:active:visited,.co-page_hero--button:focus:link,.co-page_hero--button:focus:visited,.co-page_hero--button:hover:link,.co-page_hero--button:hover:visited {
		background-color: #fac525;
		color: #514284
}

.co-page_hero--button:link,.co-page_hero--button:visited {
		color: #514284;
		background-color: #fff;
}

.co-page_hero--link {
		font-size: 12px;
		font-weight: var(--g-fw-regular)
}

.co-page_hero--link:link,.co-page_hero--link:visited {
		color: #fff;
		text-decoration: underline
}

.co-page_hero--link:hover {
		text-decoration: none
}

.page-template-tpl-failSafePage .co-page_hero--form_wrap {
		background-color: #f4f4f4;
		border-radius: 5px;
		order: 2;
		overflow: hidden;
		padding: 15px
}

@media(min-width: 768px) {
		.page-template-tpl-failSafePage .co-page_hero--form_wrap {
				order:1
		}
}

.page-template-tpl-failSafePage .co-page_hero--apps {
		background-color: #a1d785;
		border-radius: 5px;
		padding: 20px;
		text-align: center
}

.page-template-tpl-failSafePage .co-page_hero--apps-title {
		color: #44525a;
		font-family: var(--g-ff-accent-second);
		font-size: 22px;
		margin-bottom: 6px
}

.page-template-tpl-failSafePage .co-page_hero--apps-links {
		display: flex;
		gap: 10px;
		justify-content: center;
		margin-top: 15px
}

.page-template-tpl-failSafePage .co-page_hero .text-wrapper {
		text-align: center
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer {
		background-color: #fff;
		border-radius: 5px;
		border-top: 15px solid #fac525;
		margin-bottom: 15px;
		position: relative
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer:after {
		background: #fac525;
		background: linear-gradient(90deg,#fac525,#fac525 25%,#1cadd0 0,#1cadd0 50%,#514284 0,#514284 75%,#6db745 0,#6db745);
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
		bottom: 0;
		content: "";
		height: 15px;
		left: 0;
		position: absolute;
		width: 100%
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer--inner {
		padding-bottom: 15px
}

@media(max-width: 767.98px) {
		.page-template-tpl-failSafePage .co-fail_safe_page_footer--inner {
				padding:15px 0 15px;
		}
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer--col {
		align-items: center;
		display: flex;
		padding: 0 30px
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer .site_footer--legal_logos {
		margin-bottom: 0;
		padding: 10px 0 3px
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer .site_footer--ncua_logo {
		top: 0
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer .site_footer--legal_logo_text {
		font-size: 14px
}

.page-template-tpl-failSafePage .co-fail_safe_page_footer .co-fail_safe_page_footer--col__legal {
		margin-left: auto;
}