/**
 * GC Email Links — scoped under .gc-el, all vars --gc-el-*.
 * Transparent by default (sits on whatever section background is behind
 * it); an optional full-bleed background band matches the GC Right Fit
 * pattern (.gc-el--has-bg / .gc-el--has-img).
 */

.gc-el {
	--gc-el-content: 560px;
	--gc-el-head: #FFFFFF;
	--gc-el-lead: #9FB4C2;
	--gc-el-field-bg: rgba(255, 255, 255, 0.06);
	--gc-el-field-border: rgba(180, 160, 232, 0.45);
	--gc-el-field-text: #FFFFFF;
	--gc-el-field-ph: #7E8FA0;
	--gc-el-item-bg: rgba(20, 33, 43, 0.6);
	--gc-el-item-border: rgba(180, 160, 232, 0.4);
	--gc-el-item-label: #FFFFFF;
	--gc-el-btn1: #5BA7DB;
	--gc-el-btn2: #9B7BD8;
	--gc-el-btn-text: #FFFFFF;
	--gc-el-ok: #4FD199;
	--gc-el-err: #F2789A;

	--gc-el-bg: #14212B;
	--gc-el-bg2: #624AA7;
	--gc-el-overlay: 0.55;

	position: relative;
	font-family: var(--gc-font-body, "Inter", system-ui, sans-serif);
	color: var(--gc-el-field-text);
	line-height: 1.6;
}
.gc-el, .gc-el *, .gc-el *::before, .gc-el *::after { box-sizing: border-box; }

/* ---- Optional full-bleed background band ---- */
.gc-el--has-bg { padding: 56px 0; }
.gc-el--has-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	z-index: 0;
	background: linear-gradient(160deg, var(--gc-el-bg), var(--gc-el-bg2));
}
.gc-el-bg {
	position: absolute;
	inset: 0;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	z-index: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.gc-el--has-img .gc-el-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--gc-el-bg);
	opacity: var(--gc-el-overlay);
}

.gc-el-inner {
	position: relative;
	z-index: 1;
	max-width: var(--gc-el-content);
	margin-inline: auto;
}

.gc-el-head {
	font-family: var(--gc-font-heading, "Manrope", system-ui, sans-serif);
	font-weight: 800;
	line-height: 1.2;
	color: var(--gc-el-head);
	margin: 0 0 0.4em;
	font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem);
}
.gc-el-lead { color: var(--gc-el-lead); font-size: 16px; margin: 0 0 24px; }

.gc-el-field { margin-bottom: 20px; }
.gc-el-name,
.gc-el-email {
	width: 100%;
	font: inherit;
	font-size: 15px;
	color: var(--gc-el-field-text);
	background: var(--gc-el-field-bg);
	border: 1px solid var(--gc-el-field-border);
	border-radius: var(--gc-radius-sm, 10px);
	padding: 12px 14px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.gc-el-name::placeholder,
.gc-el-email::placeholder { color: var(--gc-el-field-ph); }
.gc-el-name:focus,
.gc-el-email:focus {
	outline: none;
	border-color: var(--gc-el-btn1);
	box-shadow: 0 0 0 3px rgba(91, 167, 219, 0.2);
}

.gc-el-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.gc-el-item {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	background: var(--gc-el-item-bg);
	border: 1px solid var(--gc-el-item-border);
	border-radius: var(--gc-radius-sm, 10px);
	padding: 14px 18px;
	box-shadow: 0 10px 28px -16px rgba(0, 0, 0, 0.55);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.gc-el-item-label {
	flex: 1 1 auto;
	font-weight: 600;
	color: var(--gc-el-item-label);
}
.gc-el-item-msg:empty { display: none; }
.gc-el-item-msg {
	flex-basis: 100%;
	font-size: 13px;
	font-weight: 600;
	margin-top: 6px;
}
.gc-el-item-msg.is-ok { color: var(--gc-el-ok); }
.gc-el-item-msg.is-err { color: var(--gc-el-err); }

.gc-el-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 20px;
	border: 0;
	border-radius: var(--gc-radius-pill, 999px);
	font-family: var(--gc-font-body, "Inter", system-ui, sans-serif);
	font-size: 14px;
	font-weight: 600;
	color: var(--gc-el-btn-text);
	background: linear-gradient(135deg, var(--gc-el-btn1), var(--gc-el-btn2));
	box-shadow: var(--gc-shadow-button, 0 6px 16px -2px rgba(91, 167, 219, 0.3));
	cursor: pointer;
	transition: transform 0.1s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}
.gc-el-btn:hover:not(:disabled) { box-shadow: 0 14px 40px -10px rgba(91, 167, 219, 0.45); transform: translateY(-1px); }
.gc-el-btn:active:not(:disabled) { transform: translateY(1px); }
.gc-el-btn:focus-visible { outline: 2px solid var(--gc-el-btn1); outline-offset: 2px; }
.gc-el-btn:disabled { opacity: 0.5; cursor: default; box-shadow: none; }

.gc-el-item-actions {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
/* Direct download reads as the quieter of the two: an outline against the
   filled email button, so a row with both has one obvious primary action. */
.gc-el-dlbtn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 19px;
	border: 1px solid var(--gc-el-item-border);
	border-radius: var(--gc-radius-pill, 999px);
	background: transparent;
	font-family: var(--gc-font-body, "Inter", system-ui, sans-serif);
	font-size: 14px;
	font-weight: 600;
	color: var(--gc-el-item-label);
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
}
.gc-el-dlbtn:hover:not(:disabled) { border-color: var(--gc-el-btn1); color: var(--gc-el-btn1); transform: translateY(-1px); }
.gc-el-dlbtn:active:not(:disabled) { transform: translateY(1px); }
.gc-el-dlbtn:focus-visible { outline: 2px solid var(--gc-el-btn1); outline-offset: 2px; }
.gc-el-dlbtn:disabled { opacity: 0.55; cursor: default; }

@media (max-width: 640px) {
	.gc-el--has-bg { padding: 48px 0; }
	.gc-el-head { font-size: 1.5rem; margin-bottom: 0.3em; }
	.gc-el-lead { font-size: 15px; line-height: 1.5; margin-bottom: 20px; }
	.gc-el-field { margin-bottom: 16px; }
	.gc-el-name, .gc-el-email { font-size: 16px; padding: 11px 13px; }
	.gc-el-items { gap: 10px; }
	.gc-el-item {
		gap: 10px;
		padding: 14px;
		box-shadow: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.gc-el-btn, .gc-el-dlbtn { min-height: 44px; box-shadow: none; }
}

@media (max-width: 480px) {
	.gc-el--has-bg { padding: 40px 0; }
	.gc-el-head { font-size: 1.4rem; }
	.gc-el-lead { font-size: 14.5px; }
	.gc-el-item { flex-direction: column; align-items: stretch; padding: 13px 14px; }
	.gc-el-item-actions { flex-direction: column; align-items: stretch; gap: 8px; }
	.gc-el-btn, .gc-el-dlbtn { width: 100%; }
	.gc-el-name, .gc-el-email { font-size: 16px; }
	.gc-el-item-label { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
	.gc-el-email, .gc-el-btn { transition: none; }
}

.gc-el-shortcode { margin-bottom: 14px; }
.gc-el-shortcode .wpforms-container,
.gc-el-shortcode .wpforms-container-full { margin: 0; }
.gc-el .gc-el-shortcode .wpforms-container .wpforms-field-hp { display: none !important; }
.gc-el-shortcode .wpforms-confirmation-container,
.gc-el-shortcode .wpforms-confirmation-container-full { margin: 0 0 4px; }
