/**
 * Naomi Resources — front-end styles.
 *
 * EVERY selector is prefixed .nz-res- deliberately.
 * WP gotcha #9 (see INFRASTRUCTURE.md): unscoped mockup CSS broke the site
 * header on the Orgs page because a bare `.nav` rule collided with Divi's own
 * markup. The mockup this was ported from used generic .card / .grid / .modal
 * / .btn class names — all renamed here. Never reintroduce a bare selector.
 */

.nz-res-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:26px;
}

.nz-res-card{
	background:#FFFFFF;
	border:1px solid #E5DDCE;
	border-radius:12px;
	padding:30px 28px 26px;
	display:flex;
	flex-direction:column;
	transition:border-color .18s, transform .18s, box-shadow .18s;
}
.nz-res-card:hover{
	border-color:#0F5257;
	transform:translateY(-3px);
	box-shadow:0 12px 32px rgba(15,82,87,.09);
}

.nz-res-tag{
	display:inline-block;
	align-self:flex-start;
	font-size:9.5px;
	letter-spacing:.16em;
	text-transform:uppercase;
	font-weight:700;
	padding:5px 10px;
	border-radius:4px;
	margin-bottom:18px;
}
.nz-res-tag--team-leaders{background:#DCE9EA;color:#0F5257;}
.nz-res-tag--individual-development{background:#F8E2E2;color:#B8625E;}
.nz-res-tag--planning{background:#EFE7D9;color:#8B7E70;}
.nz-res-tag--leadership-game{background:#E2EFEC;color:#1F7A6A;}

.nz-res-title{
	font-size:20px;
	line-height:1.25;
	letter-spacing:-.018em;
	font-weight:700;
	color:#161616;
	margin:0 0 11px;
}

.nz-res-desc{
	font-size:14px;
	line-height:1.6;
	color:#3A3A3A;
	margin:0;
	flex:1;
}

.nz-res-meta{
	font-size:11.5px;
	color:#6A6A6A;
	margin:18px 0 20px;
	padding-top:16px;
	border-top:1px solid #F0EBE2;
}

.nz-res-btn{
	display:block;
	width:100%;
	background:#0F5257;
	color:#FFFFFF;
	border:0;
	padding:13px 22px;
	border-radius:6px;
	font:600 13.5px/1.3 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	text-align:center;
	text-decoration:none;
	cursor:pointer;
	transition:background .15s;
}
.nz-res-btn:hover{background:#073A3E;color:#FFFFFF;}
.nz-res-btn[disabled]{opacity:.55;cursor:default;}

.nz-res-empty{color:#6A6A6A;font-size:15px;}

/* ── modal ─────────────────────────────────────────────────────────────── */

.nz-res-overlay{
	position:fixed;
	inset:0;
	background:rgba(22,22,22,.62);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	z-index:99999;
}
.nz-res-overlay[hidden]{display:none;}

.nz-res-modal{
	position:relative;
	background:#FFFFFF;
	border-radius:14px;
	width:100%;
	max-width:452px;
	padding:40px 40px 34px;
	max-height:90vh;
	overflow-y:auto;
}

.nz-res-close{
	position:absolute;
	top:14px;right:16px;
	background:none;border:0;
	font-size:26px;line-height:1;
	color:#6A6A6A;cursor:pointer;
}

.nz-res-eyebrow{
	font-size:10px;letter-spacing:.2em;text-transform:uppercase;
	color:#0F5257;font-weight:700;margin:0 0 12px;
}

.nz-res-modal-title{
	font-size:25px;line-height:1.2;letter-spacing:-.025em;
	color:#161616;margin:0 0 11px;font-weight:700;
}

.nz-res-sub{
	font-size:14px;line-height:1.6;color:#3A3A3A;margin:0 0 26px;
}

.nz-res-label{
	display:block;
	font-size:11px;letter-spacing:.1em;text-transform:uppercase;
	font-weight:600;color:#6A6A6A;margin-bottom:7px;
}

.nz-res-input{
	width:100%;
	padding:13px 15px;
	border:1px solid #E5DDCE;
	border-radius:6px;
	background:#FDFCFA;
	font:400 15px Inter,-apple-system,sans-serif;
	margin-bottom:18px;
	color:#161616;
}
.nz-res-input:focus{outline:none;border-color:#0F5257;}

/* honeypot — off-screen rather than display:none, which some bots detect */
.nz-res-hp{
	position:absolute!important;
	left:-9999px!important;
	width:1px;height:1px;overflow:hidden;
}

.nz-res-error{
	background:#FBEDEC;
	border-left:3px solid #C97366;
	color:#B8625E;
	font-size:13px;line-height:1.5;
	padding:10px 14px;
	margin:0 0 16px;
	border-radius:4px;
}

.nz-res-fine{
	font-size:11.5px;line-height:1.55;color:#6A6A6A;margin:15px 0 0;
}
.nz-res-fallback a{color:#0F5257;}

.nz-res-state[hidden]{display:none;}

.nz-res-check{
	width:52px;height:52px;border-radius:50%;
	background:#0F5257;color:#FFFFFF;
	display:flex;align-items:center;justify-content:center;
	font-size:26px;margin:4px auto 20px;
}
.nz-res-state[data-nz-res-state="success"]{text-align:center;}

@media (max-width:900px){
	.nz-res-grid{grid-template-columns:1fr;}
	.nz-res-modal{padding:32px 24px 28px;}
}
