
.egc-application-form-wrap {
	max-width: 940px;
	margin: 0 auto;
}
.egc-application-form {
	background: #073f2d;
	border: 1px solid rgba(185,130,31,.35);
	box-shadow: 0 18px 50px rgba(20,35,30,.12);
	color: #fff;
}
.egc-application-progress {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 0;
	background: #063322;
	border-bottom: 1px solid rgba(255,255,255,.12);
}
.egc-application-progress button {
	appearance: none;
	border: 0;
	border-right: 1px solid rgba(255,255,255,.1);
	background: transparent;
	color: rgba(255,255,255,.68);
	padding: 18px 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font: inherit;
	cursor: pointer;
}
.egc-application-progress button:last-child { border-right: 0; }
.egc-application-progress button span {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.35);
	font-size: 12px;
	font-weight: 800;
}
.egc-application-progress button strong {
	font-size: 12px;
	letter-spacing: .02em;
}
.egc-application-progress button.is-active,
.egc-application-progress button.is-complete { color: #d2a84c; }
.egc-application-progress button.is-active span,
.egc-application-progress button.is-complete span {
	background: #d2a84c;
	border-color: #d2a84c;
	color: #073f2d;
}
.egc-application-step {
	padding: 48px 52px 42px;
}
.egc-application-step[hidden] { display: none !important; }
.egc-application-step__heading {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 30px;
	padding: 0;
}
.egc-application-step__heading > span {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #d2a84c;
	margin-bottom: 8px;
}
.egc-application-step__heading h2,
.egc-multistep-application .egc-application-step__heading .egc-application-step-title {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	color: #d2a84c !important;
	font-size: clamp(26px,3vw,38px) !important;
	line-height: 1.12 !important;
	font-weight: 700 !important;
	text-align: center !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	min-height: 0 !important;
}
.egc-application-step__heading p {
	margin: 0;
	color: #d7b45d;
	line-height: 1.45;
}
.egc-application-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 20px 24px;
}
.egc-application-field {
	display: grid;
	gap: 8px;
	min-width: 0;
	border: 0;
	padding: 0;
	margin: 0;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}
.egc-application-field__label {
	display: block;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}
.egc-application-field__label em,
.egc-application-consent em {
	font-style: normal;
	color: #e84c4c;
	margin-left: 2px;
}
.egc-application-field__label > span {
	font-weight: 500;
	color: rgba(255,255,255,.8);
}
.egc-application-field input[type="text"],
.egc-application-field input[type="email"],
.egc-application-field input[type="tel"],
.egc-application-field input[type="url"],
.egc-application-field input[type="date"],
.egc-application-field input[type="number"],
.egc-application-field select,
.egc-application-field textarea {
	width: 100%;
	background: #f7f4ed;
	border: 1px solid #d7cfbf;
	border-radius: 3px;
	padding: 13px 14px;
	min-height: 48px;
	color: #222;
	font: inherit;
	box-sizing: border-box;
}
.egc-application-field textarea {
	min-height: 110px;
	resize: vertical;
}
.egc-application-field input:focus,
.egc-application-field select:focus,
.egc-application-field textarea:focus {
	outline: 2px solid #d2a84c;
	outline-offset: 1px;
	border-color: #d2a84c;
}
.egc-application-field small {
	color: rgba(255,255,255,.72);
	font-size: 12px;
	font-weight: 400;
}
.egc-application-full { grid-column: 1 / -1; }
.egc-field-error {
	min-height: 0;
	color: #ff746b;
	font-size: 13px;
	font-weight: 600;
}
.egc-application-field.has-error input,
.egc-application-field.has-error select,
.egc-application-field.has-error textarea {
	border-color: #ff746b;
	box-shadow: 0 0 0 1px #ff746b;
}
.egc-checkbox-options {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 10px 20px;
	padding: 4px 0;
}
.egc-checkbox-options label,
.egc-application-checkbox-line {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-weight: 500;
	color: #fff;
}
.egc-checkbox-options input,
.egc-application-checkbox-line input {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	accent-color: #d2a84c;
}
.egc-application-policy {
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.14);
}
.egc-application-policy h3,
.egc-multistep-application .egc-application-policy > h3 {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	text-align: center !important;
	color: #d2a84c !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
.egc-application-policy > p {
	color: #d7b45d;
	font-size: 13px;
	line-height: 1.55;
}
.egc-application-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 15px 0;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}
.egc-application-consent input {
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: #d2a84c;
	flex: 0 0 auto;
}
.egc-application-privacy {
	margin-top: 12px !important;
}
.egc-application-privacy a { color: #fff; text-decoration: underline; }
.egc-application-recaptcha { margin-top: 24px; }
.egc-application-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	margin-top: 34px;
}
.egc-application-actions--end { justify-content: flex-end; }
.egc-application-actions .egc-btn {
	min-width: 118px;
	border: 1px solid #c79a3b;
	background: #c79a3b;
	color: #fff;
	padding: 12px 20px;
	font-weight: 800;
	cursor: pointer;
}
.egc-application-actions .egc-btn:hover { filter: brightness(.96); }
.egc-application-actions .egc-btn--secondary {
	background: transparent;
	color: #d2a84c;
}
.egc-honeypot {
	position: absolute !important;
	left: -9999px !important;
}
.egc-application-message {
	padding: 20px;
	margin-bottom: 22px;
	border: 1px solid;
}
.egc-application-message.success {
	background: #edf8f2;
	border-color: #9bcfb2;
	color: #1e7046;
}
.egc-application-message.error {
	background: #fff0ee;
	border-color: #e5aaa4;
	color: #923a31;
}
@media (max-width: 767px) {
	.egc-application-progress button { padding: 14px 8px; }
	.egc-application-progress button strong { display: none; }
	.egc-application-step { padding: 32px 22px 28px; }
	.egc-application-grid { grid-template-columns: 1fr; }
	.egc-application-full { grid-column: auto; }
	.egc-checkbox-options { grid-template-columns: 1fr; }
}


/* Phase 4: Events */
.egc-dynamic-event-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 24px;
}
.egc-dynamic-event-card {
	background:#fff;
	border:1px solid #ddd6ca;
	overflow:hidden;
}
.egc-dynamic-event-card > img {
	display:block;
	width:100%;
	height:240px;
	object-fit:cover;
}
.egc-dynamic-event-card__body {
	padding:26px;
}
.egc-event-card__meta {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:12px;
}
.egc-event-card__meta span {
	color:#b9821f;
	font-size:11px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.egc-event-card__actions {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	margin-top:18px;
}
.egc-event-card__actions form { margin:0; }
.egc-event-registered {
	display:inline-flex;
	align-items:center;
	padding:10px 14px;
	background:#e8f7ef;
	color:#1e7046;
	font-weight:700;
}
@media (max-width:1024px) {
	.egc-dynamic-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
	.egc-dynamic-event-grid { grid-template-columns:1fr; }
}


/* Phase 5: Perks and Resources */
.egc-perks-filter {
	display:grid;
	grid-template-columns:2fr repeat(2,minmax(160px,1fr)) auto auto;
	gap:10px;
	margin-bottom:24px;
}
.egc-perks-filter input,
.egc-perks-filter select {
	width:100%;
	min-height:50px;
	border:1px solid #ddd6ca;
	padding:12px 14px;
	background:#fff;
}
.egc-dynamic-perks-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:22px;
}
.egc-dynamic-perk-card {
	display:grid;
	grid-template-columns:180px minmax(0,1fr);
	background:#fff;
	border:1px solid #ddd6ca;
}
.egc-dynamic-perk-card.is-featured {
	border-color:#d9a23a;
	box-shadow:0 12px 28px rgba(0,40,23,.08);
}
.egc-dynamic-perk-card__logo {
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	border-right:1px solid #ddd6ca;
}
.egc-dynamic-perk-card__logo img {
	max-width:130px;
	max-height:90px;
	object-fit:contain;
}
.egc-dynamic-perk-card__body { padding:26px; }
.egc-perk-featured-label,
.egc-resource-type {
	display:inline-flex;
	color:#b9821f;
	font-size:11px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	margin-bottom:8px;
}
.egc-perk-offer {
	color:#003b22;
	font-size:18px;
	font-weight:700;
}
.egc-perk-code-row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	margin:14px 0;
	padding:12px;
	background:#f2f7f5;
	border:1px dashed #9ab2aa;
}
.egc-perk-code-row code {
	color:#003b22;
	font-weight:800;
	font-size:16px;
}
.egc-copy-code {
	background:#003b22;
	color:#fff;
	border:0;
	padding:9px 12px;
	cursor:pointer;
}
.egc-perk-modal[hidden] { display:none; }
.egc-perk-modal {
	position:fixed;
	inset:0;
	z-index:999999;
}
.egc-perk-modal__overlay {
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.55);
}
.egc-perk-modal__dialog {
	position:relative;
	z-index:2;
	max-width:620px;
	margin:8vh auto;
	background:#fff;
	padding:30px;
}
.egc-perk-modal__close {
	position:absolute;
	top:10px;
	right:14px;
	background:transparent;
	border:0;
	font-size:28px;
	cursor:pointer;
}
.egc-modal-open { overflow:hidden; }

.egc-dynamic-resource-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
}
.egc-dynamic-resource-card {
	background:#fff;
	border:1px solid #ddd6ca;
	padding:26px;
}
.egc-dynamic-resource-card.is-featured {
	border-color:#d9a23a;
	box-shadow:0 12px 28px rgba(0,40,23,.08);
}

@media (max-width:1024px) {
	.egc-perks-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.egc-dynamic-resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
	.egc-perks-filter,
	.egc-dynamic-resource-grid,
	.egc-dynamic-perk-card {
		grid-template-columns:1fr;
	}
	.egc-dynamic-perk-card__logo {
		border-right:0;
		border-bottom:1px solid #ddd6ca;
	}
	.egc-perk-modal__dialog { margin:4vh 16px; }
}


/* Phase 6: Native Membership & Billing */
.egc-native-plan-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:24px;
}
.egc-native-plan-card {
	background:#fff;
	border:1px solid #ddd6ca;
	padding:30px;
	position:relative;
}
.egc-native-plan-card.is-featured {
	background:#003b22;
	color:#fff;
	border-color:#d9a23a;
}
.egc-native-plan-card.is-featured h3 { color:#fff; }
.egc-native-plan-card.is-featured p,
.egc-native-plan-card.is-featured li { color:rgba(255,255,255,.82); }
.egc-native-plan-featured {
	display:inline-flex;
	background:#d9a23a;
	color:#002817;
	font-size:11px;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
	padding:7px 10px;
	margin-bottom:14px;
}
.egc-native-plan-prices {
	display:flex;
	flex-wrap:wrap;
	gap:18px;
	margin:18px 0;
}
.egc-native-plan-prices span {
	display:flex;
	flex-direction:column;
}
.egc-native-plan-prices strong {
	color:#b9821f;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:34px;
}
.egc-native-plan-card.is-featured .egc-native-plan-prices strong { color:#d9a23a; }
.egc-native-plan-description { margin-bottom:22px; }

.egc-member-billing-card {
	background:#fff;
	border:1px solid #ddd6ca;
	padding:30px;
}
.egc-member-billing-grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:14px;
	margin:20px 0;
}
.egc-member-billing-grid > div {
	background:#f7faf8;
	border:1px solid #e0e8e4;
	padding:16px;
}
.egc-member-billing-grid span,
.egc-member-billing-grid strong {
	display:block;
}
.egc-member-billing-grid span {
	color:#68736d;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.06em;
	margin-bottom:7px;
}
.egc-member-billing-grid strong { color:#003b22; }

@media (max-width:900px) {
	.egc-member-billing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
	.egc-native-plan-grid,
	.egc-member-billing-grid { grid-template-columns:1fr; }
}


/* Phase 7: Native Member Portal */
.egc-member-dashboard {
	display:grid;
	gap:24px;
}
.egc-member-dashboard__hero {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:30px;
	background:linear-gradient(135deg,#002817,#0e5134);
	color:#fff;
}
.egc-member-dashboard__identity {
	display:flex;
	align-items:center;
	gap:18px;
}
.egc-member-dashboard__identity img {
	border-radius:50%;
	border:3px solid rgba(217,162,58,.7);
}
.egc-member-dashboard__identity h2 {
	color:#fff;
	margin:4px 0 8px;
	font-size:clamp(34px,4vw,52px);
}
.egc-member-dashboard__identity p {
	margin:0;
	color:rgba(255,255,255,.76);
}
.egc-portal-eyebrow {
	display:block;
	color:#d9a23a;
	font-size:11px;
	font-weight:800;
	letter-spacing:.16em;
	text-transform:uppercase;
}
.egc-member-dashboard__status {
	text-align:right;
}
.egc-member-dashboard__status span,
.egc-member-dashboard__status strong,
.egc-member-dashboard__status small {
	display:block;
}
.egc-member-dashboard__status span {
	color:rgba(255,255,255,.62);
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:.1em;
}
.egc-member-dashboard__status strong {
	color:#d9a23a;
	font-size:20px;
	margin:4px 0;
}
.egc-member-dashboard__status small {
	color:rgba(255,255,255,.72);
}

.egc-portal-alert {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	padding:16px 18px;
	border:1px solid;
}
.egc-portal-alert.warning {
	background:#fff6df;
	border-color:#e7c56c;
	color:#725700;
}
.egc-portal-alert a {
	margin-left:auto;
	font-weight:700;
}

.egc-portal-overview-grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:16px;
}
.egc-portal-overview-card {
	background:#fff;
	border:1px solid #ddd6ca;
	padding:22px;
}
.egc-portal-overview-card span,
.egc-portal-overview-card strong,
.egc-portal-overview-card a {
	display:block;
}
.egc-portal-overview-card span {
	color:#68736d;
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.egc-portal-overview-card strong {
	color:#003b22;
	font-size:18px;
	margin:7px 0 12px;
}
.egc-portal-overview-card a {
	font-size:12px;
	font-weight:700;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:.05em;
}

.egc-portal-nav {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	padding:12px;
	background:#f5f0e7;
	border:1px solid #ddd6ca;
}
.egc-portal-nav a {
	display:inline-flex;
	padding:10px 14px;
	background:#fff;
	border:1px solid #ddd6ca;
	color:#003b22;
	font-size:12px;
	font-weight:700;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.egc-portal-nav a:hover {
	background:#003b22;
	color:#fff;
	border-color:#003b22;
}

.egc-portal-main-grid {
	display:grid;
	grid-template-columns:minmax(0,2fr) minmax(280px,1fr);
	gap:24px;
	align-items:start;
}
.egc-portal-main-column,
.egc-portal-side-column {
	display:grid;
	gap:24px;
}
.egc-portal-panel {
	background:#fff;
	border:1px solid #ddd6ca;
	padding:26px;
}
.egc-portal-panel__head {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	margin-bottom:18px;
}
.egc-portal-panel__head h3 {
	margin:0;
}
.egc-portal-panel__head a,
.egc-portal-panel__head span {
	font-size:12px;
	font-weight:700;
}

.egc-portal-list {
	display:grid;
	gap:12px;
}
.egc-portal-list > a,
.egc-portal-list.compact > div {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:13px 0;
	border-bottom:1px solid #eee8de;
	text-decoration:none;
}
.egc-portal-list > a:last-child,
.egc-portal-list.compact > div:last-child {
	border-bottom:0;
}
.egc-portal-list strong,
.egc-portal-list small {
	display:block;
}
.egc-portal-list small {
	color:#68736d;
	margin-top:4px;
}

.egc-onboarding-form {
	display:grid;
	gap:10px;
}
.egc-onboarding-form label {
	display:flex;
	align-items:center;
	gap:10px;
	padding:12px;
	border:1px solid #e2ddd4;
	background:#faf8f3;
	text-transform:none;
	letter-spacing:0;
}
.egc-onboarding-form label.is-complete {
	background:#eef8f2;
	border-color:#b6dac5;
}
.egc-onboarding-form label.is-complete span {
	text-decoration:line-through;
	color:#607269;
}
.egc-onboarding-form button {
	justify-self:start;
	margin-top:6px;
}

.egc-access-message {
	max-width:720px;
	margin:40px auto;
	padding:34px;
	background:#fff;
	border:1px solid #ddd6ca;
	text-align:center;
}
.egc-member-profile-summary {
	display:flex;
	align-items:center;
	gap:18px;
	background:#fff;
	border:1px solid #ddd6ca;
	padding:24px;
}
.egc-member-profile-summary img { border-radius:50%; }
.egc-member-profile-summary h3 { margin:0 0 6px; }
.egc-member-profile-summary p { margin:3px 0; color:#68736d; }

@media (max-width:1024px) {
	.egc-portal-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.egc-portal-main-grid { grid-template-columns:1fr; }
}
@media (max-width:767px) {
	.egc-member-dashboard__hero,
	.egc-member-dashboard__identity {
		align-items:flex-start;
		flex-direction:column;
	}
	.egc-member-dashboard__status { text-align:left; }
	.egc-portal-overview-grid { grid-template-columns:1fr; }
	.egc-portal-alert a { margin-left:0; width:100%; }
}


/* =========================================================
   v1.8.0 FRONTEND MEMBER ACCOUNT
   Scoped to native EGC account shortcodes.
   ========================================================= */

.egc-frontend-account {
	width: min(92%, 1180px);
	margin: 0 auto;
	padding: 46px 0 88px;
	color: var(--egc-text, #26342c);
}

.egc-account-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px;
	margin-bottom: 24px;
	background: var(--egc-cream, #f5f0e7);
	border: 1px solid var(--egc-border, #ddd6ca);
}

.egc-account-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 15px;
	background: #fff;
	border: 1px solid var(--egc-border, #ddd6ca);
	color: var(--egc-green, #003b22);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
}

.egc-account-nav a:hover,
.egc-account-nav a.is-active {
	background: var(--egc-green, #003b22);
	border-color: var(--egc-green, #003b22);
	color: #fff;
}

.egc-account-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 30px 34px;
	margin-bottom: 24px;
	background: linear-gradient(135deg, var(--egc-green-dark, #002817), var(--egc-green, #003b22));
	color: #fff;
}

.egc-account-heading h2 {
	margin: 5px 0 10px;
	color: #fff;
	font-size: clamp(38px, 5vw, 58px);
}

.egc-account-heading p {
	max-width: 720px;
	margin: 0;
	color: rgba(255,255,255,.75);
}

.egc-account-kicker {
	display: block;
	color: var(--egc-gold, #d9a23a);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.egc-account-avatar img {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	border: 3px solid var(--egc-gold, #d9a23a);
	object-fit: cover;
	background: #fff;
}

.egc-account-message {
	padding: 16px 18px;
	margin-bottom: 20px;
	border: 1px solid;
}

.egc-account-message--success {
	background: #edf8f2;
	border-color: #9bcfb2;
	color: #1e7046;
}

.egc-account-message--error {
	background: #fff0ee;
	border-color: #e5aaa4;
	color: #923a31;
}

.egc-account-message--warning {
	background: #fff7df;
	border-color: #e5c567;
	color: #735700;
}

.egc-account-form {
	display: grid;
	gap: 22px;
}

.egc-account-section {
	background: #fff;
	border: 1px solid var(--egc-border, #ddd6ca);
	padding: 30px;
}

.egc-account-section__heading {
	margin-bottom: 24px;
}

.egc-account-section__heading h3,
.egc-account-section-heading h3 {
	margin: 0 0 8px;
	color: var(--egc-green, #003b22);
}

.egc-account-section__heading p,
.egc-account-section-heading p {
	margin: 0;
	color: var(--egc-muted, #68736d);
}

.egc-account-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.egc-account-fields.one-column {
	grid-template-columns: minmax(0, 620px);
}

.egc-account-fields label {
	display: grid;
	gap: 8px;
}

.egc-account-field-full {
	grid-column: 1 / -1;
}

.egc-account-fields small,
.egc-current-image {
	color: var(--egc-muted, #68736d);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.egc-inline-check {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 10px !important;
	text-transform: none;
	letter-spacing: 0;
}

.egc-inline-check input {
	width: auto !important;
	min-height: 0 !important;
}

.egc-account-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.egc-current-membership {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: 30px;
	margin-bottom: 34px;
	background: #fff;
	border: 1px solid var(--egc-border, #ddd6ca);
}

.egc-current-membership > div > span,
.egc-current-membership__details span {
	display: block;
	color: var(--egc-muted, #68736d);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.egc-current-membership h3 {
	margin: 6px 0 8px;
}

.egc-current-membership p {
	margin: 0;
}

.egc-current-membership__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.egc-current-membership__details > div {
	padding: 14px;
	background: #f5f8f6;
	border: 1px solid #dfe7e2;
}

.egc-account-section-heading {
	margin: 0 0 22px;
}

.egc-account-plan-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.egc-account-plan-card {
	position: relative;
	padding: 28px;
	background: #fff;
	border: 1px solid var(--egc-border, #ddd6ca);
}

.egc-account-plan-card.is-current {
	border-color: var(--egc-gold, #d9a23a);
	box-shadow: 0 14px 35px rgba(0,40,23,.08);
}

.egc-current-plan-label {
	display: inline-flex;
	padding: 6px 10px;
	margin-bottom: 12px;
	background: var(--egc-gold, #d9a23a);
	color: var(--egc-green-dark, #002817);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.egc-account-plan-card h3 {
	margin: 0 0 12px;
}

.egc-account-plan-card > p {
	color: var(--egc-muted, #68736d);
}

.egc-account-plan-prices {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 20px 0;
}

.egc-account-plan-prices span {
	display: flex;
	flex-direction: column;
}

.egc-account-plan-prices strong {
	color: var(--egc-gold-dark, #b9821f);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 34px;
	line-height: 1;
}

.egc-account-plan-prices small {
	color: var(--egc-muted, #68736d);
}

.egc-account-plan-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.egc-account-plan-actions form {
	margin: 0;
}

.egc-account-help {
	padding: 26px;
	margin-top: 24px;
	background: var(--egc-cream, #f5f0e7);
	border-left: 3px solid var(--egc-gold, #d9a23a);
}

.egc-account-help h3 {
	margin-top: 0;
}

.egc-security-form {
	max-width: 760px;
}

@media (max-width: 900px) {
	.egc-current-membership {
		grid-template-columns: 1fr;
	}

	.egc-account-plan-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.egc-frontend-account {
		width: min(100% - 28px, 1180px);
		padding: 28px 0 60px;
	}

	.egc-account-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.egc-account-heading {
		flex-direction: column-reverse;
		align-items: flex-start;
		padding: 24px 20px;
	}

	.egc-account-section {
		padding: 22px 18px;
	}

	.egc-account-fields,
	.egc-account-fields.one-column,
	.egc-current-membership__details {
		grid-template-columns: 1fr;
	}

	.egc-account-field-full {
		grid-column: auto;
	}

	.egc-account-actions,
	.egc-account-plan-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.egc-account-actions a,
	.egc-account-actions button,
	.egc-account-plan-actions form,
	.egc-account-plan-actions button {
		width: 100%;
	}
}


/* =========================================================
   v1.8.1 MEMBERSHIP PAGE REFINEMENT
   Scoped only to .egc-membership-page.
   ========================================================= */

.egc-membership-page {
	background:#faf7f1;
}

.egc-membership-page .egc-page-hero {
	padding:105px 0 92px;
	background:
		radial-gradient(circle at 78% 24%, rgba(217,162,58,.12), transparent 30%),
		linear-gradient(135deg, #002817 0%, #003b22 64%, #0e5134 100%);
	border-bottom:1px solid rgba(217,162,58,.25);
}

.egc-membership-page .egc-page-hero-inner {
	max-width:880px;
}

.egc-membership-page .egc-page-hero .egc-kicker {
	justify-content:center;
	color:#d9a23a;
}

.egc-membership-page .egc-page-hero .egc-kicker::after {
	content:"";
	width:40px;
	height:1px;
	background:currentColor;
}

.egc-membership-page .egc-page-hero h1 {
	max-width:820px;
	font-size:clamp(50px,6vw,78px);
	line-height:1.02;
	margin-bottom:22px;
}

.egc-membership-page .egc-page-hero p {
	max-width:720px;
	font-size:17px;
	line-height:1.75;
}

.egc-membership-page .egc-membership-options-section {
	padding:82px 0 96px;
	background:#fff;
}

.egc-membership-page .egc-membership-options-section .egc-section-heading {
	margin-bottom:48px;
}

.egc-membership-page .egc-native-plan-grid {
	width:min(92%,1120px);
	margin:0 auto;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:22px;
	align-items:stretch;
}

.egc-membership-page .egc-native-plan-card {
	display:flex;
	flex-direction:column;
	min-height:100%;
	padding:32px;
	background:#fff;
	border:1px solid #ddd6ca;
	box-shadow:0 10px 30px rgba(0,40,23,.045);
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.egc-membership-page .egc-native-plan-card:hover {
	transform:translateY(-4px);
	border-color:rgba(217,162,58,.65);
	box-shadow:0 18px 42px rgba(0,40,23,.09);
}

.egc-membership-page .egc-native-plan-card.is-featured {
	background:linear-gradient(145deg,#003b22,#002817);
	border:1px solid #d9a23a;
	box-shadow:0 18px 44px rgba(0,40,23,.16);
}

.egc-membership-page .egc-native-plan-featured {
	align-self:flex-start;
	margin-bottom:18px;
	padding:7px 11px;
}

.egc-membership-page .egc-native-plan-card h3 {
	margin:0 0 8px;
	font-size:clamp(31px,3vw,40px);
}

.egc-membership-page .egc-native-plan-card.is-featured h3 {
	color:#fff;
}

.egc-membership-page .egc-native-plan-card > p {
	min-height:48px;
	margin-bottom:18px;
	color:#68736d;
}

.egc-membership-page .egc-native-plan-card.is-featured > p {
	color:rgba(255,255,255,.74);
}

.egc-membership-page .egc-native-plan-prices {
	display:flex;
	flex-wrap:wrap;
	gap:22px;
	padding:18px 0;
	margin:0 0 18px;
	border-top:1px solid #eee7dc;
	border-bottom:1px solid #eee7dc;
}

.egc-membership-page .egc-native-plan-card.is-featured .egc-native-plan-prices {
	border-color:rgba(255,255,255,.16);
}

.egc-membership-page .egc-native-plan-prices strong {
	font-size:34px;
	color:#b9821f;
}

.egc-membership-page .egc-native-plan-card.is-featured .egc-native-plan-prices strong {
	color:#d9a23a;
}

.egc-membership-page .egc-native-plan-prices small {
	margin-top:5px;
	color:#68736d;
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:.06em;
}

.egc-membership-page .egc-native-plan-card.is-featured .egc-native-plan-prices small {
	color:rgba(255,255,255,.65);
}

.egc-membership-page .egc-native-plan-description {
	flex:1;
	margin:0 0 24px;
	color:#26342c;
	font-size:14px;
	line-height:1.65;
}

.egc-membership-page .egc-native-plan-card.is-featured .egc-native-plan-description {
	color:rgba(255,255,255,.82);
}

.egc-membership-page .egc-native-plan-description p {
	margin:0 0 13px;
}

.egc-membership-page .egc-native-plan-description strong {
	color:#003b22;
	font-weight:800;
}

.egc-membership-page .egc-native-plan-card.is-featured .egc-native-plan-description strong {
	color:#fff;
}

.egc-membership-page .egc-native-plan-description ul,
.egc-membership-page .egc-native-plan-description ol {
	margin:14px 0 0;
	padding-left:0;
	list-style:none;
}

.egc-membership-page .egc-native-plan-description li {
	position:relative;
	padding-left:23px;
	margin-bottom:9px;
}

.egc-membership-page .egc-native-plan-description ul li::before {
	content:"✓";
	position:absolute;
	left:0;
	top:0;
	color:#b9821f;
	font-weight:800;
}

.egc-membership-page .egc-native-plan-card.is-featured .egc-native-plan-description ul li::before {
	color:#d9a23a;
}

.egc-membership-page .egc-native-plan-description ol {
	counter-reset:egc-plan-counter;
}

.egc-membership-page .egc-native-plan-description ol li {
	counter-increment:egc-plan-counter;
}

.egc-membership-page .egc-native-plan-description ol li::before {
	content:counter(egc-plan-counter) ".";
	position:absolute;
	left:0;
	color:#b9821f;
	font-weight:800;
}

.egc-membership-page .egc-native-plan-actions {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:auto;
}

.egc-membership-page .egc-native-plan-actions form {
	margin:0;
}

.egc-membership-page .egc-native-plan-actions button {
	min-height:44px;
	padding:12px 17px;
	font-size:11px;
}

.egc-membership-page .egc-membership-process {
	padding:96px 0;
	background:#f5f0e7;
	border-top:1px solid #e5ded2;
}

.egc-membership-page .egc-membership-process .egc-split {
	grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
	align-items:start;
}

.egc-membership-page .egc-membership-process h2 {
	max-width:480px;
	margin-bottom:18px;
}

.egc-membership-page .egc-membership-process-intro {
	max-width:470px;
	color:#68736d;
}

.egc-membership-page .egc-number-list {
	max-width:none;
}

.egc-membership-page .egc-number-item {
	grid-template-columns:70px minmax(0,1fr);
	gap:22px;
	padding:27px 0;
}

.egc-membership-page .egc-number {
	font-size:34px;
	color:#d9a23a;
}

.egc-membership-page .egc-number-item h3 {
	margin:0 0 7px;
	font-size:29px;
}

.egc-membership-page .egc-number-item p {
	font-size:14px;
}

.egc-membership-page .egc-membership-cta {
	padding:68px 0;
	background:linear-gradient(110deg,#002817,#003b22);
	border-top:1px solid rgba(217,162,58,.25);
}

.egc-membership-page .egc-membership-cta .egc-cta-inner {
	align-items:center;
}

.egc-membership-page .egc-membership-cta .egc-kicker {
	color:#d9a23a;
	margin-bottom:10px;
}

.egc-membership-page .egc-membership-cta h2 {
	margin:0;
	font-size:clamp(36px,4vw,53px);
}

@media (max-width:900px) {
	.egc-membership-page .egc-native-plan-grid {
		grid-template-columns:1fr;
		max-width:680px;
	}

	.egc-membership-page .egc-membership-process .egc-split {
		grid-template-columns:1fr;
		gap:30px;
	}
}

@media (max-width:767px) {
	.egc-membership-page .egc-page-hero {
		padding:78px 0 66px;
	}

	.egc-membership-page .egc-membership-options-section,
	.egc-membership-page .egc-membership-process {
		padding:62px 0;
	}

	.egc-membership-page .egc-native-plan-grid {
		width:min(100% - 28px,680px);
	}

	.egc-membership-page .egc-native-plan-card {
		padding:25px 21px;
	}

	.egc-membership-page .egc-native-plan-prices {
		gap:16px;
	}

	.egc-membership-page .egc-native-plan-actions {
		flex-direction:column;
	}

	.egc-membership-page .egc-native-plan-actions form,
	.egc-membership-page .egc-native-plan-actions button {
		width:100%;
	}

	.egc-membership-page .egc-membership-cta {
		padding:56px 0;
	}

	.egc-membership-page .egc-membership-cta .egc-cta-inner {
		align-items:flex-start;
	}
}


/* =========================================================
   v1.8.2 NATIVE MEMBER DIRECTORY
   ========================================================= */

.egc-member-directory {
	width:min(92%,1180px);
	margin:0 auto;
	padding:0 0 88px;
	color:#173629;
}

.egc-directory-tools {
	margin-bottom:24px;
}

.egc-directory-alpha {
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin-bottom:16px;
}

.egc-directory-alpha a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border:1px solid #d9dfda;
	border-radius:50%;
	background:#fff;
	color:#063d27;
	font-size:11px;
	font-weight:700;
	text-decoration:none;
}

.egc-directory-alpha a:hover,
.egc-directory-alpha a.is-active {
	background:#063d27;
	border-color:#063d27;
	color:#fff;
}

.egc-directory-filter-form {
	display:grid;
	grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(150px,1fr));
	gap:14px;
	padding:22px;
	background:#fff;
	border:1px solid #ddd6c8;
	box-shadow:0 15px 35px rgba(2,43,27,.05);
}

.egc-directory-field {
	display:grid;
	gap:7px;
	min-width:0;
}

.egc-directory-field label {
	color:#063d27;
	font-size:10px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-directory-field input,
.egc-directory-field select {
	width:100%;
	min-height:48px;
	padding:12px 14px;
	background:#fbfaf7;
	border:1px solid #ddd6c8;
	color:#173629;
	box-shadow:none;
}

.egc-directory-filter-actions {
	grid-column:1/-1;
	display:flex;
	flex-wrap:wrap;
	gap:9px;
	margin-top:2px;
}

.egc-directory-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:43px;
	padding:11px 17px;
	background:#063d27;
	border:1px solid #063d27;
	color:#fff;
	font-size:10px;
	font-weight:800;
	letter-spacing:.06em;
	text-decoration:none;
	text-transform:uppercase;
}

.egc-directory-button:hover {
	background:#0b5136;
	border-color:#0b5136;
	color:#fff;
}

.egc-directory-button--outline {
	background:transparent;
	color:#063d27;
}

.egc-directory-button--outline:hover {
	background:#063d27;
	color:#fff;
}

.egc-directory-results-bar {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin:0 0 18px;
}

.egc-directory-results-bar p {
	margin:0;
}

.egc-directory-results-bar a {
	color:#063d27;
	font-size:11px;
	font-weight:700;
}

.egc-directory-grid {
	display:grid;
	gap:16px;
}

.egc-directory-card {
	position:relative;
	display:grid;
	grid-template-columns:118px minmax(0,1fr) auto;
	gap:24px;
	align-items:start;
	padding:25px;
	background:#fff;
	border:1px solid #ddd6c8;
	transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.egc-directory-card:hover {
	transform:translateY(-2px);
	border-color:rgba(217,164,59,.75);
	box-shadow:0 18px 40px rgba(2,43,27,.07);
}

.egc-directory-card.is-featured {
	border-color:rgba(217,164,59,.75);
}

.egc-directory-card__photo img {
	display:block;
	width:112px;
	height:112px;
	border-radius:50%;
	object-fit:cover;
	border:3px solid #eee7da;
}

.egc-directory-card.is-featured .egc-directory-card__photo img {
	border-color:#d9a43b;
}

.egc-directory-card__badges {
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin-bottom:8px;
}

.egc-directory-card__badges span {
	display:inline-flex;
	padding:6px 9px;
	background:#f5f0e7;
	color:#87600f;
	font-size:9px;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.egc-directory-card__badges span.is-featured {
	background:#d9a43b;
	color:#022b1b;
}

.egc-directory-card h3 {
	margin:0 0 7px;
	color:#063d27;
	font-size:34px;
	line-height:1;
}

.egc-directory-card__role {
	margin:0 0 3px;
	color:#173629;
	font-weight:700;
}

.egc-directory-card__company {
	margin:0 0 13px;
	color:#68756f;
}

.egc-directory-card__bio {
	margin:0 0 13px;
	color:#68756f;
	font-size:14px;
}

.egc-directory-card__meta {
	display:flex;
	flex-wrap:wrap;
	gap:8px 18px;
	color:#5f6c65;
	font-size:12px;
}

.egc-directory-card__action {
	align-self:center;
}

.egc-directory-empty,
.egc-directory-message {
	padding:48px 28px;
	background:#fff;
	border:1px solid #ddd6c8;
	text-align:center;
}

.egc-directory-empty h3,
.egc-directory-message h3 {
	margin-top:0;
}

.egc-directory-pagination {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:8px;
	margin-top:28px;
}

.egc-directory-pagination a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	background:#fff;
	border:1px solid #ddd6c8;
	color:#063d27;
	text-decoration:none;
	font-weight:700;
}

.egc-directory-pagination a:hover,
.egc-directory-pagination a.is-active {
	background:#063d27;
	border-color:#063d27;
	color:#fff;
}

.egc-directory-back {
	display:inline-flex;
	margin-bottom:18px;
	color:#063d27;
	font-size:11px;
	font-weight:800;
	letter-spacing:.05em;
	text-decoration:none;
	text-transform:uppercase;
}

.egc-directory-profile__hero {
	display:grid;
	grid-template-columns:170px minmax(0,1fr) auto;
	gap:28px;
	align-items:center;
	padding:34px;
	background:linear-gradient(120deg,#022b1b,#063d27);
	color:#fff;
	border:1px solid rgba(217,164,59,.3);
}

.egc-directory-profile__photo img {
	display:block;
	width:164px;
	height:164px;
	border-radius:50%;
	object-fit:cover;
	border:4px solid #d9a43b;
}

.egc-directory-profile__identity h2 {
	margin:0 0 8px;
	color:#fff!important;
	font-size:clamp(42px,5vw,64px);
}

.egc-directory-profile__role {
	margin:0 0 3px;
	font-size:17px;
	font-weight:700;
}

.egc-directory-profile__company {
	margin:0;
	color:rgba(255,255,255,.72);
}

.egc-directory-profile__contact {
	display:grid;
	gap:8px;
}

.egc-directory-profile__contact a {
	display:inline-flex;
	justify-content:center;
	padding:11px 15px;
	border:1px solid rgba(255,255,255,.45);
	color:#fff;
	font-size:10px;
	font-weight:800;
	letter-spacing:.05em;
	text-decoration:none;
	text-transform:uppercase;
}

.egc-directory-profile__contact a:hover {
	background:#fff;
	color:#022b1b;
}

.egc-directory-profile__grid {
	display:grid;
	grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
	gap:20px;
	margin-top:20px;
}

.egc-directory-profile__main,
.egc-directory-profile__details {
	padding:28px;
	background:#fff;
	border:1px solid #ddd6c8;
}

.egc-directory-profile__main h3,
.egc-directory-profile__details h3 {
	margin-top:0;
}

.egc-directory-profile__details dl {
	margin:0;
}

.egc-directory-profile__details dl div {
	padding:13px 0;
	border-bottom:1px solid #eee7da;
}

.egc-directory-profile__details dl div:last-child {
	border-bottom:0;
}

.egc-directory-profile__details dt {
	color:#68756f;
	font-size:9px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-directory-profile__details dd {
	margin:4px 0 0;
	color:#063d27;
	font-weight:700;
}

@media(max-width:900px){
	.egc-directory-filter-form {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.egc-directory-field--search {
		grid-column:1/-1;
	}
	.egc-directory-card {
		grid-template-columns:92px minmax(0,1fr);
	}
	.egc-directory-card__photo img {
		width:86px;
		height:86px;
	}
	.egc-directory-card__action {
		grid-column:2;
		justify-self:start;
	}
	.egc-directory-profile__hero {
		grid-template-columns:130px minmax(0,1fr);
	}
	.egc-directory-profile__photo img {
		width:124px;
		height:124px;
	}
	.egc-directory-profile__contact {
		grid-column:1/-1;
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media(max-width:767px){
	.egc-member-directory {
		width:min(100% - 28px,1180px);
		padding-bottom:60px;
	}
	.egc-directory-filter-form,
	.egc-directory-profile__grid {
		grid-template-columns:1fr;
	}
	.egc-directory-field--search {
		grid-column:auto;
	}
	.egc-directory-card {
		grid-template-columns:1fr;
	}
	.egc-directory-card__photo img {
		width:96px;
		height:96px;
	}
	.egc-directory-card__action {
		grid-column:auto;
	}
	.egc-directory-card__action,
	.egc-directory-card__action a {
		width:100%;
	}
	.egc-directory-profile__hero {
		grid-template-columns:1fr;
		text-align:left;
		padding:25px 21px;
	}
	.egc-directory-profile__contact {
		grid-column:auto;
		grid-template-columns:1fr;
	}
	.egc-directory-filter-actions {
		flex-direction:column;
	}
	.egc-directory-filter-actions a,
	.egc-directory-filter-actions button {
		width:100%;
	}
}


/* =========================================================
   v1.8.3 EVENTS BROWSER + SINGLE EVENT
   ========================================================= */
.egc-events-browser{width:min(92%,1180px);margin:0 auto 90px}.egc-events-filter{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(170px,1fr));gap:14px;padding:22px;margin-bottom:18px;background:#fff;border:1px solid #ddd6c8;box-shadow:0 15px 35px rgba(2,43,27,.05)}.egc-events-filter label{display:grid;gap:7px;color:#063d27;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.egc-events-filter input,.egc-events-filter select{width:100%;min-height:48px;padding:12px 14px;background:#fbfaf7;border:1px solid #ddd6c8}.egc-events-filter__actions{grid-column:1/-1;display:flex;gap:9px}.egc-events-results{margin:0 0 18px;color:#68756f;font-size:13px}.egc-events-browser .egc-dynamic-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.egc-events-browser .egc-dynamic-event-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #ddd6c8;transition:.22s}.egc-events-browser .egc-dynamic-event-card:hover{transform:translateY(-3px);border-color:rgba(217,164,59,.75);box-shadow:0 18px 40px rgba(2,43,27,.08)}.egc-events-browser .egc-dynamic-event-card>img{width:100%;height:230px;object-fit:cover}.egc-events-browser .egc-dynamic-event-card__body{display:flex;flex:1;flex-direction:column;padding:25px}.egc-events-browser .egc-dynamic-event-card h3{margin:8px 0 12px;font-size:30px}.egc-events-browser .egc-event-card__meta{display:flex;flex-wrap:wrap;gap:7px}.egc-events-browser .egc-event-card__meta span{padding:6px 9px;background:#f5f0e7;color:#87600f;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.egc-events-browser .egc-event-card__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:18px}.egc-events-browser .egc-event-card__actions form{margin:0}.egc-events-empty{padding:45px;background:#fff;border:1px solid #ddd6c8;text-align:center}
.egc-event-shell{width:min(92%,1180px);margin-inline:auto}.egc-single-event{background:#f8f4ec}.egc-single-event__hero{position:relative;min-height:520px;display:flex;align-items:flex-end;background:#022b1b center/cover no-repeat;color:#fff}.egc-single-event__hero:not(.has-image){min-height:430px;background:linear-gradient(135deg,#022b1b,#063d27)}.egc-single-event__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,43,27,.96),rgba(2,43,27,.72) 55%,rgba(2,43,27,.25))}.egc-single-event__hero-inner{position:relative;z-index:1;padding:95px 0 70px}.egc-single-event__back{display:inline-flex;margin-bottom:28px;color:rgba(255,255,255,.76);font-size:11px;font-weight:800;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.egc-single-event__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.egc-single-event__tags span{padding:7px 10px;background:#d9a43b;color:#022b1b;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.egc-single-event__hero h1{max-width:900px;margin:0;color:#fff!important;font-family:'Libre Caslon Display','Cormorant Garamond',Georgia,serif;font-size:clamp(48px,6vw,78px);line-height:1.03}.egc-single-event__summary{max-width:720px;margin:22px 0 0;color:rgba(255,255,255,.8);font-size:18px}.egc-single-event__body{padding:78px 0 95px}.egc-single-event__layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:42px;align-items:start}.egc-single-event__content,.egc-single-event__details-card{background:#fff;border:1px solid #ddd6c8}.egc-single-event__content{padding:38px}.egc-single-event__eyebrow{display:inline-flex;align-items:center;gap:11px;margin-bottom:24px;color:#b57c15;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.egc-single-event__eyebrow:before{content:'';width:34px;height:1px;background:currentColor}.egc-single-event__prose{color:#33483e;font-size:16px;line-height:1.85}.egc-single-event__prose h2,.egc-single-event__prose h3{margin:1.4em 0 .55em;color:#063d27}.egc-single-event__prose ul,.egc-single-event__prose ol{padding-left:24px}.egc-single-event__prose blockquote{margin:28px 0;padding:8px 0 8px 22px;border-left:2px solid #d9a43b;color:#87600f;font-family:'Libre Caslon Display',Georgia,serif;font-size:24px}.egc-single-event__sidebar{position:sticky;top:105px}.egc-single-event__details-card{padding:28px}.egc-single-event__details-card h2{margin:0 0 20px;color:#063d27;font-size:34px}.egc-single-event__details-card dl{margin:0 0 24px}.egc-single-event__details-card dl div{padding:13px 0;border-bottom:1px solid #eee7da}.egc-single-event__details-card dt{color:#68756f;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.egc-single-event__details-card dd{margin:4px 0 0;color:#063d27;font-weight:700}.egc-single-event__details-card form,.egc-single-event__details-card button{width:100%}.egc-single-event__registered,.egc-event-notice{padding:13px;margin-top:12px;background:#edf8f2;border:1px solid #9bcfb2;color:#1e7046;font-weight:700}.egc-event-notice.is-error{background:#fff0ee;border-color:#e5aaa4;color:#923a31}.egc-single-event__restricted{min-height:65vh;display:grid;place-items:center;padding:80px 0;text-align:center}
@media(max-width:1024px){.egc-events-browser .egc-dynamic-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.egc-single-event__layout{grid-template-columns:1fr}.egc-single-event__sidebar{position:static}}
@media(max-width:767px){.egc-events-browser{width:min(100% - 28px,1180px);margin-bottom:60px}.egc-events-filter{grid-template-columns:1fr;padding:18px}.egc-events-filter__actions{grid-column:auto;flex-direction:column}.egc-events-filter__actions a,.egc-events-filter__actions button{width:100%}.egc-events-browser .egc-dynamic-event-grid{grid-template-columns:1fr}.egc-single-event__hero{min-height:500px}.egc-single-event__hero-inner{padding:70px 0 48px}.egc-single-event__body{padding:55px 0 70px}.egc-single-event__content,.egc-single-event__details-card{padding:24px 20px}}


/* =========================================================
   v1.9.0 NATIVE EVENT TICKETING
   ========================================================= */

.egc-event-ticket-box {
	margin-top:20px;
	padding-top:20px;
	border-top:1px solid #ddd6c8;
}

.egc-event-ticket-box__price {
	display:grid;
	grid-template-columns:1fr auto;
	align-items:end;
	gap:2px 12px;
	margin-bottom:10px;
}

.egc-event-ticket-box__price span {
	color:#68756f;
	font-size:10px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-event-ticket-box__price strong {
	grid-row:1/3;
	grid-column:2;
	color:#b9821f;
	font-family:"Libre Caslon Display","Cormorant Garamond",Georgia,serif;
	font-size:38px;
	line-height:1;
}

.egc-event-ticket-box__price small {
	color:#68756f;
	font-size:11px;
}

.egc-event-ticket-box__remaining {
	margin:12px 0 16px;
	color:#063d27;
	font-size:12px;
	font-weight:700;
}

.egc-event-ticket-form {
	display:grid;
	gap:12px;
}

.egc-event-ticket-form label {
	display:grid;
	gap:6px;
	color:#063d27;
	font-size:10px;
	font-weight:800;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.egc-event-ticket-form input,
.egc-event-ticket-form select {
	width:100%;
	min-height:46px;
	padding:11px 13px;
	background:#fbfaf7;
	border:1px solid #ddd6c8;
	color:#173629;
}

.egc-event-ticket-form .egc-btn {
	width:100%;
}

.egc-event-ticket-note,
.egc-event-ticket-secure {
	margin:0;
	color:#68756f;
	font-size:11px;
}

.egc-event-ticket-secure {
	margin-top:10px;
	text-align:center;
}

.egc-event-refund-policy {
	margin-top:14px;
	padding-top:14px;
	border-top:1px solid #eee7da;
}

.egc-event-refund-policy summary {
	cursor:pointer;
	color:#063d27;
	font-size:11px;
	font-weight:800;
}

.egc-event-refund-policy div {
	margin-top:10px;
	color:#68756f;
	font-size:12px;
}

.egc-event-ticket-confirmed {
	display:grid;
	gap:5px;
	margin-top:18px;
	padding:16px;
	background:#eff8f2;
	border:1px solid #bfdec8;
}

.egc-event-ticket-confirmed strong {
	color:#063d27;
}

.egc-event-ticket-confirmed span {
	color:#53675d;
	font-size:12px;
}

.egc-event-ticket-closed {
	margin-top:18px;
	padding:14px;
	background:#f8f4ec;
	border:1px solid #ddd6c8;
	color:#68756f;
	font-size:12px;
}


/* =========================================================
   v1.9.1 PREMIUM EVENTS EXPERIENCE PAGE
   ========================================================= */

.egc-events-premium {
	width:min(92%,1180px);
	margin:0 auto;
	padding:0 0 100px;
}

.egc-featured-event {
	position:relative;
	min-height:520px;
	margin-bottom:78px;
	display:flex;
	align-items:flex-end;
	overflow:hidden;
	background:#063d27;
	background-size:cover;
	background-position:center;
	color:#fff;
}

.egc-featured-event__overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,40,23,.96) 0%,rgba(0,40,23,.78) 48%,rgba(0,40,23,.2) 100%);
}

.egc-featured-event__content {
	position:relative;
	z-index:1;
	width:min(92%,720px);
	padding:64px;
}

.egc-events-kicker {
	display:inline-flex;
	align-items:center;
	gap:12px;
	color:#d9a43b;
	font-size:10px;
	font-weight:800;
	letter-spacing:.16em;
	text-transform:uppercase;
}

.egc-events-kicker:before {
	content:"";
	width:34px;
	height:1px;
	background:currentColor;
}

.egc-featured-event__badges {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:20px 0 14px;
}

.egc-featured-event__badges span {
	padding:7px 10px;
	border:1px solid rgba(255,255,255,.3);
	color:#fff;
	font-size:9px;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.egc-featured-event h2 {
	max-width:680px;
	margin:0 0 16px;
	color:#fff!important;
	font-size:clamp(46px,6vw,76px);
	line-height:.98;
}

.egc-featured-event p {
	max-width:620px;
	color:rgba(255,255,255,.8);
	font-size:16px;
}

.egc-featured-event__details {
	display:flex;
	flex-wrap:wrap;
	gap:9px 22px;
	margin-top:24px;
	color:rgba(255,255,255,.82);
	font-size:12px;
	font-weight:700;
}

.egc-featured-event__actions {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:28px;
}

.egc-featured-event__availability {
	margin-top:16px;
	color:#d9a43b;
	font-size:11px;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.egc-btn-light {
	background:#fff!important;
	border-color:#fff!important;
	color:#063d27!important;
}

.egc-events-discovery {
	margin-bottom:24px;
}

.egc-events-discovery__intro {
	max-width:700px;
	margin:0 auto 34px;
	text-align:center;
}

.egc-events-discovery__intro h2 {
	margin:12px 0 12px;
	color:#063d27;
	font-size:clamp(42px,5vw,64px);
}

.egc-events-discovery__intro p {
	color:#68756f;
}

.egc-events-quick-filters {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:8px;
	margin-bottom:24px;
}

.egc-events-quick-filters a {
	display:inline-flex;
	align-items:center;
	min-height:37px;
	padding:8px 13px;
	border:1px solid #ddd6c8;
	background:#fff;
	color:#063d27;
	font-size:9px;
	font-weight:800;
	letter-spacing:.05em;
	text-decoration:none;
	text-transform:uppercase;
}

.egc-events-quick-filters a:hover,
.egc-events-quick-filters a.is-active {
	background:#063d27;
	border-color:#063d27;
	color:#fff;
}

.egc-events-premium .egc-events-filter {
	display:grid;
	grid-template-columns:minmax(260px,1.45fr) repeat(2,minmax(160px,.8fr));
	gap:14px;
	padding:22px;
	background:#f8f4ec;
	border:1px solid #ddd6c8;
}

.egc-events-premium .egc-events-filter label {
	display:grid;
	gap:7px;
	color:#063d27;
	font-size:9px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-events-premium .egc-events-filter input,
.egc-events-premium .egc-events-filter select {
	width:100%;
	min-height:48px;
	padding:12px 14px;
	background:#fff;
	border:1px solid #ddd6c8;
}

.egc-events-premium .egc-events-filter__actions {
	grid-column:1/-1;
	display:flex;
	gap:9px;
}

.egc-events-premium .egc-events-results {
	display:flex;
	justify-content:flex-end;
	padding:18px 0;
	color:#68756f;
	font-size:12px;
}

.egc-events-premium .egc-dynamic-event-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:24px;
}

.egc-events-premium .egc-dynamic-event-card {
	display:flex;
	flex-direction:column;
	min-width:0;
	background:#fff;
	border:1px solid #ddd6c8;
	overflow:hidden;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.egc-events-premium .egc-dynamic-event-card:hover {
	transform:translateY(-3px);
	border-color:rgba(217,164,59,.65);
	box-shadow:0 20px 45px rgba(2,43,27,.08);
}

.egc-dynamic-event-card__media {
	position:relative;
	height:270px;
	background:#e9e4db;
	overflow:hidden;
}

.egc-dynamic-event-card__media img,
.egc-dynamic-event-card__placeholder {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.egc-dynamic-event-card__placeholder {
	background:linear-gradient(135deg,#063d27,#0b5136);
}

.egc-dynamic-event-card__date {
	position:absolute;
	top:18px;
	left:18px;
	display:grid;
	min-width:62px;
	padding:10px 12px;
	background:#fff;
	text-align:center;
	box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.egc-dynamic-event-card__date strong {
	color:#063d27;
	font-family:"Libre Caslon Display","Cormorant Garamond",Georgia,serif;
	font-size:26px;
	line-height:1;
}

.egc-dynamic-event-card__date span {
	margin-top:3px;
	color:#b9821f;
	font-size:9px;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
}

.egc-dynamic-event-card__type {
	position:absolute;
	right:18px;
	bottom:18px;
	padding:7px 10px;
	background:#d9a43b;
	color:#022b1b;
	font-size:9px;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.egc-events-premium .egc-dynamic-event-card__body {
	display:flex;
	flex:1;
	flex-direction:column;
	padding:27px;
}

.egc-events-premium .egc-event-card__meta {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:8px;
	margin-bottom:12px;
	color:#b9821f;
	font-size:9px;
	font-weight:800;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.egc-events-premium .egc-dynamic-event-card h3 {
	margin:0 0 14px;
	color:#063d27;
	font-size:34px;
	line-height:1.06;
}

.egc-dynamic-event-card__schedule {
	display:flex;
	flex-wrap:wrap;
	gap:7px 18px;
	color:#173629;
	font-size:12px;
	font-weight:700;
}

.egc-dynamic-event-card__location {
	margin:8px 0 0;
	color:#68756f;
	font-size:12px;
}

.egc-dynamic-event-card__summary {
	margin:17px 0;
	color:#68756f;
	font-size:13px;
}

.egc-dynamic-event-card__pricing {
	display:flex;
	flex-wrap:wrap;
	gap:28px;
	margin-top:auto;
	padding:18px 0;
	border-top:1px solid #eee7da;
}

.egc-dynamic-event-card__pricing span {
	display:grid;
	gap:2px;
}

.egc-dynamic-event-card__pricing small {
	color:#68756f;
	font-size:8px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-dynamic-event-card__pricing strong {
	color:#b9821f;
	font-size:15px;
}

.egc-events-premium .egc-event-card__actions {
	display:flex;
	align-items:stretch;
	gap:9px;
}

.egc-events-premium .egc-event-card__actions > * {
	flex:1;
}

.egc-events-premium .egc-event-card__actions a,
.egc-events-premium .egc-event-card__actions button {
	width:100%;
}

.egc-events-premium .egc-events-empty {
	padding:55px 28px;
	background:#f8f4ec;
	border:1px solid #ddd6c8;
	text-align:center;
}

.egc-events-premium .egc-events-empty h3 {
	margin:14px 0 10px;
	color:#063d27;
	font-size:38px;
}

@media(max-width:900px){
	.egc-events-premium .egc-events-filter {
		grid-template-columns:1fr 1fr;
	}
	.egc-events-premium .egc-events-filter__search {
		grid-column:1/-1;
	}
	.egc-featured-event__content {
		padding:45px;
	}
}

@media(max-width:767px){
	.egc-events-premium {
		width:min(100% - 28px,1180px);
		padding-bottom:70px;
	}
	.egc-featured-event {
		min-height:580px;
		margin-bottom:58px;
	}
	.egc-featured-event__overlay {
		background:rgba(0,40,23,.82);
	}
	.egc-featured-event__content {
		width:100%;
		padding:32px 22px;
	}
	.egc-featured-event__actions,
	.egc-events-premium .egc-events-filter,
	.egc-events-premium .egc-dynamic-event-grid {
		grid-template-columns:1fr;
	}
	.egc-featured-event__actions {
		display:grid;
	}
	.egc-events-premium .egc-events-filter__search,
	.egc-events-premium .egc-events-filter__actions {
		grid-column:auto;
	}
	.egc-events-premium .egc-events-filter__actions,
	.egc-events-premium .egc-event-card__actions {
		flex-direction:column;
	}
	.egc-dynamic-event-card__media {
		height:230px;
	}
}


/* v1.9.1 Events page editorial sections */
.egcx-events-hero {
	position:relative;
	min-height:650px;
	display:flex;
	align-items:center;
	background-size:cover;
	background-position:center;
	color:#fff;
}
.egcx-events-hero__overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,40,23,.94),rgba(0,40,23,.63),rgba(0,40,23,.2));
}
.egcx-events-hero__content {
	position:relative;
	z-index:1;
}
.egcx-events-hero h1 {
	max-width:760px;
	margin:14px 0 20px;
	color:#fff!important;
	font-size:clamp(52px,7vw,88px);
	line-height:.98;
}
.egcx-events-hero p {
	max-width:620px;
	color:rgba(255,255,255,.8);
	font-size:17px;
}
.egcx-event-experience-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1px;
	background:#ddd6c8;
	border:1px solid #ddd6c8;
}
.egcx-event-experience-grid article {
	min-height:240px;
	padding:30px;
	background:#fff;
}
.egcx-event-experience-grid article > span {
	color:#d9a43b;
	font-size:10px;
	font-weight:800;
	letter-spacing:.1em;
}
.egcx-event-experience-grid h3 {
	margin:24px 0 12px;
	color:#063d27;
	font-size:30px;
}
.egcx-event-experience-grid p {
	margin:0;
	color:#68756f;
}
.egcx-event-benefits {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);
	gap:80px;
	align-items:center;
}
.egcx-event-benefits h2 {
	color:#fff!important;
}
.egcx-event-benefits p {
	color:rgba(255,255,255,.72);
}
.egcx-event-benefits ul {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	margin:0;
	padding:0;
	list-style:none;
}
.egcx-event-benefits li {
	position:relative;
	padding:15px 15px 15px 42px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.13);
	color:#fff;
}
.egcx-event-benefits li:before {
	content:"✓";
	position:absolute;
	left:16px;
	color:#d9a43b;
	font-weight:800;
}
@media(max-width:900px){
	.egcx-event-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.egcx-event-benefits{grid-template-columns:1fr;gap:38px}
}
@media(max-width:767px){
	.egcx-events-hero{min-height:590px}
	.egcx-events-hero__overlay{background:rgba(0,40,23,.78)}
	.egcx-event-experience-grid,
	.egcx-event-benefits ul{grid-template-columns:1fr}
}


/* =========================================================
   v1.10.1 FRONTEND MEMBER LOGIN
   ========================================================= */

.egc-frontend-login {
	width:min(92%,760px);
	margin:0 auto;
	padding:58px 0 88px;
}

.egc-frontend-login__panel {
	padding:38px;
	background:#fff;
	border:1px solid #ddd6c8;
	box-shadow:0 22px 60px rgba(2,43,27,.08);
}

.egc-frontend-login__panel h2 {
	margin:6px 0 12px;
	color:#063d27;
	font-size:clamp(42px,5vw,62px);
}

.egc-frontend-login__panel > p {
	color:#68756f;
}

.egc-frontend-login__form {
	display:grid;
	gap:16px;
	margin-top:26px;
}

.egc-frontend-login__form > label {
	display:grid;
	gap:7px;
	color:#063d27;
	font-size:10px;
	font-weight:800;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.egc-frontend-login__form input[type="text"],
.egc-frontend-login__form input[type="password"] {
	width:100%;
	min-height:50px;
	padding:13px 15px;
	background:#fbfaf7;
	border:1px solid #ddd6c8;
}

.egc-frontend-login__form .egc-btn {
	width:100%;
	margin-top:2px;
}

.egc-login-remember {
	display:flex!important;
	flex-direction:row!important;
	align-items:center;
	color:#68756f!important;
	font-size:12px!important;
	font-weight:600!important;
	letter-spacing:0!important;
	text-transform:none!important;
}

.egc-login-remember input {
	width:auto!important;
	min-height:0!important;
}

.egc-frontend-login__links {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:10px 18px;
	margin-top:20px;
	padding-top:18px;
	border-top:1px solid #eee7da;
}

.egc-frontend-login__links a {
	color:#063d27;
	font-size:11px;
	font-weight:700;
}

.egc-login-message {
	width:min(92%,760px);
	margin:48px auto 88px;
	padding:34px;
	background:#fff;
	border:1px solid #ddd6c8;
	text-align:center;
}

@media(max-width:767px){
	.egc-frontend-login{
		width:min(100% - 28px,760px);
		padding:34px 0 60px;
	}
	.egc-frontend-login__panel{
		padding:26px 20px;
	}
	.egc-frontend-login__links{
		flex-direction:column;
	}
}


/* v1.10.2 Frontend login reCAPTCHA */
.egc-login-recaptcha {
	display:flex;
	justify-content:flex-start;
	width:100%;
	padding:4px 0;
	overflow-x:auto;
	overflow-y:hidden;
}
.egc-login-recaptcha .g-recaptcha { transform-origin:left top; }
@media(max-width:390px){
	.egc-login-recaptcha .g-recaptcha {
		transform:scale(.88);
		margin-bottom:-8px;
	}
}


/* v1.10.3 Frontend password recovery */
.egc-account-message--success {
	margin:16px 0;
	padding:13px 15px;
	background:#eff8f2;
	border:1px solid #bfdec8;
	color:#063d27;
}

.egc-forgot-password .egc-frontend-login__panel {
	max-width:680px;
	margin-inline:auto;
}


/* =========================================================
   v1.10.5 PREMIUM MEMBER PERKS DIRECTORY
   ========================================================= */

.egc-perks-browser {
	width:min(100%,1180px);
	margin:0 auto;
}

.egc-perks-filter {
	display:grid!important;
	grid-template-columns:minmax(240px,1.45fr) minmax(170px,.8fr) minmax(170px,.8fr) auto auto!important;
	align-items:end;
	gap:12px!important;
	margin:0 0 34px!important;
	padding:20px!important;
	background:#f8f4ec;
	border:1px solid #ddd6c8;
}

.egc-perks-filter input,
.egc-perks-filter select {
	min-width:0;
	height:50px;
	margin:0!important;
	border:1px solid #ddd6c8!important;
	background:#fff!important;
}

.egc-perks-filter .egc-btn,
.egc-perks-filter .egc-btn-outline {
	min-height:50px;
	white-space:nowrap;
}

.egc-dynamic-perks-grid {
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr))!important;
	gap:24px!important;
	align-items:stretch;
}

.egc-dynamic-perk-card {
	display:flex!important;
	flex-direction:column;
	min-width:0;
	overflow:hidden;
	background:#fff;
	border:1px solid #ddd6c8!important;
	box-shadow:none;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.egc-dynamic-perk-card:hover {
	transform:translateY(-3px);
	border-color:rgba(217,164,59,.65)!important;
	box-shadow:0 18px 42px rgba(2,43,27,.08);
}

.egc-dynamic-perk-card.is-featured {
	border-top:4px solid #d9a43b!important;
}

.egc-dynamic-perk-card__visual {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	height:190px;
	padding:30px;
	background:#f7f4ed;
	border:0!important;
}

.egc-dynamic-perk-card__visual img {
	display:block;
	max-width:220px;
	max-height:105px;
	width:auto;
	height:auto;
	object-fit:contain;
}

.egc-dynamic-perk-card__monogram {
	display:flex;
	align-items:center;
	justify-content:center;
	width:92px;
	height:92px;
	border-radius:50%;
	background:#063d27;
	color:#d9a43b;
	font-family:"Libre Caslon Display","Cormorant Garamond",Georgia,serif;
	font-size:46px;
}

.egc-dynamic-perk-card__category {
	position:absolute;
	left:18px;
	bottom:16px;
	padding:7px 10px;
	background:#fff;
	border:1px solid #ddd6c8;
	color:#063d27;
	font-size:9px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-dynamic-perk-card__body {
	display:flex;
	flex:1;
	flex-direction:column;
	padding:28px!important;
}

.egc-dynamic-perk-card__topline {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	min-height:22px;
	margin-bottom:12px;
}

.egc-dynamic-perk-card__topline small {
	color:#7a817d;
	font-size:10px;
}

.egc-dynamic-perk-card h3 {
	margin:0 0 8px!important;
	color:#063d27;
	font-size:34px!important;
	line-height:1.05;
}

.egc-perk-company {
	margin:0 0 16px!important;
	color:#68756f;
	font-size:11px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-perk-offer {
	margin:0 0 12px!important;
	color:#b9821f!important;
	font-size:19px!important;
	font-weight:800;
}

.egc-perk-summary {
	margin:0 0 18px!important;
	color:#68756f;
	font-size:13px;
	line-height:1.65;
}

.egc-perk-code-row {
	display:flex!important;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:auto 0 18px!important;
	padding:13px 14px!important;
	background:#f3f8f5!important;
	border:1px dashed #9ab2aa!important;
}

.egc-perk-code-row code {
	overflow-wrap:anywhere;
	color:#063d27!important;
	font-size:14px!important;
	font-weight:800;
}

.egc-copy-code {
	flex:0 0 auto;
	min-height:38px;
	padding:9px 14px!important;
	background:#063d27!important;
	color:#fff!important;
	border:1px solid #063d27!important;
	font-size:11px;
	font-weight:800;
}

.egc-perk-card__actions {
	display:flex;
	flex-wrap:wrap;
	gap:9px;
	margin-top:auto;
}

.egc-perk-card__actions > * {
	flex:1 1 145px;
	margin:0!important;
	text-align:center;
}

.egc-perks-empty {
	grid-column:1/-1;
	padding:52px 24px;
	background:#f8f4ec;
	border:1px solid #ddd6c8;
	text-align:center;
}

.egc-perks-empty h3 {
	margin:0 0 8px;
	color:#063d27;
	font-size:34px;
}

.egc-perks-empty p {
	margin:0;
	color:#68756f;
}

@media(max-width:900px){
	.egc-perks-filter {
		grid-template-columns:1fr 1fr!important;
	}
	.egc-perks-filter input[type="search"] {
		grid-column:1/-1;
	}
	.egc-dynamic-perks-grid {
		grid-template-columns:1fr!important;
	}
}

@media(max-width:600px){
	.egc-perks-filter {
		grid-template-columns:1fr!important;
		padding:16px!important;
	}
	.egc-perks-filter input[type="search"] {
		grid-column:auto;
	}
	.egc-perks-filter .egc-btn,
	.egc-perks-filter .egc-btn-outline {
		width:100%;
	}
	.egc-dynamic-perk-card__visual {
		height:165px;
	}
	.egc-dynamic-perk-card__body {
		padding:22px!important;
	}
	.egc-perk-code-row {
		align-items:stretch;
		flex-direction:column;
	}
	.egc-copy-code {
		width:100%;
	}
}


/* v1.10.9 Approved-to-paid activation workflow */
.egc-activation-notice {
	width:min(100%,980px);
	margin:0 auto 30px;
	padding:28px;
	background:#f7f1e5;
	border:1px solid #ddcfb7;
	border-left:4px solid #d9a43b;
}
.egc-activation-notice span {
	display:block;
	margin-bottom:8px;
	color:#b9821f;
	font-size:10px;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.egc-activation-notice h3 {
	margin:0 0 8px;
	color:#063d27;
	font-size:34px;
}
.egc-activation-notice p {
	margin:0;
	color:#68756f;
}


/* =========================================================
   v1.11.0 STATE-AWARE MEMBERSHIP ACTIONS
   ========================================================= */

.egc-native-plan-card {
	display:flex;
	flex-direction:column;
}

.egc-native-plan-card .egc-native-plan-description {
	flex:1;
}

.egc-plan-card-action {
	margin-top:auto;
	padding-top:22px;
}

.egc-plan-primary-action {
	display:flex!important;
	width:100%;
	min-height:48px;
	align-items:center;
	justify-content:center;
	text-align:center;
}

.egc-current-membership-badge {
	display:block;
	margin:-1px -1px 22px;
	padding:9px 12px;
	background:#d9a43b;
	color:#063d27;
	font-size:9px;
	font-weight:800;
	letter-spacing:.09em;
	text-transform:uppercase;
}

.egc-native-plan-card.is-current-plan {
	border-color:#d9a43b;
	box-shadow:0 16px 38px rgba(2,43,27,.08);
}

.egc-plan-no-action {
	display:block;
	min-height:46px;
	padding:13px 14px;
	background:#f4f1e9;
	border:1px solid #e2dacd;
	color:#68756f;
	font-size:11px;
	font-weight:700;
	text-align:center;
}

.egc-activation-actions {
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px!important;
}

.egc-activation-actions form,
.egc-activation-actions button {
	width:100%;
}

.egc-current-plan-status {
	display:block;
	padding:11px 13px;
	background:#edf6f0;
	border:1px solid #c8dfcf;
	color:#063d27;
	font-size:11px;
	font-weight:800;
	text-align:center;
}

@media(max-width:600px){
	.egc-activation-actions {
		grid-template-columns:1fr;
	}
}


/* v1.11.1 Membership card CTA buttons */
.egc-native-plan-card .egc-plan-primary-action.egc-btn-gold {
	display:flex!important;
	width:100%;
	min-height:48px;
	align-items:center;
	justify-content:center;
	padding:14px 22px!important;
	background:#c98700!important;
	border:1px solid #c98700!important;
	color:#fff!important;
	font-size:12px;
	font-weight:800;
	letter-spacing:.02em;
	line-height:1.2;
	text-align:center;
	text-decoration:none!important;
}

.egc-native-plan-card .egc-plan-primary-action.egc-btn-gold:hover {
	background:#a86f00!important;
	border-color:#a86f00!important;
	color:#fff!important;
	transform:translateY(-1px);
}


/* =========================================================
   v1.12.0 PUBLIC EVENTS LANDING PAGE
   ========================================================= */

.egc-events-landing {
	background:#fff;
	color:#26342c;
}

.egc-event-shell {
	width:min(1180px,calc(100% - 40px));
	margin-inline:auto;
}

.egc-events-landing__hero {
	position:relative;
	min-height:610px;
	display:flex;
	align-items:center;
	background:#003b22;
	background-size:cover;
	background-position:center;
	color:#fff;
}

.egc-events-landing__hero-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,40,23,.94) 0%,rgba(0,40,23,.76) 46%,rgba(0,40,23,.26) 100%);
}

.egc-events-landing__hero-content {
	position:relative;
	z-index:1;
	padding-block:110px;
}

.egc-events-landing__hero h1 {
	max-width:760px;
	margin:16px 0 22px;
	color:#fff;
	font-size:clamp(48px,6vw,82px);
}

.egc-events-landing__hero p {
	max-width:650px;
	margin:0;
	color:rgba(255,255,255,.82);
	font-size:18px;
}

.egc-events-landing__hero-actions {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:30px;
}

.egc-events-story {
	padding:100px 0;
	background:#f7f2e9;
}

.egc-events-story__heading {
	max-width:720px;
	margin-bottom:48px;
}

.egc-events-story__heading h2,
.egc-events-upcoming__heading h2,
.egc-events-membership-note h2 {
	margin:12px 0 16px;
	color:#003b22;
}

.egc-events-story__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	border:1px solid #ddd6ca;
	background:#fff;
}

.egc-events-story__grid article {
	padding:34px;
	border-right:1px solid #ddd6ca;
}

.egc-events-story__grid article:last-child {
	border-right:0;
}

.egc-events-story__grid article > span {
	color:#c98700;
	font-size:11px;
	font-weight:800;
	letter-spacing:.08em;
}

.egc-events-story__grid h3 {
	margin:18px 0 12px;
	font-size:29px;
}

.egc-events-story__grid p {
	margin:0;
	color:#68736d;
}

.egc-events-upcoming {
	padding:100px 0 115px;
	background:#fff;
}

.egc-events-upcoming__heading {
	display:flex;
	justify-content:space-between;
	gap:40px;
	align-items:flex-end;
	margin-bottom:34px;
}

.egc-events-upcoming__heading > div {
	max-width:750px;
}

.egc-events-upcoming__heading p {
	margin:0;
	color:#68736d;
}

.egc-events-upcoming__count {
	padding:8px 12px;
	border:1px solid #ddd6ca;
	color:#68736d;
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
}

.egc-events-landing-filter {
	display:grid;
	grid-template-columns:minmax(260px,1.5fr) minmax(180px,.8fr) minmax(180px,.8fr) auto auto;
	gap:10px;
	align-items:center;
	margin-bottom:38px;
	padding:16px;
	background:#f7f2e9;
	border:1px solid #ddd6ca;
}

.egc-events-landing-filter input,
.egc-events-landing-filter select {
	min-height:48px;
	margin:0;
}

.egc-events-landing-filter > a {
	padding:10px;
	font-size:12px;
	font-weight:700;
	text-align:center;
}

.egc-events-landing-featured {
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
	border:1px solid #ddd6ca;
	background:#fff;
}

.egc-events-landing-featured__media {
	min-height:390px;
	background:#003b22;
}

.egc-events-landing-featured__media img {
	width:100%;
	height:100%;
	min-height:390px;
	object-fit:cover;
	display:block;
}

.egc-events-landing-featured__placeholder {
	height:100%;
	min-height:390px;
	background:linear-gradient(135deg,#003b22,#0e5134);
}

.egc-events-landing-featured__content {
	padding:46px;
	align-self:center;
}

.egc-events-landing-featured__meta {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:20px;
}

.egc-events-landing-featured__meta span {
	padding:6px 9px;
	background:#f7f2e9;
	color:#9c6a0d;
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.08em;
}

.egc-events-landing-featured h3 {
	margin:0 0 16px;
	font-size:clamp(34px,4vw,50px);
}

.egc-events-landing-featured__date {
	color:#003b22;
	font-weight:700;
}

.egc-events-landing-featured__location {
	color:#68736d;
	font-size:14px;
}

.egc-events-landing-list {
	margin-top:22px;
	border-top:1px solid #ddd6ca;
}

.egc-events-landing-row {
	display:grid;
	grid-template-columns:80px minmax(0,1fr) auto 34px;
	gap:24px;
	align-items:center;
	padding:26px 0;
	border-bottom:1px solid #ddd6ca;
}

.egc-events-landing-row__date {
	display:grid;
	text-align:center;
	color:#003b22;
}

.egc-events-landing-row__date strong {
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:38px;
	line-height:1;
}

.egc-events-landing-row__date span {
	margin-top:4px;
	color:#c98700;
	font-size:10px;
	font-weight:800;
	text-transform:uppercase;
}

.egc-events-landing-row__eyebrow {
	color:#c98700;
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.08em;
}

.egc-events-landing-row h3 {
	margin:7px 0 5px;
	font-size:28px;
}

.egc-events-landing-row h3 a {
	color:#003b22;
	text-decoration:none;
}

.egc-events-landing-row p {
	margin:0;
	color:#68736d;
	font-size:13px;
}

.egc-events-landing-row__access {
	padding:7px 9px;
	background:#f7f2e9;
	color:#68736d;
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.06em;
}

.egc-events-landing-row__link {
	color:#c98700;
	font-size:24px;
	text-decoration:none;
}

.egc-events-membership-note {
	padding:84px 0;
	background:#003b22;
	color:#fff;
}

.egc-events-membership-note__inner {
	display:flex;
	justify-content:space-between;
	gap:50px;
	align-items:center;
}

.egc-events-membership-note h2 {
	color:#fff;
}

.egc-events-membership-note p {
	max-width:700px;
	margin:0;
	color:rgba(255,255,255,.74);
}

.egc-events-empty--landing {
	margin-top:0;
}

@media(max-width:900px){
	.egc-events-story__grid {
		grid-template-columns:1fr;
	}
	.egc-events-story__grid article {
		border-right:0;
		border-bottom:1px solid #ddd6ca;
	}
	.egc-events-story__grid article:last-child {
		border-bottom:0;
	}
	.egc-events-landing-filter {
		grid-template-columns:1fr 1fr;
	}
	.egc-events-landing-filter input {
		grid-column:1/-1;
	}
	.egc-events-landing-featured {
		grid-template-columns:1fr;
	}
	.egc-events-landing-featured__media,
	.egc-events-landing-featured__media img,
	.egc-events-landing-featured__placeholder {
		min-height:320px;
	}
}

@media(max-width:700px){
	.egc-event-shell {
		width:min(100% - 28px,1180px);
	}
	.egc-events-landing__hero {
		min-height:560px;
	}
	.egc-events-landing__hero-overlay {
		background:rgba(0,40,23,.78);
	}
	.egc-events-story,
	.egc-events-upcoming {
		padding:70px 0;
	}
	.egc-events-upcoming__heading,
	.egc-events-membership-note__inner {
		flex-direction:column;
		align-items:flex-start;
	}
	.egc-events-landing-filter {
		grid-template-columns:1fr;
	}
	.egc-events-landing-filter input {
		grid-column:auto;
	}
	.egc-events-landing-featured__content {
		padding:28px;
	}
	.egc-events-landing-row {
		grid-template-columns:56px minmax(0,1fr) 24px;
		gap:14px;
	}
	.egc-events-landing-row__access {
		display:none;
	}
	.egc-events-landing-row h3 {
		font-size:23px;
	}
}


/* =========================================================
   v1.12.1 EVENTS HTML + COMPACT SHORTCODE PAGE
   ========================================================= */

.egcx-events-page {
	background:#fff;
	color:#26342c;
}

.egcx-events-page .egcx-shell {
	width:min(1180px,calc(100% - 40px));
	margin-inline:auto;
}

.egcx-events-page .egcx-overline {
	display:flex;
	align-items:center;
	gap:12px;
	color:#c98700;
	font-size:10px;
	font-weight:800;
	letter-spacing:.16em;
	text-transform:uppercase;
}

.egcx-events-page .egcx-overline:before {
	content:"";
	width:34px;
	height:1px;
	background:currentColor;
}

.egcx-events-hero {
	position:relative;
	min-height:650px;
	display:flex;
	align-items:center;
	background-position:center;
	background-size:cover;
	color:#fff;
}

.egcx-events-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,40,23,.9),rgba(0,40,23,.62) 50%,rgba(0,40,23,.12));
}

.egcx-events-hero__inner,
.egcx-signature-event__inner {
	position:relative;
	z-index:1;
}

.egcx-events-hero h1 {
	max-width:720px;
	margin:20px 0;
	color:#fff;
	font-size:clamp(54px,6vw,84px);
	line-height:.98;
}

.egcx-events-hero h1 span {
	display:block;
	color:#e0a72f;
	font-style:italic;
	font-weight:500;
}

.egcx-events-hero p {
	max-width:610px;
	color:rgba(255,255,255,.82);
	font-size:17px;
}

.egcx-actions {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:28px;
}

.egcx-actions--center {
	justify-content:center;
}

.egcx-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:13px 22px;
	border:1px solid transparent;
	font-size:11px;
	font-weight:800;
	letter-spacing:.05em;
	text-decoration:none;
	text-transform:uppercase;
}

.egcx-btn--gold {
	background:#d9a23a;
	border-color:#d9a23a;
	color:#002817;
}

.egcx-btn--light {
	background:transparent;
	border-color:rgba(255,255,255,.65);
	color:#fff;
}

.egcx-events-intro,
.egcx-event-experiences,
.egcx-event-member-access {
	padding:100px 0;
}

.egcx-centered-heading {
	max-width:760px;
	margin:0 auto 48px;
	text-align:center;
}

.egcx-centered-heading .egcx-overline {
	justify-content:center;
}

.egcx-centered-heading h2 {
	margin:14px 0;
	font-size:clamp(40px,5vw,64px);
}

.egcx-centered-heading p {
	color:#68736d;
}

.egcx-events-intro {
	background:#f7f2e9;
}

.egcx-events-intro__split {
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:80px;
	align-items:start;
}

.egcx-events-intro__statement h3 {
	margin:0 0 20px;
	font-size:clamp(36px,4vw,54px);
}

.egcx-events-intro__statement p {
	color:#68736d;
}

.egcx-text-link {
	color:#003b22;
	font-size:11px;
	font-weight:800;
	letter-spacing:.05em;
	text-decoration:none;
	text-transform:uppercase;
}

.egcx-events-intro__points {
	border-top:1px solid #ddd6ca;
}

.egcx-events-intro__points > div {
	display:grid;
	grid-template-columns:52px 1fr;
	column-gap:20px;
	padding:24px 0;
	border-bottom:1px solid #ddd6ca;
}

.egcx-events-intro__points span {
	color:#c98700;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:24px;
}

.egcx-events-intro__points h4 {
	margin:0 0 8px;
	font-size:26px;
}

.egcx-events-intro__points p {
	grid-column:2;
	margin:0;
	color:#68736d;
}

.egcx-event-experiences {
	background:#fff;
}

.egcx-event-experience-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	border-top:1px solid #ddd6ca;
	border-left:1px solid #ddd6ca;
}

.egcx-event-experience-card {
	border-right:1px solid #ddd6ca;
	border-bottom:1px solid #ddd6ca;
	background:#fff;
}

.egcx-event-experience-card__image,
.egcx-event-experience-card__visual {
	height:230px;
	background-position:center;
	background-size:cover;
}

.egcx-event-experience-card__visual {
	display:flex;
	align-items:flex-end;
	padding:24px;
	background:linear-gradient(135deg,#003b22,#1b5b3d);
	color:#e0a72f;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:36px;
}

.egcx-event-experience-card__content {
	padding:28px;
}

.egcx-event-experience-card__content > span {
	color:#c98700;
	font-size:9px;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
}

.egcx-event-experience-card h3 {
	margin:13px 0 10px;
	font-size:29px;
}

.egcx-event-experience-card p {
	margin:0;
	color:#68736d;
}

.egcx-upcoming-events {
	padding:90px 0 30px;
	background:#003b22;
	color:#fff;
}

.egcx-centered-heading--light h2 {
	color:#fff;
}

.egcx-centered-heading--light p {
	color:rgba(255,255,255,.7);
}

/* Compact shortcode sits directly below the intro above. */
.egcx-upcoming-events + .wp-block-shortcode,
.egcx-events-page + .wp-block-shortcode {
	margin:0!important;
	background:#003b22;
}

.egc-events-compact {
	padding:0 0 90px;
	background:#003b22;
	color:#fff;
}

.egc-events-compact__grid {
	width:min(1180px,calc(100% - 40px));
	margin-inline:auto;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}

.egc-events-compact__card {
	min-height:255px;
	display:flex;
	flex-direction:column;
	padding:28px;
	border:1px solid rgba(255,255,255,.14);
	background:rgba(255,255,255,.035);
}

.egc-events-compact__topline {
	display:flex;
	justify-content:space-between;
	gap:12px;
	color:#d9a23a;
	font-size:9px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egc-events-compact__card h3 {
	margin:25px 0 14px;
	color:#fff;
	font-size:29px;
}

.egc-events-compact__date {
	margin:0 0 8px;
	color:#fff;
	font-size:13px;
	font-weight:700;
}

.egc-events-compact__place {
	margin:0;
	color:rgba(255,255,255,.62);
	font-size:12px;
}

.egc-events-compact__card a {
	margin-top:auto;
	padding-top:24px;
	color:#d9a23a;
	font-size:10px;
	font-weight:800;
	text-decoration:none;
	text-transform:uppercase;
}

.egc-events-compact__empty {
	width:min(1180px,calc(100% - 40px));
	margin-inline:auto;
	padding:50px;
	border:1px solid rgba(255,255,255,.14);
	text-align:center;
}

.egc-events-compact__empty h3 {
	color:#fff;
}

.egcx-signature-event {
	position:relative;
	min-height:500px;
	display:flex;
	align-items:center;
	background-position:center;
	background-size:cover;
	color:#fff;
	text-align:center;
}

.egcx-signature-event__inner {
	max-width:760px;
}

.egcx-signature-event .egcx-overline {
	justify-content:center;
}

.egcx-signature-event h2 {
	margin:18px 0;
	color:#fff;
	font-size:clamp(44px,5vw,68px);
}

.egcx-signature-event p {
	color:rgba(255,255,255,.78);
}

.egcx-event-member-access {
	background:#f7f2e9;
}

.egcx-event-member-access__inner {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:80px;
	align-items:center;
}

.egcx-event-member-access__inner h2 {
	margin:15px 0;
	font-size:clamp(40px,4vw,58px);
}

.egcx-event-member-access__benefits {
	border-top:1px solid #ddd6ca;
}

.egcx-event-member-access__benefits > div {
	display:grid;
	grid-template-columns:45px 1fr;
	gap:15px;
	padding:20px 0;
	border-bottom:1px solid #ddd6ca;
}

.egcx-event-member-access__benefits span {
	color:#c98700;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:24px;
}

.egcx-event-member-access__benefits p {
	margin:0;
	font-weight:700;
}

.egcx-event-cta {
	padding:100px 0;
	background:#003b22;
	color:#fff;
	text-align:center;
}

.egcx-event-cta .egcx-overline {
	justify-content:center;
}

.egcx-event-cta h2 {
	margin:18px 0;
	color:#fff;
	font-size:clamp(44px,5vw,68px);
}

.egcx-event-cta p {
	max-width:680px;
	margin-inline:auto;
	color:rgba(255,255,255,.72);
}

@media(max-width:900px){
	.egcx-events-intro__split,
	.egcx-event-member-access__inner {
		grid-template-columns:1fr;
		gap:45px;
	}
	.egcx-event-experience-grid,
	.egc-events-compact__grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:650px){
	.egcx-events-page .egcx-shell,
	.egc-events-compact__grid,
	.egc-events-compact__empty {
		width:min(100% - 28px,1180px);
	}
	.egcx-events-hero {
		min-height:610px;
	}
	.egcx-events-overlay {
		background:rgba(0,40,23,.72);
	}
	.egcx-events-intro,
	.egcx-event-experiences,
	.egcx-event-member-access,
	.egcx-event-cta {
		padding:70px 0;
	}
	.egcx-event-experience-grid,
	.egc-events-compact__grid {
		grid-template-columns:1fr;
	}
	.egcx-event-experience-card__image,
	.egcx-event-experience-card__visual {
		height:210px;
	}
	.egcx-actions {
		flex-direction:column;
		align-items:stretch;
	}
	.egcx-btn {
		width:100%;
	}
}


/* =========================================================
   v1.12.2 EVENTS PAGE SPACING NORMALIZATION
   Keeps Gutenberg/theme margins from creating oversized gaps.
   ========================================================= */

.egcx-events-page,
.egcx-events-page section,
.egcx-events-page .egcx-shell,
.egcx-events-page .egcx-centered-heading,
.egcx-events-page .egcx-events-intro__statement,
.egcx-events-page .egcx-event-member-access__inner,
.egcx-events-page .egcx-signature-event__inner,
.egcx-events-page .egcx-event-cta .egcx-shell {
	margin-top:0;
	margin-bottom:0;
}

.egcx-events-page h1,
.egcx-events-page h2,
.egcx-events-page h3,
.egcx-events-page h4,
.egcx-events-page p {
	margin-top:0;
}

.egcx-events-page .egcx-overline {
	margin:0 0 12px;
}

.egcx-events-page .egcx-centered-heading {
	max-width:760px;
	margin:0 auto 36px;
}

.egcx-events-page .egcx-centered-heading h2 {
	margin:0 0 14px;
}

.egcx-events-page .egcx-centered-heading p {
	margin:0 auto;
}

.egcx-events-page .egcx-events-hero h1 {
	margin:0 0 18px;
}

.egcx-events-page .egcx-events-hero p {
	margin:0;
}

.egcx-events-page .egcx-events-intro,
.egcx-events-page .egcx-event-experiences,
.egcx-events-page .egcx-event-member-access {
	padding-top:82px;
	padding-bottom:82px;
}

.egcx-events-page .egcx-events-intro__split {
	gap:58px;
}

.egcx-events-page .egcx-events-intro__statement h3 {
	margin:0 0 16px;
}

.egcx-events-page .egcx-events-intro__statement p {
	margin:0 0 18px;
}

.egcx-events-page .egcx-events-intro__points > div {
	padding-top:20px;
	padding-bottom:20px;
}

.egcx-events-page .egcx-event-experience-card h3 {
	margin:10px 0 8px;
}

.egcx-events-page .egcx-event-experience-card p {
	margin:0;
}

.egcx-events-page .egcx-upcoming-events {
	padding-top:74px;
	padding-bottom:26px;
}

.egcx-events-page .egcx-upcoming-events .egcx-centered-heading {
	margin-bottom:0;
}

.egcx-events-page .egcx-signature-event h2 {
	margin:0 0 14px;
}

.egcx-events-page .egcx-signature-event p {
	margin:0 0 20px;
}

.egcx-events-page .egcx-event-member-access__inner h2 {
	margin:0 0 14px;
}

.egcx-events-page .egcx-event-member-access__inner p {
	margin:0;
}

.egcx-events-page .egcx-event-cta {
	padding-top:82px;
	padding-bottom:82px;
}

.egcx-events-page .egcx-event-cta h2 {
	margin:0 0 14px;
}

.egcx-events-page .egcx-event-cta p {
	margin:0 auto;
}

/* Remove Gutenberg block spacing around the HTML + shortcode combination. */
.entry-content > .wp-block-html:has(.egcx-events-page),
.entry-content > .wp-block-shortcode:has(.egc-events-compact) {
	margin-top:0!important;
	margin-bottom:0!important;
}

.entry-content > .wp-block-shortcode:has(.egc-events-compact) {
	padding-top:0!important;
	padding-bottom:0!important;
}

.egc-events-compact {
	padding-top:0;
	padding-bottom:74px;
}

.egc-events-compact__card h3 {
	margin:20px 0 12px;
}

.egc-events-compact__card p {
	margin-top:0;
}

@media(max-width:900px){
	.egcx-events-page .egcx-events-intro,
	.egcx-events-page .egcx-event-experiences,
	.egcx-events-page .egcx-event-member-access,
	.egcx-events-page .egcx-event-cta {
		padding-top:68px;
		padding-bottom:68px;
	}
}

@media(max-width:650px){
	.egcx-events-page .egcx-centered-heading {
		margin-bottom:28px;
	}
	.egcx-events-page .egcx-events-intro,
	.egcx-events-page .egcx-event-experiences,
	.egcx-events-page .egcx-event-member-access,
	.egcx-events-page .egcx-event-cta {
		padding-top:58px;
		padding-bottom:58px;
	}
	.egcx-events-page .egcx-upcoming-events {
		padding-top:58px;
		padding-bottom:22px;
	}
	.egc-events-compact {
		padding-bottom:58px;
	}
}


/* =========================================================
   v1.12.4 MEMBERSHIP PLAN GRID WIDTH + CORNER BADGES
   ========================================================= */

/* Keep the live plan cards from stretching edge to edge. */
.egc-native-plan-grid {
	width:min(1040px,calc(100% - 40px));
	margin:0 auto 88px;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}

/* Make each card a positioning context for the corner stamp. */
.egc-native-plan-card {
	position:relative;
	overflow:hidden;
	padding-top:38px;
}

/* Small corner stamp instead of a full-width banner. */
.egc-current-membership-badge,
.egc-native-plan-featured {
	position:absolute;
	top:14px;
	right:14px;
	z-index:2;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:auto;
	max-width:calc(100% - 28px);
	margin:0;
	padding:7px 10px;
	border:1px solid rgba(0,59,34,.16);
	background:#dca536;
	color:#002817;
	font-size:8px;
	font-weight:800;
	line-height:1;
	letter-spacing:.09em;
	text-transform:uppercase;
	white-space:nowrap;
	box-shadow:none;
}

.egc-native-plan-card.is-featured .egc-native-plan-featured {
	background:#dca536;
	color:#002817;
}

.egc-native-plan-card.is-current-plan .egc-current-membership-badge {
	background:#f2dfad;
	color:#003b22;
	border-color:#d7bd79;
}

/* Preserve a balanced card rhythm after the narrower grid. */
.egc-native-plan-card h3 {
	padding-right:110px;
}

.egc-native-plan-card .egc-plan-card-action {
	margin-top:auto;
}

/* The shortcode block itself should not force a full-width card layout. */
.entry-content > .wp-block-shortcode:has(.egc-native-plan-grid) {
	margin-top:0!important;
	margin-bottom:0!important;
}

@media(max-width:900px){
	.egc-native-plan-grid {
		width:min(100% - 32px,1040px);
	}
}

@media(max-width:700px){
	.egc-native-plan-grid {
		grid-template-columns:1fr;
		width:min(100% - 28px,620px);
		margin-bottom:64px;
	}

	.egc-native-plan-card h3 {
		padding-right:0;
		padding-top:20px;
	}

	.egc-current-membership-badge,
	.egc-native-plan-featured {
		top:12px;
		right:12px;
	}
}


/* =========================================================
   v1.12.5 CHAPTER LISTING WIDTH
   ========================================================= */

.egc-dynamic-chapter-grid {
	width:min(1040px,calc(100% - 40px));
	margin:0 auto 88px;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}

.egc-dynamic-chapter-card {
	min-width:0;
}

.egc-dynamic-chapter-card__body {
	padding:26px 28px;
}

@media(max-width:900px){
	.egc-dynamic-chapter-grid {
		width:min(100% - 32px,1040px);
	}
}

@media(max-width:700px){
	.egc-dynamic-chapter-grid {
		width:min(100% - 28px,620px);
		grid-template-columns:1fr;
		margin-bottom:64px;
	}
}


/* v1.12.6 Contact form reCAPTCHA and notices */
.egcx-contact-recaptcha { margin:22px 0 18px; }
.egcx-contact-notice { margin:0 0 20px; padding:14px 16px; border:1px solid; font-size:14px; }
.egcx-contact-notice--success { border-color:#a9cbb8; background:#eef8f2; color:#165b36; }
.egcx-contact-notice--error { border-color:#d6a9a9; background:#fff2f2; color:#8b2828; }
.egcx-contact-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
@media(max-width:420px){ .egcx-contact-recaptcha { transform:scale(.88); transform-origin:left top; margin-bottom:0; } }


/* =========================================================
   v1.12.15 SPONSORSHIP LEVELS
   ========================================================= */

.egcx-sponsorship-levels-section {
	padding-top:90px;
	padding-bottom:96px;
}

.egcx-sponsorship-levels-section .egcx-section-heading {
	max-width:780px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:42px;
}

.egcx-sponsorship-levels-section .egcx-section-heading p {
	max-width:680px;
	margin-left:auto;
	margin-right:auto;
	color:rgba(255,255,255,.72);
}

.egcx-sponsorship-levels-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
	max-width:1080px;
	margin:0 auto;
}

.egcx-sponsorship-card {
	position:relative;
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:34px;
	border:1px solid rgba(255,255,255,.16);
	background:rgba(255,255,255,.045);
	color:#fff;
}

.egcx-sponsorship-card.is-featured {
	border-color:#dca536;
	background:rgba(255,255,255,.075);
}

.egcx-sponsorship-badge {
	position:absolute;
	top:18px;
	right:18px;
	display:inline-flex;
	padding:6px 9px;
	background:#dca536;
	color:#002817;
	font-size:8px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.egcx-sponsorship-kicker {
	display:block;
	margin-bottom:12px;
	color:#dca536;
	font-size:8px;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.egcx-sponsorship-card h3 {
	margin:0 0 12px;
	padding-right:90px;
	color:#fff;
	font-size:clamp(29px,3vw,39px);
	line-height:1.05;
}

.egcx-sponsorship-card__head p {
	margin:0;
	max-width:560px;
	color:rgba(255,255,255,.7);
	line-height:1.65;
}

.egcx-sponsorship-price {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:7px;
	margin:26px 0 25px;
	padding:18px 0;
	border-top:1px solid rgba(255,255,255,.12);
	border-bottom:1px solid rgba(255,255,255,.12);
}

.egcx-sponsorship-price > span {
	width:100%;
	color:#dca536;
	font-size:8px;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
}

.egcx-sponsorship-price strong {
	color:#fff;
	font-family:Georgia,serif;
	font-size:34px;
	font-weight:500;
}

.egcx-sponsorship-price small {
	color:rgba(255,255,255,.66);
	font-size:13px;
}

.egcx-sponsorship-benefits {
	flex:1;
}

.egcx-sponsorship-inheritance {
	display:block;
	margin-bottom:14px;
	color:#fff;
	font-size:13px;
}

.egcx-sponsorship-benefits ul {
	display:grid;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}

.egcx-sponsorship-benefits li {
	position:relative;
	padding-left:20px;
	color:rgba(255,255,255,.78);
	line-height:1.55;
}

.egcx-sponsorship-benefits li::before {
	content:"✓";
	position:absolute;
	left:0;
	top:0;
	color:#dca536;
	font-weight:800;
}

.egcx-sponsorship-button {
	align-self:flex-start;
	margin-top:28px;
}

.egcx-sponsorship-empty {
	max-width:820px;
	margin:0 auto;
	padding:32px;
	border:1px solid rgba(255,255,255,.16);
	text-align:center;
	color:rgba(255,255,255,.75);
}

@media(max-width:820px){
	.egcx-sponsorship-levels-grid {
		grid-template-columns:1fr;
	}

	.egcx-sponsorship-card h3 {
		padding-right:0;
	}

	.egcx-sponsorship-badge {
		position:static;
		align-self:flex-start;
		margin-bottom:18px;
	}
}

@media(max-width:560px){
	.egcx-sponsorship-card {
		padding:26px 22px;
	}

	.egcx-sponsorship-button {
		width:100%;
		justify-content:center;
	}
}


/* =========================================================
   v1.12.16 MEMBERSHIP PLAN CARD POLISH
   ========================================================= */

/* Keep the plan intro compact so the price feels connected to the description. */
.egc-native-plan-card > h3 {
	margin-bottom:8px;
}

.egc-native-plan-card > h3 + p {
	margin:0 0 10px;
	line-height:1.55;
}

/* Previous 18px top/bottom margin made the rate block feel detached. */
.egc-native-plan-prices {
	margin:10px 0 16px;
	gap:18px;
}

/* Slightly reduce the visual jump before benefits. */
.egc-native-plan-description {
	margin-bottom:14px;
}

.egc-native-plan-description > :first-child {
	margin-top:0;
}

/* Compact corner-style featured/custom badge. */
.egc-native-plan-featured {
	position:absolute;
	top:12px;
	right:12px;
	z-index:2;
	margin:0;
	padding:6px 9px;
	max-width:46%;
	background:#d9a23a;
	color:#002817!important;
	font-size:8px;
	font-weight:800;
	line-height:1.1;
	letter-spacing:.08em;
	text-transform:uppercase;
	text-align:center;
}

/* Leave room for the badge without pushing all card content downward. */
.egc-native-plan-card:not(.is-current-plan) > h3 {
	padding-right:110px;
}

/* Current Plan keeps its own full-width status treatment. */
.egc-native-plan-card.is-current-plan > h3 {
	padding-right:0;
}

@media(max-width:560px){
	.egc-native-plan-featured {
		position:static;
		display:inline-flex;
		max-width:100%;
		margin-bottom:12px;
	}

	.egc-native-plan-card:not(.is-current-plan) > h3 {
		padding-right:0;
	}
}


/* =========================================================
   v1.12.17 ALL EVENTS DIRECTORY
   Shortcode: [egc_all_events]
   ========================================================= */

.egc-all-events {
	background:#fff;
	color:#26342c;
}

.egc-all-events__intro {
	padding:78px 0 72px;
	background:linear-gradient(135deg,#002817 0%,#003b22 70%,#0b4b31 100%);
	color:#fff;
}

.egc-all-events__intro-grid {
	display:grid;
	grid-template-columns:minmax(0,1.5fr) auto;
	align-items:end;
	gap:44px;
}

.egc-all-events__intro h1 {
	max-width:720px;
	margin:12px 0 18px;
	color:#fff;
	font-size:clamp(46px,5.5vw,72px);
	line-height:1.03;
}

.egc-all-events__intro p {
	max-width:720px;
	margin:0;
	color:rgba(255,255,255,.76);
	font-size:16px;
	line-height:1.7;
}

.egc-all-events__intro-actions {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:10px;
}

.egc-all-events__directory {
	padding:78px 0 90px;
	background:#fff;
}

.egc-all-events__heading {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:30px;
	margin-bottom:30px;
}

.egc-all-events__heading h2 {
	margin:10px 0 0;
	color:#003b22;
	font-size:clamp(38px,4.5vw,58px);
	line-height:1.05;
}

.egc-all-events__result-count {
	display:flex;
	align-items:baseline;
	gap:7px;
	padding-bottom:6px;
	color:#68736d;
}

.egc-all-events__result-count strong {
	color:#003b22;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:34px;
	line-height:1;
}

.egc-all-events-filter {
	display:grid;
	grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(145px,1fr)) auto;
	align-items:end;
	gap:10px;
	margin-bottom:38px;
	padding:18px;
	background:#f7f2e9;
	border:1px solid #ddd6ca;
}

.egc-all-events-filter > div {
	min-width:0;
}

.egc-all-events-filter label {
	display:block;
	margin-bottom:7px;
	color:#68736d;
	font-size:9px;
	font-weight:800;
	letter-spacing:.09em;
	text-transform:uppercase;
}

.egc-all-events-filter input,
.egc-all-events-filter select {
	width:100%;
	min-height:48px;
	padding:11px 13px;
	background:#fff;
	border:1px solid #d9d2c7;
	color:#26342c;
}

.egc-all-events-filter__actions {
	display:flex;
	align-items:center;
	gap:10px;
}

.egc-all-events-filter__actions .egc-btn {
	white-space:nowrap;
	min-height:48px;
}

.egc-all-events-filter__actions > a {
	color:#356f98;
	font-size:12px;
}

.egc-all-events__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
}

.egc-all-events__grid .egc-dynamic-event-card {
	display:flex;
	flex-direction:column;
	height:100%;
	box-shadow:0 10px 30px rgba(0,40,23,.045);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.egc-all-events__grid .egc-dynamic-event-card:hover {
	transform:translateY(-3px);
	border-color:rgba(217,162,58,.65);
	box-shadow:0 16px 36px rgba(0,40,23,.09);
}

.egc-all-events__grid .egc-dynamic-event-card__media {
	position:relative;
	min-height:220px;
	background:#e9eee9;
	overflow:hidden;
}

.egc-all-events__grid .egc-dynamic-event-card__media img {
	display:block;
	width:100%;
	height:220px;
	object-fit:cover;
}

.egc-dynamic-event-card__placeholder {
	width:100%;
	height:220px;
	background:
		linear-gradient(135deg,rgba(0,59,34,.92),rgba(0,40,23,.98));
}

.egc-dynamic-event-card__date {
	position:absolute;
	left:16px;
	top:16px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:54px;
	height:58px;
	background:#fff;
	color:#003b22;
	border:1px solid rgba(0,0,0,.06);
}

.egc-dynamic-event-card__date strong {
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:26px;
	line-height:.9;
}

.egc-dynamic-event-card__date span {
	margin-top:4px;
	color:#b9821f;
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
}

.egc-dynamic-event-card__type {
	position:absolute;
	right:14px;
	top:16px;
	padding:7px 9px;
	background:#d9a23a;
	color:#002817;
	font-size:8px;
	font-weight:800;
	letter-spacing:.07em;
	text-transform:uppercase;
}

.egc-all-events__grid .egc-dynamic-event-card__body {
	display:flex;
	flex:1;
	flex-direction:column;
	padding:24px;
}

.egc-all-events__grid .egc-dynamic-event-card__body h3 {
	margin:4px 0 12px;
	color:#003b22;
	font-size:26px;
	line-height:1.12;
}

.egc-dynamic-event-card__schedule {
	display:flex;
	flex-wrap:wrap;
	gap:6px 14px;
	margin-bottom:10px;
	color:#26342c;
	font-size:12px;
	font-weight:700;
}

.egc-dynamic-event-card__location,
.egc-dynamic-event-card__summary {
	color:#68736d;
	font-size:13px;
	line-height:1.55;
}

.egc-dynamic-event-card__summary {
	margin-top:12px;
}

.egc-dynamic-event-card__pricing {
	display:flex;
	flex-wrap:wrap;
	gap:22px;
	margin-top:auto;
	padding-top:18px;
}

.egc-dynamic-event-card__pricing span {
	display:flex;
	flex-direction:column;
}

.egc-dynamic-event-card__pricing small {
	color:#68736d;
	font-size:9px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.egc-dynamic-event-card__pricing strong {
	color:#003b22;
	font-size:13px;
}

.egc-all-events-pagination {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:6px;
	margin-top:42px;
}

.egc-all-events-pagination .page-numbers {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:42px;
	min-height:42px;
	padding:8px 12px;
	border:1px solid #ddd6ca;
	background:#fff;
	color:#003b22;
	text-decoration:none;
}

.egc-all-events-pagination .page-numbers.current,
.egc-all-events-pagination .page-numbers:hover {
	background:#003b22;
	border-color:#003b22;
	color:#fff;
}

.egc-all-events__empty {
	padding:56px 30px;
	border:1px solid #ddd6ca;
	background:#faf7f1;
	text-align:center;
}

.egc-all-events__empty h3 {
	margin:10px 0;
	color:#003b22;
	font-size:34px;
}

.egc-all-events__empty p {
	max-width:620px;
	margin:0 auto 22px;
	color:#68736d;
}

.egc-all-events__access {
	padding:70px 0;
	background:#f7f2e9;
}

.egc-all-events__access-grid {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:70px;
	align-items:center;
}

.egc-all-events__access h2 {
	max-width:560px;
	margin:10px 0 0;
	color:#003b22;
	font-size:clamp(38px,4.4vw,58px);
	line-height:1.05;
}

.egc-all-events__access p {
	margin:0 0 22px;
	color:#53625a;
	line-height:1.7;
}

@media(max-width:1050px){
	.egc-all-events-filter {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.egc-all-events-filter__search {
		grid-column:1 / -1;
	}

	.egc-all-events-filter__actions {
		grid-column:1 / -1;
	}

	.egc-all-events__grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:760px){
	.egc-all-events__intro {
		padding:58px 0;
	}

	.egc-all-events__intro-grid,
	.egc-all-events__access-grid {
		grid-template-columns:1fr;
		gap:28px;
	}

	.egc-all-events__intro-actions {
		justify-content:flex-start;
	}

	.egc-all-events__heading {
		align-items:flex-start;
		flex-direction:column;
	}

	.egc-all-events-filter,
	.egc-all-events__grid {
		grid-template-columns:1fr;
	}

	.egc-all-events-filter__search,
	.egc-all-events-filter__actions {
		grid-column:auto;
	}

	.egc-all-events-filter__actions {
		align-items:stretch;
		flex-direction:column;
	}

	.egc-all-events-filter__actions .egc-btn {
		width:100%;
		justify-content:center;
	}
}


/* =========================================================
   v1.12.18 ALL EVENTS DIRECTORY REFINEMENT
   ========================================================= */

.egc-all-events__intro {
	padding:56px 0 34px;
	background:#fff;
	color:#26342c;
	border-bottom:0;
}

.egc-all-events__intro .egc-event-shell {
	max-width:1180px;
}

.egc-all-events__intro .egc-events-kicker {
	color:#d9a23a;
}

.egc-all-events__intro h1 {
	max-width:760px;
	margin:10px 0 14px;
	color:#003b22;
	font-size:clamp(42px,5vw,62px);
	line-height:1.02;
}

.egc-all-events__intro p {
	max-width:680px;
	margin:0;
	color:#68736d;
	font-size:15px;
	line-height:1.7;
}

.egc-all-events__directory {
	padding:22px 0 78px;
}

.egc-all-events__directory .egc-event-shell {
	max-width:1180px;
}

.egc-all-events__heading {
	margin-bottom:24px;
	padding-top:4px;
}

.egc-all-events__heading h2 {
	font-size:clamp(34px,4vw,50px);
}

.egc-all-events__result-count {
	padding:8px 0 0;
}

.egc-all-events-filter {
	grid-template-columns:minmax(260px,1.8fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(145px,.8fr) auto;
	gap:12px;
	margin-bottom:30px;
	padding:16px;
	background:#f7f2e9;
}

.egc-all-events-filter input,
.egc-all-events-filter select {
	min-height:46px;
}

.egc-all-events__grid {
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
}

.egc-all-events__grid .egc-dynamic-event-card {
	border:1px solid #ddd6ca;
	background:#fff;
	box-shadow:none;
}

.egc-all-events__grid .egc-dynamic-event-card:hover {
	transform:translateY(-2px);
	box-shadow:0 12px 28px rgba(0,40,23,.07);
}

.egc-all-events__grid .egc-dynamic-event-card__media,
.egc-all-events__grid .egc-dynamic-event-card__media img,
.egc-dynamic-event-card__placeholder {
	height:190px;
	min-height:190px;
}

.egc-all-events__grid .egc-dynamic-event-card__body {
	padding:22px;
}

.egc-all-events__grid .egc-dynamic-event-card__body h3 {
	font-size:24px;
	margin:4px 0 10px;
}

.egc-dynamic-event-card__summary {
	margin-top:10px;
}

.egc-dynamic-event-card__pricing {
	padding-top:14px;
}

.egc-event-card__actions {
	margin-top:18px;
}

.egc-event-card__actions a,
.egc-event-card__actions .egc-event-registered {
	min-height:38px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.egc-event-card__meta {
	display:flex;
	flex-wrap:wrap;
	gap:7px 10px;
	margin-bottom:8px;
	color:#b9821f;
	font-size:9px;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
}

.egc-dynamic-event-card__type {
	right:12px;
	top:12px;
	padding:6px 8px;
	font-size:7px;
}

.egc-dynamic-event-card__date {
	left:12px;
	top:12px;
	width:50px;
	height:54px;
}

.egc-all-events__access {
	display:none !important;
}

@media(max-width:1050px){
	.egc-all-events-filter {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.egc-all-events__grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:760px){
	.egc-all-events__intro {
		padding:42px 0 24px;
	}
	.egc-all-events__directory {
		padding-top:14px;
	}
	.egc-all-events-filter,
	.egc-all-events__grid {
		grid-template-columns:1fr;
	}
}


/* =========================================================
   v1.12.19 ALL EVENTS DIRECTORY — SIMPLIFIED HEADER & BUTTONS
   ========================================================= */

/* The directory itself is now the page content — no separate intro section. */
.egc-all-events__directory {
	padding:58px 0 82px;
}

.egc-all-events__heading {
	align-items:flex-end;
	margin-bottom:26px;
}

.egc-all-events__heading > div:first-child {
	max-width:760px;
}

.egc-all-events__heading h2 {
	margin:10px 0 10px;
	font-size:clamp(38px,4.5vw,54px);
	line-height:1.04;
}

.egc-all-events__heading-copy {
	max-width:660px;
	margin:0;
	color:#68736d;
	font-size:14px;
	line-height:1.65;
}

.egc-all-events__result-count {
	align-self:flex-end;
	padding-bottom:7px;
}

/* Event actions match the solid gold/brown buttons used in EGC plan cards. */
.egc-event-card__actions {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:18px;
	padding-top:0;
}

.egc-event-action-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:40px;
	padding:10px 16px;
	background:#c98a00;
	border:1px solid #c98a00;
	color:#fff !important;
	font-size:9px;
	font-weight:800;
	line-height:1;
	letter-spacing:.035em;
	text-decoration:none !important;
	text-transform:uppercase;
	transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

.egc-event-action-button:hover {
	background:#003b22;
	border-color:#003b22;
	color:#fff !important;
	transform:translateY(-1px);
}

/* Registered is a status, but visually uses the same button language. */
.egc-event-action-button--registered {
	cursor:default;
	background:#003b22;
	border-color:#003b22;
	color:#fff !important;
}

.egc-event-action-button--registered:hover {
	background:#003b22;
	border-color:#003b22;
	transform:none;
}

/* Make the cards slightly tighter now that actions are more prominent. */
.egc-all-events__grid .egc-dynamic-event-card__body {
	padding:20px 20px 18px;
}

.egc-dynamic-event-card__pricing {
	margin-top:auto;
	padding-top:12px;
}

@media(max-width:760px){
	.egc-all-events__directory {
		padding:38px 0 60px;
	}

	.egc-all-events__heading {
		align-items:flex-start;
	}

	.egc-event-card__actions {
		display:grid;
		grid-template-columns:1fr;
	}

	.egc-event-action-button {
		width:100%;
	}
}


/* =========================================================
   v1.12.20 ALL EVENTS DIRECTORY CLEANUP
   ========================================================= */

.egc-all-events__heading {
	display:block;
	margin-bottom:24px;
}

.egc-all-events__heading h2 {
	margin-top:0;
}

.egc-all-events__result-count {
	display:none !important;
}


/* =========================================================
   v1.12.23 MEMBER PERKS PAGINATION
   ========================================================= */

.egc-perks-pagination {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:6px;
	margin-top:42px;
}

.egc-perks-pagination .page-numbers {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:42px;
	min-height:42px;
	padding:8px 12px;
	border:1px solid #ddd6ca;
	background:#fff;
	color:#003b22 !important;
	text-decoration:none !important;
}

.egc-perks-pagination .page-numbers.current,
.egc-perks-pagination .page-numbers:hover,
.egc-perks-pagination .page-numbers:focus {
	background:#003b22;
	border-color:#003b22;
	color:#fff !important;
}


/* =========================================================
   v1.12.32 MEMBER REFERRALS + PORTAL RETURN NAVIGATION
   ========================================================= */

.egc-portal-back-row {
	display: flex;
	align-items: center;
	margin: 0 0 20px;
}

.egc-portal-back-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	border: 1px solid #0e4b37;
	color: #0e4b37;
	background: transparent;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none !important;
}

.egc-portal-back-link:hover,
.egc-portal-back-link:focus {
	color: #0e4b37;
	background: transparent;
	border-color: #d79b22;
	text-decoration: none !important;
}

.egc-events-landing__hero .egc-portal-back-row {
	margin-bottom: 18px;
}

.egc-events-landing__hero .egc-portal-back-link {
	color: #fff;
	border-color: rgba(255,255,255,.55);
}

.egc-events-landing__hero .egc-portal-back-link:hover,
.egc-events-landing__hero .egc-portal-back-link:focus {
	color: #fff;
	border-color: #dca62e;
	background: transparent;
}

.egc-single-event__back-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin-bottom: 18px;
}

.egc-single-event__back-links .egc-single-event__back {
	margin: 0;
}

.egc-portal-referral-panel .egc-portal-eyebrow {
	display: block;
	margin-bottom: 8px;
}

.egc-referral-quick {
	margin-top: 16px;
}

.egc-referral-quick > summary {
	list-style: none;
	cursor: pointer;
	width: fit-content;
}

.egc-referral-quick > summary::-webkit-details-marker {
	display: none;
}

.egc-referral-quick[open] > summary {
	margin-bottom: 16px;
}

.egc-referral-quick__body {
	padding-top: 2px;
}

.egc-member-referrals {
	max-width: 1180px;
	margin: 0 auto;
}

.egc-referral-heading {
	max-width: 760px;
	margin-bottom: 28px;
}

.egc-referral-heading h2 {
	margin: 8px 0 10px;
}

.egc-referral-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
	gap: 24px;
	align-items: start;
}

.egc-referral-form-card,
.egc-referral-history-card {
	border: 1px solid #ded8cb;
	background: #fff;
	padding: 26px;
}

.egc-referral-form-card h3,
.egc-referral-history-card h3 {
	margin-top: 0;
}

.egc-referral-member-note {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: baseline;
	padding: 12px 14px;
	margin-bottom: 18px;
	background: #f5f1e8;
	border-left: 3px solid #d79b22;
}

.egc-referral-member-note span,
.egc-referral-member-note small {
	font-size: 12px;
	color: #6a6a64;
}

.egc-referral-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.egc-referral-fields label {
	display: flex;
	flex-direction: column;
	gap: 7px;
	font-size: 12px;
	font-weight: 700;
	color: #173f33;
}

.egc-referral-fields input[type="text"],
.egc-referral-fields input[type="email"],
.egc-referral-fields input[type="tel"],
.egc-referral-fields textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #d8d3c8;
	background: #fff;
	padding: 11px 12px;
	font: inherit;
	font-weight: 400;
	color: #222;
}

.egc-referral-fields textarea {
	resize: vertical;
}

.egc-referral-full {
	grid-column: 1 / -1;
}

.egc-referral-consent {
	flex-direction: row !important;
	align-items: flex-start;
	gap: 9px !important;
	font-weight: 400 !important;
	line-height: 1.45;
}

.egc-referral-consent input {
	margin-top: 3px;
}

.egc-referral-form > .egc-btn {
	margin-top: 18px;
}

.egc-referral-form.is-compact .egc-referral-fields {
	grid-template-columns: 1fr;
}

.egc-referral-form.is-compact .egc-referral-full {
	grid-column: auto;
}

.egc-referral-history {
	display: flex;
	flex-direction: column;
}

.egc-referral-history__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid #ece7dd;
}

.egc-referral-history__item:first-child {
	padding-top: 4px;
}

.egc-referral-history__item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.egc-referral-history__item strong,
.egc-referral-history__item small {
	display: block;
}

.egc-referral-history__item small {
	margin-top: 3px;
	color: #777;
}

.egc-referral-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 8px;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	background: #f5f1e8;
	color: #204d3d;
	white-space: nowrap;
}

.egc-referral-status.is-converted {
	background: #e8f5ec;
	color: #176432;
}

.egc-referral-status.is-contacted,
.egc-referral-status.is-in_progress {
	background: #fff5d8;
	color: #7a5510;
}

.egc-referral-status.is-closed {
	background: #eee;
	color: #555;
}

.egc-referral-notice {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 13px 16px;
	margin: 0 0 20px;
	border-left: 3px solid #176432;
	background: #eef8f1;
}

.egc-referral-notice.is-error {
	border-left-color: #a43c31;
	background: #fbefed;
}

@media (max-width: 760px) {
	.egc-referral-layout,
	.egc-referral-fields {
		grid-template-columns: 1fr;
	}

	.egc-referral-full {
		grid-column: auto;
	}

	.egc-referral-form-card,
	.egc-referral-history-card {
		padding: 20px;
	}
}


/* =========================================================
   v1.12.33 MEMBER DIRECTORY PORTAL RETURN PLACEMENT
   ========================================================= */

.egc-member-directory > .egc-portal-back-row {
	margin: 0 0 18px;
}

.egc-member-directory > .egc-portal-back-row .egc-portal-back-link {
	margin: 0;
}


/* =========================================================
   v1.12.34 BILLING PAGE PORTAL RETURN ALIGNMENT
   ========================================================= */

.egc-member-billing-shell {
	width: min(calc(100% - 40px), 1080px);
	margin-left: auto;
	margin-right: auto;
}

.egc-member-billing-shell > .egc-portal-back-row {
	margin: 0 0 20px;
}

.egc-member-billing-shell > .egc-member-billing-card {
	width: 100%;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
}

@media (max-width: 767px) {
	.egc-member-billing-shell {
		width: min(calc(100% - 28px), 1080px);
	}
}


/* =========================================================
   v1.12.35 MEMBERSHIP BENEFITS IN MEMBER PORTAL
   ========================================================= */

.egc-portal-overview-card__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-top: 8px;
}

.egc-portal-overview-card__links > a,
.egc-portal-text-link {
	display: inline;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	color: #2f66c3;
	font: inherit;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}

.egc-portal-overview-card__links > a:hover,
.egc-portal-overview-card__links > a:focus,
.egc-portal-text-link:hover,
.egc-portal-text-link:focus {
	color: #2f66c3;
	text-decoration: underline;
	outline: none;
}

.egc-membership-benefits-modal__dialog {
	width: min(calc(100% - 32px), 720px);
	max-height: min(82vh, 760px);
	overflow-y: auto;
	padding: 34px;
}

.egc-membership-benefits-modal__dialog h2 {
	margin: 7px 42px 8px 0;
	color: #003b22;
	font-size: clamp(34px, 5vw, 50px);
	line-height: 1.05;
}

.egc-membership-benefits-modal__intro {
	margin: 0 0 24px;
	color: #69736d;
	font-size: 15px;
	line-height: 1.65;
}

.egc-membership-benefits-modal__content {
	padding-top: 20px;
	border-top: 1px solid #e4ded2;
	color: #26342c;
	font-size: 15px;
	line-height: 1.7;
}

.egc-membership-benefits-modal__content h2,
.egc-membership-benefits-modal__content h3,
.egc-membership-benefits-modal__content h4 {
	color: #003b22;
}

.egc-membership-benefits-modal__content ul,
.egc-membership-benefits-modal__content ol {
	margin: 14px 0 20px 22px;
}

.egc-membership-benefits-modal__content li {
	margin-bottom: 8px;
}

.egc-membership-benefits-modal__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: flex-end;
	margin-top: 26px;
	padding-top: 20px;
	border-top: 1px solid #e4ded2;
}

@media (max-width: 600px) {
	.egc-membership-benefits-modal__dialog {
		padding: 24px 20px;
	}

	.egc-membership-benefits-modal__footer {
		justify-content: stretch;
	}

	.egc-membership-benefits-modal__footer .egc-btn,
	.egc-membership-benefits-modal__footer .egc-btn-outline {
		flex: 1 1 auto;
		text-align: center;
	}
}


/* =========================================================
   v1.12.36 PORTAL MODAL + REFERRAL BUTTON REFINEMENTS
   ========================================================= */

/* Membership benefits modal: reduce excess whitespace and keep the
   plan details readable without the oversized vertical gaps. */
.egc-membership-benefits-modal__dialog {
	width: min(calc(100% - 32px), 680px);
	max-height: min(78vh, 690px);
	margin: 7vh auto;
	padding: 24px 28px 26px;
	box-sizing: border-box;
}

.egc-membership-benefits-modal__dialog > .egc-portal-eyebrow {
	margin: 0 0 6px !important;
	line-height: 1.2;
}

.egc-membership-benefits-modal__dialog h2 {
	margin: 4px 42px 10px 0 !important;
	padding: 0 !important;
	font-size: clamp(32px, 4.2vw, 44px);
	line-height: 1.02;
}

.egc-membership-benefits-modal__intro {
	margin: 0 0 16px !important;
	font-size: 14px;
	line-height: 1.55;
}

.egc-membership-benefits-modal__content {
	padding-top: 14px;
	font-size: 14px;
	line-height: 1.58;
}

.egc-membership-benefits-modal__content > :first-child {
	margin-top: 0 !important;
}

.egc-membership-benefits-modal__content > :last-child {
	margin-bottom: 0 !important;
}

.egc-membership-benefits-modal__content ul,
.egc-membership-benefits-modal__content ol {
	margin-top: 10px;
	margin-bottom: 14px;
}

.egc-membership-benefits-modal__content li {
	margin-bottom: 5px;
}

.egc-membership-benefits-modal__footer {
	margin-top: 18px;
	padding-top: 16px;
}

/* The compact portal referral trigger should look exactly like the
   Contact Support action rather than like a filled primary button. */
.egc-portal-referral-panel .egc-referral-quick > summary.egc-btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	box-sizing: border-box;
	text-decoration: none;
}

.egc-portal-referral-panel .egc-referral-quick > summary.egc-btn-outline:hover,
.egc-portal-referral-panel .egc-referral-quick > summary.egc-btn-outline:focus {
	text-decoration: none;
}

@media (max-width: 600px) {
	.egc-membership-benefits-modal__dialog {
		width: calc(100% - 24px);
		max-height: 86vh;
		margin: 5vh auto;
		padding: 20px 18px 22px;
	}

	.egc-membership-benefits-modal__dialog h2 {
		font-size: 34px;
	}
}


/* =========================================================
   v1.12.37 MEMBERSHIP CARD LINK CONSISTENCY
   ========================================================= */

.egc-portal-overview-card > .egc-portal-text-link {
	display: block;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	color: #2f66c3;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: inherit;
	letter-spacing: .05em;
	text-align: left;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.egc-portal-overview-card > .egc-portal-text-link:hover,
.egc-portal-overview-card > .egc-portal-text-link:focus {
	color: #2f66c3;
	text-decoration: none;
	outline: none;
}


/* =========================================================
   v1.12.38 INDIVIDUAL MEMBER PROFILE SIMPLIFICATION
   ========================================================= */

/*
 * Individual profiles no longer repeat the directory landing-page hero
 * and directory introduction. The profile becomes the focus immediately.
 */
.egc-directory-profile-page-shell {
	background: #fff;
	padding: 54px 0 88px;
}

.egc-directory-profile-page-shell .egc-directory-profile {
	padding-bottom: 0;
}

.egc-directory-profile__return-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 20px;
	margin: 0 0 18px;
}

.egc-directory-profile__return-nav .egc-directory-back {
	margin: 0;
}

.egc-directory-back--portal {
	padding-left: 18px;
	border-left: 1px solid #d9d3c7;
}

@media (max-width: 600px) {
	.egc-directory-profile-page-shell {
		padding: 34px 0 62px;
	}

	.egc-directory-profile__return-nav {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.egc-directory-back--portal {
		padding-left: 0;
		border-left: 0;
	}
}


/* =========================================================
   v1.12.39 COMPLETED ONBOARDING STATE
   ========================================================= */

.egc-portal-overview-card.is-complete {
	background: #f7fbf8;
	border-color: #bfd8ca;
}

.egc-portal-card-note {
	display: block;
	margin-top: 3px;
	color: #5e7468 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.egc-onboarding-complete {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	padding: 22px 24px;
	background: #f2f9f5;
	border: 1px solid #b9d8c6;
}

.egc-onboarding-complete__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #0b5136;
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
}

.egc-onboarding-complete__content .egc-portal-eyebrow {
	display: block;
	margin: 1px 0 5px;
	color: #b77d0b;
}

.egc-onboarding-complete__content h4 {
	margin: 0 0 7px;
	color: #003b22;
	font-size: 25px;
	line-height: 1.15;
}

.egc-onboarding-complete__content p {
	max-width: 760px;
	margin: 0 0 7px;
	color: #40564a;
	line-height: 1.6;
}

.egc-onboarding-complete__content small {
	display: block;
	color: #68776f;
	line-height: 1.5;
}

@media (max-width: 600px) {
	.egc-onboarding-complete {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.egc-onboarding-complete__icon {
		width: 42px;
		height: 42px;
		font-size: 21px;
	}
}


/* =========================================================
   v1.12.40 EMAIL TWO-STEP VERIFICATION
   ========================================================= */

.egc-two-factor-login .egc-frontend-login__panel {
	max-width: 560px;
}

.egc-two-factor-login .egc-frontend-login__panel > p strong {
	color: #003b22;
}

.egc-two-factor-code {
	font-size: 28px !important;
	font-weight: 800 !important;
	letter-spacing: .24em !important;
	text-align: center;
}

.egc-two-factor-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-size: 12px;
}

.egc-two-factor-actions form {
	margin: 0;
}

.egc-two-factor-actions a,
.egc-two-factor-text-button {
	padding: 0;
	border: 0;
	background: transparent;
	color: #003b22;
	font: inherit;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.egc-two-factor-help {
	margin-top: 18px !important;
	padding-top: 14px;
	border-top: 1px solid #e4ded2;
	color: #6a746f !important;
	font-size: 12px !important;
}

.egc-security-section-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.egc-security-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 7px 10px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.egc-security-status.is-enabled {
	background: #e6f5eb;
	color: #176432;
}

.egc-security-status.is-disabled {
	background: #eee;
	color: #666;
}

.egc-security-advisory,
.egc-security-required-note {
	display: grid;
	gap: 4px;
	padding: 15px 17px;
	margin-bottom: 20px;
	border-left: 3px solid #d69d28;
	background: #fff7df;
	color: #614d19;
}

.egc-security-required-note {
	border-left-color: #0b5136;
	background: #eef8f2;
	color: #244e3a;
}

.egc-security-required-note p {
	margin: 0;
}

.egc-security-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0 22px;
}

.egc-security-facts > div {
	padding: 15px;
	border: 1px solid #e0e7e2;
	background: #f7faf8;
}

.egc-security-facts span,
.egc-security-facts strong {
	display: block;
}

.egc-security-facts span {
	margin-bottom: 5px;
	color: #68736d;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.egc-security-facts strong {
	color: #003b22;
}

.egc-security-inline-form {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 12px;
	margin-top: 18px;
}

.egc-security-inline-form label {
	display: grid;
	gap: 7px;
	min-width: 260px;
}

.egc-security-inline-form input {
	min-height: 42px;
	padding: 10px 12px;
	border: 1px solid #ddd6ca;
}

.egc-security-tools {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #e4ded2;
}

.egc-security-tools form {
	margin: 0;
}

.egc-recovery-codes-box {
	margin-top: 22px;
	padding: 20px;
	border: 1px solid #d8c17a;
	background: #fffaf0;
}

.egc-recovery-codes-box p {
	margin: 5px 0 0;
}

.egc-recovery-codes-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 16px;
}

.egc-recovery-codes-grid code {
	display: block;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #e4d9bb;
	color: #173629;
	font-size: 14px;
	text-align: center;
}

@media (max-width: 720px) {
	.egc-security-section-heading {
		flex-direction: column;
	}

	.egc-security-facts,
	.egc-recovery-codes-grid {
		grid-template-columns: 1fr;
	}

	.egc-security-inline-form {
		align-items: stretch;
		flex-direction: column;
	}

	.egc-security-inline-form label {
		min-width: 0;
	}
}


/* =========================================================
   v1.12.41 SECURITY PAGE CLEANUP + 2FA PANEL POLISH
   ========================================================= */

.egc-account-intro {
	display: grid;
	gap: 8px;
	margin: 4px 0 24px;
}

.egc-account-intro h2 {
	margin: 0;
	color: var(--egc-green, #003b22);
	font-size: clamp(28px, 4vw, 42px);
}

.egc-account-intro p {
	margin: 0;
	max-width: 760px;
	color: var(--egc-muted, #68736d);
}

.egc-account-intro--compact {
	padding: 0 2px;
}

.egc-security-page-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
	gap: 22px;
	align-items: start;
}

.egc-security-page-grid > * {
	min-width: 0;
}

.egc-security-account .egc-two-factor-security,
.egc-security-account .egc-security-password-card {
	height: 100%;
}

.egc-security-form {
	max-width: none;
	display: block;
	margin: 0;
}

.egc-security-password-card .egc-account-fields.one-column {
	grid-template-columns: 1fr;
}

.egc-security-actions {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid #e8e1d6;
}

.egc-security-account .egc-account-actions a,
.egc-security-account .egc-account-actions button {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.egc-two-factor-login .egc-frontend-login__panel {
	padding-top: 46px;
}

.egc-two-factor-login .egc-account-kicker {
	margin-bottom: 18px;
}

.egc-two-factor-login .egc-frontend-login__panel h2 {
	margin-top: 0;
}

.egc-two-factor-actions {
	gap: 12px 18px;
	align-items: center;
}

.egc-two-factor-actions a,
.egc-two-factor-actions form {
	display: inline-flex;
	align-items: center;
	margin: 0;
	line-height: 1.2;
}

.egc-two-factor-text-button {
	display: inline-flex;
	align-items: center;
}

@media (max-width: 980px) {
	.egc-security-page-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.egc-account-intro {
		margin-bottom: 18px;
	}

	.egc-account-intro h2 {
		font-size: 30px;
	}

	.egc-two-factor-login .egc-frontend-login__panel {
		padding-top: 34px;
	}

	.egc-two-factor-actions {
		flex-direction: column;
		align-items: flex-start;
	}
}


/* =========================================================
   v1.12.42 STANDALONE MEMBER BILLING ACCOUNT
   ========================================================= */

.egc-billing-account {
	position: relative;
	z-index: 0;
}

/* Keep the standalone billing account on the same clean white canvas as the
   other member-account pages, even when the WordPress page section behind the
   shortcode uses the older cream billing background. */
.egc-billing-account::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: #fff;
	z-index: -1;
}

.egc-billing-overview-card .egc-member-billing-grid {
	margin: 0;
}

.egc-billing-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid #e8e1d6;
}

.egc-billing-actions form {
	margin: 0;
}

.egc-billing-account .egc-account-section__heading {
	margin-bottom: 22px;
}

/* The portal embeds the billing summary inside an existing dashboard panel;
   it intentionally keeps the compact treatment and does not inherit account chrome. */
.egc-member-billing-shell.is-embedded {
	width: 100%;
	margin: 0;
}

.egc-member-billing-shell.is-embedded > .egc-member-billing-card {
	width: 100%;
}

@media (max-width: 767px) {
	.egc-billing-actions,
	.egc-billing-actions form,
	.egc-billing-actions button {
		width: 100%;
	}
}


/* =========================================================
   v1.12.46 FAILED PAYMENT GRACE POLICY
   ========================================================= */

.egc-billing-payment-alert {
	display: grid;
	gap: 5px;
	padding: 16px 18px;
	margin: 0 0 20px;
	border-left: 3px solid #d69d28;
	background: #fff7df;
	color: #624d17;
}

.egc-billing-payment-alert.is-suspended {
	border-left-color: #9b3a32;
	background: #fff0ee;
	color: #7d342e;
}

.egc-billing-inline-warning {
	display: grid;
	gap: 3px;
	padding: 12px 14px;
	margin: 0 0 16px;
	border-left: 3px solid #d69d28;
	background: #fff7df;
	color: #624d17;
	font-size: 12px;
}

.egc-billing-inline-warning strong,
.egc-billing-inline-warning span {
	display: block;
}

.egc-portal-alert--payment-grace {
	border-color: #e4c56b;
	background: #fff8e5;
	color: #624d17;
}

/* =========================================================
   v1.12.54 APPROVED MEMBER ACTIVATION PAGE
   Focused post-approval flow; processor branding remains internal.
   ========================================================= */
.egc-membership-activation-shell {
	width:min(100% - 32px,820px);
	margin:42px auto 56px;
}
.egc-membership-activation-card {
	position:relative;
	overflow:hidden;
	padding:42px;
	background:#fff;
	border:1px solid #ded7ca;
	box-shadow:0 18px 48px rgba(3,48,31,.09);
	color:#23342d;
}
.egc-membership-activation-card::before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:6px;
	background:#d9a43b;
}
.egc-membership-activation-card--center {
	max-width:700px;
	margin-inline:auto;
	text-align:center;
}
.egc-membership-activation-card h2,
.egc-membership-activation-header h2,
.egc-activation-payment-section h3 {
	color:#063d27!important;
	visibility:visible!important;
	opacity:1!important;
}
.egc-membership-activation-card h2 {
	margin:8px 0 12px!important;
	font-size:clamp(30px,4vw,44px)!important;
	line-height:1.08!important;
}
.egc-membership-activation-card p {
	color:#5e6c65;
	line-height:1.65;
}
.egc-activation-eyebrow {
	display:block;
	color:#b9821f!important;
	font-size:11px;
	font-weight:800;
	letter-spacing:.13em;
	text-transform:uppercase;
}
.egc-membership-activation-header {
	max-width:680px;
	margin:0 auto 28px;
	text-align:center;
}
.egc-activation-summary {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin:28px 0;
	border:1px solid #e2ddd4;
	background:#faf8f3;
}
.egc-activation-summary > div {
	min-width:0;
	padding:18px 20px;
	border-right:1px solid #e2ddd4;
}
.egc-activation-summary > div:last-child { border-right:0; }
.egc-activation-summary span,
.egc-activation-payment-label {
	display:block;
	margin-bottom:5px;
	color:#7a847f;
	font-size:10px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.egc-activation-summary strong {
	display:block;
	overflow-wrap:anywhere;
	color:#063d27;
	font-size:14px;
}
.egc-activation-payment-section {
	margin-top:34px;
	padding-top:30px;
	border-top:1px solid #e2ddd4;
	text-align:center;
}
.egc-activation-payment-section h3 {
	margin:0 0 6px!important;
	font-size:26px!important;
	line-height:1.2!important;
}
.egc-activation-payment-section > p {
	margin:0 auto 22px;
}
.egc-activation-payment-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px;
	max-width:660px;
	margin:0 auto;
}
.egc-activation-payment-grid.is-single {
	grid-template-columns:minmax(0,360px);
	justify-content:center;
}
.egc-activation-payment-option {
	display:flex;
	flex-direction:column;
	padding:22px;
	background:#fff;
	border:1px solid #d9d2c5;
	text-align:left;
}
.egc-activation-payment-price {
	display:flex;
	align-items:baseline;
	gap:6px;
	margin:2px 0 18px;
	color:#063d27;
}
.egc-activation-payment-price strong {
	font-size:28px;
	line-height:1;
}
.egc-activation-payment-price span {
	color:#6e7873;
	font-size:12px;
}
.egc-activation-payment-option form { margin-top:auto; }
.egc-activation-payment-button,
.egc-activation-main-button {
	display:flex!important;
	width:100%;
	min-height:50px;
	align-items:center;
	justify-content:center;
	margin-top:12px;
	text-align:center;
}
.egc-membership-activation-card--center .egc-activation-main-button {
	width:auto;
	max-width:320px;
	margin:24px auto 0;
	padding-inline:28px!important;
}
.egc-activation-inline-notice {
	display:flex;
	flex-direction:column;
	gap:3px;
	margin:22px 0;
	padding:14px 16px;
	border-left:4px solid #d9a43b;
	background:#fbf5e7;
	color:#5f5234;
}
.egc-activation-inline-notice strong { color:#473b23; }
.egc-activation-footnote {
	margin:24px 0 0!important;
	font-size:12px;
	text-align:center;
}
.egc-activation-status-pulse {
	width:34px;
	height:34px;
	margin:22px auto 6px;
	border:3px solid #e7e0d4;
	border-top-color:#d9a43b;
	border-radius:50%;
	animation:egc-activation-spin .9s linear infinite;
}
@keyframes egc-activation-spin { to { transform:rotate(360deg); } }
@media(max-width:680px){
	.egc-membership-activation-shell { width:min(100% - 20px,820px); margin-top:24px; }
	.egc-membership-activation-card { padding:30px 22px; }
	.egc-activation-summary { grid-template-columns:1fr; }
	.egc-activation-summary > div { border-right:0; border-bottom:1px solid #e2ddd4; }
	.egc-activation-summary > div:last-child { border-bottom:0; }
	.egc-activation-payment-grid { grid-template-columns:1fr; }
}


/* v1.12.55 Password visibility controls */
.egc-frontend-login__form .egc-password-input-wrap {
	position:relative;
	display:block;
	width:100%;
}

.egc-frontend-login__form .egc-password-input-wrap input[type="password"],
.egc-frontend-login__form .egc-password-input-wrap input[type="text"] {
	width:100%;
	padding-right:52px;
}

.egc-frontend-login__form .egc-password-toggle {
	position:absolute;
	top:50%;
	right:10px;
	width:38px;
	height:38px;
	padding:8px;
	transform:translateY(-50%);
	display:flex;
	align-items:center;
	justify-content:center;
	background:transparent;
	border:0;
	border-radius:50%;
	color:#486158;
	cursor:pointer;
	z-index:2;
}

.egc-frontend-login__form .egc-password-toggle:hover,
.egc-frontend-login__form .egc-password-toggle:focus-visible {
	background:#f0eee7;
	color:#063d27;
	outline:2px solid transparent;
}

.egc-frontend-login__form .egc-password-toggle svg {
	width:20px;
	height:20px;
	fill:currentColor;
	display:block;
}

.egc-frontend-login__form .egc-password-toggle svg[hidden] {
	display:none!important;
}

.egc-membership-activation-shell .egc-activation-inline-notice--admin {
	margin-top: 12px;
	background: #fff8e8;
	border: 1px solid rgba(122, 88, 17, .28);
	color: #3f3218;
}
.egc-membership-activation-shell .egc-activation-inline-notice--admin small {
	display: block;
	margin-top: 6px;
	opacity: .78;
	word-break: break-all;
}
